﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
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
17959,WP-Tab css,WraithKenny,Administration,3.2,normal,minor,Awaiting Review,defect (bug),reopened,has-patch,2011-07-01T17:03:44Z,2013-01-21T23:20:35Z,"The classes wp-tab-panel, wp-tab-bar, and wp-tab-active should adjust to side tabs in the post column (to match the behavior of categories for example)

Also, there are several unneeded duplicate css classes that can be cleaned up.",WraithKenny
12756,WPMU does not handle files with two or more dots in the filename,wpmuguru,Upload,2.9.2,normal,minor,Future Release,defect (bug),reopened,has-patch,2010-03-29T07:23:50Z,2012-11-03T22:59:51Z,"* WPMU does download images that have two or more dots in the file name
> E.g., One..jpg One...jpg One....jpg

rewrites do work (checked)

* this is clearly a WP issue:
> /wp-content/blogs.php
...
$file = BLOGUPLOADDIR . str_replace( '..', '', $_GET[ 'file' ] );
if ( !is_file( $file ) ) {
	status_header( 404 );
	die('404 &#8212; File not found.');
}
...
> WPMU removes two dots!!!

> workaround:
$file = BLOGUPLOADDIR . $_GET[ 'file' ]; // name.ly: workaround for files with two or more dots

tested and works fine
",Namely
17948,Enhancements to the login and registration forms,wpdavis,Multisite,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-30T16:25:01Z,2013-01-14T19:27:28Z,"I would like to propose a significant overhaul of the registration and login forms for 3.2, which I'd be happy to take on. A few things that I think would be helpful:

Combine registration processes for multisite and single-user into one form on one page.
Allow the registration and login to be templatized — no reason this should be for MS only.
Standardize filters, actions and variables between MS and single-user when at all possible.

A few related tickets:

#17904
#17306
#17085
#16866
#16411
#17630",wpdavis
4010,Add Image Importing to the Blogger Importer,Workshopshed,Import,,normal,normal,WordPress.org,enhancement,reopened,,2007-03-21T20:21:28Z,2013-04-09T15:59:14Z,"The new blogger importer currently does a great job of bringing the blog over to WP, but it leaves the images associated with the blog on blogger.com and/or blogspot.com.  This violates blogger's TOS and risks having the user's image links blocked by blogger.  This change will move those images (using the WP image upload facility, of course) to the user's blog and fix the links as the import is done.",clwill
14195,$paged is not set when a Static Page is set as the Front Page,wonderboymusic*,Query,3.0,normal,normal,Future Release,defect (bug),accepted,has-patch,2010-07-04T15:12:10Z,2012-10-31T23:38:33Z,"If a static page is set as the front page of your WordPress site, and you request paginated content from the page via its URL (with permalinks enabled or disabled, doesn't matter), the $paged variable is not set.

This causes custom pages (those ones displaying posts), to always go to Page 1, even if you click other pages. ( This is happening because $paged is set to null, and if it's set to null, it always goes to page 1).

Also, get_query_var('paged'), also returns null, when it should return page 2 (if you clicked on page 2 for example).

After inspecting $wp_query, I noticed that the correct paginated value is stored on 
{{{
$wp_query->query['paged']
}}}

So, I have to do the following on all my themes on header.php, so the pagination doesn't break:

{{{
global $wp_query, $paged;
$paged = $wp_query->query['paged'];
}}}

This sets $paged again,with the correct value from $wp_query and fixes the bug. Since $paged is null whenever a custom page is selected as your homepage. 

This fix works with permalinks enabled or disabled.",der
21394,query.php: get_queried_object() result cannot be assumed to be non-NULL,wonderboymusic*,Warnings/Notices,3.3.2,normal,normal,Future Release,defect (bug),accepted,has-patch,2012-07-26T21:37:03Z,2013-05-24T16:13:54Z,"I'm dealing with a WPMUdev plugin called MarketPress. Its /store/products/ page is a special CPT catalog thing that seems to have wp_title() issues, so I dug into it.

Turns out that:

is_front_page() -> is_page() -> $page_obj = $this->get_queried_object() -> $page_obj == NULL

But is_page() (and other is_...()) go harrassing $page_obj assuming there's always something useful there. This creates a flood of ""non-object access"" notices.

I would expect something like this to make sense in these is_...() functions:

{{{
if (!is_null($page_obj)) return false;
}}}

Since WP_Query::get_queried_object() first sets its result as null and returning a value is actually conditional, I don't see a way around these checks. Enlighten me please if I'm wrong.

I've looked at #19035, #18614, #17662. All of them are situations where there's at least something there in $page_obj. None of them seem to discuss or patch NULL values.

I discovered this on 3.3.2, but todays trunk [source:trunk/wp-includes/query.php@21248#L3340] has the same code.",lkraav
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
13005,Add plugin hook for ajax-tag-search,westi*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2010-04-14T20:21:50Z,2013-05-10T12:44:02Z,I would like to have a new plugin action hook added in the ajax-tag-search section of wp-admin/admin-ajax.php,jimmcq
4337,Blog by Email: No content is assumed,westi*,Blog by Email,2.2,high,major,Future Release,defect (bug),accepted,,2007-05-25T18:59:09Z,2013-02-05T03:14:40Z,"It seems, the Blog by Email functions is broken in WP 2.2.
Mails are recognized, but only the title/subject is assumed - no content. Content is empty :(
No matter if text email or html email.


{{{
Author = bla@example.org 
 
Content-type: text/plain, Content-Transfer-Encoding: 8bit, boundary: 
 
Raw content:
 
Author: 1
 
Posted title: Test
Posted content:
 
Mission complete, message 1 deleted.
}}}
",jottlieb
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
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
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
18792,Wrong FROM email when using wp_mail and built in mail() function,westi*,External Libraries,3.2.1,normal,normal,Awaiting Review,defect (bug),accepted,has-patch,2011-09-27T16:35:28Z,2012-05-04T14:43:56Z,"When using wp_mail in combination with mail() function, then From: envelope passed through -f parameter to sendmail is not set correctly.

Here is simple patch, that fixes the problem:

{{{
--- pluggable.php	2011-09-26 20:54:02.219330702 +0200
+++ pluggable.fixed.php	2011-09-27 18:19:21.283454810 +0200
@@ -394,8 +394,7 @@
 	}
 
 	// Plugin authors can override the potentially troublesome default
-	$phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
-	$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );
+	$phpmailer->SetFrom(apply_filters('wp_mail_from', $from_email),apply_filters('wp_mail_from_name', $from_name));
 
 	// Set destination addresses
 	if ( !is_array( $to ) )
}}}
",pigster
17767,Anonymous comments can break comments RSS feed,westi*,Feeds,3.2,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-06-11T11:30:34Z,2013-05-20T12:00:48Z,"dc:creator and description elements should not be parsed.

Author field that can break RSS:
{{{
&#1040;&#1079; &#1089;&#1077; &#1082;&#1072;&#1079;&#1074;&#1072;&#1084; &#1042;&#1077;&#1089;&#1077;&#1083;&#1080;&#1085; &#1053;&#1080;&#1082;&#1086;&#1083;&#1086;&#1074;, &#1090;&#1086;&#1074;&#1072; &#1077; &#1077;&#1076;&#1085;&#1086; &#1084;&#1085;&#1086;&#1075;&#1086; &#1076;&#1098;&#1083;&#1075;&#1086; &#1080;&#1084;&#1077;
}}}

Comment text that can break RSS:
{{{
&amp;ndash;
}}} 

(and most of the $allowedentitynames)",dzver
16859,esc_url eats square brackets.,westi*,Formatting,3.1,normal,minor,Awaiting Review,defect (bug),accepted,dev-feedback,2011-03-15T17:28:32Z,2013-06-08T01:50:33Z,"When adding a link to the blogroll (using wp-admin/link-add.php), square brackets in the link are removed, breaking the link.

Example:

{{{
http://lokale-wochenzeitungen.de/index.php?id=485&tx_ttnews[pointer]=6&tx_ttnews[tt_news]=132583&tx_ttnews[backPid]=741&cHash=ee9c87874b
}}}

becomes

{{{
http://lokale-wochenzeitungen.de/index.php?id=485&tx_ttnewspointer=6&tx_ttnewstt_news=132583&tx_ttnewsbackPid=741&cHash=ee9c87874b
}}}

Workaround: Use URL-encoded links (%5B and %5D instead of [ and ]).

This also affects urls which are made clickable by {{{make_clickable}}",f00f
11465,custom field duplicated,westi*,General,2.8.4,normal,minor,Future Release,defect (bug),accepted,,2009-12-16T21:09:23Z,2012-04-02T21:14:22Z,"When I enter the information for a custom field and click on Preview without first clicking Add Custom Field, the custom field is saved. But then when I click Publish, it is saved again, appearing in the post twice.

If I click Add Custom Field before Preview, subsequent Publish does not duplicate the custom field. But it is very convenient and efficient to be able to avoid a separate save of the custom field.
",ericr23
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
8877,dotclear import don't set the post category,westi*,Import,,low,normal,WordPress.org,defect (bug),accepted,,2009-01-17T22:05:20Z,2012-05-24T22:32:57Z,"when importing from dotclear, all the posts are set only to the default category.

i think the problem is due to the fact that wp_set_post_categories do nothing if we pass it only one category (don't know why...)

( in /wp-admin/import/dotclear.php, line 479 )
{{{
				// Make Post-to-Category associations
				$cats = array();
				$category1 = get_category_by_slug($post_cat_name);
				$category1 = $category1->term_id;
}}}

should be 
{{{
				// Make Post-to-Category associations
				$cats = array(get_option('default_category'));
				$category1 = get_category_by_slug($post_cat_name);
				$category1 = $category1->term_id;

}}}
",olivM
7644,Import Movable Type data using AtomPub.,westi*,Import,,normal,normal,WordPress.org,enhancement,accepted,close,2008-08-29T20:33:52Z,2011-09-15T17:17:13Z,This is a split ticket from #7543. This includes the latest Movable Type portion of the code.,cavemonkey50
7543,Import TypePad data using AtomPub.,westi*,Import,,normal,normal,WordPress.org,enhancement,accepted,needs-review,2008-08-19T02:44:26Z,2011-09-15T17:17:11Z,"First off, I want to mention that TypePad updated their AtomPub server a few days ago, and their server does not seem to be sending comments. With a little luck, my current code should work fine once that server starts functioning again, but for the time being I would highly recommend not committing this into core.

Instead, I'm hoping people can look over the code and offer suggestions for improvement, test results, etc. While the Summer of Code is officially over today, I will be working on this until the job is done.

Alright, now to what this is. As some of you may know, I've been working on an Atom Publishing Protocol ([http://www.rfc-editor.org/rfc/rfc5023.txt RFC 5023]) based importer this summer for the Google Summer of Code. The diff attached is the latest version of my work.

The advantages of using the Atom Publishing Protocol are as follows:

 * Nothing has to be done in the old blogging software to prepare for import (no export files, etc). Users just enter their blog URL, username, and password and the importer grabs all of the data using AtomPub.
 * More data is imported compared to the old importers, especially with TypePad. Post slugs, comments, trackbacks, tags, categories, excerpts, etc are all imported. Everything used for posts in MT/TypePad is imported using AtomPub.
 * The Atom Publishing Protocol is an established standard. With the exceptions of tag additions (which don't necessarily need updates), the importer should not have to be changed and should continue working well into the future.

I should mention there is one drawback to using the Atom Publishing Protocol. For the time being, it appears pages can not be retrieved using AtomPub. They were retrievable a few weeks ago, and I'm currently talking with Six Apart to see what happened.

I would greatly appreciate any and all feedback. Let me know your suggestions, and I'll be happy to incorporate them.",cavemonkey50
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
14730,ms-files.php required ob_clean() and flush(),westi*,Multisite,,normal,normal,Future Release,defect (bug),accepted,has-patch,2010-08-30T04:53:20Z,2013-02-05T16:17:29Z,"I recently migrated a development wp 3 multisite install to 'live' mode for a site launch.  One problem I had is that images served out of /files stopped working.  Everything looked fine as far as the response / headers, but the image would open up as corrupted.  

After quite a bit of troubleshooting, the problem went away when I added ob_clean() and flush() calls to ms-files.php just before the readfile($file) call at the end of the file.  Perhaps this is due to a problem elsewhere in my site, but I'm creating this bug so someone can decide if adding the buffer flush would be a reasonable addition to the codebase.  It seems like this is the recommended way of doing things according to the sample code here:

http://us2.php.net/manual/en/function.readfile.php",pj_mfc
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
10249,Page slug in cyrillic = Error 404 - Not Found!,westi*,Permalinks,2.7,normal,major,Future Release,defect (bug),accepted,needs-unit-tests,2009-06-23T19:44:34Z,2012-04-27T19:04:18Z,"When I create a page with page slug for example ""киро""
then when I try to open domain/киро - Error 404 - Not Found

The permalinks are %postname%

Post slug with this slug is working just fine, the same BUG exists in 2.7, 2.7.1 and 2.8",kalifi
11903,insert_with_markers is not threadsafe,westi*,Permalinks,2.9,normal,major,Future Release,defect (bug),accepted,,2010-01-15T06:27:45Z,2013-02-07T21:53:27Z,"From wp-admin/includes/misc.php the function insert_with_markers may be called multiple times on a busy server and if the htaccess is already in the process of being written it is possible that two PHP threads could attempt to write to it causing corruption such as the following:



{{{
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
s

}}}

Notice the dangling 's' at the last line",strings28
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
21737,"Users should have to jump through hoops to set passwords of their choosing, and we should guard better against weak passwords",westi*,Security,,normal,normal,Awaiting Review,feature request,accepted,,2012-08-30T04:07:17Z,2013-04-18T02:44:43Z,"People are terrible at choosing secure, unique, complex, unguessable passwords. Unless someone is using a password storage system, the chances are good that the passwords they're choosing are really weak.

We can mitigate this problem.

1. Let's make the default to always be that WordPress picks a password for you. When installing WordPress, or when creating a new user account, or when changing your password on your profile. The default should be that we generate a secure password for the user. They can remember it, write it down (not ideal, but generally more secure than choosing a weak password), or copy and use it once, check the ""remember me"" box, and not worry about it until their cookie expires on that computer.

2. If they do opt to manually create a password, we need to do better than our current password strength meter. And the lowest level should actually nag them with an AYS before they proceed. I suggest the following, to start, which would trigger the lowest level, and cause them to have to dismiss a warning (or check a checkbox... UI TBD) before continuing:

* compare the strtolower'd version of their password to strtolower'd versions of all their info (username, first/last name, part of e-mail address before the @, etc).
* any password that is shorter than 8 characters
* a blacklist of popular passwords (these lists are available... even grabbing the top 100 would give use good coverage)
* 3 or more consecutive digits (""123456"" and company are very popular)
* anything that looks like a date",markjaquith
20635,_pad_term_count get's stuck if there is a loop in the hierarchy,westi*,Taxonomy,,normal,normal,Future Release,defect (bug),accepted,has-patch,2012-05-08T10:31:37Z,2013-06-09T05:08:34Z,"Ideally it should be impossible for a loop in a taxonomy hierarchy to exist.

But sometimes they do.

If one does exist then {{{_pad_term_counts()}}} gets stuck :(

When one of these does exist the category widget breaks the front page of your site.

We currently hook {{{wp_check_term_hierarchy_for_loops}}} on {{{wp_update_term_parent}}} and I wonder if there are other places we should be doing this check too.",westi
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
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
15086,get_template_part() should let you specify a directory,westi*,Themes,3.0,normal,normal,Future Release,enhancement,accepted,needs-unit-tests,2010-10-10T21:36:45Z,2013-02-07T21:51:35Z,"IT would be nice for `get_template_part()` to allow you to specify a directory to look for a file in.  Right now you actually *can* do this, but it requires passing a 'slug' to the function like `directory/slug`.  Since everywhere else in the code slugs are sanitized, this seems like an unexpected way to allow this functionality (I didn't realize this worked until @nacin pointed it out).  Since this slug isn't actually sanitized at all, you can currently do `get_template_part( '../../../test' );` which seems rather unsafe (`get_template_part` should be able to include from outside the themes directory).

I suggest sanitizing $slug and adding a third [optional] parameter that allows you to specify the directory to look in.  The directory parameter should be sanitized enough to not allow it to start with a . or a / (although this more likely belongs in `locate_template()` as something done to $template_name inside the foreach).

What does everyone think about this approach?

How many themes do we think are currently using the $slug parameter to specify a directory?

Right now the optional $name parameter is set up as a fall through, so if $slug-$name.php doesn't exist $slug.php is used.  Should $directory be set up similarly ($directory/$slug-$name.php -> $directory/$slug.php -> $slug-$name.php -> $slug.php)?",aaroncampbell
13874,"Add package argument to ""_deprecated_function"" function",westi*,Warnings/Notices,,normal,normal,Future Release,enhancement,accepted,has-patch,2010-06-13T23:48:37Z,2013-05-14T13:27:25Z,"Got to thinking it would be nice if plugins could use the _deprecated_ API by passing a ""$package"" argument to separate themselves from WP core, and so this patch was born.

",johnjamesjacoby
17487,Codepage issue with the wp.org Credits API,westi*,WordPress.org site,,normal,normal,WordPress.org,defect (bug),accepted,,2011-05-18T10:28:47Z,2012-11-22T03:34:06Z,"I was playing with my profile page at wp.org and changed the Name field from:

{{{demetris}}}

to:

{{{demetris (Δημήτρης Κίκιζας)}}}

What the API returns for that is:

{{{demetris (???????? ???????)}}}

It seems the API returns its results in ISO 8859-1. Can we change that to UTF-8?

",demetris
17541,Blogger-XMLPRC API does not work with Multisite/SSL/DMZ combination,westi*,XML-RPC,3.2,normal,major,Future Release,defect (bug),accepted,has-patch,2011-05-23T07:26:29Z,2012-12-14T23:12:02Z,"I have the following setup:
My WordPress Blogs (multisite) are set up behind a firewall that exposes the public address via SSL. Inside my DMZ I'm only using HTTP, so that's what WordPress sees. When I now try to access the blogger.getUsersBlogs XMLPRC-API, I get an empty result back.

I analyzed the WordPress source code and found out that the blogger.getUsersBlogs method in the file wp-includes\class-wp-xmlrpc-server.php uses another XMLRPC call to the wp.getUsersBlogs method in case of the multisite. I further checked and found out that this appears to be the only case in which WordPress executes a remote call itself to sevice the request. I then replaced the logic in _multisite_getUsersBlogs with the multisite part from wp_getUsersBlogs and it worked.

I aso found an issue that might be related: http://core.trac.wordpress.org/ticket/16402
But since the source code in the trunk still uses the regular IXR_Client, I'm not sure if this would fix the issue.

I attached my fix as a patch, but it's not refactored to remove code duplication since I don't have a dev-environment set up for WordPress.

Michael",michael_k
17607,Google blog search API shutdown,westi,Administration,3.2,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-05-29T11:21:19Z,2012-10-11T23:13:54Z,"I have done a search and can't see that this has already been reported.

On the wordpresss dashboard the 'incoming link search' uses google blog search API. Google has announced that this api is being shutdown as of effect 26 May 2011 (http://code.google.com/apis/blogsearch/). It will continue to work but with limited functionality (due to their deprecation policy). I therefore suggest that this be removed or use a different API.",jcnetsys
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
15865,Make it easy to disable options / user settings,westi,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2010-12-17T17:52:29Z,2013-01-21T04:12:48Z,"We have a wonderful option white listing system.

The one thing it doesn't support is hiding the ui of core options if you don't want them changed.

We should have a generic way of doing this.",westi
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
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
13158,Cron : some events may not be scheduled,westi,Cron,3.1,high,major,Future Release,defect (bug),new,,2010-04-27T23:29:46Z,2012-08-03T22:39:04Z,"the problem appears when two different events are scheduled at the same time

what happens in code is :

1st event : _get_cron_array();
2nd event : _get_cron_array();

1st event : _set_cron_array( $crons );
2nd event : _set_cron_array( $crons );


1st event is lost.",arena
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
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
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
20903,Exporter gets stuck in a loop a loop/break in the category hierarchy,westi,Export,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-06-11T11:26:07Z,2012-06-12T08:13:02Z,"Ideally it should be impossible for a loop/incorrect parentage in a category hierarchy to exist.

But sometimes they do.

If one does exist then {{{export_wp()}}} gets stuck :(

It gets stuck in this code:

{{{
		// put categories in order with no child going before its parent
		while ( $cat = array_shift( $categories ) ) {
			if ( $cat->parent == 0 || isset( $cats[$cat->parent] ) )
				$cats[$cat->term_id] = $cat;
			else
				$categories[] = $cat;
		}
}}}

Similar to #20635 but different.",westi
19719,PHPMailer allows invalid characters in display-name,westi,External Libraries,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-03T16:06:27Z,2012-01-03T16:06:27Z,"[http://tools.ietf.org/html/rfc5322 RFC5322] defines the display name portion of an email address as follows:

{{{
display-name => phrase
phrase => word / obs-phrase
obs-phrase => word / whitespace / dot
word => atom / quoted strings
atom => whitespace / atext
atext => 

                       ALPHA / DIGIT /    ; Printable US-ASCII
                       ""!"" / ""#"" /        ;  characters not including
                       ""$"" / ""%"" /        ;  specials.  Used for atoms.
                       ""&"" / ""'"" /
                       ""*"" / ""+"" /
                       ""-"" / ""/"" /
                       ""="" / ""?"" /
                       ""^"" / ""_"" /
                       ""`"" / ""{"" /
                       ""|"" / ""}"" /
                       ""~""
}}}

So, the display-name can contain the list of characters defined as atext plus dots plus whitespace plus quoted stringss.

Notable exclusions include things like >, <, ( and ). At present, PHPMailer does no validation of the display-name field. The attached patch adds validation that does the following:

* Make sure we decode any utf8 characters
* Compare the original value against a value with invalid characters stripped out
* Fail validation if the original and the stripped version do not match (ie, we stripped something invalid, so the string must have been invalid)

The patch does not handle assuring proper pairing of quoted strings (it doesn't validate that quotes nest properly or occur only in pairs).

The following code works for testing the patch:

{{{
<?php

require_once 'class-phpmailer.php';
require_once 'class-smtp.php';

$to_address = 'dllh@mailinator.com';
$to_name = 'DLLH';
$from_address = 'dllh@mailinator.com';
$from_name = 'DLLH test';
$subject = 'PHPMailer display-name validation test';
$body = ""To Address: $to_address\nTo Name: $to_name\nFrom Address: $from_address\nFrom Name: $from_name"";

try {
        $phpmailer = new PHPMailer( true );
        $phpmailer->AddAddress( $to_address, $to_name );
        $phpmailer->SetFrom( $from_address, $from_name );
        $phpmailer->Subject = $subject;
        $phpmailer->Body = $body;
        $phpmailer->Send();
} catch ( phpmailerException $e ) {
        print_r( $e->getMessage() );
}
}}}

To provoke an error, add a disallowed character such as > or ) to one of the _name variables. The code will bail with an invalid_display_name exception.",dllh
19549,Please remove X-Mailer from class-phpmailer,westi,External Libraries,3.3,normal,minor,Future Release,enhancement,assigned,dev-feedback,2011-12-14T20:37:14Z,2012-06-02T13:32:25Z,"It is nobody's business what software I am using to send mail, or what version number it is. Providing version numbers of server-side packages to strangers is an unnecessary security exposure.  With each update to WordPress, I apply this patch.  I would appreciate it if you would either include this patch yourselves, or provide a hook where I can do this myself without modifying the source.


{{{
--- wp-includes/class-phpmailer.php	5 Jul 2011 20:53:19 -0000	1.3
+++ wp-includes/class-phpmailer.php	14 Dec 2011 19:43:32 -0000
@@ -1129,8 +1129,8 @@
     } else {
       $result .= sprintf(""Message-ID: <%s@%s>%s"", $uniq_id, $this->ServerHostname(), $this->LE);
     }
-// jwz: no.    $result .= $this->HeaderLine('X-Priority', $this->Priority);
-// jwz: no.    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer (phpmailer.sourceforge.net) [version ' . $this->Version . ']');
+    $result .= $this->HeaderLine('X-Priority', $this->Priority);
+    $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (phpmailer.sourceforge.net)');
 
     if($this->ConfirmReadingTo != '') {
       $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>');

}}}",jwz
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
19487,Remove useless calls to set_time_limit(),westi,General,1.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-09T14:53:08Z,2012-11-23T10:13:52Z,"Calls to set_time_limit() were introduced in http://core.trac.wordpress.org/changeset/1812 and have remained in core ever since. The call occurs in code that makes network connections and is designed to allow time for the network calls to complete before the script execution stops.

But set_time_limit() won't take network time into account, so it actually will not do what it seems designed to do. From php docs:

  The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.

Further, calls to set_time_limit() can cause unexpected results in code that relies on any functions that call set_time_limit(). For example, if some code (in a cron job, say) sets the time limit to 0 (unlimited) because it knows it needs some time complete, then a subsequent call to a function that resets the time limit will halt the long-running execution once the new limit has been reached. Also from php docs:

  When called, set_time_limit() restarts the timeout counter from zero. In other words, if the timeout is the default 30 seconds, and 25 seconds into script execution a call such as set_time_limit(20) is made, the script will run for a total of 45 seconds before timing out.

Since the call to set_time_limit() does not here do anything useful, it should be removed.",dllh
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
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
19347,"Ugly alert: false !== strpos( $which_one_was_needle, $this_one )",westi,General,,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-11-23T22:08:02Z,2012-06-28T16:29:40Z,"In WordPress {{{strpos()}}} is used hundreds of times. Very large percentage of those calls are trying to accomplish one of these 3 goals:

 * Check if a string starts with another string
 * Check if a string contains another string
 * Check if a string ends with another string

The code for doing these 3 things is not very readable, ugly, and error-prone:

{{{
0 === strpos( $one_string, $other_string )
false !== strpos( $one_string, $other_string )
strpos( $one_string, $other_string ) == ( strlen( $one_string ) - strlen( $other_string )
}}}

I propose we introduce functions to hide the ugliness and the complexity behind these three common operations:

 * {{{wp_startswith( $haystack, $needle )}}}
 * {{{wp_in( $needle, $haystack )}}}
 * {{{wp_endswith( $haystack, $needle )}}}

The logic of the arguments order is consistent and easy to remember:

''first argument'' '''verb''' ''second argument''.

 * everything starts with a beginning translates to {{{wp_startswith( ""everything"", ""a beginning"" )}}}
 * goat is in  distress translates to {{{wp_in( ""goat"", ""distress"" )}}}
 * movie ends with happy end translates to {{{wp_endswith( ""movie"", ""happy end"" )}}}

These three functions are happily used in GlotPress and WordPress.com.

The implementations are attached.",nbachiyski
10373,Proper number formatting related to i18n,westi,I18N,2.8.1,normal,normal,Future Release,defect (bug),reopened,reporter-feedback,2009-07-10T08:09:14Z,2012-05-13T08:33:30Z,"Hi there,

Technical description of the situation: WordPress function number_format_i18n() uses native PHP function number_format() for formatting numbers. Unfortunately this PHP function is not able to handle separators (both decimal and thousands separators) that fall into one of the following categories:
- separator would contain more than one char, e.g. ""&nbsp;""; in this case only the first char from the supplied string is used, in the example given above it would be ""&"".
- separator is ASCII > 128, e.g. ASCII 160; 

Impact: Although this is not a native bug to WordPress, the problem source is in PHP, the impact is caused also in WordPress. This situation is problematic for users in Eastern Europe (Czech Republic, Russia, etc.) where the standard thousands separator is "" "" (space). The users in these countries usually don't want to use real space (ASCII 32) as thousands separator, as it could be word wrapped and the number would be saparated into two lines. Unfortunatelly supplying both variants of non-breakable space (i.e. ""&nbsp;"" or ASCII 160) fails.

Proposed solution: unforunatelly this bug is reported in PHP for years and nothing happens there. Because of this situation I suggest fixing such problem in the next level, i.e. in WordPress. This means to create a custom function for formatting numbers, with identical input params as number_format(), just that this one would be able to  handle separator types mentioned above.

I have such change already deployed on my WordPress blog for several months, so I am going to attach a diff file for the latest SVN state dealing with this issue.

Honza",honza.skypala
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
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
18493,HTML E-Mails,westi,Mail,3.2,normal,normal,Future Release,enhancement,reviewing,early,2011-08-22T00:29:44Z,2013-04-13T16:33:09Z,"Wojtek worked on the Enhanced E-Mails project for GSoC this summer.  It's definitely something that would be nice to have in core.  The plugin already exists in the repository - [http://wordpress.org/extend/plugins/enhanced-emails/ Enhanced Emails].  There are still some things that need to be cleaned up in the code, but it works pretty well.

I'm hoping we can clean it up, test it, and get it in core. ",aaroncampbell
15706,Allow wildcarded domains in multisite limited email domains,westi,Multisite,,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-12-06T18:59:24Z,2012-08-29T16:45:39Z,"Here at blogs.law.harvard.edu, we want to allow all harvard.edu subdomains to create blogs in our multisite install. There are hundreds of domains and it would be difficult to get a complete list because of the complexity of our DNS infrastructure.

I propose allowing the inclusion of a single prefix wildcard character in the limited email domains feature. If a limited email domain contains a ""*"", we would create a regex and match that specific entry via a wildcard. So ""*.harvard.edu"" would match ""cyber.law.harvard.edu"", ""fas.harvard.edu"", etc. To match the root TLD, you'd just manually enter ""harvard.edu"".

We have a variant of this applied as a core hack to our wordpress install at http://blogs.law.harvard.edu and it's been working fine for years. I will package it up as a patch if there's interest. Thoughts?

I don't think it'd make sense to allow embedded wildcards (dom*ain.org).",djcp
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
10852,improve get_page_children,westi,Optimization,2.9,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2009-09-25T22:30:34Z,2013-02-18T19:10:53Z,"In #5303, mihai pointed out that get_page_children is very slow with 7000 pages. It's indeed slow, since the algorithm has O^2 complexity. 

We should improve it to O(N) complexity. ",hailin
17450,Almost pretty permalinks with non-ASCII characters do not work in Apache,westi,Permalinks,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-05-16T05:53:14Z,2012-04-27T19:03:50Z,Almost pretty permalinks (using PATH_INFO) with non-ASCII characters do not work in Apache; a not found error is returned. The same permalink works in IIS when UTF-8 is used for server variables. It also works when mod_rewrite is used.,peaceablewhale
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
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
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
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
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
13548,Settings API to include user options,westi,Plugins,2.7,normal,normal,Future Release,enhancement,new,,2010-05-26T07:42:52Z,2013-01-03T19:25:19Z,"Hi,

I've reworked all of my plugins to build upon the [http://codex.wordpress.org/Settings_API new Settings API]. The handling and security are great.

As far as I understand, the Settings API can't be used for user options. - What do you think about an extension of {{{ register_setting }}} & Co. to reflect user options?

Greetz,
Berny",neoxx
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
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
16176,save_{$post_type},westi,Post Types,3.0.4,low,normal,Future Release,enhancement,assigned,has-patch,2011-01-10T11:46:22Z,2013-05-16T19:52:35Z,a `save_{$post_type}` hook would be convenient.,bmb
16303,Improve documentation and usability of WP_Rewrite Endpoint support,westi,Rewrite Rules,3.1,lowest,normal,Future Release,defect (bug),new,needs-docs,2011-01-19T16:25:01Z,2013-04-05T00:28:06Z,"When you know how it works the WP_Rewrite Endpoint support is really simple and cool.

When you don't it looks really difficult to use.

We should document it better and add an endpoint mask for Custom Post Types.",westi
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
17302,"Add get_previous_post_link(), get_next_post_link(), and get_adjacent_post_link()",westi,Template,3.2,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-05-02T07:36:12Z,2013-02-19T12:26:13Z,"Unlike many other template tags, he functions adjacent_post_link(), next_post_link(), and previous_post_link() are missing their get_ counterparts.
Included patch adds those.",yoavf
18302,Improve child theme file inheritance by introducing `theme_url()` to locate a file URI,westi,Template,,normal,normal,Future Release,enhancement,reviewing,needs-unit-tests,2011-07-31T01:19:02Z,2013-04-22T19:02:43Z,"Child theme file inheritance isn't quite as slick as it could be. A child theme should be able to selectively override any of its parent theme's files (ie. CSS & JS), not just template files.

For example, there's no easy way for a parent theme to enqueue a JavaScript file that can be easily overridden by a child theme. This is because there's no URI version of `locate_template()` for themes to use.

Example: A parent theme includes a JavaScript file like so:

{{{
wp_enqueue_script( 'foo', get_template_directory_uri() . '/foo.js' );
}}}

A child theme couldn't simply include a `foo.js` file to override its parent's as the file is always loaded from the template directory, not the stylesheet directory. If the parent theme used `get_stylesheet_directory_uri()` instead, then the child theme could override it '''but''' it would '''have''' to override it, otherwise we'd end up with a file not found.

The answer is to introduce a function that does the same as `locate_template()` but returns a URI instead of a path.

Example usage:

{{{
wp_enqueue_script( 'foo', locate_theme_file( 'foo.js' ) );
}}}

This would load `foo.js` from the child theme if it existed, and the parent theme if not.

The function could also be used for CSS files:

{{{
wp_enqueue_style( 'bar', locate_theme_file( 'bar.css' ) );
}}}

And for images too:

{{{
<img src=""<?php echo locate_theme_file( 'icon.png' ); ?>"" />
}}}

Stand by for a patch.",johnbillion
11282,Bizarre Behavior When wp-content Missing,westi,Themes,2.8.4,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2009-11-29T02:19:13Z,2012-10-23T00:15:18Z,"Steps to reproduce:

1.  Begin and complete a normal installation, but skip or remove the wp-content directory.

2.  Try to view the Dashboard and the Visit Site link.

Expected Result:  WP did not install, wp-content is missing.

Actual Result:  Dashboard is visible, site's front page is not.  In /wp-admin/error_log

PHP Warning:  array_keys() [<a href='function.array-keys'>function.array-keys</a>]: The first argument should be an array in /wp-includes/theme.php on line 481",miqrogroove
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
10457,Parse shortcodes in text widgets by default,westi,Widgets,2.8,normal,normal,Future Release,enhancement,reopened,,2009-07-21T11:27:06Z,2012-03-28T20:10:31Z,"Currently, shortcodes are only parsed within post content. It would, to my mind, be a nice enhancement to allow them to be parsed from within text widgets as well. The implementation is trivial, so the only real question is what problems this might throw up.",ionfish
21292,XML-RPC: wp_upload_bits should act like wp_handle_upload,westi,XML-RPC,3.0,normal,normal,Future Release,defect (bug),assigned,has-patch,2012-07-17T07:01:23Z,2013-05-07T11:37:28Z,"At this moment there isn't a check for file size when uploading an image through the XML-RPC. The reason is that the method wp_upload_bits is used. This only checks it does is if the file size is to big for a network installation.

The function check_upload_size() is something what you want except that it will use wp_die() if there is an error like this. The function is used as a filter: wp_handle_upload_prefilter. Which only get applied in the function wp_handle_upload. 

We should probably change check_upload_size() a bit so it doesn't use wp_die() but does it somewhere else.

related: #6559 and #21085",markoheijnen
20026,Adding a post_type filter in wp.getComments,westi,XML-RPC,,normal,normal,Future Release,enhancement,reviewing,needs-unit-tests,2012-02-12T15:48:53Z,2012-08-05T19:45:16Z,This will be usefull when with the new custom post type support in XMLRPC,nprasath002
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
23012,Refresh the code for the default widgets,Viper007Bond*,Widgets,3.5,low,minor,Future Release,enhancement,accepted,,2012-12-20T01:49:37Z,2012-12-21T21:28:45Z,"The default widgets serve as examples for many people to make new widgets. We should make sure they're up to date in terms of coding standards and best practices. There's many places where this is not the case.

A few examples:

* `$instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) );`
* `$text = esc_textarea($instance['text']);` rather than at output

Also tons and tons of formatting issues.

I'll volunteer to take this on.",Viper007Bond
17210,Massive duplication of oEmbed postmeta,Viper007Bond,Embeds,3.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2011-04-21T23:38:35Z,2013-02-15T19:56:22Z,"Hey guys,

Ever since my blog grew to a considerable size (a few million PVs a month) and started slowing down and exploding my server, I've been looking and implementing various optimizations. During one such passes through the data, I noticed this really weird oEmbed related behavior, which I've been observing for a number of WP version upgrades.

I use [embed] shortcodes a lot, and every new post after a few minutes ends up with a ton of oembed caches that don't belong to it at all - they're all from other posts. Posts that don't even have [embed]s at all still have over 100 oembed entries in wp_postmeta.

Here's an example of just a small subset of data residing in the table:

[[Image(http://farm6.static.flickr.com/5230/5641419581_0610c9e267_b.jpg)]]

There are now about 150,000 entries in the wp_postmeta table due to this, half of which are duplicated _oembed entries, which I think has heavy impact on server load. Not only that but I'm sure WP is filling the table up with values by redoing oEmbed queries, which may explain that load shoots up very high at times when publishing.
{{{
mysql> select count(*) from wp_postmeta where meta_key like '_oembed%';
+----------+
| count(*) |
+----------+
|    81499 |
+----------+
1 row in set

mysql> select count(*) from wp_postmeta;
+----------+
| count(*) |
+----------+
|   148451 |
+----------+
1 row in set
}}}

Just look at how many times this random video embed value shows up in the table. I'm sure it was used in only one actual post:
{{{
mysql> select count(*) from wp_postmeta where meta_value like '%p2oWELcd-lI%';
+----------+
| count(*) |
+----------+
|      815 |
+----------+
1 row in set
}}}

Just to clarify - I don't have 815 updates to a single post that may have explained this - these are completely unrelated, separate, published posts.

To put things in perspective, here are the top 20 offenders:
{{{
mysql> select distinct meta_key, count(*) as cnt from wp_postmeta where meta_key like '_oembed%' group by meta_key order by cnt desc limit 20;
+------------------------------------------+-----+
| meta_key                                 | cnt |
+------------------------------------------+-----+
| _oembed_5607e41abb700707540a854ae76182cf | 864 |
| _oembed_984bc07d3bc0f61b6b35230cd2fa7ced | 859 |
| _oembed_da8ae36275b4576cfcd92c0ed455be96 | 859 |
| _oembed_71dd4068a9a6911f50dbe57b3ff477c5 | 858 |
| _oembed_9f817e820c23ccbfac9b22b3474e5dd3 | 858 |
| _oembed_f3c1c03a81bc301b5f1a063f65119328 | 857 |
| _oembed_31bf10d95cb7c8e9f646d9d6e5728da0 | 857 |
| _oembed_25d0ebf59c994050cb604900cf04f53f | 856 |
| _oembed_6265dae657e38579c0a8ddb66132d526 | 852 |
| _oembed_562dd8c13888905cbd15dbd74e8699cc | 849 |
| _oembed_30ea17d1cc73acd925a74373d2be32ec | 848 |
| _oembed_87f16916b4da6571f454266bfbfaebe0 | 847 |
| _oembed_9f1f038d43e973bd60929201eee24f57 | 843 |
| _oembed_d46317d44fe11c0d90ef2cc3b45bce57 | 843 |
| _oembed_b1f8685ba405feee46baf9408eb632f7 | 841 |
| _oembed_1b56f492eba4c4ea698d816d0ecf2d51 | 840 |
| _oembed_fe597714de4081e6e7e78a88256c7db4 | 840 |
| _oembed_fb843e7b604cbc4e1ffa144d4eb300c8 | 839 |
| _oembed_97b12f2f1e59ee6eff95c61095aa5bef | 838 |
| _oembed_2b94d9f7c28ee37bfbead0a622c8be85 | 838 |
+------------------------------------------+-----+
20 rows in set
}}}

I'm quite at a loss here and would appreciate the next debugging steps. I haven't been able to determine where things are going wrong on my own.

Thank you.

P.S. The site in question is AndroidPolice.com",archon810
21540,Add support for responsive video embeds,Viper007Bond,Embeds,,normal,normal,Awaiting Review,enhancement,assigned,,2012-08-10T17:15:50Z,2013-01-17T17:27:31Z,"By wrapping the html content of a video embed with a container (incl. class name), we could provide a simplified way for Theme authors to make video embeds truly responsive, through basic CSS.

See #21480",obenland
18694,Improved date arguments for WP_Query,viper007bond,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-17T22:00:00Z,2013-02-28T14:40:09Z,"Currently there is no way to get a set of posts that fall within a date range, are older/newer than a certain date, etc.

A new set of arguments should be created for `WP_Query` that work similarly to the relatively new meta and taxonomy arguments.

Argument structure suggestions welcome.",Viper007Bond
8833,extract pluggable.php function logic into separate functions,Viper007Bond,Plugins,2.8,normal,normal,Future Release,enhancement,new,dev-feedback,2009-01-09T21:24:15Z,2012-08-31T18:23:53Z,"Currently, when a plugin overrides one of the pluggable.php functions with a custom implementation, there is no way to fall back to the standard version of the function.  Instead, plugin authors have to copy and paste all of the logic from pluggable.php into their custom function.  I'd love to see the actual logic separated out into ""private"" functions that are simply called the public ones.  For example:

{{{
if (!function_exists('wp_get_current_user')) {
    function wp_get_current_user() {
        return _wp_get_current_user();
    }
}

function _wp_get_current_user() {
    /* normal logic for getting the current user */
}
}}}

This would allow me to override the function, but still fallback to the standard implementation if I need to...

{{{
if (!function_exists('wp_get_current_user')) {
    function wp_get_current_user() {
        if ( /* some condition */ ) {
            /* my own custom get current user logic */
        } else {
            return _wp_get_current_user();
        }
    }
}
}}}

This wouldn't actually take that much work, and I'm happy to do it.  Not sure if it would be best to keep it all in pluggable.php, or if the standard implementations should be moved to pluggable.standard.php or something similar. ??

Original wp-hackers thread: http://groups.google.com/group/wp-hackers/browse_thread/thread/31295f83a13dc025",wnorris
11946,Ensure image MIME type matches extension,Viper007Bond,Upload,3.0,normal,minor,Future Release,defect (bug),reopened,needs-refresh,2010-01-19T08:02:17Z,2012-07-26T22:55:00Z,"Take a bitmap (BMP) and rename it to `.png`. WordPress will say it's an `image/png` everywhere you look. This can cause issues if you're trying to manipulate it (thumbnail it, etc.).

We should either fix the extension or reject it.",Viper007Bond
10303,Provide better user feedback when content is changed by filters.,tott*,Formatting,,normal,normal,Future Release,enhancement,accepted,has-patch,2009-06-30T10:37:01Z,2013-01-22T01:03:33Z,"When filtering content via kses, adjusting bad nested xhtml or similar no feedback is given to the user. The content is just stripped and the user is not informed about the changes made and why they happened.

Presenting a diff in the admin message should increase the UX. ",tott
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
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
8455,Enhance usability in Wordpress Import - preselecting matching authors,tott,Import,,normal,normal,WordPress.org,enhancement,new,,2008-12-02T09:27:03Z,2012-09-10T10:21:11Z,"To increase usability in wordpress imports, especially for imports with many users or imports that are rerun a preselection of authors would increase usability.",tott
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
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
20140,Ask old password to change user password,tman4506*,Security,,normal,normal,Awaiting Review,feature request,accepted,dev-feedback,2012-02-29T12:55:38Z,2012-08-26T16:14:53Z,"I have experienced this in various sites and i think
it adds extra security.
We must ask for the old password when the user tries to change the password",nprasath002
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
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
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
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
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
8994,Incorporate MediaRSS Plugin into core,technosailor,Feeds,,normal,normal,Future Release,feature request,new,,2009-01-29T18:00:20Z,2013-01-05T09:05:59Z,"Per conversation on the hackers list, this ticket is a working area for incorporation of the MediaRSS plugin (http://wordpress.org/extend/plugins/mrss) into core for WP 2.8.",technosailor
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
9153,wp_list_pages cannot handle multiple exclude_tree arguments,tbrams,Template,3.0,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-02-17T15:32:48Z,2013-05-07T19:41:48Z,"When trying to set up a menu based on wp_list_pages and a long list of chapters I did not want on the front page, I learned that wp_list_pages ignored all exclude_tree arguments - except for the first one.

For example, using:

{{{
wp_list_pages('exclude_tree=132,502,715,852,109,153,149&title_li=&sort_column=menu_order' );  

}}}

to generate the menu at http://ttu.no was a no go, because it returned far to many sections in the menubar (despite my efforts to explicitly exclude a lot of these)

Although it is certainly not a show stopper, it is really annoying when you need a drop down menu on your website and know exactly how it should work in theory, so I have found a solution for this already and am just trying to figure out how I can convey my suggested fix to the official Open Source Repository.",tbrams
18801,Accessibility Enhancements to Settings API,taupecat*,Accessibility,3.2.1,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-28T14:59:44Z,2013-01-03T19:25:35Z,"I've only started working with the Settings API, but right off the bat I noticed two fairly major, but should be not too difficult to fix, accessibility issues.

1) The label/input field pairs are missing the HTML <label> tags that link the two.

Example: Field One <input id=""field_one"" name=""field_one"" type=""text"">
Should be rendered: <label for=""field_one"">Field One</label> <input id=""field_one"" name=""field_one"" type=""text"">

2) The settings pages themselves are laid out using a table.  Tables should be reserved for tabular data, and not for page layout.  CSS should be used for layout instead.

Thanks for your attention.",taupecat
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
17047,Not following spec for REQUEST_URI,sterlo,Rewrite Rules,3.1,normal,normal,Future Release,defect (bug),reviewing,has-patch,2011-04-04T20:11:00Z,2012-08-09T18:44:05Z,"Possibly related: #16932

Spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2

Structure: http://en.wikipedia.org/wiki/URI_scheme#Examples

The spec for REQUEST_URI:
{{{
Request-URI    = ""*"" | absoluteURI | abs_path | authority
}}}

The specs for REQUEST_URI in Apache are such that it allows for absolute paths to a given resource.

Given that throughout WordPress there are concatenations like:
{{{
$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
}}}

These are intended to generate ""mysite.com/resources""

But in certain cases will generated ""mysite.com/mysite.com/resources""

Case Study:
{{{
GET http://subdomain.mydomain.com/ HTTP/1.1
}}}

This should be allowed.

Apache in this case sets the URI to ""http://subdomain.mydomain.com/myfile.php""

Solution: Do not assume that URI is not an absolute path.

A quick fix is something like the patch attached.",sterlo
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
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
15158,wpdb insert & update with null values,sorich87*,Database,3.0.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-10-19T20:47:51Z,2013-01-08T13:39:21Z,"From: http://wordpress.org/support/topic/bug-fix-wpdb-insert-amp-update-with-null-values

""Some of you might have noticed but the wpdb's insert & update methods don't work well with null value (if you try to set null on a numeric field you'll end up with 0)""
",westi
14488,wp_enqueue_script in_footer doesn't work on WP known scripts,sorich87*,General,3.0.1,normal,minor,Future Release,defect (bug),accepted,has-patch,2010-07-31T05:18:30Z,2012-10-11T17:52:33Z,"I changed some plugin code from:
wp_enqueue_script('jquery-ui-sortable');

To:
wp_enqueue_script('jquery-ui-sortable',false,array(),false,true);

However, the script was not moved to the footer. 

When I looked at the source for wp_enqueue_script, I can see that it's because the check for $in_footer is inside the condition for $src being defined. But built-in scripts don't require a source. ",mcr2582
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
12726,Add get_post_by_*() functions,sorich87*,Post Types,3.0,normal,normal,Future Release,enhancement,accepted,has-patch,2010-03-27T05:57:13Z,2012-11-28T23:52:48Z,"Current there are get_page_by_path() and get_page_by_title() function but they hardcode the post_type of 'page'.  With support for new custom post types I'm finding a need for functionality to look up posts of custom post types:
{{{
$args = array('post_type','my_custom_post_type');
$path = 'foo-bar';
$post = get_post_by_path($path,$args);
$title = 'Foo Bar'
$post = get_post_by_title($title,$args);
}}}
Another option would be a simple get_post_by():
{{{
$args = array('post_type','my_custom_post_type');
$path = 'foo-bar';
$post = get_post_by('path',$path,$args);
$title = 'Foo Bar'
$post = get_post_by('title',$title,$args);
}}}
This code is not hard to write but looking at the functions in post.php there's not one consistent style so I'm not sure what the best approach would be to write it.  Further, I don't completely understand the significance of all the code in get_page_by_path() so wouldn't want to start with it (although I could see it being modified to use the more generic functions that I propose.)

I can make these updates if I get enough direction from the core team, or I'd happily just see them get done. :)
",mikeschinkel
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
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
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
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
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
18803,Core hooks for fragment caching,sivel,Template,3.3,normal,normal,Future Release,feature request,new,dev-feedback,2011-09-28T15:47:29Z,2012-07-24T00:38:42Z,"I have been running fragment caching for some time, but have seen a few negatives with the way it needs to be implemented currently.  With fragment caching potentially becoming even more popular after talks given at WordCamps, core hooks to assist in this are going to become more necessary, for several reasons, such as creating some standardization about how it is integrated into the theme.

Since there are no hooks in something like get_sidebar() -> get_template_part() -> locate_template() -> load_template() you have to create your own function calls to use in a theme to render the sidebar.  

In my specific case I was using a child theme, and ended up having to copy over a lot of the parent theme files to make the modification.

My goal is to provide some hooks that would allow use of the standard theme functions such as get_sidebar() but give a plugin or similar access to interrupt the process, generate the cache and output the cache.

My first pass is attached as well as a sample mu-plugin that I have wrote to show how you can use the new hooks to perform fragment caching.",sivel
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
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
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
20771,esc_url() instead of esc_html() in wp_nonce_url(),SergeyBiryukov,Formatting,3.4,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-05-29T06:21:37Z,2013-03-18T19:44:48Z,"The `wp_nonce_url()` function currently uses `esc_html()` in its output, which doesn't really seem to be the appropriate escaping function since it's generating a URL.

Attached patch changes the output to use `esc_url()`",jkudish
19466,Last-Modified HTTP header not just for feeds,sergey.s.betke@…,General,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-07T15:44:05Z,2012-12-04T21:36:22Z,"Wordpress write HTTP **Last-Modified**, **ETag** headers just for feeds (**class-wp.php**, **send_headers**). And support **If-Modified** HTTP request header just for feeds. Wordpress 3.3 doesn't support HTTP 1.1 **Cache-Control** header.
The best solution - support HTTP cache-control headers and for html output (full blog). But **If-Modified** HTTP request header (304 responces) for site support optionally (some not-ajaxed widgets and plugins will show wrong information without page reloading).

= WordPress version =
Latest WordPress files - 3.3-RC2-19567 
",sergey.s.betke@…
21762,Storing a multidimensional array using register_setting double-serializes subarrays identified with a string,sekatsim,Database,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-31T22:43:16Z,2012-09-01T16:36:41Z,"Storing a multidimensional array, such as `$options['my-option'][$id] = ""value""`, into the database using register_setting results in the ""my-option"" string getting double serialized. The option_value is stored as:

`s:9:""'my-option'"";a:1:{s:9:""option-id"";s:5:""value"";}`

The my-option array is encased in both single and double quotes, so that `isset($options['option-id']` evaluates false, but `isset($options[""'option-id'""]` evaluates true.",sekatsim
19721,WordPress should support multiple or nested plugin directories,scottnath,Plugins,3.3,normal,normal,Awaiting Review,feature request,new,,2012-01-03T16:33:34Z,2012-10-22T11:12:11Z,"WordPress currently only looks one directory deep for the plugin files. This is a limitation in get_plugins. It should look at least two (or more).

Our setup: We have many sites on WordPress and would like to share a set of plugins across them. However, we also have a requirement where each site should have its own unique set of plugins as well. (I realize this seems like an easy job for Multisite or mu=plugins, but they're not something we can adopt currently for various reasons).

Ideally, we can create a symlink (or external/submodule) to our shared plugins folder from inside the core plugins folder and have WordPress recognize plugins within that folder:

* plugins Folder
	* hello-dolly.php
	* akismet
		* akismet.php
	* shared-plugins (symlink)

* shared-plugins folder
	* hello-dolly-enhanced
		* hello-dolly-enhanced.php
	* akismet-enhanced
		* akismet-enhanced.php

Currently, WordPress will ignore both hello-dolly-enhanced and akismet-enhanced.

Themes already support nested folder; plugins should too please!

Thanks,
Scott Nath",scottnath
18249,Rosetta needs a facelift,ryanimel*,I18N,,normal,normal,WordPress.org,defect (bug),accepted,has-patch,2011-07-25T20:47:35Z,2013-04-09T19:21:07Z,This is a Trac ticket for http://make.wordpress.org/ui/2011/07/25/small-design-project-rosetta/.,nacin
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
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
9883,Password shows under Settings / Writing,ryan,Administration,2.7.1,low,trivial,Future Release,enhancement,reopened,has-patch,2009-05-19T23:07:29Z,2013-01-22T16:54:52Z,"The password box in the section ""Post via e-mail"" on Settings -> Writing should hide the password, not show it.",mastrup
11531,Some taxonomy names should be disallowed,ryan,Cache,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-12-20T14:30:46Z,2013-05-16T15:05:44Z,"I haven't tested, but can't we can get all sorts of weird bugs (some of which could have potential side effects in the security department) if a term taxonomy is called users, userlogins, posts, etc.?

the reason are lines such as:

{{{
wp_cache_add($term->term_id, $term, $term->taxonomy);
}}}
",Denis-de-Bernardy
10935,WP_Query and is_day() bug,ryan,Canonical,2.8.4,normal,normal,Future Release,defect (bug),new,commit,2009-10-09T05:05:24Z,2013-05-07T20:31:05Z,"When you configure Wordpress with permalinks such as /%year%/%month% and even /%year%/%month%/%day/ there is
a failure when you request URLs like /2009/10/58, because it's still generating the query to the database
(AND YEAR(wp_posts.post_date)='2009' AND MONTH(wp_posts.post_date)='10' AND DAYOFMONTH(wp_posts.post_date)='58').
Also, is_day() returns true, when it should be returning false.

As adding a post with that date is nearly impossible trough the wordpress admin or the database, no posts will be found, so
Wordpress will show ""No page found"", but with HTTP status 200 OK, not 404 Not Found.

I think it's important to validate the day on the applicacion side, so for some ideas to work correctly under WP
(like take advantage of sticky posts and show all post for the month in day requests), and most importantly to save
those wasted mysql queries.

Of course I could validate the day using a filter, but that is not the general idea!",raliste
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
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
13310,Extend option_name to varchar(255),ryan,Database,3.4.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-05-09T13:34:25Z,2013-05-24T17:33:23Z,"option_name is currently set to varchar(64). This raises problems when one tries to use transients with slightly longer names and a timeout:

{{{_transient_timeout_feed_mod_23a137101df6920fbf6047...}}} has 60 chars already.",scribu
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
12257,wpdb Scales Badly Due to Unnecessary Copies of All Query Results,ryan,Database,,normal,critical,Future Release,defect (bug),reopened,needs-refresh,2010-02-17T03:08:06Z,2013-03-19T05:19:44Z,"While working on #11726, I encountered a reproducible crash in wpdb::query()

The following code causes memory exhaustion on large result sets:

{{{
while ( $row = @mysql_fetch_object($this->result) ) {
	$this->last_result[$num_rows] = $row;
	$num_rows++;
}
}}}

The memory exhaustion message is error-controlled, causing a white screen of death even in debug mode.

I searched wp-db.php for references to $this->last_result, and I found no justification for these object reference copies.  $this->last_result '''should''' be maintained as a MySQL resource and properly optimized using the MySQL client layer instead of this PHP nonsense.

Tagging for dev-feedback to discuss which Milestone is appropriate.",miqrogroove
11717,Access to automatic database repair/optimize with admin rights,ryan,Database,2.9.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-01-05T07:35:10Z,2012-08-08T08:52:02Z,"Hi,

I read somewhere that the reason for using a constant as enabler for the automatic repairing/optimizing database functionality was, that some people are not able to access their back-end in case certain tables are broken.

Anyway, as db optimization (and not only repairing) is also included in ''/wp-admin/maint/repair.php'', it would be helpful, if we could avoid setting the constant and in addition grant users with the admin role the right to access the functionality.

I've added the necessary two lines and attached a patch to this ticket. - Hopefully this will make it into core, because it would really ease access and increase usability.

My Best,
Berny",neoxx
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
13657,When WP_DEBUG is true show better errors for establishing database connection,ryan,Database,,low,trivial,Future Release,enhancement,new,has-patch,2010-05-31T16:26:04Z,2012-12-30T09:35:09Z,"Right now no matter if WP_DEBUG is enabled or not we always show some generic errors for Error establishing a database connection

We should display the specific error when WP_DEBUG is enabled.",sivel
10883,db-error.php not used for all DB failures,ryan,Database,2.8.4,normal,normal,Future Release,enhancement,new,dev-feedback,2009-10-01T02:45:28Z,2013-01-25T04:39:55Z,"db-error.php (the optional custom DB error message file to be placed in wp-content) does not get included all the time. Sometimes wp-db.php will use its {{{bail()}}} method to spit out its own message.  This code needs to be there too:

{{{
        if ( file_exists( WP_CONTENT_DIR . '/db-error.php' ) ) {
                require_once( WP_CONTENT_DIR . '/db-error.php' );
                die();
        }
}}}",markjaquith
12819,wpdb::prepare support for null,ryan,Database,,normal,normal,Future Release,enhancement,reopened,,2010-04-02T18:15:19Z,2013-05-13T16:39:35Z,"now we can not submit null values using wpdb::prepare. if we lets say have datetime field that can be null, and execute query prepared with $wpdb->prepare(""update table set date_time_field = %s"", null) - it sets value of the field to 0, which results in 0000-00-00 00:00:00 date. what is happening here - null is quoted and passed as a string, that should not be the case.",roxaz
21432,Deprecate *_blog_option(),ryan,General,3.4.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2012-07-31T21:53:06Z,2012-10-24T17:44:45Z,"Deprecate get_blog_option(), add_blog_option(), update_blog_option(), and delete_blog_option(). The regular *_option() functions wrapped with switch_to_blog() and restore_current_blog() should be used instead.

Previous discussion:

http://core.trac.wordpress.org/ticket/21270#comment:11",ryan
13941,WP_CONTENT_URL should use site_url() to support HTTPS / SSL,ryan,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-06-17T09:21:15Z,2013-05-21T15:10:15Z,"On HTTPS pages, users sometimes get 'insecure content' warnings from their browser.  This is commonly caused by plugins which use the ''WP_PLUGIN_URL'' constant to get the full plugin directory URL for the sake of loading static content.

The problem is that ''WP_PLUGIN_URL'' will always return the ''siteurl'' (as specified in Settings > General) and thus does not adjust from http:... to https:... when needed.

''WP_PLUGIN_URL'' is dependent on ''WP_CONTENT_URL'', and ''WP_CONTENT_URL'' is derived from ''get_option('siteurl')'', which only returns the ''siteurl'' and does not adjust for HTTPS pages. However, the ''site_url()'' function '''does''' adjust for HTTPS pages.

So, to fully support HTTPS and directives such as ''FORCE_SSL_LOGIN'' and ''FORCE_SSL_ADMIN'', ''WP_CONTENT_URL'' needs to use the ''site_url()'' function as proposed in my riveting one-liner patch.

Related #10198 #9008",micropat
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
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
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
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
8905,Category pagination broken with certain permalink structures,ryan,Permalinks,2.7,normal,normal,Future Release,defect (bug),reopened,,2009-01-21T07:26:31Z,2013-01-03T21:37:18Z,"If one uses a permalink structure with %category% followed by %postname%, accessing pagination can cause a 404, as WordPress attempts to look for a post called ""page"".

As per http://barefootdevelopment.blogspot.com/2007/11/fix-for-wordpress-paging-problem.html

Presumably can occur with other permalink structures too.",rmccue
10786,Implementation of %my_taxonomy% in permastructs is incomplete,ryan,Permalinks,2.9,normal,minor,Future Release,defect (bug),new,dev-feedback,2009-09-15T03:30:56Z,2012-05-05T22:21:42Z,"The `register_taxonomy()` function includes a call to `add_rewrite_tag()` which should allow for a site's permastruct to include a %my_taxonomy% tag just like you can include a %category% tag or a %tag% tag, however this implementation is incomplete and doesn't work.

Example:

`register_taxonomy('genre','post');`

should allow you to create a permastruct (from the Settings->Permalinks screen) which includes %genre% in it.

The problem is that `get_permalink()` doesn't check for custom taxonomies and the replacement of %genre% with your post's genre in the permalink doesn't happen.

Patch upcoming.",johnbillion
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
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
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
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
5305,permalinks broken when article name is numeric,ryan,Permalinks,2.3.1,normal,major,Future Release,defect (bug),new,,2007-11-01T21:27:54Z,2013-05-09T15:51:24Z,"if you create numeric-only post name, the generated slug is this number - this conflicts with article ID, so it returns different article or 404 page, never the article. It can be then solved by generating manual slug with some char in it, but i think it would be better to include some char in that case, e.g. underscore, like _123

Also if someone will try to solve this, it would be nice to solve other problem - if post slug is begining with the slug of the category, than the category page returns that post, not the category",thomask
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
10483,Change post_name's length from 200 to 400,ryan,Permalinks,,low,minor,Future Release,enhancement,reopened,dev-feedback,2009-07-25T06:31:52Z,2012-06-18T17:43:31Z,"Hello, guys! Thank you very much for providing such a great piece of software! I love WordPress very much! :)

I use WordPress in Russian language and the URLs on my [http://www.ielnur.com blog] consist of Russian characters. There is a [http://www.ielnur.com/blog/2009/05/снова-бросить-курить-30-тидневное-испытание/ post] with not such a long URL in Russian, but since it gets encoded to special characters it becomes too long to get fit into `post_name` field of `post` table.

I've found what code needs to be changed to increase the length. I make these changes every time a new version is released. I think it would be better to submit a patch here so that others people can benefit from it and I will not need to make those changes every release.

I'm attaching the patch to this ticket and asking you to apply it to the code.

Thank you very much again, guys! You do a great job! :)

Cheers,
Elnur",elnur
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
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
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
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
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
19198,Die fast in get_posts if in_search_post_types returns nothing,ryan,Query,3.2.1,normal,minor,Awaiting Review,defect (bug),reviewing,has-patch,2011-11-07T19:45:21Z,2012-08-05T22:28:35Z,"From a comment of mine in #18364, which nacin suggested was worth a follow-up ticket:

 Just noticed that this logic here might in fact have a flaw: if there are no post types which have exclude_from_search = false, then magically *all* post types will be checked? Am I reading this right? In that case, shouldn't we just immediately return no results?

 Obviously, this wouldn't be an issue except in a very customized setup where all post types have exclude_from_search = true, but still... thoughts anyone?",mitchoyoshitaka
13365,"WP_Query, author_name, and sticky posts",ryan,Query,2.9.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2010-05-12T06:09:42Z,2012-08-30T00:17:35Z,"I have a template which is being used as my front page on WP 2.9.2. In this template I setup my loop with the following code:

{{{
$postresults = new WP_Query();
$postresults->query(""author_name=frontpage&post_types=post&post_status=publish"");
while($postresults->have_posts()) { $postresults->the_post(); ?>
// etc...
}}}

I am not using the ""caller_get_posts=1"" option, but my sticky posts are still showing up in order with other posts rather than at the beginning. If I remove the ""author_name=frontpage"" the sticky posts will move back to the first items, however I am stuck with posts by authors I do not want. Using ""author=2"" results in the same behavior as using ""author_name"".",eryanv
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
11375,allow to disable the private status,ryan,Query,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2009-12-09T20:54:17Z,2013-01-14T13:27:48Z,"The private status generates all sorts of OR clauses in SQL queries, which is bad from a performance standpoint.

Blogs that do not have any private posts or pages should have the ability to disable the feature altogether, in order to optimize the SQL statements.

Adding an option in a Settings page arguably is plugin material, but WP doesn't currently allow to remove the status altogether.

Were it to be implemented, WP should keep a trace (in a transient) of the following:

{{{
$has_private_posts = (bool) $wpdb->get_var(""SELECT EXISTS 1 FROM $wpdb->posts WHERE post_status = 'private';"");
}}}

checking its value and disabling the type = private type accordingly in non-admin areas would significantly enhance the user experience for those who never use such things.",Denis-de-Bernardy
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
12779,Better support for custom post types in WP_Rewrite,ryan,Rewrite Rules,,normal,normal,Future Release,enhancement,new,,2010-03-30T20:04:30Z,2012-08-24T05:17:56Z,"See also #12605 and [13773].

We currently use bitmasks in WP_Rewrite, which we should remove and convert to an array of URL types that can be checked using in_array(). We currently do not use bitmask operations in WP_Rewrite that would make them preferable for use.

To currently use custom post types with endpoints, a plugin would need to do the following, from [comment:5:ticket:12605 dd32 in #12605]:
{{{
define('EP_WIKI', 131072); // 2^17. 2^13 is used by core.
register_post_type('wiki', array(
	'label' => __('Wiki'),
	'public' => true,
	'supports' => array('revisions', 'editor', 'title'),
	'permalink_epmask' => EP_WIKI,
	'hierarchical' => true
));
add_rewrite_endpoint('history', EP_WIKI);
}}}

In particular:
> Care would need to be taken that any custom endpoints are in {{{2^x}}} format, and not currently in use by any other plugins loaded.

This would need to be backwards compatible with the existing bitmasks. More or less, {{{WP_Rewrite::add_endpoint()}}} would need to still take bitmasks and convert them to the new format.",nacin
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
13377,Add more sanitization in _cleanup_header_comment,ryan,Security,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-13T18:51:15Z,2011-01-30T23:47:08Z,"The _cleanup_header_comment function is used in multiple places, but one in particular can cause some problems on the Page edit screen (or any screen that uses page templates).  The get_page_templates function (which gets the list of page templates to display in a <select> box on the page edit screen) uses to cleanup the page templates retrieved from a file.  

Unfortunately the function does not sanitize enough, and if (for instance) JavaScript existed in the page template name it would be run on the Page Edit screen.

To test, add some JavaScript (with <script> tags) to the ""Template Name:"" line of a page template, and load the Page edit screen.",seanklein
10980,DoS in wp-trackbacks,ryan,Security,,normal,normal,Future Release,defect (bug),reopened,,2009-10-19T19:25:17Z,2009-10-21T15:42:30Z,"The exploit: http://codes.zerial.org/php/wp-trackbacks_dos.phps

Execution:

$ while /bin/true; do php test.php http://target.bom/wordpress; done
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!
hit!

Notice: fputs(): send of 8192 bytes failed with errno=11 Resource
temporarily unavailable

down!!

Load average: 22.07, 15.18, 8.58 (on target server)

",gomex
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
11813,Post password stored as plaintext,ryan,Security,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-07T17:33:10Z,2012-09-17T15:21:04Z,"When a user specifies a password for a protected post it's stored as plaintext in the database.  Considering the rate at which people recycle personal passwords, does this open a user's site to potential security risks?  

While not necessarily our responsibility, this would raise issues if they use the same password for a login and for their protected posts.",ericmann
10268,Profile and Edit user pages should be secure too,ryan,Security,,normal,normal,Future Release,defect (bug),new,has-patch,2009-06-25T10:15:37Z,2010-11-13T01:37:18Z,"With admin_ssl off, and login_ssl on, the profile page ends up insecure. It should at least send its POST request over SSL, since a new password might be set.

And possibly use a secure form as well (see #10267).",Denis-de-Bernardy
13051,admin_url() and site_url() shouldn't need esc_url(),ryan,Security,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-19T16:57:13Z,2010-11-13T03:09:47Z,"I noticed that the 3.0 codeline includes the addition of esc_url() around admin_url() like:

esc_url(admin_url());

I believe that admin_url() and site_url() should be ""safe"" functions to use and should not need escaping. Perhaps they should call esc_url() internally?

I cannot think of a viable reason to allow unsafe results from admin_url() and site_url(), though perhaps there are some internationalization edge cases that I'm not aware of.

If you really need raw access to an unsafe value in wp_options, you can use get_option() to get to it.

Another issue to consider here is input validation and stripping before saving to these fields.

If this is approved in principle, I'd be happy to produce a diff against the current code base.

I think this is very important to address before 3.0 is released as it has a significant impact on theme and plugin developers.",alexkingorg
12402,"make addslashes_gpc() use addslashes() fix to use real_escape, rather than addslashes",ryan,Security,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-02-27T02:44:19Z,2010-11-13T07:47:24Z,"If memory serves, the main problems with making wpdb->escape() point to mysql_real_escape_string() were two:

 1. mysql_real_escape_string() doesn't work on all platforms
 2. mysql_real_escape_string() doesn't play well with unslashing

Point 1 is covered in wpdb->_real_escape().

The legacy fix to point 2, for some strange reason, led to disabling mysql_real_escape_string() on platforms that could actually use it, instead of using add_magic_quotes() where calls to addslashes()/stripslashes() could occur.

r12961 partially fixes point 2. But only partially.

At the risk of re-opening the can of worms, the attached patch finishes fixing point 2...:

 - It changes addslashes_gpc() and esc_sql() so that they use add_magic_quotes() instead.
 - This frees wpdb->escape(), which can then be a true alias for wpdb->_real_escape().

I've scanned trunk for occurrences of wpdb->escape() used on arrays -- there were none.",Denis-de-Bernardy
10151,HTML5 <video> elements stripped in kses.php,ryan,Security,2.8,normal,normal,Future Release,enhancement,new,has-patch,2009-06-14T01:04:30Z,2012-01-05T20:03:08Z,"WordPress currently strips the [http://www.whatwg.org/specs/web-apps/current-work/#video new HTML5 <video> element] as it is unrecognized.  The attached patch allows <video> passthrough in postings and comments.

Hopefully this patch (or a derivative) could be incorporated into WordPress proper.",GChriss
10741,Include user's IP address in the lost password message,ryan,Security,2.9,normal,minor,Future Release,enhancement,new,has-patch,2009-09-07T08:46:17Z,2009-11-20T20:49:58Z,"Add the line ""User's IP: "" in the password recovery message.

In my opinion, this can be useful for administrative tasks.",mr.slay
10237,Implement Content Security Policy to prevent XSS,ryan,Security,2.8,normal,normal,Future Release,feature request,new,,2009-06-22T20:50:37Z,2012-06-20T16:12:36Z,"http://blogs.zdnet.com/security/?p=3654

 1. Here’s how Content Security Policy can provide a way for server administrators to reduce or eliminate their XSS attack surface. Website administrators specify which domains the browser should treat as valid sources of script.

 2. The browser will only execute script in source files from the white-listed domains and will disregard everything else, including inline scripts and event-handling HTML attributes. 
   - Note: event-handling is still enabled in CSP without using HTML attributes.

 3. Sites that never want to have JavaScript included in their pages can choose to globally disallow script.",Denis-de-Bernardy
10850,Make register_setting available on the front-end,ryan,Security,2.8.4,normal,normal,Future Release,feature request,new,,2009-09-25T09:47:09Z,2009-09-25T09:47:09Z,"hi,

since 2.7.0 we have the function {{{ register_setting($option_group, $option_name, $sanitize_callback = '') }}} in ''/wp-admin/plugin.php'' to securely handle handed over $_POST variables in the admin menu.

afaik, besides of the usage of query_vars (which only work for $_GET variables) we have no counterpart to ''register_setting'' on the front-end. imho, we could increase the security and usability of forms and their variables if we would provide a similar functionality in ''wp-includes''.

what do you think?

greetz,
berny",neoxx
12729,Fix [6326] - wp_unique_term_slug() when changing the parent,ryan,Taxonomy,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-03-27T08:04:40Z,2013-06-07T19:23:18Z,"[6326] uses $args (as an array) when it appears it should use $term (an object).

It's never worked, so I'm hesitant to patch it as I imagine it might break something elsewhere in the taxonomy API.

Assigning to ryan for now, who authored the commit.",nacin
5358,Queried object on multiple tag query holds only first tag,ryan,Taxonomy,2.3.1,normal,normal,Future Release,defect (bug),new,,2007-11-15T05:17:21Z,2013-01-28T14:01:36Z,"On tag page results when two or more tags are queried ('''/tags/foo,bar''' -or- '''/tags/foo+bar'''), only the first tag is in the queried object. So a simple:

{{{ print_r($wp_query->get_queried_object());  }}}

outputs a single associative array of the first tag referenced in the query. One would expect to find an array of all tags in the queried object.",Kafkaesqui
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
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
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
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
5034,Impossible to have duplicate category slugs with different parents,ryan,Taxonomy,2.3,high,normal,Future Release,feature request,new,dev-feedback,2007-09-21T19:29:20Z,2013-02-05T04:23:01Z,"I'm using Wordpress as a CMS tool where categories are used as macro level grouping.

Windows XP -> Utilities
Windows Vista -> Utilities

This is no longer possible with WP 2.3, which ignores parent category when testing whether a slug is unique.",snakefoot
9547,Taxonomy - interesting 'unused' term_order column in table term_relationships.,ryan,Taxonomy,2.8,high,normal,Future Release,feature request,reopened,needs-unit-tests,2009-04-16T15:19:42Z,2013-05-14T14:06:03Z,"During development of plugin [http://wordpress.org/extend/plugins/xili-language/ xili-language], and to sort term by term list of languages in a taxonomy, I discover unused column '''term_order''' in ''term_relationships'' table and lack of functions in core about this column. Like medias in post, here the user can define languages list with first, second, third,... languages for his website (and xml header). Taxonomy tools are here very powerful without adding tables or annoying coding.

([http://plugins.trac.wordpress.org/browser/xili-language/tags/0.9.8.2/xili-language.php  see code here line 1309-1370]). 

Before to complete these very basic functions,…

Is it forecast to have more basic / generic functions using '''term_order''' in taxonomy.php ?

[http://core.trac.wordpress.org/ticket/9546 Related ticket]",michelwppi
10230,get_pages function: number and child_of parameters conflict,ryan,Template,2.8,normal,normal,Future Release,defect (bug),new,has-patch,2009-06-21T19:26:29Z,2012-09-11T10:54:52Z,"Passing both number and child_of parameters to get_pages will produce nonsensical results. 

Within the function number is used first to limit the number of results, then child_of is used to establish results within a certain hierarchical scope. 

So with a structure of:
{{{
Parent 1 
Parent 2
Parent 3
   Child 1
   Child 2 
   Child 3
}}}
passing a number=2 and child_of=(parent 3 id) will not give the expected output. In this case, the result will first be limited to only include:
{{{
Parent 1 
Parent 2
}}}
so the child_of will be ignored. To produce a more logical result, child_of should be evaluated first, then number should be evaluated to limit the result set.",ortsaipekim
4969,Make wp_list_* functions all behave similarly...,ryan,Template,2.3,normal,normal,Future Release,enhancement,new,has-patch,2007-09-13T14:18:22Z,2012-08-27T21:46:32Z,"The sidebar template typically uses lists of lists to prettily display lists of pages, categories and bookmarks. Lists of pages, categories and bookmarks are forced to be items of lists themselves as the functions wp_list_pages(),wp_list_categories() and wp_list_bookmarks() wrap the output of functions in <li>..</li> tags by default.

Lists are intended to indicate something about the structure of the document where as these forced <li> tags appear to be intended to provide pretty indentation. Nested-lists can also provide confusion for non-visual readers.

wp_list_bookmarks() provides the ability to override this with category_before and category_after options. wp_list_pages() and wp_list_categories() should offer similar options. Ideally the accessible approach would be the default for these options but I don't believe this is possible without breaking existing themes.",pishmishy
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
19647,Use add_node() instead of add_menu() in core,ryan,Toolbar,3.3,normal,minor,Awaiting Review,enhancement,assigned,dev-feedback,2011-12-22T16:45:31Z,2012-09-17T06:10:56Z,"It's clear through [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/class-wp-admin-bar.php class-wp-admin-bar.php] and Nacin [http://wpdevel.wordpress.com/2011/12/07/admin-bar-api-changes-in-3-3/ has stated this] too:

  The API previously emphasized {{{add_menu()}}}, but this can be confusing, so {{{add_node()}}} is now being promoted a bit more.

Another step towards this would be that the core used {{{add_node()}}} instead of {{{add_menu()}}} when building menu items in [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/admin-bar.php admin-bar.php].

Proposed patch replaces all references to the {{{add_menu()}}} method with the {{{add_node()}}} one. (Also some code structure modifications for {{{wp_admin_bar_appearance_menu()}}}.)",linuxologos
11905,trac spam,ryan,WordPress.org site,,normal,normal,WordPress.org,defect (bug),reopened,,2010-01-15T13:05:08Z,2013-04-21T09:15:45Z,http://core.trac.wordpress.org/ticket/9534#comment:7,scribu
13576,"wordpress.org themes list, sidebar broken in IE7",ryan,WordPress.org site,,normal,normal,WordPress.org,defect (bug),new,,2010-05-27T14:49:20Z,2012-08-10T18:25:26Z,"wordpress.org themes list
the sidebar in IE7/IE8 is displayed AFTER the themes, Firefox ok.",maurizio04
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
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
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
13780,Twenty Thirteen: WordPress Version Requirement Support,ryan,WordPress.org site,,high,normal,WordPress.org,feature request,new,,2010-06-08T04:15:45Z,2013-06-12T20:14:56Z,"Right now, there seems to be no way to add a minimum required version to a themes style.css.

This should be used for the automatic update of themes build into WordPress. The theme update should only be applied after WordPress is updated to at least that version.",kretzschmar
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
10699,Password Expose Bug in XML-RPC Debugging,ryan,XML-RPC,,normal,normal,Future Release,defect (bug),new,close,2009-08-29T01:46:43Z,2012-09-17T06:20:27Z,"Though this may not effect many users, I was testing something through xmlrpc with logging enabled and came across something that might create a security problem. 

If xmlrpc logging is enabled WP logs the password from the request struct in an unencrypted format. 

Now I understand that not many will open up xmlrpc logging on production blogs, could it be possible that WP just strikes out the password before logging it to the file as it is always the third param so easy to do that, this is because people who might have xmlrpc logging enabled may not change the default log filename and location so anyone can simply run a robot to check for http://blogurl.com/xmlrpc.log and farm passwords (now this may not affect blogs that have WP installed in root since it writes to ../xmlrpc.log, so essentially outside the www access dir, but blogs with WP installed in sub directories will be affected). 

Don't know how critical this is as users have to manually edit the file to enable xmlrpc logging so it might be a non critical bug.",keithdsouza
21044,Add action hook to end of resetpassform reset_pass_form,romaimperator,Plugins,3.4,normal,normal,Awaiting Review,feature request,new,has-patch,2012-06-21T20:59:55Z,2012-06-21T20:59:55Z,"'''Description'''

This hook will allow plugin developers to add content to the form users see when they are setting a new password for their account.

'''Why do I want this feature?'''

My plugin found [http://wordpress.org/extend/plugins/trustauth/ Here] replaces the need for passwords. I added a feature to allow users to completely disable password logins for their account to prevent bruteforcing. This hook will allow me to add a feature which will let them assign a new TrustAuth key (just a public key) to their account rather than forcing them to reenable password logins and set a new password.

'''Current Behavior'''

Currently plugins cannot add anything to the form.

'''Implementation Strategy'''

I have created a patch which simply runs the action hooks before outputting the submit tag.

'''Work Estimate'''

However long it takes to review this ticket and apply my patch.

'''Commitments'''

me, romaimperator, implementing the one line of code",romaimperator
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
19915,Add unit tests for AtomPub API,rmccue,AtomPub,,normal,normal,Awaiting Review,enhancement,new,,2012-01-28T16:25:15Z,2012-09-17T05:52:57Z,"Apologies if this is a duplicate, I couldn't find any.

The AtomPub API is hideously under-tested. Since it's a part of WordPress that doesn't get touched often, it's also one of the most crucial components that needs testing.

I'm working on [https://github.com/rmccue/Gorilla a test runner called Gorilla], which is designed as a replacement for the APE (Atom Protocol Exerciser). This will have a port of all the APE unit tests to PHP, and I'm also going to start writing some new ones for all the new APIs that are being added in #18430, #18431, #18432 and #18433.

These are specifically designed to be able to be independent of Gorilla, so that it will be easy to bring into a normal PHPUnit test suite, and hopefully will be able to run as part of the normal WordPress unit test suite. (Although they'll still need some components of Gorilla to work)

(This is filed under Unit Tests, but AtomPub might be a better component)",rmccue
10660,Time zone suggester based on nascent WordPress.org API call,rmccue,Date/Time,2.8.4,normal,normal,Future Release,feature request,assigned,has-patch,2009-08-20T05:59:42Z,2013-02-19T19:00:38Z,"The attached patch uses a new API call to http://api.wordpress.org/core/ip-to-zoneinfo/1.0/ to retrieve a suggested time zone based on client (not server) IP address.

A button is added next to the existing dropdown list of time zones providing the option to ""Suggest a time zone"". This calls the API using an AJAX/JSONP request which then auto-selects a time zone for the user from the dropdown.

Visual feedback is via a spinner when fetching and then a text response.

Additionally the Date and Time settings have been split out to a new settings page.

Related ticket: #10324",sambauers
15847,Add filter in wp_insert_attachment for $data,rhundesign,Plugins,3.0.3,normal,normal,Future Release,enhancement,assigned,,2010-12-16T15:49:24Z,2012-03-21T10:26:16Z,"Pretty self-explanatory, patch attached.",pampfelimetten
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
6405,"When deleting users without any links/posts, don't ask to whom they should be reattributed",rajnikmit*,Users,2.7,normal,normal,Future Release,enhancement,accepted,has-patch,2008-03-27T01:01:15Z,2013-03-09T12:34:39Z,"When deleting a user, it asks to whom their links/posts should be reattributed (or if they should be deleted).  We can skip this screen if they don't have any links or posts.",markjaquith
12706,Custom post status bugs in the admin,ptahdunbar,Post Types,3.0,normal,normal,Future Release,task (blessed),new,needs-unit-tests,2010-03-25T14:41:39Z,2013-06-18T13:20:38Z,"A developer should be able to register a custom post status using `register_post_status()`. The admin UI (including post submit box and quick edit) should reflect this new custom post status. Furthermore, there are many hard-coded references to 'draft' and 'pending' statuses in core that should properly use the post status API.

All existing arguments to `register_post_status()` should be fully implemented, should also support per-post-type arguments. As things get implemented across core, there will likely be a need for supporting capabilities and bits of API.

Related: #23169 (register_post_status_for_object_type), #23168 (unregister_post_status).",ptahdunbar
3329,Need to strip % from the auto-permalink in the editor.,pishmishy*,Permalinks,2.0.5,normal,normal,Future Release,defect (bug),accepted,needs-refresh,2006-11-04T20:41:06Z,2013-01-17T04:11:19Z,"I made an article with ""x = 18,98 * y - %10"" as title, and this generated http://www.example.com/blog/2006/11/03/x-1898-y-%10/ which doesn't work.",Heyneken
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
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@…
18934,Multisite issue cleaning up empty capabilities,PeteMall*,Multisite,3.0,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-10-13T20:02:12Z,2012-11-07T22:18:09Z,"The following multisite-specific block of code in user-edit.php doesn't seem right:
{{{
		$cap = $wpdb->get_var( ""SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'"" );
		if ( !is_network_admin() && null == $cap && $_POST[ 'role' ] == '' ) {
			$_POST[ 'role' ] = 'contributor';
			$delete_role = true;
		}
}}}

The query appears to be checking whether the user in question specifically has no capabilities for the given blog. However, on the next line, it checks whether the result set from that query is null - that is, if the user does '''not''' have a no-capability entry. This includes users who don't have any capability entries at all (so there wouldn't be anything to delete) and users who actually have valid capabilities (whom I wouldn't think should be deleted).

It's possible I'm misunderstanding this code, but my expectations here are that the line should read {{{null !== $cap}}}.

I'm not sure if this occurs in standard workflows, but I ran into it when writing a plugin. To work around it, I back-populated {{{$_POST[ 'role' ]}}} with the user's current role.",jammitch
18301,Activating a new theme on multisite is very long-winded,PeteMall*,Network Admin,3.1,normal,normal,Future Release,enhancement,accepted,,2011-07-30T23:38:48Z,2012-12-31T18:25:57Z,"Scenario:

I've just uploaded a new theme to my theme directory and I now want to activate it on a site. I head to the Appearance › Themes menu for that site and, whoops, I forgot to activate it on the network first. Now I need to:

1. Click my name in the header
2. Click Network Admin in the dropdown menu
3. Click Sites
4. Find the site and click Edit
5. Click Themes

From there I can enable the theme.

We're not done yet though. We need to traverse a minimum of two screens to get back to the Themes menu of the site (even more if the admin bar isn't enabled) in order to activate it.

Two things would make this process easier:

1. A link from the Themes screen to the Themes tab of the site in network admin, so five clicks become one.
2. The ability to activate a theme from the Themes tab of the site in network admin.
",johnbillion
22981,Tweets import plugin tracking ticket,PeteMall*,Plugins,,high,normal,WordPress.org,task (blessed),accepted,,2012-12-17T18:43:42Z,2013-05-28T20:55:01Z,"This ticket is to track the development of a plugin that can import tweets from a downloaded twitter.com archive. Presumably, such a plugin would be added to the importers list on wp-admin/import.php.

Trac is best when it is used to discuss implementation. If you want to discuss the general idea, please do so on [http://make.wordpress.org/core/2012/12/16/antsy-for-3-6-to-start-and-need-a/ make/core].

Some initial thoughts on implementation:
 * It should use the JSON-formatted data that comes with a downloaded tweet archive. The importer should take the entire zip, extract it, and loop through the monthly files. Anything more is an unnecessary burden on the user.
 * The plugin should import the tweet as actual content. A filter is good idea, if someone wishes to toggle this to instead insert links to tweets (and thus rely on oEmbed). It should also store the JSON-serialized array of data (directly from 1.1 of Twitter's API) in postmeta.
 * It should import posts as a post format. Status makes the most sense; 'link' could also work for links, then there's also 'aside'. The post format to use should be filterable on a tweet-by-tweet basis. The post type to use should be filterable, as a 'tweet' type may be desired.
 * It should handle importing an archive over an existing archive, by looking for the existing tweet (probably IDs as a meta key). I don't think deleted tweets should be removed in this process, though.
 * Remember that tweet IDs are going to be bigger than 32-bit integers, so they must be treated as strings, and we should not try to set a post ID as we might with other importers. This importer should be tested on a 32-bit environment.

Beyond that, there are other ""nice to haves"" that would likely be left to plugins of this plugin, given they are beyond the standard role of an importer. Beau Lebens, for example, has done some/all of this already:
 * Tagging based on hashtags, and a separate mentions and/or in-reply-to taxonomy.
 * Filtering over raw (no-HTML) content to add things like links to hashtags, links in tweets, etc., on display, rather than doing all of this on save. (Should a hashtag link go to the internal tag, or to twitter.com? Maybe the internal tag's description links to twitter.com?)
 * A cron to import new tweets using the same importing methods.

One thing I will suggest: decisions, not options. Note I said ""filter"" a bunch of times, but never the word ""option."" Not that there won't be a need for any user decision here, but we should make a plugin that works well for the common use cases, and leave the rest to other enterprising developers.

Side note: I am working on acquiring a namespace for the Twitter importer in the wordpress.org plugin repository.",nacin
18188,Make it easier to go between Dashboard and site edit pages,PeteMall,Network Admin,3.1,normal,normal,Future Release,enhancement,reopened,,2011-07-20T19:22:16Z,2012-04-18T21:01:14Z,"Each site in a network install has a Dashboard and a set of ""edit"" pages (Info/Users/Themes/Settings).

The ""edit"" page URLs are '''/wp-admin/network/site-''settingsName''.php?id=''id''''' where ''settingsName'' is '''info''', '''users''', '''themes''', or '''settings'''. The Dashboard URL is '''/''siteName''/wp-admin/''' where ''siteName'' is, I think?, the site's '''Path''' field as shown in '''/wp-admin/network/site-info.php?id=''id''''' but without the leading and trailing slashes.

The problem is if I am in the ""edit"" pages and want to go to the site's dashboard, I have to click on '''Sites''', then hunt down the site in the list, then click '''Dashboard''' while hovering the mouse over the site's row. I have a similarly convoluted process to get from a Dashboard to the ""edit"" pages.

Does this need to be so complicated? It would be nice for network admins to see links on every Dashboard or ""edit"" page that allows the user to go back and forth between the two easily.

Or even better, how about making the ""edit"" pages just show up as additional items in the Dashboard?",novasource
15004,Missing index on signups table,pento,Database,,normal,normal,Future Release,defect (bug),assigned,commit,2010-10-01T03:48:25Z,2013-05-07T17:36:17Z,"{{{
wp-includes/ms-functions.php:590:
$signup = $wpdb->get_row( $wpdb->prepare(""SELECT * FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
wp-includes/ms-functions.php:595:
$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
}}}

But there is no index on user_email in the signups table.  Makes these queries perform a full table scan which is slow when you have lots of signups.

Attached patch adds the index but I can't figure out how schema upgrades on MS-specific tables ever get run after the initial activation of MS mode and table creation.

",barry
14273,maybe_create_table cleanup,pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-07-11T13:08:09Z,2012-08-08T07:47:23Z,"Cleaned up maybe_create_table() - no more iterations.
Cheers. Dragoonis aka Dr4g(irc).",dragoonis
5932,"wpdb should reconnect and retry query when ""MySQL server has gone away""",pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2008-02-20T08:17:01Z,2012-11-07T06:15:56Z,"Using 2.3.3, here are the type of errors that crop up in error_log everyday. 


{{{

[25-Jan-2008 08:37:35] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[25-Jan-2008 09:23:19] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[26-Jan-2008 00:03:54] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
.................
}}}
",dtc
22704,Automatic Core Updates,pento,Upgrade/Install,3.5,normal,normal,Awaiting Review,feature request,assigned,dev-feedback,2012-12-03T22:05:04Z,2013-01-14T18:12:02Z,"It's time to think about automatic updates for WordPress Core. Plugins and Themes are a totally different ball game, so it's probably best to leave them for the moment. Currently, I'm thinking it would be a good idea to release this in stages (some of which may be combined, just spelling them out):

- SVN updates in trunk installs
- SVN updates in branch installs
- Opt-in updates in stable installs
- Opt-out updates in fresh installs
- Opt-out updates in all installs
- Remove option for opting out

I'd like to see SVN updates go into 3.6 early, so we can quickly get a good idea of compatibility issues that we're likely to run into when we get to beta.

Finally, are there any features we should be looking at adding to the upgrader for this? More sanity checking, notifications, other?",pento
21411,"Current Local Time for Port-au-Prince, Haiti is incorrect.",patrick@…,Date/Time,3.4.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-07-29T00:44:29Z,2013-06-13T00:40:26Z,"When the Port-au-Prince Timezone is selected via wp-admin/options-general.php the Local Time is one hour behind. Please see [http://wwp.greenwichmeantime.com/time-zone/caribbean/haiti/time-haiti/] for the correct local time.

Yes, the problem occurs even when all plugins are deactivated and the default theme is activated. ",pnommensen
21455,HiDPI (retina) theme custom backgrounds,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-08-02T17:07:06Z,2012-09-15T05:22:40Z,"We should support HiDPI custom backgrounds.

This will be a bit easier than custom headers, #21389, as we can do a media query in _custom_background_cb(). Worth noting that we will still need to solve some aspect of retina uploads, #21038.",nacin
21389,Retina theme custom headers,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-07-25T19:40:56Z,2013-06-14T15:56:11Z,We should support retina custom headers. Not sure how — ideas welcome.,nacin
21038,Provide an option for creating 2x images of user content (for Retina Displays),Otto42,Media,3.4,normal,normal,Future Release,feature request,assigned,,2012-06-21T13:13:13Z,2012-09-06T17:02:33Z,"Providing high-res images for Retina enabled devices like iPad, iPhone or Macbook Pro is rather easy with retina.js (http://retinajs.com/).

The only thing needed is a @2x version of all images. It would be nice to have an option on the image uploader to enable generation of this images.

This should be rather easy to implement, it would make life much easier.",twam
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
24397,Embiggen the linked WordPress og:image,Otto42,WordPress.org site,,normal,normal,WordPress.org,enhancement,assigned,,2013-05-23T18:14:33Z,2013-05-23T18:42:00Z,"Looks like !WordPress.org blog posts currently use [http://wordpress.org/about/images/logo-blue/blue-l.png a 150x150 px image] as an Open Graph protocol image to sexify shared links on Facebook, Twitter, Windows 8, LinkedIn, etc.

Facebook has a minimum image dimension requirement of 200x200 px to optimize for selecting an image that works in a variety of display scenarios including HiDPI. Current image is under that minimum dimension. Facebook supports an image up to 5 MB in filesize. Twitter supports up to 1 MB in filesize.

Bump up the size of the default [http://wordpress.org/about/logos/ WordPress logo] used as an og:image on !WordPress.org blog and elsewhere to something huge (ideally > 1500x1500 px) for maximized display opportunities for !WordPress.org link summaries displayed on other sites.

Example URL:
http://wordpress.org/news/2013/04/save-the-date-may-27/",niallkennedy
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
21842,Diffrerent Custom Taxonomy Unable to Have Same Term Name  in Version 3.4.2,oneTarek,Taxonomy,3.4.2,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-08T09:27:28Z,2012-09-14T23:47:16Z,"Before WordPress version 3.4.2 We know that WordPress does not support same word as category and tags. Assume you have a category named ""iPhone"" and it's slug is 'iphone' and now you want to add a new tag named ""iPhone"" , in this case tag slug will be 'iphone-2'. But if you have a custom taxonomy ""Device"" then the slug will be 'iphone' same as category ""iphone"". It means WordPress did not support same category and tag but can be same with any custom taxonomy. I tested many times this case.

But today after updating <a href=""http://onetarek.com""><strong>My WordPress Blog</strong></a> to version 3.4.2 I found a mistake on it. I have 3 custom taxonomy. 'Type', 'Brand' and 'OS' . Before WP 3.4.2 I was able to use same word as Category and Type and also same slug for those. But now in version 3.4.2 when I am adding new terms It is getting slug with extra number 2. Example: I have a Category 'Apple' it's slug 'apple'. Now I am trying to add a 'Brand' taxonomy term 'Apple', the slug is being created 'apple-2'. But this problem was not in before WP 3.4.2",onetarek
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
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
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
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
20854,functions.php on line 155 ?,Nikolaos Raftopoulos,Multisite,3.3.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-06-06T12:45:29Z,2012-07-31T02:42:37Z,"In my network dashboard I get the following error message : 


Warning: number_format() expects parameter 1 to be double, string given in /home/tklighth/public_html/wp-includes/functions.php on line 155",leondari
21140,"""Display name publicly as"" setting not set until a change is made in the setting",nickharambee,Users,3.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-07-02T21:29:48Z,2012-07-02T22:37:46Z,"I have found this issue with several users that I have set up on my site.  The default value for ""Display name publicly as"" is the first name of the user when creating a new user, or at least that is what shows in the ""Display name publicly as"" drop-down menu.  However, when creating a new user, the full name, i.e. the first and last name is what displays publicly.  In order to get only the first name to display publicly I need to set the ""Display name publicly as"" option to another option, save changes, and then reset it to just the first name, and save changes again.

Surely, if it is the first name that shows in the drop-down menu, it should be the first name that actually displays publicly, without having to go through this rather strange process?

I am using the latest version of Buddypress (1.5.6) as well as several other plugins.  I have not tried disabling all of these.",nickharambee
21319,is_textdomain_loaded() returns true even if there are no translations for the domain,nbachiyski*,I18N,3.0,normal,normal,Future Release,defect (bug),accepted,dev-feedback,2012-07-20T03:48:56Z,2012-11-06T23:15:36Z,"#10527 introduced is_textdomain_loaded(). It returns true if load_textdomain() has been called, even if no translations were loaded for that domain. I think it should return false if no translations were loaded. As the documentation says, ""@return bool Whether there are translations"". In this case, no, there are not translations.

Attached patch also does the following:
 * Does not store instances of NOOP_Translations inside the $l10n global. Previously, we instantiated NOOP_Translations once for each domain that was missing translations; since we are no longer storing NOOP_Translations instances inside $l10n, we need to avoid instantiating it for every call to get_translations_for_domain(). Thus, NOOP_Translations is now instantiated only once, using a static variable.
 * Removes by-references for get_translations_for_domain(), which are no longer needed in PHP5.",nacin
22229,Plurals in JavaScript,nbachiyski*,I18N,,low,normal,Future Release,enhancement,accepted,has-patch,2012-10-19T19:25:40Z,2013-06-07T15:19:59Z,"This is something koopersmith needs in the media modal, and I've seen a few other recent use cases.",nacin
13651,Problem with plural form in comments_number,nbachiyski,I18N,3.0,high,major,Future Release,defect (bug),new,has-patch,2010-05-31T07:55:14Z,2013-04-10T16:06:03Z,"Hi, there is problem with comments_number in WordPress (and also Twentyten theme). There is possibility to use 0, 1 or more comments. But for Czech there are also two plural forms: 0 (žádný komentář), 1 (1 komentář), 2-4 (komentáře) and 5 and more (komentářů).

Function comments_number does not support it, also in Twentyten it is not possible...",pavelevap
11740,Sorting tags and towns does not work well for utf-8,nbachiyski,I18N,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-01-06T12:42:24Z,2012-09-02T14:25:29Z,"There are problems with sorting special Czech characters:

1) Options - General - Timezone selection.

Evropa (Europe)
First item should be Amsterdam, but instead of it there is ""Řím"" (Rome in Czech). And this is not right, character Ř should be between R and S.

2) Editing posts - Select from most used tags.

You can create tags ""Rome"", ""Amsterdam"" and ""Řím"".
Tags are also sorted in a bad way, first is ""Řím"".
It is very problematic for Czech users when there are many tags, because it does not help them...",pavelevap
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
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
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
11226,Month name declension case,nbachiyski,I18N,2.9,low,minor,Future Release,enhancement,new,,2009-11-22T13:13:43Z,2012-10-19T22:41:46Z,"As I've reported previously, in order to fully translate WordPress into Polish (and probably many more languages), dates have to be declended. This was fixed in #9396, however proper translation into Polish still cannot be accomplished.

You see, the ""January 2009"" is something else for


{{{
""View posts published in January 2009""
}}}


and just


{{{
""January 2009""
}}}


In the former case, it's a locative. In the latter, it's simply a genitive. What needs to be done in order to fix this is passing some kind of information to the date_i18n filter, informing it of the case.

I suggest passing the declension case information (whether it's genitive, locative or something else). That should do it. :)",waclawjacek
10005,"Some strings need ""no HTML entities"" translator comments",nbachiyski,I18N,2.7.1,normal,minor,Future Release,enhancement,reviewing,,2009-06-02T10:19:50Z,2009-11-23T21:30:48Z,"I've been putting a specific set of custom comments in my PO for some time now, and since WP is now able to handle translator comments very graciously, I think it would be nice to switch them over there.

The following strings need to have an indication warning translators against the inclusion of HTML entities within their translation, because of where the strings are user (RSS feeds, e-mail...). For instance, ""Protected Comments: "" should be translated to ""Commentaires protégés&nbsp;: "", but since it is used in feeds, it breaks them...

Suggestions comment: ""Do not add HTML entities (&nbsp;, etc): used in [context]"".

Here they are (sorry, raw list out of my PO file).

Used in feeds:
  - ""Comments on: %s"", wp-includes/feed-atom-comments.php:19 and wp-includes/feed-rss2-comments.php:22
  - ""By: %s"", wp-includes/feed-atom-comments.php:56 and wp-includes/feed-rss2-comments.php:48
  - ""Protected Comments: Please enter your password to view comments."", wp-includes/feed-rss2-comments.php:56


Used in e-mail:
  - ""Your new WordPress blog has been successfully set up at: ..."", wp-admin/includes/upgrade.php:229
  - ""New comment on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:968
  - ""Author : %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:970 and wp-includes/pluggable.php:1072 
  - ""E-mail : %s"", wp-includes/pluggable.php:971 and wp-includes/pluggable.php:1073
  - ""URL    : %s"", wp-includes/pluggable.php:972, wp-includes/pluggable.php:983, wp-includes/pluggable.php:993, wp-includes/pluggable.php:1059, wp-includes/pluggable.php:1066 and wp-includes/pluggable.php:1074
  - ""Whois  : http://ws.arin.net/cgi-bin/whois.pl?queryinput=%s"" and wp-includes/pluggable.php:973 and wp-includes/pluggable.php:1075
  - ""Comment: "", wp-includes/pluggable.php:974 and wp-includes/pluggable.php:1076
  - ""You can see all comments on this post here: "", wp-includes/pluggable.php:975
  - ""[%1$s] Comment: \""%2$s\"""", wp-includes/pluggable.php:977
  - ""New trackback on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:980
  - ""Website: %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:982 and wp-includes/pluggable.php:992
  - ""Excerpt: "", wp-includes/pluggable.php:984 and wp-includes/pluggable.php:994
  - ""You can see all trackbacks on this post here: "", wp-includes/pluggable.php:985
  - ""[%1$s] Trackback: \""%2$s\"""", wp-includes/pluggable.php:987
  - ""New pingback on your post #%1$s \""%2$s\"""", wp-includes/pluggable.php:990
  - ""You can see all pingbacks on this post here: "", wp-includes/pluggable.php:995
  - ""[%1$s] Pingback: \""%2$s\"""", wp-includes/pluggable.php:997
  - ""Delete it: %s"", wp-includes/pluggable.php:1000 and wp-includes/pluggable.php:1081
  - ""Spam it: %s"", wp-includes/pluggable.php:1001 and wp-includes/pluggable.php:1082
  - ""A new trackback on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1056
  - ""Website : %1$s (IP: %2$s , %3$s)"", wp-includes/pluggable.php:1058 and wp-includes/pluggable.php:1065
  - ""Trackback excerpt: "", wp-includes/pluggable.php:1060
  - ""A new pingback on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1063
  - ""Pingback excerpt: "", wp-includes/pluggable.php:1067
  - ""A new comment on the post #%1$s \""%2$s\"" is waiting for your approval"", wp-includes/pluggable.php:1070
  - ""Approve it: %s"", wp-includes/pluggable.php:1080
  - ""Currently %s comment is waiting for approval. Please visit the moderation panel:"", wp-includes/pluggable.php:1084
  - ""[%1$s] Please moderate: \""%2$s\"""", wp-includes/pluggable.php:1088
  - ""Password Lost and Changed for user: %s"", wp-includes/pluggable.php:1114
  - ""[%s] Password Lost/Changed"", wp-includes/pluggable.php:1115
  - ""New user registration on your blog %s:"", wp-includes/pluggable.php:1135
  - ""Username: %s"", wp-includes/pluggable.php:1136,  wp-includes/pluggable.php:1144
  - ""E-mail: %s"", wp-includes/pluggable.php:1137
  - ""[%s] New User Registration"", wp-includes/pluggable.php:1139
  - ""Password: %s"", wp-includes/pluggable.php:1145
  - ""[%s] Your username and password"", wp-includes/pluggable.php:1148




Used in visual editor (entities break it):
  - ""Edit Image"", wp-includes/js/tinymce/langs/wp-langs.php:421
  - ""Delete Image"", wp-includes/js/tinymce/langs/wp-langs.php:422


Used in an alert() message:
  - ""Enter a word to look up:"", wp-includes/script-loader.php:76


Obviously these were marked for my locale's need, I think all the strings pertaining to these context should be properly commented about this.

Hopefully it is not too late (and is quick enough) for inclusion with 2.8.

",xibe
6425,Support for RTL in feeds,nbachiyski,I18N,,normal,normal,Awaiting Review,enhancement,assigned,close,2008-03-27T20:56:51Z,2012-02-08T06:07:07Z,"In the current state of most Feed readers, the only surefire way to make RTL content display properly is to have directionality enforced inside the content - that is, either with {{<div dir=""rtl"">}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or &#8235; and &#8236;, or U+202B and U+202C.) for excerpts or titles.

While we currently have pretty good support for RTL languages, there is no support for RTL in feeds - all is left up up to the feed reader.

I suggest adding a mechanism to automatically insert these tags/characters for blogs that have text_direction set to RTL - much in the same way RTL css style sheets are loaded for these blogs.

I have attached a patch that modifies the feed templates to insert these tags/characters. Note that there is no checking of blog directionality here - this is just an example of how to enforce RTL in feeds, not how to enforce it conditionally.

This relate to a previous ticket I submitted (#5517), regarding adding an option to set the feed language - which currently just defaults to EN. Certain feed readers know to display RTL text in proper directionality according to feed language (for e.g., feeds that have their feed language set to HE (Hebrew), will get displayed from Right to Left). While setting feed language is not a comprehensive solution, it is a step in the right direction.",RanYanivHartstein
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
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
13265,Filter results of get_page_templates(),nathanrice,Themes,3.0,normal,normal,Future Release,enhancement,reopened,has-patch,2010-05-05T19:56:16Z,2013-05-14T13:41:33Z,"It doesn't make sense to not have a filter on the returned value of this function. I can think of several instances where this would be useful.

I also inserted a ""pre_"" filter at the beginning of the function so plugins/themes can short-circuit the function as well.

I'm hoping this is small enough to get in for 3.0.",nathanrice
16413,Settings page needs HTML refactoring and UI improvements,nacin*,Administration,3.1,normal,normal,Future Release,enhancement,accepted,,2011-01-30T20:22:09Z,2013-05-21T17:50:22Z,"The settings pages haven't had much attention or improvement in a while.

We need to refactor the HTML on the settings pages, as they are still using tables instead of divs.

We also want to make some minor UI improvements including:
- clearer differentiation between option groupings
- using consistent text styles for descriptions and links (including the time zone/date format comment)
- restructure for better readability

Comment if you have any other",chexee
18710,post_deleted_messages filter,nacin*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2011-09-19T21:19:21Z,2012-06-11T13:05:21Z,It would be nice to be able to updated post deleted messages like you can through the post_updated_messages filter.,jgadbois
11049,Page Preview does not autosave page template,nacin*,Autosave,2.8.4,normal,normal,Future Release,defect (bug),accepted,dev-feedback,2009-10-30T21:19:34Z,2012-10-12T17:57:32Z,"When editing a published page, if you change the page template and then click Preview, the preview does not show the new template choice. ",janeforshort
14493,"do_enclose() can ping the same URL many times, can't filter URLs to ping",nacin*,Feeds,3.0.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-07-31T18:52:01Z,2012-11-07T09:14:47Z,"If the same URL is included in a post several times, do_enclose() can check that URL for inclusion as a possible enclosure several times.

Additionally, there's no way to filter what URLs do_enclose() should ping for possible inclusion as enclosures.

Attached adds an array_unique() call to do_enclose().

Attached adds a {{{do_action_ref_array( 'pre_enclose', array( &$post_links, &$pung ) )}}} hook to allow filtration of URLs to ping.  (Matches the pre_ping hook.)

do_enclose() has several more problems this patch addresses.

 1. Correct non-functional DELETE FROM postmeta query (bad use of wpdb::prepare()).
 2. Use like_escape() in several LIKE queries.
 3. Add an {{{apply_filters( 'enclosure_mime_types', array( 'video', 'audio' ) )}}} hook.
 4. Currently do_enclose() doesn't allow root URLs as enclosures (e.g. http://example.com/), only URLs with a non-trivial path or query.  Move that functionality to the new pre_enclose filter.
 5. Efficiency improvements in conditional logic.
 6. Clean up code by reducing control structure nesting depth.",mdawaffe
18143,Add size for Gallery Settings,nacin*,Gallery,3.2.1,normal,normal,Future Release,enhancement,accepted,has-patch,2011-07-17T00:02:49Z,2012-05-02T20:25:00Z,Add a size option for gallery settings so it's easy to insert a single column gallery with large or full size images.,designsimply
16012,Importer descriptions i18n,nacin*,Import,3.1,normal,normal,WordPress.org,defect (bug),accepted,has-patch,2010-12-28T18:41:00Z,2012-06-13T19:07:36Z,"At first I've tried to create a ticket on http://plugins.trac.wordpress.org/, but none of the importers are present in the Component dropdown. So I've decided to try it here.

As [http://wppolyglots.wordpress.com/2010/12/28/hello-another-string-which-i-couldnt/ noted by Rasheed Bydousi on WP Polyglots], importer descriptions are displayed in English. The problem is that `register_importer()` function is called before the language file is loaded.

I've created patches for all the importers. I've also changed `init` action to `admin_init`, which seems to have more sense in this case.",SergeyBiryukov
14642,Support Facebook's HipHop,nacin*,Performance,,normal,normal,Future Release,enhancement,accepted,has-patch,2010-08-19T03:33:20Z,2012-04-09T05:45:18Z,"Various changes to make WordPress compatible with HipHop, Facebook's
PHP-to-C++ transformer. With this patch, WordPress' codebase can be
tranformed to C++ and then compiled to binary that runs much faster
than the current PHP version.

Summary:

* sanity checks for environmentals

* string in HipHop doesn't have 'error' property

* array_merge takes only array arguments since PHP 5
  http://php.net/manual/en/function.array-merge.php

* $user needs instantiation first before being used

* always replace existing variables in registering new users
  ie. use EXTR_OVERWRITE in extract() by default",ChenHui
10441,Show warning when deprecated hook is registered,nacin*,Plugins,,normal,normal,Future Release,feature request,accepted,dev-feedback,2009-07-18T14:48:47Z,2013-05-27T08:48:58Z,At this moment WP shows warning when someone tries to use deprecated function or file. It will be good to do the same for deprecated hooks. My suggestion is to do this check in add_action()/add_filter() functions. They should compare hook name against list of deprecated ones and show warning if necessary.,sirzooro
14380,Caption shortcode inserts inline style forcing width of containing div,nacin*,Shortcodes,,normal,minor,Future Release,defect (bug),accepted,dev-feedback,2010-07-21T19:45:21Z,2013-01-31T22:03:52Z,"This is related to #9066.

The problem is that the image caption shortcode inserts an inline style on the containing div which sets the width to an arbitrary value which cannot be overriden by the theme's stylesheet.

The proposed solution is to replace the shortcode function with a custom one which creates the markup without the inline style, but this is undesirable. It adds unnecessary complexity for beginners and is just generally annoying and shouldn't be necessary.

Creating an inline style violates web standards and contradicts the  philosophy behind a theme-based architecture.

The inline style on the div should be removed so that theme developers can style the caption like they would any other element, without having to resort to inconvenient workarounds.",iandunn
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
21670,ERROR: The themes directory is either empty or doesn’t exist. Please check your installation.,nacin*,Themes,,normal,minor,Future Release,defect (bug),accepted,has-patch,2012-08-23T17:14:38Z,2013-05-21T19:58:00Z,"In multi-site mode, if there are no themes enabled for a particular site and no network enabled themes, that site's dashboard will report the error

'''ERROR: The themes directory is either empty or doesn’t exist. Please check your installation.'''

Ov course, this isn't entirely accurate. The themes directory may not be empty, but the problem is that no themes are enabled. The wording should probably be updated to reflect this.",pathawks
19541,wp_admin_bar_new_content_menu does not respect menu_position,nacin*,Toolbar,3.1,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-12-14T02:19:30Z,2012-11-07T22:01:32Z,"'''What is happening:'''

When registering a custom post type, you can specify the position in the left-hand admin menu by using 'menu_position' to move it up or down in the list.

However, the admin bar ""new content"" list does not use this same order, instead it will always display ""Post"", ""Media"", ""Link"", ""Page"" (in that order) before any custom post.

'''What should be happening:'''

The admin bar ""new content"" list should respect the menu_position attribute.",davistobias
17451,Unify plugin update notices and include changelog data,nacin*,Upgrade/Install,,normal,normal,Future Release,enhancement,accepted,,2011-05-16T09:23:25Z,2013-01-16T00:27:00Z,"Currently the after_plugin_row hook is only used on plugins.php which is used by the Changelogger plugin to show plugin changelogs inline.

If the hook is also added to the bottom of list_plugin_updates in update_core.php then changelogs could also be displayed on that page too.

It's only a single line change so not sure how/if it's worth me attaching a patch for this?",dempsey
15977,Send the Locale in Plugin/Theme Update Check Requests,nacin*,Upgrade/Install,3.1,normal,normal,Future Release,feature request,accepted,early,2010-12-25T20:59:43Z,2013-01-22T00:00:56Z,"Currently, we send locale (and other information about installation) only in wp_version_check and not in wp_update_plugins and wp_update_themes.

Since we still don't know how system for plugins/themes localization will work, I propose that we send this from 3.1.

Why? As said above, there is no definitive agreement on how will localization system work, but it is possible that system wont require changes in core, ie. be same or similar to one I [http://wppolyglots.wordpress.com/2010/12/10/proposal-for-plugins-localization-system/ suggested] over at Polyglots.

In that case localization system will be made independently what means that it'll can start working before 3.2 version. If we don't send locale for plugins/themes, we will need to wait for 3.2 even though that wont be significant change.

In theory, plugin/theme developers could also benefit if alongside locales, we would send all information we send in wp_version_check and later show them as are plugin versions shown now.

I know that is very late for this change but issue with plugin localization tool has been ignored for a very long time as I described in my post mentioned above in more detail.",dimadin
10989,Show changelog for core upgrade,nacin*,Upgrade/Install,,normal,minor,Future Release,feature request,accepted,,2009-10-21T01:36:14Z,2011-11-15T01:53:20Z,"When clicking on the admin notice that there is an update available, it would be interesting to see a short changelog with a link to the complete changelog of the upgrade besides the two download buttons

Example with the 2.8.5.
Show on the page:
The headline changes in this release are:

    * A fix for the Trackback Denial-of-Service attack that is currently being seen.
    * Removal of areas within the code where php code in variables was evaluated.
    * Switched the file upload functionality to be whitelisted for all users including Admins.
    * Retiring of the two importers of Tag data from old plugins.

More info : http://wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/",petervanderdoes
18200,Language Packs,nacin*,Upgrade/Install,,normal,normal,Future Release,task (blessed),accepted,has-patch,2011-07-21T21:09:28Z,2013-04-04T21:10:54Z,"Implement language packs for core, plugins, and themes.

Inspiration and code can hopefully be derived from the corresponding GSoC project.

This will require quite a bit of work in GlotPress, on api.wordpress.org, and in core. I will take point, but assistance will be needed. A number of decisions will need to be made. I will begin designing a document for what exactly needs to be done over the next week.",nacin
12295,More support to customize user profile edit page,nacin*,Users,3.0,normal,normal,Future Release,enhancement,accepted,dev-feedback,2010-02-19T21:14:01Z,2013-05-15T12:02:10Z,"Right now I can edit the contact methods via the user_contactmethods filter, but I can not modify or remove the Personal Options or the Name Options.
I want to keep the interface as simple as possible for my users, and I don't think that they need to edit this settings at all.
If wp wants to be a cms, it should give me control over this aspect as well.
At least, give me custom css-ids, so I can remove it via css!",pampfelimetten
18682,"Make ""WordPress is also available in..."" string translatable",nacin*,WordPress.org site,,normal,normal,WordPress.org,enhancement,accepted,,2011-09-16T10:34:02Z,2013-05-27T08:44:01Z,"Currently the links to local sites displayed on !WordPress.org for international visitors are partly English, partly translated:

 !WordPress is also available in Русский.[[BR]]
 !WordPress support forums are also available in Русский.

For better user experience, we should allow l10n teams to translate these strings in Rosetta. Due to different grammatical cases, the language name would probably need a separate context for these links.",SergeyBiryukov
16589,Localized version stats,nacin*,WordPress.org site,,normal,normal,WordPress.org,feature request,accepted,,2011-02-18T08:52:48Z,2012-04-29T15:57:20Z,"There have been some discussions on localized version stats:

* http://lists.automattic.com/pipermail/wp-polyglots/2009-November/003812.html
* http://lists.automattic.com/pipermail/wp-polyglots/2009-December/003868.html
* http://lists.automattic.com/pipermail/wp-polyglots/2010-July/004859.html
* http://wppolyglots.wordpress.com/2010/12/01/ive-found-some-discussions-about-local-2/
* http://wppolyglots.wordpress.com/2010/08/18/i-am-having-some-problems-with-site-stat/ (related)

Many translators would agree that it would be nice to have them back.",SergeyBiryukov
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
17861,Bug on WordPress Credits page,nacin,Administration,3.2,normal,normal,WordPress.org,defect (bug),reopened,,2011-06-21T15:56:56Z,2012-11-28T00:15:31Z,"Hi,

There are a couple of bugs on WordPress Credits page.

1.- There is a problem with usernames with dot, for example my username ""j.conti""

I'm on translators list, my name and avatar are correct but the link to my profile is wrong. Now, the link is http://profiles.wordpress.org/users/jconti but my profile is http://profiles.wordpress.org/users/j.conti the bug is deleting the dot.

2.- There is a problem with my name, my name is ""José Conti"" but is showing ""JosÃ© Conti""

attached pic

Thank you",j.conti
19023,Images in Edit Comments break SSL,nacin,Administration,3.2.1,high,normal,Awaiting Review,enhancement,reviewing,dev-feedback,2011-10-21T11:19:43Z,2012-09-17T22:52:02Z,"In trunk, when I'm on my edit comments page, the SSL get's broken because of an attachment image that isn't served over SSL:

[http://uploads.yoast.nl/Comments-20111021-131843.png]",joostdevalk
16165,Media Library Bulk Delete: Error in deleting...,nacin,Administration,3.1,low,normal,Future Release,enhancement,assigned,dev-feedback,2011-01-09T14:20:39Z,2012-11-07T20:17:43Z,"While Bulk Deletion, when a user gets the ""Error in deleting..."" message, there is no information given of how many elements have been deleted so far.

Let's say there was a bulk of N deletions, getting this error can mean up to N-1 items have been deleted already.

Same is the case if for some item, no permissions are granted to delete it. The number of successfully deleted items is missing as well.",hakre
8592,Private Pages not listed in the Parent dropdown,nacin,Administration,2.7,normal,major,Future Release,enhancement,reopened,commit,2008-12-12T16:22:24Z,2013-02-28T12:51:59Z,"Private pages are not available as a choice in the Parent dropdown of the Attributes module.

You should be able to create a hierarchy of private pages if you want to.

Tested with r10194.",mtdewvirus
19693,redirect_guess_404_permalink() can catch the wrong post types,nacin,Canonical,,normal,normal,Future Release,defect (bug),reopened,,2011-12-30T04:53:09Z,2012-05-24T16:19:12Z,"When I access /blah, and that 404s, redirect_guess_404_permalink() will try to find a matching post name.

If blah is the start of a post name for a random post type (perhaps one used as internal storage), it'll match it and redirect (and then end up 404ing, potentially). There's no constraint on the post type if the post_type query var isn't set, which is going to be common.

We need to come up with a stricter query. (And while we're at it, we should hook redirect_guess_404_permalink() into redirect_canonical() so it may be unhooked without removing all canonical support.)",nacin
21017,Using force_feed() for simplepie in core,nacin,Feeds,3.4,normal,minor,Awaiting Review,enhancement,reviewing,dev-feedback,2012-06-18T22:21:48Z,2012-06-27T14:32:13Z,"Receiving the following error in the ""Incoming Links"" widget in the admin dashboard:
[[BR]]

{{{
RSS Error: A feed could not be found at http://www.google.com/search?
ie=utf-8&partner=wordpress&q=link:http://mysite.com/
&tbm=blg&tbs=sbd:1&output=rss. A feed with an invalid mime type may fall
victim to this error, or SimplePie was unable to auto-discover it.. Use
force_feed() if you are certain this URL is a real feed.
}}}

[[BR]]
The support forum thread which can provide more specific information can be found here:
[http://wordpress.org/support/topic/incoming-links-error-message-1?replies=41]
[[BR]][[BR]]

It has been suggested adding '''force_feed()''' to the core might alleviate this issue in future dev.
",josh401
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
19065,Please provide original javascript files (.dev.js) for all minified files,nacin,General,,normal,normal,WordPress.org,defect (bug),reopened,,2011-10-27T10:18:57Z,2012-06-15T09:01:46Z,"Please provide original javascript files (.dev.js) for all minified files. This is not only useful for debugging, it's also a requirement of some free software distributions like Debian (cf the bug report that prompted all this: http://bugs.debian.org/646729).

Missing files that I noted are (relative to wp-includes/js):
{{{
crop/cropper.dev.js
jquery/jquery.dev.js
jquery/jquery.query.dev.js
jquery/jquery.schedule.dev.js
jquery/jquery.serialize-object.dev.js 
jquery/ui/*.dev.js (all *.js files are minified)
plupload/plupload.*.dev.js (all plupload.*.js files are minified)
swfupload/swfupload-all.dev.js
tinymce/tiny_mce.dev.js
tinymce/tiny_mce_popup.dev.js 
tinymce/plugins/*/editor_plugin.dev.js (all plugins except the WP ones)
tinymce/themes/advanced/editor_template.js
tinymce/wp-tinymce.dev.js.gz
swfobject.dev.js
}}}

I'm not really sure about swfupload/swfupload-all.js, if it's swfupload.js + the 4 plugins minified, then it's ok I guess. But it would be nice to have it documented.

tinymce/wp-tinymce.dev.js.gz is probably also generated from something else but I could not figure out what. It would be nice to document how and when to regenerate it.

I can help to dig out the required files if it helps. Ideally the build process of wordpress would include a way to regenerate automatically the minified files from the corresponding .dev.js file.",rhertzog
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
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
15448,wp_mail() sets Content-Type header twice for multipart emails,nacin,Mail,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-11-17T12:15:04Z,2013-05-16T12:09:18Z,"When trying to send emails via `wp_mail()` with a Content-Type of multipart/alternative, the Content-Type header will be set with `$phpmailer->ContentType`, and again with `$phpmailer->AddCustomHeader()`, which causes two Content-Type headers in the email:
{{{
Content-Type: multipart/alternative;
	 boundary=""example_boundary""
Content-Type: multipart/alternative; charset=""""
}}}

This appears to cause errors in Outlook, as there is no boundary on the latter.

The cause of this is `PHPMailer::GetMailMIME()`, as it does not know that the email is a multipart email. The easiest way to achieve this appears to be to simply allow the user to set the AltBody via `wp_mail()`. In order to achieve backwards compatibility, `wp_mail()` should work out which part is the text/plain one and which is the text/html one based on the boundary.

I'll be working on a patch for this.",rmccue
17626,image_get_intermediate_size() may return wrong thumbnail size,nacin,Media,,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-05-31T14:33:27Z,2013-06-13T09:18:57Z,"See [http://wordpress.stackexchange.com/questions/17511/featured-image-with-the-same-height-thumbs-returns-wrong-thumb this WPSE question] for a more detailed explanation of the problem.

Essentially, if `get_the_post_thumbnail()` is passed an array for the `$size` argument, and if two images have one dimension exactly the same, the image with the ''smaller'' opposing dimension will be returned, even if the dimensions for the other image are declared explicitly.

The issue appears to be due to the way that `image_get_intermediate_size()` determines if an image exists that is cropped to dimensions similar to the specified `$size` array. As soon as it finds one, it uses it.

I've attached a patch that first attempts to find an image cropped ''exactly'' on  both dimensions, before looking for images cropped exactly only on one dimension. There will still be edge cases where the wrong image might be returned, but I'm not sure of the most efficient way to handle such cases.

(Note: props to Rarst for finding the underlying issue.)",chipbennett
21321,"Remove is_null() checks in apply_filters(), do_action(), et al.",nacin,Performance,,normal,normal,Future Release,enhancement,reopened,,2012-07-20T04:55:29Z,2012-09-16T18:39:00Z,"In apply_filters(), do_action(), and friends, there is a check for `! is_null( $the['function'] )`. As these functions get called collectively thousands of times per page, a tiny check like this can add up.

A few months ago, I decided to track it down. They were shuffled around a bit in [4955], but they actually had roots in [1394]. The link there (http://www.kackreiz.net/wordpress.php) is dead, but I found it at http://www.kackreiz.net/wordpress/apply_filters.html#fixed, via http://wordpress.org/support/topic/bug-in-remove_filterapply_filters?replies=3.

The original bug was that remove_filter() left NULL's in the $wp_filter array, rather than properly unsetting it as it was modified to do long ago. Now that we no longer leave NULL scattered about, this check is safe to remove.",nacin
17609,'View post' link shown even when post type can't be viewed on the front-end,nacin,Post Types,,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-05-29T23:43:18Z,2013-06-06T20:14:16Z,"I have registered a CPT that's not meant to be displayed on the front-end:

{{{
        'public' => false,
        'show_ui' => true,
}}}

If I create such a post in the admin area, I still see the 'View post' link after saving and the 'Preview changes' button.

Both send me to the same URL, which gives a 404:

{{{?post_type_name=single-post-slug}}}

Related: #17040",scribu
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
17807,get_adjacent_post() doesn't work with custom taxonomies,nacin,Taxonomy,3.1.3,normal,normal,Future Release,defect (bug),reviewing,has-patch,2011-06-15T09:51:46Z,2013-05-15T13:20:01Z,"If you use `next_post_link('%link', '%title', true)` or `previous_post_link('%link', '%title', true)` to get the adjacent post for a custom post type which has a taxonomy assigned to it, it doesn't work as intended.

The bug traces back to `get_adjacent_post()`. If the $in_same_cat parameter is true, then the SQL query built to get the posts are hardcoded using the default 'category' taxonomy. Instead it should allow a custom taxonomy as a parameter and use it in the queries.

Example:

Custom Post Type: `product`

Custom Taxonomy: `color`

SQL produced by `get_adjacent_post()` when calling `next_post_link('%link', '%title', true)`:

`SELECT p.* FROM wp_posts AS p INNER JOIN wp_term_relationships AS tr ON p.ID = tr.object_id INNER JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.taxonomy = 'category' AND tt.term_id IN () WHERE p.post_date > '2011-06-14 19:37:08' AND p.post_type = 'product' AND p.post_status = 'publish' AND tt.taxonomy = 'category' ORDER BY p.post_date ASC LIMIT 1`
",avaly
14877,Ability to create exclusive custom taxonomies,nacin,Taxonomy,,normal,minor,Future Release,feature request,reviewing,dev-feedback,2010-09-15T14:08:25Z,2013-05-21T14:20:30Z,"Custom taxonomies should have the option of toggling exclusivity, meaning the user should only be able to select one term at a time.

Currently, developers wishing to implement an exclusive custom taxonomy (and thus would prefer radio buttons rather than check boxes on the add/edit post pages) must remove the existing taxonomy meta box completely and build their own, simply to change the input type. This not only duplicates code and development effort, but has the potential to create security vulnerabilities when plugin developers stray from best practices, for example, when recreating the AJAX add term functionality.

Exclusive taxonomies are not uncommon in every day life and are even more common when one thinks about typical custom post type implementations (e.g., students->school year, employee->department, car->color, ice cream->flavor).

While the best implementation is uncertain, I propose the function register_taxonomy accept an optional 'exclusive' argument (similar to 'hierarchical') that would change the check boxes within the taxonomy meta box to radio buttons and would handle the POST accordingly.",benbalter
14851,Add ¨searchform-{name}.php¨ support,nacin,Template,3.1,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-09-11T23:54:10Z,2013-03-23T21:10:25Z,"some [http://codex.wordpress.org/Include_Tags include tags] like '''get_header()''', '''get_footer()''' and '''get_sidebar()''' accept ''$name'' parametter to include header-{name}.php,footer-{name}.php and sidebar-{name}.php.

but the search form include tag - '''get_search_form()''' - does not accept ''$name'' parametter. currently it includes only searchform.php.

if this function will accept ''$name'' parametter, it would be easier to include other type search forms. this thecnic is very useful to sites that have several search form formats - for example one in the header, one in sidebar and one for footer. or an advense search form with categry select and post type select boxes to specific pages.
",ramiy
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
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
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
16020,Upload custom avatar for user in Dashboard,nacin,Users,,normal,minor,Future Release,feature request,reviewing,dev-feedback,2010-12-29T08:07:53Z,2013-01-29T20:18:15Z,It would be nice to be able to upload a custom avatar for a user in the WordPress Dashboard rather than making each user sign up for a Gravatar account and upload the image to that account.,computerwiz908
19583,Android honeycomb browser gets detected as old version of Safari,nacin,WordPress.org site,3.3,normal,normal,WordPress.org,defect (bug),reviewing,,2011-12-17T01:30:29Z,2013-03-16T16:55:18Z,"Reported by a friend of mine (see image attachment).

User agent string is:

{{{
Mozilla/5.0 (Linux; U; Android 3.2; en-us; A500 Build/HTJ85B) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
}}}
",Viper007Bond
22525,Marking duplicates on Trac without a ticket number improperly resolves the ticket,nacin,WordPress.org site,,normal,normal,WordPress.org,defect (bug),assigned,,2012-11-21T11:38:50Z,2012-12-02T16:39:39Z,"For some reason, the last ticket I submitted closed itself when I tried to reply to it.  Looking for a Trac bug now.",miqrogroove
18231,Opera Mini being reported as out of date,nacin,WordPress.org site,3.2.1,normal,normal,WordPress.org,defect (bug),assigned,,2011-07-24T05:14:23Z,2012-09-28T16:05:28Z,"From http://wordpress.org/support/topic/latest-opera-mini-flagged-as-old-version-of-opera?replies=1


I use the latest Opera Mini for Symbian v 6.1.25570 for access to my WordPress.org blogs from my mobile phone. It works well for comment moderation, minor edits to posts and upgrading plugins.

Since upgrading to WP 3.2.1 I've been seeing ""It looks like you're using an old version of Opera.."" on my Dashboard.

This message is incorrect as I AM running the latest version of Opera Mini. It's only a minor annoyance but it would be nice if it was fixed.",Ipstenu
23034,wordpress-sources is not up to date,nacin,WordPress.org site,,normal,normal,WordPress.org,defect (bug),assigned,,2012-12-21T08:16:31Z,2013-01-10T06:55:04Z,"It would be nice if you could include as part of your standard release workflow a step that ensures that http://code.trac.wordpress.org/browser/wordpress-sources is up-to-date.

For instance WP 3.5 ships JQuery 1.8.3 but the above repository only contains the source for version 1.8.1. JQuery UI is at 1.9.2 while the above repository only contains 1.8.23.",rhertzog
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
21010,View Post Link on edit-comments.php,mordauk,Comments,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-18T15:10:27Z,2012-12-23T03:47:41Z,"Anytime I approve a comment, I'm always irritated by the fact that there isn't a ""View Post"" link anywhere that links to the live post on the front end. The title of the post, such as ""Hello World"", is shown, but it links to post.php.

A lot of times I want to read back through the original post before I answer the comment, and I'd prefer to do that on the live site, not the admin, so I think there needs to be a ""View Post"" link next to the post title that links to the live site.",mordauk
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
17580,"get_media_item(): add filter to better control ""buttons"" in media upload and make more performant if buttons are already set",mitchoyoshitaka,Performance,3.1.3,normal,normal,Future Release,enhancement,new,needs-refresh,2011-05-26T23:08:45Z,2012-04-27T15:14:40Z,"Two issues in get_media_item():
1. There's no good, clean way to modify the ""buttons"" (things which get stored lumped together in $form_fields[""buttons""]) in the Media Upload, except for the ""delete"" and ""send"" (aka ""insert into post"") which can be controlled via the 'get_media_item_args'. Add a filter for that.
2. Right now we construct the HTML snippets for different buttons, as $send, $delete, and $thumbnail... and then checking whether $form_fields[""buttons""] is already set or not, and then only using them if it's not already set. If a plugin already pre-specifies the buttons HTML, this computation is completely wasteful. Move this conditional earlier.
3. (Terribly minor:) If any of these buttons aren't actually used, <td class='savesend'/> is produced with extra whitespace in it. This is a reflection of the poor design of the code which prints this HTML.",mitchoyoshitaka
17584,Add post_type_supports filter,mitchoyoshitaka,Post Types,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-05-27T06:16:28Z,2013-04-03T21:59:41Z,"The post_type_supports return value should be filter-able, and there's even a @todo in the code to that effect.",mitchoyoshitaka
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
18603,Comments on pages which exceed paginate settings create erroneous permalinks,Mike Sagman http://www.dogfoodadvisor.com,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-09-06T17:32:14Z,2013-02-07T17:09:36Z,"On my website, clicking on any of the Recent Comments that possess large numbers of comments exceeding paginate settings (50 comments) present erroneous permalinks. Only the posts containing enough comments on page 3 or higher present these improperly constructed links that take users to the wrong page (a page that does not contain the comment in question). The problem does not occur on pages containing a limited number of comments. So far, we have removed our Thesis theme and changed to the standard WP default theme. And we've deactivated all plugins. Yet neither solution appears to resolve the issue. Thanks for your consideration. You may view this issue live at http://www.dogfoodadvisor.com",msagman
18733,Show revision number for post/pages in Revision list,midhund,Revisions,3.3,normal,normal,Future Release,enhancement,new,,2011-09-21T11:26:33Z,2013-05-02T09:46:41Z,"Sometimes the current revision title is not enough to identify the post/page revisions on the list. So I wish to show the revision number with link to revisions's page.

I have the patch, please review it.",midhund
12991,Allow setting default_comment_status specifically for Pages (or for any post type),messenlehner,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-04-13T22:52:28Z,2012-11-25T01:22:22Z,"Now that the default theme has {{{comments_template}}} in Pages too, I have been thinking that maybe we should offer a way of setting {{{default_comment_status}}} specifically for Pages (as distinguished from Posts).

Why?

Say that I select Twenty Ten as my theme.  I leave the global option for comments ON, because, like most people, I want comments on my Posts.  However, like most people, I do not want comments on Pages, or I want comments only on a few selected Pages.  So, every time I make a new Page, I have to untick the checkbox on the Edit screen, in order to override the global setting.  That’s not convenient!

I think we need to do something about that:

Either we leave Twenty Ten as is and change something at the level of post type registration, or we change something in Twenty Ten.

(I have no idea what would be a satisfactory way to deal with this at the theme level.  Sandbox, for instance, displayed the form on Pages only if there was a certain custom field with a certain value, which may seem very unfriendly at first sight, but I find it is much friendlier than what we have now in Twenty Ten.)",demetris
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
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
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
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
761,Add hook to conditionally disable comment notifications [w/ patch],matt,Comments,1.2.2,normal,normal,Future Release,enhancement,reopened,has-patch,2005-01-27T07:42:58Z,2012-11-07T07:56:15Z,"E-mail notifications for posted comments are controlled by the  'comments_notify' setting.  E-mail notifications for comments needing modification are controlled by the 'moderation_notify' setting.  Each is an all or nothing setting, i.e. if 'on', ALL post authors will receive notifications when appropriate.  AFAIK, there isn't a  clean way for a plugin to insert itself into the notification process.",coffee2code
6820,Post image / attachment reparenting,matt,Gallery,,low,minor,Future Release,enhancement,new,has-patch,2008-04-23T01:24:09Z,2012-12-02T00:00:17Z,You should be able to change the parent of an attachment to attach it to a different post.,matt
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
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
6536,"Introduce the concept of ""read"" and ""unread"" comments for better workflow in the admin",markjaquith*,Comments,2.5,normal,normal,Future Release,enhancement,accepted,,2008-04-02T00:48:54Z,2012-03-08T01:31:11Z,"The Moderation Queue is a great way to manage your comment workflow.  All comments go in there, and you approve, spam, or delete them.  At the end you get a nice little ""0"" and you know you've dealt with all new comments.  This doesn't work for people who don't moderate every comment.  They have no idea when they are done, and which comments they have or have not looked at.

I'd like to add a {{{comment_read}}} column to the comments table.  It would be either ""1"" or ""0"".  There would be a new sub-tab for Comments: ""Unread comments (%d)""  This page would be just like the Moderation page, except that it would only show comments with {{{comment_read = 0}}}.  This could act as ""comment workflow central"" for both people who pre-moderate and people who post-moderate.  Unapproved comments would have the actions: Approve, Spam and Delete.  Approved comments would have the actions: Archive, Spam and Delete.  Clicking any of these actions would both carry out that action AND mark that comment as read, making it disappear from the ""Unread comments"" page.  (""Archive"" only marks it as read).

Enterprising theme developers could even have this status shown on the public blog, so that people know whether their comments have been seen.

For background on this idea, please see [http://markjaquith.wordpress.com/2008/03/20/the-comment-inbox/ The Comment Inbox]

Note that this has benefits for people who moderate every comment, because they can now store comments in the moderation queue (comments they want to remove from the blog, but not delete) without that getting in the way of their comment workflow.",markjaquith
4332,Unusable comment error pages,markjaquith*,Comments,1.5,normal,normal,Future Release,enhancement,accepted,,2007-05-24T20:53:17Z,2012-03-08T01:35:22Z,"No comment error page requires browser navigation to leave

ENV: WP trunk r5486

While viewing a post, I click Submit Comment without entering any information and the result is  (wp-comments-post.php):

WordPress [[br]]
Error: please type a comment.

Dead end: no link back to the page where I meant to comment or maybe accidentally clicked the button, and ""Error:"" makes me feel stupid ;-)

POSSIBLE SOLUTION

I don't see any reason to navigate away from the post post.

ADDITIONAL DETAILS

Assuming the error page is desirable (sure hope not), being able to style it might be useful.",foolswisdom
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
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
19901,Speeding up Dashboard and Comment moderation SQL load,markjaquith*,Performance,3.3.1,normal,major,Future Release,enhancement,accepted,dev-feedback,2012-01-26T21:32:43Z,2012-04-18T20:36:06Z,"The standard Wordpress function for counting the comments for Admin Bar and Dashboard named wp_count_comments is using a single SQL query with GROUP BY clause. That makes it slow on a large site with hundreds of thousands of comments.

{{{
SELECT comment_approved, COUNT(*) AS num_comments FROM wp_comments GROUP BY comment_approved;
}}}
This takes 0.3 seconds on our site with 400,000 comments. When there are 10 editors logged in, we can see increasing server load.

Our solution is to run 5 faster queries instead:

{{{
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = 'trash'
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = 'spam'
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = '0'
SELECT COUNT( comment_ID ) FROM wp_comments WHERE comment_approved = 'post-trash'
SELECT COUNT( comment_ID ) FROM wp_comments
}}}
Takes 0.042144 on the same site. The last query gets the number of all the comments, then we subtract the previous query totals to get number of approved comments.

On a database of 4 million comments the difference is 1.52 seconds for the original wp_count_comments and 0.01 seconds for our alternative count with 5 queries.

Here is a link to our quick piece of code which hooks to the required filter hook and replaces the original slow function wp_count_comments: http://foliovision.com/downloads/fv_wp_count_comments.php.txt

But this is a hack - it would be much better to fix this in core by replacing the existing slow queries with 5 fast ones and subtraction to get total approved comments.

This speedup can be very important on large sites, as often there are 10 or more writers and moderators working at the same time. What can happen with the existing code is that the slow count comments query can back up MySQL and then writers can no longer save or open posts to edit. They get very, very frustrated and even angry.

This fix will allow Wordpress to scale much larger on relatively modest hardware (no separate MySQL dual quad server).

Thanks for listening.

Martin",FolioVision
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
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
6479,Encourage people to change default tagline,markjaquith,Administration,2.5,normal,normal,Future Release,enhancement,assigned,,2008-03-30T19:09:41Z,2013-01-22T00:42:25Z,"A lot of people don't change the default tagline, especially if using a theme that doesn't display it.  But it still displays in their feed.  We should check to see if they still have the default tagline and if so, put a little contextual help in Settings - General that (nicely) encourages them to change it.

Props to Chris Silver Smith for bringing this issue up at WordCamp Dallas.",markjaquith
7361,Fixes for wp-app with PHP-CGI,markjaquith,AtomPub,2.9,normal,normal,Future Release,defect (bug),assigned,dev-feedback,2008-07-20T18:10:03Z,2012-10-17T18:10:44Z,"I was trying to use Atom Publishing Protocol with my blog I a have found some quirks and bugs.

My blog is hosted at Dreamhost, and, as far as I know, is using Apache 2.0.61 and PHP 5.2.6 as CGI. My first problem was, obviously, the authentication, but neither the solutions from [http://codex.wordpress.org/AtomPub the Codex] or [http://joseph.randomnetworks.com/archives/2007/09/19/http-basic-authentication-a-tale-of-atompub-wordpress-php-apache-cgi-and-ssltls/ this other blog post] worked. Reserching seems like PHP5 as CGI doesn't forward HTTP_AUTHORIZATION header, and nothing seems to change its mind. But it seems to forward REMOTE_USER as REDIRECT_REMOTE_USER. With my patch and this code in the .htaccess the authorization seems to work:

{{{
RewriteCond %{HTTP:Authorization} !^$
RewriteRule wp-app.php wp-app.php [E=REMOTE_USER:%{HTTP:Authorization},QSA,L]
}}}

The other patch is to fix a bug in the wp-app.php code. It seems that when working with PHP as CGI, the ""Status:"" header needs to follow a specific format, with the number, and then the reason. The actual code (from Subversion, but it's there at least from version 2.5.1) do not send the number, making CGI/PHP/Apache to return with a ""500 Internal Server Error"" instead the ""401 Credentials Requiered"", confusing Atom clients. My other patch fixes this.",yonosoytu
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
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
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
10690,WordPress does not support  non-ascii characters in URLs,markjaquith,Canonical,2.8.4,normal,normal,Awaiting Review,defect (bug),reopened,,2009-08-26T18:26:13Z,2013-03-08T20:31:45Z,"WordPress' clean_url() strips out most characters, which are non-ascii for security reasons. This is causing problems, if you want to run a WordPress blog on a domain containing non-ascii-characters (e.g. müller.com), because WordPress generates wrong URLs on redirects.",paddya
4328,"Redirect Old Slugs feature needs to redirect slugs for pages, not just posts, and redirect old permalink structure",markjaquith,Canonical,2.2,normal,normal,Future Release,enhancement,new,has-patch,2007-05-24T01:52:44Z,2012-05-13T19:42:18Z,"Create a page, browse to it, edit it, change its slug, WP redirects to the old page's slug and serves a 404. Wasn't WP 2.1 or WP 2.2 supposed to make the redirect old slug feature built-in?

Along the same lines, it would be sweet if instead of simply redirect old slugs, WP would redirect old urls. When the date changes, when the page parent changes, or when the permalink structure changes, the url changes but neither of WP, the redirect old slug plugin, the permalink redirect plugin, or anything else catches this.",Denis-de-Bernardy
21632,Adding Imgur as an oEmbed provider,markjaquith,Embeds,,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-08-19T15:51:15Z,2012-09-23T18:26:36Z,Adding imgur to the list of oEmbed providers! (wcgr rocks),bradparbs
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
10722,Allow filtering of whether or not 404 should be handled.,markjaquith,General,2.8.5,normal,normal,Future Release,enhancement,assigned,has-patch,2009-09-02T17:50:14Z,2012-09-24T02:22:27Z,"There are certain situations where a user may not want the page to always 404 when there are no posts for the given permalink.  IE, author pages, dates, etc.  There should be a filter available to allow the 404 handling to be bypassed.",prettyboymp
20683,WP_Dependencies' constructor should accept a string/array value for $deps rather than converting a string to an empty array,markjaquith,General,,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2012-05-15T20:12:39Z,2013-04-23T12:42:14Z,"Currently, WP_Dependencies' constructor takes any $deps value that's not an array and converts it to an empty array. I propose bringing the constructor's behavior more in line with standard WP function paramater behavior by accepting a string as a single dependency. Essentially this involves adding an is_string() check on $deps before checking if it's not an array, and creating an array with a single element in the case that it is a string. 


{{{
if ( !is_array($this->deps) )
  $this->deps = array();
}}}

becomes

{{{
if ( is_string( $this->deps ) )
  $this->deps = (array) $this->deps;
elseif ( !is_array( $this->deps ) )
  $this->deps = array();
}}}

See the attached diff for a proposed patch.",vhauri
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
15335,register_setting() filter for sanitization callback needs to indicate 2 arguments accepted,markjaquith,Plugins,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-11-08T01:10:46Z,2013-05-29T10:45:33Z,"'''register_setting()''' adds the function for sanitization of the option with the following line (wp-admin/includes/plugin.php):


{{{
add_filter( ""sanitize_option_{$option_name}"", $sanitize_callback );
}}}

For users wanting to declare a function for option sanitization, use of the option name within the function is sometimes desired, and is provided for in the filter application inside the '''sanitize_option()''' declaration as such (wp-includes/formatting.php):


{{{
$value = apply_filters(""sanitize_option_{$option}"", $value, $option);
}}}

With the filter always being applied with the option name as the second argument, I see no reason not to propose that the '''add_filter()''' call in register_setting() include ""2"" as the number of accepted arguments, allowing the option name to be passed.",lumination
16240,hide_empty doesn't work in get_terms() when hierarchical isn't set to false,markjaquith,Taxonomy,,high,major,Future Release,defect (bug),assigned,close,2011-01-15T06:06:05Z,2012-09-13T06:34:17Z,"I end up with some 0-count categories when calling {{{get_terms( 'category', array( 'hide_empty' => true ) )}}}

I think it has to do with the child count logic.",markjaquith
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
21554,Problem with determining e-mail charset in wp-mail.php,lizhenry,Blog by Email,3.4.1,normal,normal,Awaiting Review,defect (bug),assigned,dev-feedback,2012-08-12T11:06:52Z,2012-08-29T13:58:26Z,"In wp-mail.php the charset of the incoming e-mail message is determined on line 77 by taking the string between the second ""="" in the line and the end of line/second "";"" respectively.

'''The problem'''

If the header line in question looks like any of the following that method is perfectly fine:

{{{
Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes
Content-Type: multipart/alternative;
}}}

However in messages sent from e.g. Gmail or Goolge Reader this header line usually looks like this:

{{{
Content-Type: multipart/alternative; boundary=f46d044516dd9cd71f04c70e55e8
}}}

I this case ""f46d044516dd9cd71f04c70e55e8"" is determined as the charset and the iconv function further down on line 187 returns false which causes the post content to be emptied.

'''Suggested solution'''

I personally think that it is better to have the post published with an ""incorrect"" charset than with no content at all. 

Therefore I suggest that on line 76 in wp-mail.php...

{{{
if ( ! empty( $content_type[1] ) ) {
}}}

...is replaced by...

{{{
if ( ! empty( $content_type[1] ) && stripos( $content_type[1], 'charset' ) !== FALSE ) {
}}}

...in order to check if there is actually a charset definded.

Alternatively/additionally the return value of the iconv function on line 187 should be checked and the $content variable only modified if the return value doesn't equal FALSE.",mighty_mt
18360,One of the links in the Password Reset Mail is wrong,lizhenry,Users,3.2.1,normal,normal,Awaiting Review,defect (bug),assigned,has-patch,2011-08-09T15:55:04Z,2012-12-11T00:27:19Z,"Hi,

just a quick note: if {{{FORCE_SSL_ADMIN}}} has been set to true, a password reset-mail could include the wrong protocol for the site-url while the password-reset-link is correct. - I didn't test it with a blog-network, though.

In other words I have both, ''WordPress address (URL)'' and ''Site address (URL)'' set to use the http protocol and in the mail the site-link points to https.

greetz,
Berny",neoxx
18604,New hook for paginate_links() result,lightningspirit,Formatting,3.3,normal,major,Awaiting Review,enhancement,new,dev-feedback,2011-09-06T17:40:06Z,2012-04-27T23:28:53Z,"I'd like to propose two new hooks to paginate_links() in http://core.trac.wordpress.org/browser/trunk/wp-includes/general-template.php#L1950


This two hooks ''paginate_links_array'' and ''paginate_links_html'' will allow plugins to add, remove or alter html and links in admin pagination output, including the media uploader.


'''Background:''' sites with more than a thousand media objects have 140+ pages in media uploader interface. I had to be able to create a input box to enter page number manually.
",lightningspirit
8599,Multiple custom image sizes with retroactive image reprocessing,leogermani,Media,2.8.4,normal,normal,Future Release,feature request,reviewing,dev-feedback,2008-12-13T09:16:39Z,2013-03-28T11:17:45Z,"You should be able to add multiple custom image sizes. And whenever you change or add a size, WordPress should offer to retroactively create images of that size for all your old uploads.",markjaquith
20988,Open a closed sidebar box and enable droppable/sortable in it when you hover a draggable available widget over it,ldebrouwer,Widgets,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-16T10:27:24Z,2012-06-16T11:00:29Z,"At the moment you have to explicitly open a sidebar box to allow it to except available widgets. In my humble opinion this is bad UX and the sidebar box should expand automatically when being hovered over with a draggable and it should accept the draggable to it's containing droppable/sortable as well.

The obstacles to overcome:
- Since the draggable in most cases overlaps the sidebar box when dragging over it ( unless you move really quickly ) it's hard to register a 'mouseenter'. This could be solved by setting the 'cursorAt' option for the draggable.
- Opening a sidebar box is trivial but activating the droppable/sortable only seems to kick in when the draggable has been released.",ldebrouwer
18476,Duplicate code in filesystem classes,kurtpayne,Filesystem,3.2.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-08-18T17:54:33Z,2012-07-06T14:09:04Z,"Each filesystem class extends a base class and most, but not all, include an implementation of chown.  I propose a slight refactoring to include a default implementation of chown in the base class and let each subclass override chown when necessary.",kurtpayne
16221,admin bar hover class toggle adds whitespace,koopersmith*,General,3.1,low,normal,Future Release,defect (bug),accepted,close,2011-01-13T22:32:25Z,2012-12-13T19:52:17Z,"Every time I mouseover and mouseout an admin bar item, its class attribute gets longer.

Seen in Chrome while inspecting elements in the admin bar.",andy
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
19649,DFW Auto textarea lengthening is twitchy,koopersmith,Editor,,normal,normal,Future Release,defect (bug),assigned,,2011-12-22T21:52:36Z,2012-04-27T21:08:56Z,"The auto textarea lengthening is twitchy. It shoves the content up a line, then pulls it back down.

Best seen in a screencast: http://screencast.com/t/e5zIpkk9nY",markjaquith
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
21170,JavaScript actions and filters,koopersmith,General,3.4,normal,normal,Future Release,feature request,new,dev-feedback,2012-07-05T21:34:03Z,2013-05-22T20:38:38Z,"The concept of adding JavaScript actions and filters has been tossed around for some time. We've experimented with various configurations of actions in both the fullscreen and customizer APIs, and they've proven their utility enough to graduate them to a core feature in their own right.

----

I think that a good events API should satisfy these parameters:

1. '''Support jQuery-style dot namespacing''' to allow functions to be easily removed.

2. '''Should (likely) support priorities.''' While seemingly random numbers aren't fun to use, it allows plugins to cooperate without having to know of each other's existence. We can't expect plugin authors to rearrange the array of callbacks.

3. '''Should ''not'' force functions to have unique IDs.''' Anonymous functions are extremely common in JavaScript — forcing them to be named is contrary to the nature of the language.

4. '''Should be structured as a mixin.''' The global event loop should be an instance of the core Events object. Using a mixin will allow developers to easily create event loops for their own plugins (to prevent  polluting the global namespace — think about large plugins, like bbPress). An events mixin will also enable developers to create more powerful abstractions, such as observable values, collections, and pretty much any structural JS object you can dream up.

5. '''Should allow the looping process to be overwritten.''' This will result in less code and added flexibility. The only difference between actions and filters is how they handle the callbacks object. There are other types of looping processes that could be beneficial in JS. One example would be returning false if any callback returns false, which could be used to stop a process, much like the native event.stopPropagation method.

----

'''Why not use custom jQuery events?'''

Custom jQuery events are great when we need to trigger actions on a DOM element. Triggering plain events on the body element (or any other hidden element) is not performant — every jQuery event normalizes an DOM Event object, which we then completely ignore.

'''Should we require jQuery to use the API?'''

I'm not sure. jQuery.Callbacks may be a helpful solution here, provided we can properly integrate priorities and namespacing. jQuery.Callbacks also only requires jQuery.each and jQuery.extend, so writing a shim that doesn't use the rest of jQuery would not be exceptionally difficult. Either way, switching between one and the other as we develop should not be exceptionally difficult.",koopersmith
17146,Don't limit screen meta tab CSS to content within #screen-meta,koopersmith,Help/About,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-15T20:36:40Z,2012-11-01T05:52:09Z,"Currently, the styles for screen meta tabs are limited to items within #screen-meta. I think we should use the .screen-meta-toggle class instead, so these styles can be used elsewhere in the admin without duplicating the CSS.

I ran into this problem when working on the fullscreen plugin and adding a help tab, but not inside #screen-meta.",koopersmith
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
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
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
19627,Themes should be able to opt-in to a static front page,koopersmith,Themes,,normal,normal,Future Release,feature request,assigned,,2011-12-21T01:42:05Z,2013-03-02T21:47:58Z,"A theme should be able to register that they are designed to have a static front page by default. Core should then pick up on this as part of the activation process and allow them to pick or create a page, or ignore it and show posts on the front.

Twenty Twelve will most likely need this (http://wpdevel.wordpress.com/2011/12/20/default-theme-twenty-twelve/).",nacin
6814,Async media crunching,koopersmith,Upload,2.5,normal,normal,Future Release,enhancement,assigned,,2008-04-23T00:19:05Z,2012-10-22T16:09:26Z,"The upload part of the new multi-uploader is pretty nice now, but it blocks on the ""crunching"" phase, which can sometimes take 20-60 seconds, I assume to create medium thumbnails and such.

The crunching part of the upload should not block the next file beginning the upload process, it should happen asynchronously with the rest of the process.",matt
14466,Widget position uses footer position styling,koopersmith,Widgets,3.0,normal,normal,Future Release,enhancement,reopened,,2010-07-30T08:13:12Z,2012-11-07T22:35:08Z,"Hi,

If you add a widget position called Footer with id footer, it has exactly the same id as the footer of the whole admin and because of that the widget position uses the styling from admin footer ie. bigger padding, italic font, darker background. Please see the attached pic.

newkind",newkind
15783,JavaScript Coding Standards,koopersmith,WordPress.org site,,normal,trivial,WordPress.org,enhancement,assigned,,2010-12-12T10:56:05Z,2013-04-11T13:36:22Z,"Following up on scribu's and azaozz's comments in #15650, would a JavaScript Coding Standards page on the Codex (equivalent to http://codex.wordpress.org/WordPress_Coding_Standards and http://codex.wordpress.org/CSS_Coding_Standards) be useful?

It would not only include the usual code formatting, whitespace, brace position, semi-colon requirements etc, but also clarify on which code patterns are preferable for performance, both for the specific dependency library, and those that will give the smallest file when minified.

Another idea might be to introduce a file docblock that outlines which JS library or other file dependencies the current file has.

Some references:
 * http://javascript.crockford.com/code.html
 * http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
 * http://drupal.org/node/172169
",GamajoTech
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
13821,Changing visibility to password-protected without entering a password does not warn user,kapeels*,General,,normal,normal,Future Release,defect (bug),accepted,has-patch,2010-06-10T13:48:48Z,2012-10-01T17:42:25Z,"Tested on r15182.

If the status of a post is set to Password Protected, and a password is not specified before the user clicks the OK button in visibility and then either publishes, saves, or updates the post, no warning is given to the user that not setting a password forces the post or page to remain Public.

In fact, if updating a post, and this is the only change made, the success message (1) for updating the post appears instead, even though no change was made to the post.

If the post was previously published as Private, and switched to Password Protected without entering a password, then saved, the post switches to Public on save instead of remaining Private.

Either a failure message upon updating or a warning to the user before saving should be displayed to the user to remind them that they didn't properly set a password.

To reproduce the last case above:

1. Create a post. Publish it as Private.
2. Edit the post. Change the visibility to Password Protected, but do not enter a password. Click OK.
3. Update the post.
4. The post visibility will be changed to Public.",markel
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
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
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
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
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
7301,AtomPub interface should accept new categories provided by clients,josephscott,AtomPub,2.6,normal,normal,WordPress.org,enhancement,reopened,,2008-07-15T04:54:22Z,2012-10-31T16:25:19Z,"The AtomPub interface successfully exposes access to the existing categories of a particular blog, via the URL:

http://[myblog]/wp-app.php/categories

But the category listing is identified as ""fixed"", and this pans out. When a  client attempts to provide a category term with a name that has not been seen before, the interface just ignores it.

It would be a nice enhancement to change the category collection to an editable one, and support provision of arbitrary new category names on supplied posts to the wp-app interface.

As it is now, there is no way to add categories via the AtomPub interface.


",redsweater
9513,Wordpress should allow input of XHTML/HTML via Atompub,josephscott,AtomPub,,normal,normal,Future Release,enhancement,new,,2009-04-11T23:38:51Z,2011-03-14T09:50:06Z,"One of the intended purposes of Atom standard was to allow better way of including XHTML in the feed than with “escaping it” (see this [http://www.xml.com/pub/a/2003/08/20/embedded.html article by Norman Walsh in xml.com] with followup at [http://norman.walsh.name/2003/06/30/hardline 1], [http://norman.walsh.name/2003/09/18/unescmarkup 2], and [http://norman.walsh.name/2003/09/16/escmarkup 3], there is also [http://www.intertwingly.net/blog/1571.html an interesting discussion under this blogpost] and [http://www.tbray.org/ongoing/When/200x/2003/06/28/Learning Tim Bray’s essay on the same theme]) Even though even [http://norman.walsh.name/2003/09/16/escmarkup#comment0006 Norm agrees that he lost this fight], at least Atom provides ''opportunity'' for conscious authors to use namespaced XML properly.

Now, of course, the problem is that all this beauty is not supported by any known-to-me Atompub-accepting blog server. Particularly when this perfectly valid Atom 1.0 feed (take a look at [http://validator.w3.org/feed/#validate_by_input validator] if you don’t believe me):

{{{
<?xml version=""1.0"" encoding=""utf-8""?>
<atom:feed xmlns:atom=""http://www.w3.org/2005/Atom"" xmlns:dc=""http://purl.org/dc/elements/1.1/"" xml:lang=""en"">
  <atom:title>Late Night Thoughts on Listening to Mahler’s Ninth Symphony</atom:title>
  <atom:updated>2009-04-08T00:13:32+02:00</atom:updated>
  <atom:link rel=""alternate"" type=""text/html"" href=""http://matejcepltest.wordpress.com/""/>
  <atom:link rel=""self"" type=""application/atom+xml"" href=""http://matejcepltest.wordpress.com/feed/""/>
  <atom:author>
    <atom:name>Matěj Cepl</atom:name>
    <atom:email>ceplm@seznam.cz</atom:email>
  </atom:author>
  <atom:id>http://matejcepltest.wordpress.com/</atom:id>
  <atom:rights>Copyright 2007 Matej Cepl</atom:rights>
  <atom:entry>
    <atom:title>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</atom:title>
    <atom:link rel=""alternate"" type=""text/html"" href=""$url""/>
    <atom:id>urn:mc:ceplovi.cz:atom1:blog:jan-3_17-2008-07-10</atom:id>
    <atom:updated>2008-07-13T00:00:00+02:00</atom:updated>
    <dc:subject>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</dc:subject>
    <atom:content type=""xhtml"" xml:lang=""en"">
      <div xmlns=""http://www.w3.org/1999/xhtml"">
        <p>There is a couple of things, which make for me sense together
  	(and I am not sure, of course, whether they will make sense to you
  	as well), and which I would like to record here.</p>
        <p>“<span class=""scripture"">For God sent not his
  	Son into the world to condemn the world; but that the world
  	through him might be saved.</span>” (J. 3:17)  In some aspects and for some
  	people (like me) and in certain moments, this is even more important
  	than the previous verse, and yet it is quite rarely mentioned in the
  	Church. Maybe because it so clear, that nobody gets much fame to explain
  	(and there is not much to explain here?). For all of us, who live with
  	the idea of God-policeman, following our doings to punish severely any
  	small misstep, this is the good news.</p>
        <p>There is quite certainly something significantly wrong about preaching,
  	that we always quote only  (John 3:16)  and
  	we don’t continue one verse further. As if we are still more interested in what’s
  	there in gospel for me, and we don’t understand, that we are not the central figures
  	in whole Bible. Not that there wouldn’t be anything there for us, but … that’s another long
  	discussion I would like to have with Dave.</p>
      </div>
    </atom:content>
  </atom:entry>
</atom:feed>
}}}

is sent to Wordpress.com I get [http://matejcepltest.wordpress.com/2009/04/08/john-317-or-the-golden-middle-ground-between-grace-and-sanctification/ rather disasterous result].

According to [http://article.gmane.org/gmane.comp.web.wordpress.devel/27067 Peter Westwood] wordpress treats all content delivered by different modes of remote publishing as the same dummy plain text.

OK, so the request of this ticket (and hopefully place of further discsussion if necessary) is to fix this and make <atom:content type=""xhtml""> considererd and delivered so that wordpress would just accept the nodetree inside of such element as a body of the blogpost without much further changes.

Also #6128 might be caused by this.",mcepl
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
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
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
10764,"XML- RPC, blogger_editPost, Publish Status not working",josephscott,XML-RPC,,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-09-10T00:58:09Z,2012-06-23T20:39:22Z,"In the blogger_editPost function in xmlrpc.php is not working properly.  Currently you cannot change publish status.  It looks like we are missing a line of code.
{{{

$post_status = ($publish) ? 'publish' : 'draft';

}}}

When I inserted this line into the function before the

{{{
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
}}}
I was able to gain control of the publish status.
",bobby_drk
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
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
10514,Allow plugins to advertise its XML APIs in RSD,josephscott,XML-RPC,,normal,normal,Future Release,enhancement,new,has-patch,2009-07-29T17:02:39Z,2012-06-21T20:53:14Z,It will be nice if plugins could advertise its APIs in RSD.,sirzooro
5725,Auto-convert Contributor's new post to draft,josephscott,XML-RPC,2.3.2,normal,minor,Future Release,enhancement,new,has-patch,2008-01-27T05:04:01Z,2009-11-17T15:17:16Z,"Currently, wp-app.php implementation honors client-supplied app:draft element. If a contributor submits a new Atom entry without app:draft element set to 'yes', it rejects the request.

[Current Response][[BR]]
401 Unauthorized[[BR]]
""Sorry, you do not have the right to edit/publish new posts.""

Imagine when a contributor forgets to set app:draft to 'yes' and submits a new post. By reading the error message, the contributor may mistakenly think that he is not allowed to submit posts at all. A proposed workaround has been submitted as ticket #5723.

There is an alternate proposal:[[BR]]
rather than rejecting the request, server may ignore client-supplied app:draft element and always treats a contributor's new post as draft. Based on [http://tools.ietf.org/html//rfc5023#section-13.1.1 RFC5023 Section 13.1.1], server may ignore client-supplied app:draft element.",toydi
12493,Filter $bits in wp_upload_bits(),josephscott,XML-RPC,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-03-03T05:25:51Z,2012-10-18T07:42:35Z,"It'd be nice if there was a filter on `$bits` in `wp_upload_bits()` to allow plugins to modify uploads coming in from XML-RPC. Resizing, watermarking, etc. are all example uses for this filter.

Since it's a simple filter, perhaps it could be slipped into 3.0.",Viper007Bond
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
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
14966,QuickPress should be a function with alot of hooks,jorbin*,General,,normal,normal,Future Release,feature request,accepted,early,2010-09-26T18:12:17Z,2013-02-09T04:20:38Z,"As discussed in IRC, quickpress should be a function that is usable by:

1) Custom Post Types
2) Themes for front end posting ala p2
",jorbin
18660,"Enhance rel_canonical function, add filter",joostdevalk,Canonical,3.3,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-09-14T15:59:03Z,2013-06-16T08:34:55Z,"I think it's a bit shortsighted to think that only singular pages need the canonical tag output in the `<head>`. Considering the fact that just about any page on your site can be accessed with a malformed URL, I think it's time to enhance this function.

The attached patch is just a first pass. But I think it gets us started in the right direction. There's also a filter before output, so themes and plugins can further enhance the output of this plugin (related #14458).

Patch is against [438126].",nathanrice
18672,"Implement rel=""prev"" and rel=""next"" for archives",joostdevalk,Permalinks,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-15T12:37:23Z,2012-12-04T22:34:58Z,"As can be seen here:

http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html

Google now uses rel=""prev"" and rel=""next"" to navigate paginated archives. As we already do a lot of these types of links (rel=""index"", rel=""start"" etc.) I think we should add these. I'll come up with a first version of a patch.",joostdevalk
18548,Add a better option for <title> tags,joostdevalk,Template,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-08-30T20:32:15Z,2013-01-18T04:17:40Z,"Right now, title tags in themes are created by using wp_title and than adding on custom code, usually bloginfo('name'), sometimes other code. Because there's basically no way for a plugin to control the entire content of a title tag, all major SEO plugins resort to output buffering. 

A better way would be to output the <title> tag during the run of wp_head, based on whether the current theme has added theme_support. See attached patch for the proposed implementation. This patch also fixes the requested array filter in #17877.",joostdevalk
12563,New action on body open,joostdevalk,Themes,3.1,normal,normal,Future Release,enhancement,new,close,2010-03-09T08:33:46Z,2012-08-30T12:27:15Z,"More and more asynchronous javascripts need a part of their javascript printed right after the opening <body> tag, the Google Analytics asynchronous tracking being my most obvious example. To allow for this themes should come with a new function in the same fashion as wp_head and wp_footer, to be called 'body_open'.",joostdevalk
6430,WordPress 2.5 xmlrpc should return image thumbnail URLs in wp.uploadFile,jonquark*,XML-RPC,2.5,normal,normal,Future Release,enhancement,accepted,dev-feedback,2008-03-28T05:51:57Z,2012-06-23T19:59:51Z,"The xmlrpc call for wp.uploadFile (aliased to mw_newMediaObject) currently returns the URL of the uploaded file only. In WordPress 2.5, thumbnail files are automatically created. The xmlrpc API should provide a way to get the URLs of the thumbnail files, preferably in the returned hash from the wp.uploadFile call. 

That is, wp.uploadFile currently returns url = ""http://myhost/wp/wp-content/uploads/2008/03/myImage.jpg"". In addition, it should return ""thumbnailSmallUrl = ..."" and ""thumbnailMediumUrl = ..."". (I'm not sure if this would break MetaWeblog compatibility.)


Background:

WordPress 2.5 now automatically creates thumbnail images for uploaded image files according to the (maximum) sizes specified in the Miscellaneous settings page. When resizing, the aspect ratio is maintained, and the filenames are named for the exact size of the image. For example, if I upload:

dsc-0151.jpg

Using the default thumbnail settings of 150x150 and 300x300, these files will be created:
dsc-0151-300x199.jpg
dsc-0151-150x150.jpg

Note that the first filename for the medium thumbnail is called ""300x199"" not ""300x300"". It's thus difficult to guess the new thumbnail filename for the default settings.

Since these settings are user configurable, it's currently impossible for an xmlrpc client to guess the URLs of the thumbnails.
",mlossos
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
18852,Nginx rewrite rules,johnbillion*,Rewrite Rules,3.3,normal,normal,Future Release,enhancement,accepted,has-patch,2011-10-03T21:50:19Z,2013-05-10T13:16:29Z,"On the Permalinks screen we show rewrite rules for IIS and for mod_rewrite on Apache. Nginx is [http://news.netcraft.com/archives/2011/09/06/september-2011-web-server-survey.html getting pretty popular now], so we should think about showing Nginx rewrite rules on this screen.

Unfortunately WordPress can't write directly to Nginx's rewrite configuration, but we can show the required rules for convenience and we can allow plugins to filter them if necessary (in the samw way IIS and mod_rewrite rules can be filtered).
[[BR]]
",johnbillion
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
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
4539,Abbreviated year followed by punctuation or markup doesn't texturize,jmstacey,Formatting,2.5,low,normal,Future Release,defect (bug),reopened,has-patch,2007-06-26T03:36:36Z,2012-12-17T14:49:10Z,"An abbreviated year followed by punctuation or markup doesn't texturize properly.

e.g. (Bruce Sterling, '97) is texturized as (Bruce Sterling, &#8216;97) when the apostrophe should be texturized as &#8217;

e.g. <li>Casino Royale '06</li> is texturized as <li>Casino Royale, &#8216;06</li> when the apostrophe should be texturized as &#8217;",pah2
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
9296,Settings API & Permalink Settings Page Bug,jfarthing84,Administration,2.7.1,normal,major,Future Release,defect (bug),reopened,has-patch,2009-03-07T05:33:55Z,2013-04-22T20:58:19Z,"Although there is a hook in the options-permalink.php to insert custom settings, it does not actually save any custom setting which is added to that page.  Instead of posting to options.php like all the other options pages, it posts to itself and only handles the form data which is built into the wordpress core.  It should be implemented on that page to also store custom settings that may be hooked onto that page.",jfarthing84
20461,View All Gallerys,Jesse Techno,Gallery,3.4,normal,normal,Awaiting Review,feature request,new,close,2012-04-16T22:55:56Z,2012-12-17T15:39:20Z,If you could it would be SO nice to have it so you can see every gallery you have ever posted on your site and then add one gallery to to more then one page/post.,jessetechno
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
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
8296,Auto generate password for new user,jamierumbelow,Users,,normal,normal,Future Release,enhancement,new,,2008-11-20T16:25:53Z,2012-07-26T15:46:14Z,It would be nice to have a button that generates a random password to use when you're creating a new user account in the admin section,AaronCampbell
15828,Alphabetized My Sites,jakub.tyrcha*,Multisite,,normal,minor,Future Release,enhancement,accepted,has-patch,2010-12-15T15:52:48Z,2013-02-08T13:42:00Z,"For installs that have lots of sites it would be easier to browse if the sites are alphabetized. I add the following code to our install after each update. It would be nice if this was the default. 

after line 72: reset( $blogs );
{{{
	function cmp($a, $b){
		if ($a->blogname == $b->blogname)return 0;
		else return ($a->blogname < $b->blogname) ? -1 : 1;
	}
	uasort($blogs, 'cmp');

}}}",scep
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
16105,Add info re mobile apps to admin,isaackeyet*,Administration,,normal,minor,Future Release,enhancement,accepted,dev-feedback,2011-01-05T11:54:59Z,2013-04-17T01:14:56Z,"Not sure if it belongs in Tools, or in Writing Settings (or whatever that shakes out to be when we redesign settings), or what, but there should be a screen somewhere in the admin that lists/links all the mobile apps, probably in same area as Press This is promoted. ",jane
18703,'pre_get_posts'-filter without effect when modifying 'tax_query'. Wrong parameters passed to 'parse_tax_query() ??; WP 3.2.1.,info@…,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-09-19T13:10:12Z,2013-06-17T22:27:50Z,"When modifying the 'tax_query' array directly with 'pre_get_posts' filter (e.g. setting 'include_children' to false), then it will firstly  be modified in 'wp-includes/query.php' -> get_posts() after running the filter in line 1911.

But after line 2195 and running 'parse_tax_query' the 'tax_query' 'include_children'-parameter is unwanted reset/changed to the default value.

I think the bug is the following:
 
parse_tax_query() uses and needs values from the 'tax_query'-array but gets passed over only the 'query_vars'-array. so it resets the 'tax_query'-array-parameters in query.php line 1678 and hereby also the previously and individually set 'tax_query' values.

as far as i understand the core, i assume that any changes to the 'tax_query'-array with 'pre_get_posts'-filter will get lost and only changes to the 'query_vars'-array will take effect.",xitromedia
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
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
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
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
21627,Filter for custom-background CSS selector,Horttcore,Themes,3.4.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-08-18T11:46:55Z,2013-01-10T20:34:50Z,"There should be an easier way for changing the css selector from body to html or any other then making your own callback.

",Horttcore
5678,Respectfully strip newlines in some importers,hansengel*,Import,2.5,normal,normal,WordPress.org,enhancement,accepted,,2008-01-16T11:20:02Z,2012-09-10T09:44:42Z,"Filing this as an enhancement because it could do with some discussion and insight from wiser and more experienced heads before being labelled ""defect"". :-)

I noticed while helping some users import their blogs that importers of HTML content (such as the RSS importer) don't tidy up superfluous newlines in the import format, which results in unnecessary {{{<br/>}}} elements after {{{wpautop()}}} filtering for display. They turn up in the editor too, which reinforces the problem.

I've adapted one of the filter functions to strip superfluous newlines, and changed my RSS importer to use it. The results have been warmly welcomed by users, who no longer have to clean up their imported blog content. ;-)

{{{strip_newlines()}}} should probably go into {{{wp-includes/formatting.php}}}, if there isn't already a function that already serves this purpose. I couldn't find one, so I adapted this. 

Given that similar HTML block/inline-savvy string-replacement code exists in other formatting functions, perhaps there's an opportunity for some refactoring here? I feel kind of silly proposing a function that is almost entirely duplicated from other code in the core.

I've used it immediately before the ""Clean up content"" section in {{{wp-admin/import/rss.php}}}'s {{{get_posts()}}}, and in an Advogato importer that I've written (which also uses HTML as the content format).

{{{
function strip_newlines($text) {
	// Respectfully strip unnecessary newlines
	$textarr = preg_split(""/(<[^>]+>)/Us"", $text, -1, PREG_SPLIT_DELIM_CAPTURE);
	$stop = count($textarr); $skip = false; $output = ''; // loop stuff
	for ($ci = 0; $ci < $stop; $ci++) {
		$curl = $textarr[$ci];
		if (! $skip && isset($curl{0}) && '<' != $curl{0}) { // If it's not a tag
			$curl = preg_replace('/[\n\r]+/', ' ', $curl);
		} elseif (strpos($curl, '<code') !== false || strpos($curl, '<pre') !== false || strpos($curl, '<kbd') !== false || strpos($curl, '<style') !== false || strpos($curl, '<script') !== false) {
			$next = false;
		} else {
			$next = true;
		}
		$output .= $curl;
	}
	return $output;
}
}}}

Thoughts?",jdub
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
9207,redirect_to wp-admin Should Force SSL If FORCE_SSL_ADMIN is enabled,hakre*,Security,2.9,normal,normal,Future Release,defect (bug),accepted,reporter-feedback,2009-02-21T22:36:07Z,2013-04-06T20:36:05Z,"Around Lines 406 to 426 on wp-login.php:

{{{
	$secure_cookie = '';

	// If the user wants ssl but the session is not ssl, force a secure cookie.
	if ( !empty($_POST['log']) && !force_ssl_admin() ) {
		$user_name = sanitize_user($_POST['log']);
		if ( $user = get_userdatabylogin($user_name) ) {
			if ( get_user_option('use_ssl', $user->ID) ) {
				$secure_cookie = true;
				force_ssl_admin(true);
			}
		}
	}

	if ( isset( $_REQUEST['redirect_to'] ) ) {
		$redirect_to = $_REQUEST['redirect_to'];
		// Redirect to https if user wants ssl
		if ( $secure_cookie && false !== strpos($redirect_to, 'wp-admin') )
			$redirect_to = preg_replace('|^http://|', 'https://', $redirect_to);
	} else {
		$redirect_to = admin_url();
	}
}}}

As we can see on the present code, if a redirection is set while login and this redirection goes to the plain version of the dashboard then client will go to the non-SSL version of the dashboard which therefore will move the client to the secure version (generating and extra request).[[BR]]
I know this is kinda a tongue twister sentence so i think is better to put a request example of the problem...

Client: POST http://foo.bar/wp-login.php?redirect_to=http%3A%2F%2Ffoo.bar%2Fwp-admin%2Findex.php [[BR]]
Server: HTTP 302 ... Location: http://foo.bar/wp-admin/index.php [[BR]]
Client: GET http://foo.bar/wp-admin/index.php [[BR]]
Server: HTTP 302 ... Location: https://foo.bar/wp-admin/index.php

I know that wordpress is actually working as suppose to work (cause we told to move to non-SSL version of the dashboard) but and a extra http request is issued.[[BR]]
IMHO if we (admins) have enabled FORCE_SSL_ADMIN, then all redirections to wp-admin should go SSL/HTTPs even if we fill redirect_to with the plain version of the dashboard.[[BR]]
There is part of the code that detect this and replace it but it has issues or well it isn't prepared to do this.[[BR]]
At the moment we can filter login_redirect to fix this but (again) IMHO this should move to the core...",g30rg3x
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
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
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
14414,Add an action hook to add fields to nav_menu items form,Gecka*,Menus,3.1,normal,normal,Future Release,feature request,accepted,has-patch,2010-07-25T07:25:37Z,2012-03-28T20:45:05Z,"Hello,

In order to add a custom field to a nav menu item form, I have to setup a custom walker whereas a simple action hook could do the trick. Everything else is ok to handle and save the custom field. (http://loxdev.knc.nc/blog/wordpress/auto-populate-nav-menu-with-sub-pages/)

Here is how the asked action hook could be added:
http://github.com/loxK/Wordpress_Gecka_Submenu/blob/master/models/NavMenuHacks.php#L310-312",DreadLox
19859,"""Bulk Edit"" Missing The Ability To Edit Tags",gavinwye*,Quick/Bulk Edit,,normal,normal,Awaiting Review,enhancement,accepted,,2012-01-20T02:56:24Z,2012-12-20T00:41:06Z,"Though I can add, remove and edit ""categories,"" I cannot do such actions to ""tags"" inside of /wp-admin/edit.php

So basically, I'm interested in a ""bulk tag editing"" GUI for the WordPress admin.

===

I was hoping to find out the status of this feature (planned, not planned, etc) but it appears that no one has spoken about this feature on the WordPress Trac.

Is there any interest in adding this feature? And could the respondent please provide any details on why or why not?

Thank you for your time.",ademos
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
16125,Tag cloud widget: hide dropdown when there's only one taxonomy,GautamGupta*,Widgets,3.1,normal,normal,Future Release,enhancement,accepted,dev-feedback,2011-01-06T18:56:09Z,2012-05-07T16:20:55Z,"~~We should use `get_taxonomies()` instead of `get_object_taxonomies()`. Attaching a patch.~~ [20285]

When there's only one taxonomy to select from, we shouldn't show the dropdown at all.
",GautamGupta
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
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
15355,Add ability to clear search results,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-11-09T08:11:56Z,2012-04-13T11:32:28Z,"Let's put a (X) next to ""Search results for `string`"" that immediately clears the search results. Otherwise there is no way to do it, without clearing the box manually and hitting enter.

We would use the same X we use for bulk edit.",nacin
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
13363,Edit Comments: Pending > Approving shouldn't make them disappear from screen,garyc40,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-05-11T23:35:45Z,2012-03-08T01:56:30Z,"Edit Comments: Pending > when clicking Approve the comments shouldn't just disappear from the screen.

They should collapse and have an undo status like when you trash or spam a comment.

ENV: WordPress trunk r14573 (3.0-beta2-14565)

",lloydbudd
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
16077,Placement of link popup in full-size visual editor when browser window is resized,garyc40,Editor,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-01-02T19:47:30Z,2013-01-22T16:54:13Z,"To recreate: Writing a post in the full-window view of the visual editor, click the link popup. While popup open, resize browser window to be smaller. Link popup stays in original location, even if the window gets small enough to cut it off. 

You can move the link popup by dragging the top bar. If you do this, then the link popup will stay in the new place b/c our save state stuff, even when you're writing in the regular size visual editor.

Preferred UX: if browser window resizes, have link popup recenter itself in the overlay. ",jane
8368,Scheduling post time behavior and language refinements,garyc40,Editor,2.7,low,minor,Future Release,enhancement,assigned,early,2008-11-26T17:56:19Z,2013-01-22T17:38:00Z,"On post editor, in publish module, at Publish Immediately-Edit. 

If click Edit, layer opens revealing the entry boxes for date and time of publication but still says Publish Immediately. Text should change to say ""Publish at:"" b/c it's weird if you change time and screen still says immediately until you click OK. 

Move OK button to the right side of module (submission buttons to the right as standard placement) with cancel to left (as with other places).

If you start to type in an alternate time then hit cancel, it reverts to publish immediately, which makes sense. If you have already scheduled the publish time but you decide to change it and start typing a different alternate time, if you hit cancel it does not revert to your originally scheduled time, but to publish immediately. It should revert to your previously saved schedule time. Should have a separate link to revert to publish immediately. ",jane
15367,WordPress strips multiple line breaks inside of <pre> tags,garyc40,Formatting,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-11-10T01:39:33Z,2012-09-12T19:49:52Z,"Write a post:

{{{
<pre>
This


is




a
test.
</pre>
}}}

You end up with this:

{{{
<pre>
This

is

a
test.
</pre>
}}}

Probably related to `wpautop()` I imagine.",Viper007Bond
14432,Role-based help text,garyc40,Help/About,3.0,normal,minor,Future Release,enhancement,assigned,has-patch,2010-07-27T18:53:00Z,2012-11-19T18:35:24Z,The text in the Help tab is based on the screen seen by an admin. We should make it so the role of the logged in user determines the text. ,jane
12821,Merge get_posts() and get_pages(),garyc40,Post Types,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-04-02T21:10:54Z,2012-07-10T01:32:11Z,"get_pages() should wrap get_posts() the same way get_page() wraps get_post(). Arguments of different names need to be retained for back compat.

Reasoning for this includes #14823. Querying a nonhierarchical post type should still be allowed with child_of for example, to allow for cross-type relationships.",mikeschinkel
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
14578,"Default User Role isn't checked against defined roles, causing unexpected resets to Administrator",garyc40,Role/Capability,3.0.1,normal,major,Future Release,defect (bug),assigned,has-patch,2010-08-10T10:00:29Z,2013-05-21T20:00:15Z,"Take these steps:

1. Activate a plugin that creates role on activation. For example, it calls ""add_role( 'photo_uploader', 'Photo Uploader', array( 'read') );""[[BR]]
2. In General Settings, set the Default User Role to this new role, 'Photo Uploader'.[[BR]]
3. Deactivate the plugin, removing the roles: ""remove_role( 'photo_uploader');""[[BR]]
4. In General Settings, the Default User Role now displays 'Administrator'. (In the database, it still says 'photo_uploader'.)[[BR]]
5. When creating a new user (as admin), the role dropdown-box now displays 'Administrator' as role for this new user. This new user _will_ have role 'Administrator' if an unsuspecting admin does not explicitly alter the role in the dropdown-box.[[BR]]

This way, an unsuspecting adminstrator might accidentally create new admins for his blog.

I have also tested this for new users registering themselves. Fortunately, they are assigned the role 'None', not 'Administrator'.

Greetings,

Ivo van der Linden[[BR]]
(employee of LaQuSo @ Eindhoven University of Technology)",Ivolution
15264,Deleting a term shared across taxonomies deletes all associated nav menus.,garyc40,Taxonomy,3.0.1,normal,major,Future Release,defect (bug),assigned,has-patch,2010-10-31T08:01:32Z,2013-05-21T19:59:57Z,"Using other taxonomies since WP 2.3 in [http://wordpress.org/extend/plugins/xili-dictionary/ plugin xili-dictionary] , I just discover that now (since WP. 3.0) when deleting a term of his taxonomy, ''a menu item can disappear''.

'''In which conditions ?''' 

When the term (i.e. news) is shared by taxonomy category and the plugin taxonomy named dictionary ?

After deep tests (thanks to the night when time changes from summer to winter time), I can also reproduce it in current conditions : when a term is shared between taxonomies category and post_tag : If you delete the tag (i.e my test), if a category 'my test' exists and was active inside a navigation menu : the nav menu item disappear (unpleasant).

The cause of this unexpected erasing, was the action hook ''delete_term'' at end of '''wp_delete_term''' function and precisely the default filter ''_wp_delete_tax_menu_item''.
The add_action in default-filter.php (line 233) don't pass the 3 parameters and the function (menu-nav.php line 700) don't verify if it is possible to delete the menu item (as well done for term in other taxonomies in wp_delete_term itself) by testing the params and the taxonomy of the menu item content.

Today workaround in plugins using new taxonomies : remove filter before deleting a term on concerned taxonomies and add it after. 
Hope that explanations were explicit.

Best regards
",michelwppi
5809,Updating a term in one taxonomy affects the term in every taxonomy,garyc40,Taxonomy,2.3,high,major,Future Release,defect (bug),reopened,has-patch,2008-02-10T02:21:01Z,2013-05-15T08:13:16Z,"As reported by klawd on #wordpress and reproduced by me, editing a category will affect a tag with the same name.

{{{
Steps to reproduce:
1. Create a category called Testing
2. Create a tag called Testing
3. Rename the Testing category to Another Test
4. Check the name of the tag
}}}",rmccue
14206,Custom taxonomy meta box callback,garyc40,Taxonomy,3.0,normal,trivial,Future Release,enhancement,reviewing,has-patch,2010-07-06T02:39:02Z,2013-01-30T12:38:10Z,"I'd like to be able to specify my own meta box function for my custom taxonomies.

Currently if I want to specify my own meta box for my custom taxonomy, I must set the `public` parameter to false and then add my own meta box using `add_meta_box()`. It would be nice to just do this with a callback function parameter in `register_taxonomy()`.

Example:

{{{
register_taxonomy( 'foo', 'bar', array(
    'meta_box_callback' => 'my_meta_box'
) );
}}}

I'll write up a patch if there's a chance of it going in.",johnbillion
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
18780,"The caption ""Comment author must fill out name and e-mail"" is ambiguous",gabrielhtc,Text Changes,,normal,normal,Awaiting Review,enhancement,new,,2011-09-26T14:46:14Z,2013-02-15T13:38:47Z,"
== Observation ==

Users tend to think that if they uncheck that option, the name and email fields will not be displayed.


== Problem ==

The caption ""Comment author must fill out name and e-mail "" in the ""Other comment settings"" of the Discussion settings is ambiguous.


== What is expected ==

With the current caption, users expect that the name and email fields aren't shown.


== What happens instead ==

The name and email fields are still displayed, but they are now optional instead of being required. Some of the themes do not explain whether the fields are required or optional, so the users think that unchecking the option has no effect.


== Solutions ==

* Changing the caption to a less ambiguous one such as: ""Name and email is optional for guests comments""
* Make sure that the themes show clearly which field is required or not to be able to post the comment.",gabrielhtc
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
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
14949,Login gives false assurance of having logged out,filosofo,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-23T10:39:34Z,2012-09-20T22:02:19Z,"If you visit `wp-login.php?loggedout=true` while logged in, WordPress falsely tells you that ""You are now logged out.""

This is a problem because it could lead you to think, e.g., that a public computer is no longer authenticated with access to your WP admin.

Patch redirects a still-authenticated user back to the admin from the login page if she requests the above page without actually having logged out.",filosofo
14188,Quick Edit Parentage,filosofo,Administration,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-03T19:55:37Z,2012-10-19T22:06:25Z,"If you change a page's page via quick edit, the page item stays below its current parent.

It seems to me that it ought to move underneath the new parent or disappear if that parent is not on the current page.",filosofo
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
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
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
15490,Preview oEmbed results when using the media modal to insert from URL,filosofo,Media,,normal,normal,Future Release,enhancement,new,has-patch,2010-11-19T15:22:45Z,2013-05-16T12:12:55Z,"If you insert a video URL via the ""Add media file from URL"" popup, it should do the following:

 * Determine whether the URL is oEmbed-able, and if so, insert the appropriate shortcode into the post.
 * Create a corresponding attachment with something indicating that it's a video in the `post_mime_type` field (even though we're not really dealing with true MIME types). That way, we can query video attachments, agnostic of where the actual video file exists.",filosofo
14134,Menus item are limited to 16 item and will not save more than that,filosofo,Menus,3.0,high,major,Future Release,defect (bug),reviewing,has-patch,2010-06-28T22:50:55Z,2013-06-01T19:08:18Z,"I've installed a fresh copy of the WP 3.0 about 4 days ago. Using default twentyten theme. I modified the menus from the admin panel with new pages and some custom links and hierchy... now everytime I modify the menu and click ""Save Menu"" it only saves the first 16 items listed on the menus. 

The problem is.. I have about 8 main menu with some of them have about 5 or 6 items below it, it cuts off at the 16th item and does not save anything beyond that.

I deleted the first item and added two more at the end, same thing, it only saves the first 16 items on the menus.

I been sturggling on my own to figure this out, did search here and google yet to find a solution..

I am shocked no one else is having this problem. I tried in IE7, IE8, Firefox, Chrome, Safari and Opera - I have the same problem no matter which browser I use.

in function.php I am using
{{{
register_nav_menus( array(
		'primary' => __( 'Primary Navigation', 'MainNav' ),
	) );//-------------------
}}}
and the page I want the nav on has thise code:
{{{
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) );
}}}

Any help is appriciated...",jaanfx
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
14913,MS Requires Client Information to Load Files,filosofo,Multisite,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-20T20:55:36Z,2013-05-20T12:00:17Z,"When installed as multi-site, WP in `ms-settings.php` tries to parse the Host header request to determine which domain is requested.  If none, it prints a redirecting Location header and exits.

This is problematic if you are loading WP but not using a client that sends headers to the server; for example, if you have another app on the same server that tries to include `wp-load.php` directly.

Example:

{{{
<?php

include '/path/to/wp/wp-load.php';

// let's do some stuff with WP programatically...
}}}

The above aborts in MS as it tries to redirect the nonexistent requesting client to the main blog's front page.

The problems I see with this:
 * `wp-load.php` is supposed to provide a means of circumventing the template printing, so it shouldn't assume a typical browser client is making the request
 * `wp-load.php` ''can'' be used this way on non-MS setups
 * In general, it's a bad jumble of MVC.

Currently I'm not sure what the best route is to fix this, but I will try to come back later with a solution.",filosofo
13905,No sanity check in map_meta_cap caps throws PHP notices,filosofo,Post Types,3.0,normal,normal,Future Release,defect (bug),reopened,,2010-06-15T16:29:45Z,2013-04-16T21:32:54Z,"`map_meta_cap` assumes that the ID which it's passed when evaluating `edit_post`, `edit_page` and the like actually belongs to a real post object.

In fact, it's quite possible that the object doesn't yet exist (creating a new object, perhaps) or doesn't exist any more (deleted), or that it has otherwise received a syntactically correct ID value that doesn't map to an existing post object (0, e.g.).

Instead, `map_meta_cap` should check that the post object actually exists before attempting to branch on its properties.

Patch also removes some apparent debugging comments.",filosofo
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
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
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
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
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
19130,current wp-login.php call to wp_admin_css() bypasses its own filter,F J Kaiser,General,2.6,normal,normal,Awaiting Review,defect (bug),assigned,close,2011-11-03T13:54:07Z,2012-04-25T17:31:20Z,"The current situation in wp-login.php looks like the following:

{{{
	wp_admin_css( 'login', true );
	wp_admin_css( 'colors-fresh', true );
}}}

Looking at /wp-includes/general-template.php and {{{wp_admin_css( $file = 'wp-admin', $force_echo = false );}}} tells that this bypasses the filter calls as the function returns if {{{$force_echo}}} is true. The filters are called after that. This doesn't make sense as the filter will never work this way. Changing {{{wp_admin_css()}}} is no option, so I suggest to change the calls to it in login_head.",F J Kaiser
19041,function to list all (true) conditionals (in an array),F J Kaiser,Query,3.3,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-10-24T20:53:39Z,2012-06-05T12:07:45Z,"Often we need to check against a lot of conditionals. It would be handy to have one ""mother"" function to retrieve those query conditionals that are set true with a single call.

The attached patch introduces a new function {{{get_conditionals();}}} that returns a numerical indexed array containing all object parts of {{{$GLOBALS['wp_query'];}}} that start with {{{is_}}} and are set to true.",F J Kaiser
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
17065,Independent ASC/DESC in multiple ORDER BY statement.,ericmann,Query,3.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-04-06T17:11:01Z,2013-05-09T14:55:14Z,"WP_Query supports ordering results by multiple columns, but does not currently support independent ASC/DESC declarations on those columns.  Instead, it concatenates the ORDER and ORDER BY statements together.

In some cases, it would be beneficial to independently set the order for these columns.  An example offered on WP-Hackers:

> I have a situation where I want to order a list of post both by author and date using WP_Query which isn't a problem since 'orderby' lets me do that. But I want the author part sorted ascending and date part sorted descending.

A normal MySql statement would end with `ORDER BY author ASC, date DESC`.

We should extend WP_Query to allow users to set their ordering parameters independently.  This should be done in such a way as to not break backwards compatibility.",ericmann
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
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
10947,Problem on import <embed> codes on mt.php script,Edgar Gabaldi,Import,2.8.4,normal,normal,WordPress.org,defect (bug),new,,2009-10-12T16:59:13Z,2012-05-24T22:33:11Z,"I'm having trouble making the import of a file exported by CMS Movable Type.

All posts, categories, comments, users are imported correctly. The problem is that there are blocks of code in posts with the tag <embed> that are not being imported.",edgabaldi
18489,Create constants in default-constants.php for the uploads folder to allow better custom uploads location,eddiemoya,General,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,close,2011-08-19T20:11:41Z,2013-06-04T16:41:23Z,"There are cases in which a the uploads directory might need to be divorced WP_CONTENT_DIR, currently the only thing we can use is the UPLOADS constant, which works but is relative to ABSPATH and as such limits where the uploads directory can be moved to.

In default-constants.php we have constants for the wp-content, and plugins folder - the uploads folder is a natural addition to this. Currently there is only a poorly documented UPLOADS override in wp_uploads_dir, which can be overridden in wp-config.php. I also think there should be a similar constant for the themes folder, but I would that would be a bit more complex of a change.

I have create a new function in default-constants.php which introduce WP_UPLOADS_DIR and WP_UPLOADS_URL, which are called after wp_plugins_directory_constants() in wp-settings.php - because that function create WP_CONTENT_URL, which is needed in order to create WP_UPLOADS_URL.

It is important to note that I have not changed any of the precedent in terms of what overrides what - the uploads_path option still overrides the default location (or now, the potentially custom location) defined by the new constant, ''the old UPLOADS constant will still override either of them if it is set''. Thats the way it worked before and that behavior has been preserved.

Additionally, I have patched /wp-includes/function.php wp_uploads_dir to make use of these new constants as well as a little clean up of some related logic.

First patch to core - go easy.",eddiemoya
15918,wpautop() breaks inline tags on the same line as block tags,dunno,Formatting,3.0.3,normal,major,Future Release,defect (bug),new,early,2010-12-20T16:01:31Z,2012-04-11T15:22:31Z,"Hi guys! I've got latest WP installation (3.0.3) and found strange bug in posts parser.

Create article with following HTML:

{{{
<div class=""wassup""><a href=""#"">WP IZ ASSUM</a></div>
}}}

Browser will get: 

{{{
<div class=""wassup""><a href=""#"">WP IZ ASSUM</a></div>
}}}

All seems to be fine! Now get rid of unnecessary div.

Create article with following HTML:

{{{
<a href=""#"">WP IZ ASSUM</a>
}}}

Browser will get: 

{{{
<p><a href=""#"">WP IZ ASSUM</a></p>
}}}

Dunno why there is extra <p> but who cares. All seems to be OK.

Create article with following HTML:

{{{
<figure><a href=""#"">WP IZ ASSUM</a>
</figure>
}}}

Browser will get:

{{{
<figure><a href=""#"">WP IZ ASSUM</a><br />
</figure>
}}}

Now isn't that cool? But check what is even cooler!

Create article with following HTML:

{{{
<figure><a href=""#"">WP IZ ASSUM</a>
<figcaption>NO IT'S BUGGY AS HELL</figcaption>
</figure>
}}}

Browser will get:
{{{
<figure><a href=""#"">WP IZ ASSUM</a></p>
<figcaption>NO IT’S BUGGY AS HELL</figcaption>
</figure>
}}}

Wow! Say hello to invalid markup and rendering problems! Auto-closing of tags turned off. No matter of the settings I still get this nice messed up html. WYSIWYG turned off also.",retrib
17191,Importing the same content duplicates your custom menus,duck_,Import,3.1,normal,minor,WordPress.org,defect (bug),reviewing,,2011-04-20T15:03:40Z,2012-09-12T03:47:39Z,"When I import from one site to another, the importer will notify you if you have duplicate posts but will not import them, as expected, but it does duplicate your custom menu's.

I'm not sure if this is the desired result.",zanematthew
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
16294,Remote WXR Import,duck_,Import,,normal,normal,WordPress.org,enhancement,reviewing,,2011-01-19T01:02:00Z,2012-09-10T10:19:03Z,"The attached patch allows a user to submit a URL pointing to a WXR import file, rather then uploading it. The purpose of this is to allow people to import a WXR file that is larger then their server's max_upload_size/max_post_size php.ini settings.",belaraka
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
18556,Toolbar dropdowns when dragging items,drecodeam*,Toolbar,3.2.1,normal,normal,Awaiting Review,defect (bug),accepted,has-patch,2011-08-31T19:15:17Z,2013-01-22T01:17:35Z,"When dragging metaboxes, widgets, menu items, etc to the top of the window in order to scroll to drop the item on a portion of the UI that's above the viewing window, the toolbar interferes and produces dropdowns, etc.

If dragging an item, can we disable toolbar actions?
",chexee
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
14039,Consolidate strings with same meaning but different wording,demetris,Text Changes,3.0,normal,normal,Future Release,enhancement,assigned,,2010-06-22T08:14:30Z,2012-11-19T16:52:00Z,"While translating WordPress I often come upon couples or triplets of strings that mean the same thing but are worded differently.  I would like to start consolidating such strings by selecting a preferable version and replacing the other instances with it.

Here is one example:

 *  You are not allowed to edit this page.  <- The one to keep. 
 *  Sorry, you cannot edit this page. 
 *  Sorry, you do not have the right to edit this page.

Here is another:

 *  Submit Comment
 *  Post Comment  <- $label_submit in comment_form()

Before making any patches, I will post all cases here for review and feedback.

The milestone for this would be 3.1, but it seems that I have been designated an “unknown Trac user” and I cannot set milestone and priority.",demetris
12456,Canonical URL redirect issue with post_id/postname permalink structure,dd32*,Canonical,2.9.2,normal,normal,Future Release,enhancement,accepted,has-patch,2010-03-02T14:06:38Z,2013-05-16T12:31:07Z,"The issue:

Using /%post_id%/%postname%/ as permalink structure,
Most canonical redirects work fine, except: 

domain.com/post_id/ brings you to the post but does not redirect to the canonical domain.com/post_id/postname/

Additional info:

The above permalink structure conforms to best practice as described in the codex:
http://codex.wordpress.org/Using_Permalinks#Structure_Tags

Therefore I figured this was a bug, given the attention given to redirecting to the canonical url ""So to avoid confusing search engines and to consolidate your rankings for your content, there should only be one URL for a resource."" 
http://markjaquith.wordpress.com/2007/09/25/wordpress-23-canonical-urls/
",Frank.Prendergast
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
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
18738,Improving cron spawning and other non-blocking HTTP requests,dd32*,HTTP,,high,normal,Future Release,enhancement,accepted,has-patch,2011-09-21T17:03:50Z,2012-10-20T19:10:59Z,"The order of preference for transport methods in the HTTP API is cURL, streams, fsockopen. However cURL and streams cannot perform non-blocking requests, but fsockopen can. Therefore, fsockopen should be the highest priority transport method for non-blocking HTTP requests.

Here's an example. I have a script at `http://ctftw.com/sleep.php` which sleeps for 5 seconds.
{{{
$start = microtime( true );
wp_remote_get( 'http://ctftw.com/sleep.php', array(
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
When the cURL or streams transports are used, this request blocks the page for 5 seconds (the default request timeout is 5 seconds).

Let's disable the cURL and streams transports (leaving only fsockopen) and try again:
{{{
add_filter( 'use_curl_transport',    '__return_false' );
add_filter( 'use_streams_transport', '__return_false' );

$start = microtime( true );
wp_remote_get( 'http://ctftw.com/sleep.php', array(
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
This request does not block the page because fsockopen returns immediately after sending the request.

== Cron Spawning ==

This is a benefit to core because it improves the cron spawner (and can potentially fix #8923). The cron spawner uses a timeout of 0.01 seconds and a non-blocking request, but actually takes longer than 0.01 seconds.

Example:
{{{
$cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron';
$start = microtime( true );
wp_remote_post( $cron_url, array(
	'timeout' => 0.01,
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
This request takes around 1.1 seconds on the three servers I've tested it on.

Let's disable cURL and streams again (leaving only fsockopen) and see what we get:
{{{
add_filter( 'use_curl_transport',    '__return_false' );
add_filter( 'use_streams_transport', '__return_false' );

$cron_url = get_option( 'siteurl' ) . '/wp-cron.php?doing_wp_cron';
$start = microtime( true );
wp_remote_post( $cron_url, array(
	'timeout' => 0.01,
	'blocking' => false
) );
$end = microtime( true );
var_dump( $end - $start );
}}}
On each of my three servers I see a time of around 0.001 seconds.

We can therefore improve the cron spawner by setting fsockopen as the preferred transport method for non-blocking HTTP requests.

In an attempt to address #8923, we can change the cron request timeout to 1 second. If fsockopen is used, the request is lightning fast at ~0.001 seconds. If it's not available and the HTTP API falls back to cURL or streams then it takes ~1.1 second, which is the same time it takes currently. (Hopefully that makes sense.)

Patch coming up for those who want to test it.",johnbillion
16418,get_plugin_data() doesn't apply kses when $markup and $translate are false,dd32*,Plugins,3.0.4,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-01-30T23:45:23Z,2012-03-21T14:53:46Z,"`get_plugin_data()` uses `_get_plugin_data_markup_translate()` to apply kses, but this isn't invoked if $markup and $translate are both false.

This behaviour is rather unexpected, since kses application isn't controlled directly by either parameter.",kawauso
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
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
11694,"WP should do sanity checks for paginated posts, pages and comments",dd32*,Template,2.9,normal,major,Future Release,defect (bug),accepted,has-patch,2010-01-02T19:45:15Z,2013-06-16T14:13:26Z,"Create a post with two pages using the <!--nextpage--> tag. Publish, and browse the post's *third* page.

WP should return a 404 here, rather than the last page of the post.

Along the same lines, it should return the correct canonical urls for paginated posts. Currently, rel=canonical will only ever return the post's first page.",Denis-de-Bernardy
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
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
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
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
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
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
10205,getmyuid() called instead of posix_getuid() in get_filesystem_method() (wp-admin/includes/file.php),dd32,Filesystem,2.8,normal,normal,Future Release,enhancement,reopened,dev-feedback,2009-06-18T09:53:55Z,2013-04-25T23:19:21Z,"In wp-admin/includes/file.php, the function get_filesystem_method() attempts to figure out whether it is able to write files correctly, and therefore whether it can update or install files directly, or needs to use some other method.

As part of the function, in a particular case it writes a temporary file and compares it to the return value of getmyuid(). I think this is a mistake - the return value of getmyuid() is the owner of the current _file_ that's being run, not the current process - so if the file is owned by a user other than that of the web server's UID, it thinks it can't install directly (even if it actually can, because the directories are group writable).

This can be worked around by simply changing the owner of the file to another user, although this isn't always going to be possible for the person running Wordpress.

To fix this, change the function call to check the return value of posix_getuid() instead of getmyuid(). (NB: this function isn't available on Windows.)",pgl
20974,Remove obsolete locale-specific files on upgrade,dd32,I18N,3.4,low,normal,Future Release,defect (bug),assigned,has-patch,2012-06-15T14:06:43Z,2012-11-07T20:20:44Z,"We used to have `wp-content/languages/ru_RU.css` file in ru_RU package.

Since #19603, it's no longer needed, but is still left over on upgrade. We should probably include it in `$_old_files`.

I suppose the same applies to zh_CN and he_IL packages ([19825]).",SergeyBiryukov
12031,Install do not check the magic_quote_sybase status,dd32,Upgrade/Install,,normal,normal,Future Release,defect (bug),reopened,,2010-01-26T00:27:25Z,2012-11-01T20:09:16Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/981

Just try to install on a server that it's magic_quote_sybase is on (okay for Oracle, but fatal for mysql) . It failed to update the wp-config.php and didn't set correctly the .htaccess. ",wpmuguru
20652,"Install plugins with FTP upload, virtual subdomain, bad base dir?",dd32,Upgrade/Install,3.3.2,normal,normal,Future Release,defect (bug),reopened,needs-unit-tests,2012-05-10T12:02:48Z,2013-05-21T19:58:48Z,"Hi anybody!
I have problem with install plugins with FTP module in WP.

Everything show as OK, but plugin directory is bad. I have subdomain

sub.something.com - this is virtual subdomain from mod_rewrite

dirs are

/www/something.com/something.com[[BR]]
/www/something.com/sub.something.com - here is WP installation, subdomain is virtual from rewrite in httpd.conf

After install - WP say everything OK - but one thing is bad.[[BR]]
Upload is in bad directory - plugin I can found in[[BR]]
/www/something.com/something.com/plugins[[BR]]
no in /www/something.com/sub.something.com/plugins[[BR]]

Is here some way to fix it automatticaly or I can must edit config and basedir of ftp? Why is here this bug?

Thank you !

Pavel
",rajcz
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
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
10787,Email administrators that an update is available for core|plugins|themes,dd32,Upgrade/Install,2.9,normal,normal,Future Release,task (blessed),reopened,early,2009-09-15T08:44:47Z,2012-12-03T23:50:09Z,"Inspired by the recent 'email notifications for updates' plugins discussion on wp-hackers/other forums, I'd like to propose the functionality actually be included in core.

I'm thinking of a daily email (Or perhaps, even when WordPress does the update checks) that says along the lines of:

{{{
WordPress would like to notify you that you have 3 updates available:
WordPress 2.9.1
Plugin: Super Plugin 4
Theme: My Theme
}}}

Only email when the updates havn't changed since last email.

Core potential? Or leave it for plugin material?",dd32
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
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
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
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
18362,Post timestamp creation should use whitelisted post statuses instead of blacklisted,danielbachhuber,General,3.0,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-08-09T16:51:55Z,2013-01-18T23:58:43Z,"post_date and post_date_gmt timestamps are created when a post is published. The method should create timestamps based on whitelisted post statuses, instead of ""not in a blacklist"" as it exists currently.

Backstory: We have a plugin that allows users to create custom statuses. It uses the partially completed custom status API and additional code we've written. In the WordPress.org forum, a  [http://wordpress.org/support/topic/plugin-edit-flow-custom-statuses-create-timestamp-problem bug was reported] where if they use a custom status with a post, the post time is set. Currently, they have to manually edit the timestamp of the post before publishing in order for it to be set to the proper publication date (instead of 5 days ago when they originally created it).

The origin of the problem is [http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/post.php#L2506 line #2506 in wp-includes/post.php]. The post statuses to receive timestamps should be whitelisted instead of blacklisted. Because the custom statuses aren't a part of the blacklist, they receive a GMT timesteamp.",danielbachhuber
18418,"Clarifying what ""Private"" means in post visibility",danielbachhuber,Text Changes,,normal,minor,Future Release,enhancement,new,has-patch,2011-08-15T19:05:51Z,2013-01-22T00:13:00Z,"When choosing visibility for a single post, “Private” doesn’t make much sense as a label and requires extra explanation as to whom the post will be private to.

Context: At the Newbie Workshop during WCSF 2011, we had to talk brand new users through the myriad of features offered in WordPress. ""Private"" as a post visibility required extra explanation and even I realized I didn't know what it did.

""Private"" should be replaced with text like ""Private to blog editors and administrators""",danielbachhuber
19064,Pass $depth argument to nav_menu_css_class filter,cyclometh,Menus,3.2.1,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-10-26T22:31:15Z,2012-04-12T07:36:34Z,"function start_el() in nav-menu-template.php receives a $depth argument, representing the nesting level of the current menu item, but does not pass it to the nav_menu_css_class filter.

Passing the $depth argument allows one to create classes on a menu item such as menu-item-depth-1, menu-item-depth-2, etc by hooking the nav_menu_css_class filter.
",cyclometh
20542,Extend register_widget to allow passing params as second argument,codearachnid,Widgets,3.4,normal,normal,Future Release,enhancement,new,,2012-04-25T11:56:19Z,2012-05-15T20:24:50Z,"I ran into an issue recently where I needed to make multiple calls of `register_widget('my_custom_class');` on the same class and have multiple unique widgets registered. 

The problem I ran into is that every time the same class is called it will overwrite the last instance of the same class during the widget constructor request `parent::__construct('unique_id', 'widget title');` This does not allow for reuse of the same class to instantiate multiple widgets. I found that if I were to extend the register method in WP_Widget_Factory to pass through arguments into the extended WP_Widget constructor that I can reuse the same class for multiple widget registations. I am working out the logic to implement this directly into /wp-includes/widgets.php for future functionality improvement.",codearachnid
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
7665,Add jQuery UI's datepicker() where applicable,chsxf,Editor,2.7,lowest,minor,Future Release,enhancement,assigned,has-patch,2008-09-01T09:32:03Z,2013-05-14T07:48:59Z,"Obviously it'll need some skinning, but it's handy dandy:

http://jqueryui.com/demos/datepicker/

It'd be slick to have that for choosing dates (for example publish dates). We should still allow manual entry though.",Viper007Bond
17902,"You guys should add a ""Plugin Details"" pop-up link to installed plugins.",chsxf,Plugins,3.1.3,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-06-27T02:44:54Z,2012-06-21T22:33:15Z,"The link would make a pop-up appear with the plugin details as if you are viewing the plugin details when you search for plugins.

CUrrently, plugins that have available updates have a link to view details...

It'd be SUPER convenient to have a link to view details at all times. Sometimes you have to recall these details when you haven't been to your blog in a while, and its a hassle just to search for it in the ""Add New Plugin"" page or on wordpress.org (a waste of time compared to having a ""plugin details"" link)",trusktr
6531,Recursively search for files in theme and plugin editors,chsxf,Template,2.5,normal,minor,Future Release,defect (bug),assigned,has-patch,2008-04-01T19:44:11Z,2013-06-11T21:37:49Z,"Themes (like Subtle: http://gluedideas.com/downloads/subtle/) might contain numerous CSS files. The theme editor, however, does not recognize any other CSS files other than ''style.css''.

The files might be located some levels deeper in sub directories like '/wp-content/themes/glued-ideas-subtle-01/assets/css/print.css'.",torbens
16414,Theme and Plugins options pages need improved tabs,chexee,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-30T22:13:52Z,2013-02-17T21:48:14Z,"We've talked about this in UI group before, this is essentially a continuation of [12412].

The tabs currently look rather big and bulky. We'd like to find a more graceful, subtle way to show multiple screens under one nav item.

Some notes:

 - Tabs should be different sections of one nav item (primarily Themes and Plugins).  They are not children of that nav item.  There shouldn't be any visual hierarchy between the h1 and the tabs.  The tabs, essentially, are the different h1s.

 - I use the word tabs loosely.  They do not necessarily have to look like traditional tabs.  Creative solutions to this would be awesome.

 - We are also open to suggestions to changing the wording on the tabs, especially for themes.  Current they read, ""Manage Themes"" and ""Install Themes"".  ""Install Themes"" is a bit misleading, ""Add New Themes"" would be more descriptive.

Attached are previous proposals.  ",chexee
19159,When Inactive Widgets list gets long it is hard to clear,cdog*,Widgets,3.3,normal,minor,Future Release,enhancement,accepted,has-patch,2011-11-05T09:48:59Z,2012-12-30T12:03:38Z,"If you have a lot of inactive widgets it can be really hard manual labour to remove them all.

It would be much nicer if there was a delete all button like this plugin adds http://wordpress.org/extend/plugins/remove-inactive-widgets/",westi
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
20456,Creation of new blogs and search for blogs missing,CaputoJen,General,3.3.1,normal,major,Awaiting Review,defect (bug),reviewing,,2012-04-16T14:50:53Z,2012-04-16T14:51:32Z,"Hello:

I recently upgraded to WordPress 3.3.1.  After doing so users have lost the functionality of creating a new blog the link redirects to another page(although admins can do it) and you can no longer search for existing blogs.  I have read the forums, posted to the forums and searched the internet for a reasonable explanation. I have found nothing describing this problem.  I have checked the appropriate settings and everything is turned on for users to create blogs.  At this point, I believe this may be a bug.  This problems occurs using all mainstream browsers on Mac and PC.  Please help as I am not sure what could be causing this issue and my search to find a plausible explanation has turned up nothing!",CaputoJen
20958,Add to the Template Hierarchy the 410 error page,byteee,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-14T16:32:57Z,2012-06-14T16:32:57Z,"In my last project where I migrate a web from asp to wordpress, I have some pages that not longer exists. Normally, we do a 301 redirection to the home page or some other place. But digging a little in google, if we get a page that not longer exists, its better to return a 410 response code instead of 301 code (talking about SEO aspects).

I did it manually following this post: [http://otroblogmas.com/retornar-410-wordpress/]

I think that we can include in the Template Hierarchy the 410.php file to show it when we are getting a page that not longer exists. ",byteee
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
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
21534,Walker: has_children is only set if $args[0] is an array,betzster,Menus,3.0,normal,normal,Future Release,defect (bug),new,commit,2012-08-10T02:12:33Z,2013-04-23T02:09:53Z,"You can't depend on `has_children` because it doesn't get set if `$args[0]` is an object. This is obviously an easy fix, just check if it's an object and set it in that case.

Related: #15214",betzster
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
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
19945,Bug in ../wp-includes/widgets.php,Barti112,Widgets,3.3.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-02T08:22:34Z,2012-07-05T14:21:33Z,"in this file there are at some places the following code:

$widget = array_merge($widget, $options);

it is possible that $options is not an array and i become a php-warning.

i think better is to check the arrays before you use this function:

if(is_array($widget) && is_array($options)){
  $widget = array_merge($widget, $options);
}
",Barti112
13103,"""Unknown character set"" during install into database reports successful install.",barrykooij,Database,3.0,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-04-24T15:10:23Z,2012-11-07T23:30:23Z,"During editing of the wp-config.php, I changed 

{{{

define('DB_CHARSET', 'utf8');
}}}
to
{{{

define('DB_CHARSET', 'utf8_general_ci');
}}}
Which I thought was valid.

After clicking ""Install Wordpress"" I got a page full of:
{{{
WordPress database error: [Unknown character set: 'utf8_general_ci']
}}}
And at the bottom, ""Success"" with a login prompt, but nothing was actually created in the database.

I think WP shouldn't report a successful install if the user happened to accidentally change this value (or another) during install as it would cause confusion.

I used a svn checked out version of WP on 2010-04-24 on my local computer using PHP5 and apache2, but I think this is really a problem since 2.6 (or when the current install system was implemented).",MECU
21606,term_exists returns 0 and null,barrykooij,Taxonomy,3.4.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-08-16T09:27:33Z,2012-11-06T23:26:58Z,"The function ''term_exists'' in ''wp-includes/taxonomy.php'' has two different return values, ''0'' and ''null''. The function does a few checks and returns ''0'' if the condition of the check is not met. If the checks are met, the return value will be the result of a ''$wpdb->get_row'' or ''$wpdb->get_var''. If the term is not found in the database the methods ''get_row'' and ''get_var'' will return ''null''.

Because of the different type of return values it's not possible to do a strict check on the return value to see if a term was found. I've changed the return ''0'' in ''term_exists'' to return ''null'', so that if there is no term found the result of ''term_exists'' will always be ''null''.",barrykooij
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
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
16972,Input type radio losts its checked focus when metabox is dragged,azaozz,Administration,3.0,normal,normal,Future Release,defect (bug),reviewing,has-patch,2011-03-26T14:16:05Z,2012-11-07T21:31:46Z,"This happens when I use a radio button in a metabox. Once I try to drag it to different position or just drag and let it go the checked focus is lost. (in code it of course still remain checked, but visually not)

Bug not happens with other fields I tested (checkboxes, inputs, textareas)",depi
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
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
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
17105,HTML 5.0 support,azaozz,Formatting,3.2,normal,normal,Future Release,defect (bug),new,,2011-04-10T19:11:46Z,2012-05-30T22:58:25Z,"All HTML 5.0 block tags have been added in both versions of wpautop(), even tags that aren't fully supported in any browser yet and as of [17625] TinyMCE recognizes all HTML 5.0 tags too.

This ticket is for correcting issues with the HTML 5.0 support in WordPress' general workflow (writing, editing, formatting) and writing testcases for it.",azaozz
19120,Interim login needs some work,azaozz,General,,normal,normal,Future Release,defect (bug),assigned,early,2011-11-02T22:46:42Z,2012-05-02T19:43:33Z,"A CSS style causes a white 20px stripe at the top of the otherwise gray interim login screen.

That should go, and azaozz thinks the popup should as well.

3.3 for now, but the rest may be punted by azaozz.",nacin
12009,"Add support for HTML 5 ""async"" and ""defer"" attributes",azaozz,JavaScript,,normal,normal,Future Release,enhancement,new,has-patch,2010-01-25T16:40:29Z,2012-10-24T18:55:25Z,"HTML5 supports async and defer attributes on script tags: http://www.w3.org/TR/html5/semantics.html#attr-script-async

Basic usage of these:

- ""async"" scripts get executed asyncronously, as soon as they're loaded. This lets them run without slowing down the page parsing (normally, all page processing stops while the javascript code is executing).

- ""defer"" scripts get deferred from running until page processing is complete. Sorta like jQuery(document).ready() does, except without pre-definitions. Faster, in other words, since it's built into the browser.

Correct usage would dictate that ""libraries"" like jQuery and such would get the async attribute, while bits of code that use the current DOM would get deferred. The defer bit is basically optional though, since most all code that exists uses something like jQuery(document).ready() already, when it's necessary, and so there's not a lot of benefit there.

The just released Firefox 3.6 supports the async attributes, so you can do testing with these immediately. I've noticed a speedup on the wp-admin side of things by using it, but I have not measured this and cannot be sure I'm not imagining it. Still, it does seem like it makes the page appear faster.
",Otto42
17764,TinyMCE breaks the autoembed feature,azaozz,Media,2.0,normal,normal,Future Release,defect (bug),assigned,dev-feedback,2011-06-11T10:20:43Z,2012-09-18T10:39:26Z,"The auto embedding works with URLs on a separate line:

{{{http://www.youtube.com/watch?v=e0Qt5CKdoOY}}}

Right now the Visual Editor makes all URLs clickable:

{{{<a href=""http://www.youtube.com/watch?v=e0Qt5CKdoOY"">http://www.youtube.com/watch?v=e0Qt5CKdoOY</a>}}}

and auto embedding no longer works.

Reported here:

http://en.forums.wordpress.com/topic/embedding-video-does-not-work?replies=1",dzver
18184,Wrong area is cropped when using arrow keys to adjust the position of the crop box,azaozz,Media,2.9,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-07-20T16:30:11Z,2012-12-07T13:51:07Z,"When using the crop tool to modify an image, if you select an area and then use the arrow keys to move it around, when you click on the crop button, the wrong area has been cropped. If you do the same thing using the mouse to move the crop box, it works well.",danielristic
22649,iPad: Media Modal Problem Editing Long Values,azaozz,Media,3.5,low,normal,Future Release,defect (bug),assigned,has-patch,2012-11-30T07:40:36Z,2012-12-04T18:06:24Z,"In Brief: When I try to edit a very long image title (uploaded file name) the media modal window jumps around and I can't see what I'm editing.

Steps to Reproduce:
1. On Dashboard, tap Add Media.
1. If necessary, upload an image with an obnoxiously long filename, such as a friend's photo from Facebook.
1. Select an image in the Media Library tab that has an obnoxiously long title.
1. Tap the title field.  Cursor should appear at right end of value and visual keyboard should open.
1. Tap the backspace key.

Expected Result:

Plain text editing.

Actual result:

Media Library moves off screen.

Found in 3.5-RC2-22944.  Screen shot coming momentarily.",miqrogroove
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
21281,"RTL wysiwyg ""padding""/""indention"" action is not works as expected.",azaozz,TinyMCE,3.4.1,normal,major,Awaiting Review,defect (bug),assigned,,2012-07-15T08:33:06Z,2013-02-01T16:11:41Z,"By clicking the padding button(for indention) the action not works - it warpped the text by ""p"" element with '''padding-left''' insted or '''padding-right''' in RTL.",AlmogBaku
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
18172,Two lay-out buttons active at the same time,azaozz,TinyMCE,3.2.1,normal,minor,Awaiting Review,defect (bug),reviewing,,2011-07-19T11:26:49Z,2012-06-29T13:50:48Z,"1) Click on the center button for writing in the middle. It doesn't matter if you write something or not.
2) Upload a image and line it out at the left or right side.
3) When you select the image two buttons are active. One for the text and one for the image...

(See screen)
",JonezJeA
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
14459,Rotate Full Size Images on Upload,azaozz,Upload,3.0,normal,normal,Future Release,enhancement,reviewing,,2010-07-29T23:16:17Z,2013-01-06T08:52:07Z,"It may be worth a revisit to #7042.  Some mobile devices that use WordPress for Android are not capturing images in the correct orientation, instead they are writing the EXIF orientation to the image instead (which is a standard method these days).  In wp-android and other external clients that offer full size image upload, these images will not be rotated correctly upon upload.

Since most mobile users are on the go with no access to the wp-admin area to rotate the images themselves, it would work best if the image was rotated for them automatically.  

Hopefully there's a solution that wouldn't strip the EXIF data, some way to copy the EXIF data before rotating, then save it back again?",mrroundhill
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
12722,Concurrent editing of widgets,azaozz,Widgets,,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-26T18:07:46Z,2013-04-25T05:39:22Z,When two admin users edit widgets at the same time which ever one saves last wins.  I think we'd need something like the post edit lock to be able warn users when someone else is already editing widgets.,josephscott
11160,Inconsistancies in Naming and Using Sidebar Names and IDs.,azaozz,Widgets,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-11-17T12:58:55Z,2012-11-22T03:18:21Z,"register_sidebar() allows more sidebar names and IDs to be registered than dynamic_sidebar() recognizes as valid names and IDs.

For example, register_sidebar() allows me to name a side bar ""1"" with a id of ""first"". I don't know why anyone would choose those values, but register_sidebar() allows it [1].

{{{ register_sidebar( array('name' => 1, id => 'first') ); }}}


dynamic_sidebar() will not be able to find the sidebar given its name (1).
{{{
    if ( is_int($index) ) {
        $index = ""sidebar-$index""; /// 1 becomes 'sidebar-1'
        ...
}}}
The main problem is that dynamic_sidebar() is trying to process both IDs and names through the same variable ($index) while register_sidebar() separates the two with an array ( array('name' => 'Top', 'id' => 'sidebar-1' ).

According to the in-line docs for dynamic_sidebar():

    It is confusing for the $index parameter, but just know that it should just work. When you register the sidebar in the theme, you will use the same name for this function or ""Pay no heed to the man behind the curtain."" Just accept it as an oddity of WordPress sidebar register and display.


It does ""just work"" if you never use your own sidebar IDs.


I started looking at this because I wanted to use is_active_sidebar() which tests to see if a dynamic_sidebar() has anything in it. There is no get_dynamic_sidebar(). dynamic_sidebar() sends everything to the browser or returns false.
{{{
    register_sidebar( array('name' => 'Top') ); // id defaults to ""sidebar-1""
    ...

    if ( is_active_sidebar('Top') )
        dynamic_sidebar('Top');
}}}
Which fails because is_active_sidebar() just completely skips over searching for an id to go with a name. To get it to work you need to know when it was registered. Not something theme authors and designers are going to follow easily. There's a ticket to fix this: [http://core.trac.wordpress.org/ticket/10440 #10440]
{{{
    if ( is_active_sidebar(1) )
        dynamic_sidebar('Top');
}}}
Like dynamic_sidebar(), is_active_sidebar() converts 1 to ""sidebar-1"". Unlike dynamic_sidebar() it assumes everything is entered as an id.


unregister_sidebar() assumes its parameter (incorrectly named $name, not $id) is an id. But it wants a literal id, like ""sidebar-1"". unregister_sidebar(1) unregisters a sidebar with an id of 1, while dynamic_sidebar(1) tries to display a sidebar with an id of ""sidebar-1"".


=== Widgets (Admin Page) ===

The dynamic_sidebar() function is used by the Widgets management page. So, it is possible to create a sidebar with register_sidebar() that dynamic_sidebar() cannot find. You can populate it with drag and drop [2] and not have it appear on the web site.


== After Patch ==

If committed, this patch would remove the need for tickets [http://core.trac.wordpress.org/ticket/10440 #10440] and [http://core.trac.wordpress.org/ticket/10956 #10956]. It changes the current argument behavior of unregister_sidebar(), but doesn't break backward compatibility. It allows is_active_sidebar(), unregister_sidebar() and dynamic_sidebar() all point to the same sidebar.

=== Before ===

These all refer to the same sidebar:
{{{
	is_active_sidebar(1);
	unregister_sidebar('sidebar-1');
	dynamic_sidebar('Sidebar Top');
}}}

In an admittedly contrived case, dynamic_sidebar() would silently fail to allow this sidebar to show:
{{{ register_sidebar( array('name'=>'Sidebar Top', 'id' => 1) ); }}}



=== After ===
These all refer to the same sidebar (the first two would have broken before the patch):
{{{
	is_active_sidebar('Sidebar Top');
	unregister_sidebar('Sidebar Top');
	dynamic_sidebar('Sidebar Top');
}}}

After the patch this shows fine:

{{{ register_sidebar( array('name'=>'Sidebar Top', 'id' => 1) ); }}}

After the patch it is possible to force an argument to be only a name or only an id:
{{{
	is_active_sidebar(array( 'name' => 'Sidebar Top' ));
	unregister_sidebar(array( 'name' => 'Sidebar Top' ));
	dynamic_sidebar(array( 'id' => 1 ));
}}}



=== Notes ===

[1] register_sidebar() allows the user to override the default setting of: 'id' => ""sidebar-$i"",

[2] When you refresh the Widgets management page the widgets will disappear from the sidebar. They are still attached to a sidebar, but dynamic_sidebar() cannot see the sidebar.",CharlesClarkson
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
10976,Add before_content and after_content to widget options,azaozz,Widgets,,normal,normal,Future Release,enhancement,reopened,dev-feedback,2009-10-19T08:17:10Z,2012-10-01T11:26:58Z,"Hi,

I'd like to request adding a two new parameters to the widget array for easier customization when creating themes.

Parameters are : before_content and after_content (naming can be different)

Basicaly we have now before_widget, after_widget, before_title and after_title and it's working great, but if while creating a theme you'd like to add more complexity to the graphics surrounding widget you have to add more divs etc. to make it work and look great, and if you got some divs or anything else between title and content you got a problem. Sure you can put the code in the after_title and it will work, but what in case if someone will decide to leave the title empty ? Your widget lacks code and your theme messes up.

Please consider it! :)",newkind
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_
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
10364,Usability problem on the Widgets admin interface,azaozz,Widgets,,high,minor,Awaiting Review,enhancement,reopened,has-patch,2009-07-09T04:48:56Z,2012-12-30T16:03:45Z,"On the widgets page, when I have lots of widgets available it's a nightmare to drag and drop one by one on the intended sidebar.
I have to scroll down and up the page while keeping the mouse button pressed. 
When someone is using a Notebook and no mouse it's really a pain.
And with all that netbooks today it's even worse.

What I think could be done: just put a toggle button (like the dashboard widgets) on each widget and when someone press this toggle button it opens a menu with some links like: add to sidebar 1, add to sidebar 2,...

This would really be a usability improvement since it's not usable the way it is now. 
And off course the drag and drop doesn't need to be replaced. People should be able to use it either way.
If you have a big monitor, go for drag and drop since you should be able to view all your available widgets on multiple columns without the need to scroll down the page.
Otherwise just click the toggle and Add to sidebar.",vteixeira
12133,get_field_id() and get_field_name() break when passed a name in array format,azaozz,Widgets,2.9.1,normal,minor,Future Release,enhancement,new,,2010-02-05T02:17:10Z,2013-01-21T23:13:01Z,"`get_field_name()` and `get_field_id()` are member functions of the widget API which generate the names and ids for fields on the widget admin screen.

A custom widget cannot use an array format name with this function.

For example, 'myfield[]' or 'myfield![3]' is a valid name for an input field, but this name cannot be passed to `get_field_name()` as the function will strip right square brackets from the name.

Patch upcoming when I find the time.",johnbillion
18997,Adding wp_unschedule_hook function,arena,Cron,3.3,normal,normal,Future Release,feature request,reopened,needs-unit-tests,2011-10-19T07:45:11Z,2012-04-20T00:02:54Z,"
Unschedule all previously scheduled cron job for a hook.

Can be usefull for plugins when deactivating to clean up the cron queue

The $hook parameter is required, so that the events can be identified.

@param string $hook Action hook, the execution of which will be unscheduled.
",arena
20178,wpdb class : provide a disconnect / connect to db functions,arena,General,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-05T13:16:21Z,2012-03-05T16:28:46Z,"some hosts automatically disconnect mysql after a short while.
I think it could be interesting to have in wpdb a disconnect and connect functions.",arena
3833,Extra </p> inside blockquote,Archibald Leaurees,Formatting,2.7,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2007-02-21T19:01:26Z,2012-09-10T22:08:20Z,"When using blockquote </p> is inserted directly in front of </blockquote>, making the code invalid XHTML.

Example:
{{{
<blockquote>This is a blockquote</blockquote>
}}}

Gives the following result:
{{{
<blockquote>This is a blockquote</p></blockquote>
}}}

Seems like [http://wordpress.org/support/topic/106474 this forum thread] adresses the same issue in the support forum.",audwan
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
20127,Add filter in dynamic_sidebar() to modify sidebar index,andrewryno,Widgets,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-27T00:06:06Z,2012-02-27T00:06:06Z,"Use case: changing sidebars depending on the page/post/etc loaded through a plugin. Nothing too complex, just no way to do it. There is a filter dynamic_sidebar_params but that isn't called until later on in the function after the widgets have been collected for that sidebar.",andrewryno
13237,Absense of alots lowers community morale,Alot,Optimization,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-05-03T19:27:26Z,2012-09-01T10:53:21Z,We all like WordPress alot.,johnjamesjacoby
21610,ssh2/sftp doesn't work with chrooted/openssh sftp-internal user accounts (no shell),albert@…,Filesystem,3.4.1,normal,normal,Awaiting Review,feature request,new,,2012-08-16T16:06:35Z,2012-09-10T18:20:52Z,"The current wordpress 3.4.1 wp-admin/includes/class-wp-filesystem-ssh2.php  code will crash php or spin in an endless loop when someone supplies ssh/sftp credentials (username/password) to an (open)ssh server where users don't have a shell and are chrooted to their home directory e.g. by using openssh's sftp-internal server and ChrootDirectory functionality.
There is no neat fix for the code in the WP_Filesystem_SSH2 class. I've implemented a new WP_Filesystem_SFTP class making use of the portable phpseclib library.

At this moment it is necessary to change a line in wp-admin/includes/file.php to be able to use WP_Filesystem_SFTP.
Attached is the code for this new class up for review or for anyone with the same problem.",albert@…
11082,Saving an empty draft dumps user out to edit.php,akhilasuram,Editor,2.7,low,minor,Future Release,defect (bug),assigned,needs-refresh,2009-11-05T15:16:46Z,2012-12-13T20:09:23Z,"ENV: wp trunk r12138 (2.9-rare)

When a user starts up the editor for a new post and attempts to save a post with no title and no content, WordPress dumps the user back out to the list of posts in edit.php with no message or indication as to why this happened. You can edit the publish information (date, status, etc.), tags, and categories, but as long as there is nothing for either the post title or the post content, the behavior is the same.

It's expected that a post with no content whatsoever wouldn't be saved (there's nothing there!), but would be nice if the behavior were easier to understand or explained why nothing was happening.",markel
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
24417,get_the_post_format_url() should not escape data,,Post Formats,trunk,normal,normal,,defect (bug),reopened,has-patch,2013-05-25T04:15:20Z,2013-05-30T23:15:48Z,"Like `get_permalink()`, `get_the_post_format_url()` should not escape data. The responsibility of escaping the data should be placed on the calling function. An analogous situation in core is that `get_permalink()` does not escape the data and `the_permalink()` does. I think this pattern should continue in the `get_the_post_format_url()` and `the_post_format_url()` functions. It is very handy to have access to the rawest form of the data via `get_the_post_format_url()`.",tollmanz
16103,Blue Admin theme doesn't have enough contrast,,Accessibility,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-05T03:51:32Z,2013-05-14T13:21:17Z,"The beautiful blue theme has a few parts that lack sufficient contrast to be useable by someone with color deficiencies.   Specific parts to follow.


See attached screen shots to get a better idea.  Highlighted areas lack contrast.  ",jorbin
23760,Cannot use spacebar to trigger OK button or links in Publish widget (eg. schedule settings),,Accessibility,3.5.1,normal,minor,Awaiting Review,defect (bug),new,,2013-03-13T16:23:43Z,2013-04-19T23:16:59Z,"When changing the scheduled publishing time of a post, the OK button after the time fields cannot be triggered by pressing spacebar.

The same applies to all buttons and links in the Publish widget on the Add New / Edit Post page. The Add button in the Tags widget on the same page can be triggered with space since WordPress 3.5. 

Steps to repeat:

1. Create a new post by navigating to wp-admin/post-new.php.
2. Click the underlined link in ""Publish immediately _Edit_"" in the Publish widget.
3. Click the last field (minutes).
4. Press Tab once to move focus to the OK button.
5. Press spacebar.

What happens is the screen scrolling down exactly as if Page Down was pressed.

What should happen is the same that happens when the button (or link) is clicked with mouse, which depends on the button (or link).

Tested on Windows XP & 7 and all the recent Firefoxes I can remember and Internet Explorer 9.",Daedalon
22682,Close Button Breaks in Customizer After Refresh,,Accessibility,3.5,low,minor,Future Release,defect (bug),new,,2012-12-02T17:10:01Z,2012-12-04T04:43:17Z,"Steps to reproduce (keyboard only):
1. Open the theme customizer.
1. Tab past the top buttons.
1. Press F5.
1. Now try to use the Close or Cancel button.

Expected result:  Should be able to Close or Cancel.

Actual result:  The button can still be clicked, but it is broken for keyboard usage.

Found in 3.5-RC2-22961 using Chrome 23 and WinXP.",miqrogroove
15926,Give header and background images alt tags,,Accessibility,3.0,normal,minor,Awaiting Review,defect (bug),assigned,has-patch,2010-12-20T22:16:12Z,2013-01-11T11:42:52Z,"''Section 1194.22 Web-based Internet information and applications: (a) A text equivalent for every non-text element shall be provided (e.g., via ""alt"", ""longdesc"", or in element content).''

To meet accessibility guidelines, the header images and backgrounds (when supported by a theme) need to be given user-editable alt tags.",jane
20880,Keyboard navigation in Appearance > Header is broken,,Accessibility,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T17:40:34Z,2012-06-08T06:27:11Z,"It's impossible to use the Appearance > Header section with the keyboard because the Enter button will submit the form using the top-most submit input, which is not always the Save Changes button. How to reproduce, in Appearance > Header, using Twenty Eleven:

1. Select one of the default header images
2. Check the Show header text with your image option
3. Enter #111 for Text Color
4. Click Save Changes

At this point everything looks fine, but here comes the trouble:

5. Enter #222 for Text Color and hit Enter

You'll notice that #222 hasn't been set as the Text Color, instead your chosen header image (in step 1) has been removed, as if the Remove Header Image button was clicked.

6. Enter #333 for Text Color and hit Enter

You'll notice that #333 hasn't been set as the Text Color, instead it's been set to #000 which is Twenty Eleven's default, as if the Restore Original Header Text button was clicked.

When both Remove Header Image and Restore Original Header Text buttons are not present, the Return key submits the form using Save Changes, as expected. It's not limited to Text Color, but any other element that can submit the form using the Enter key.

I've been facing the exact same problem when doing an options panel for a theme with multiple actions as submit buttons, still haven't found a good solution. Marked as 3.3.2 but I believe it's been around earlier.

Thanks!",kovshenin
12825,Largest minimum text size in FF prefs makes admin display terrible,,Accessibility,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-02T22:25:59Z,2013-01-20T18:04:36Z,"The backend looks great in FF if a user zooms, as long as they don't zoom text only. However, some visually disabled people use the Firefox preference for minimum font size instead, because doing full zoom means lots of horizontal scrolling. Is there anyway to make it so that a large minimum text size wouldn't be so terrible-looking? 

To reproduce: in FF, go to Preferences, Content, Advanced Fonts, select 24 for minimum size. Look at the admin; eek! (In comparison, zooming to that size looks very pretty, but requires horizontal scrolling).

Gmail does it decently, so I thought it was worth asking, but I know that there may be technical reasons that we can't make it happen. Would just like to know what those are if so, so I can explain to users who ask about it. If we *can* make it happen, that would be sweet. ",jane
23562,Using Speech Recognition Software with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T16:06:02Z,2013-02-20T17:59:42Z,"Linked to #23560 this ticket specifically concerns the speech recognition user's accessibility experience of the Add Media functionality.

I'm using Dragon Naturally Speaking with IE9 on Windows 7 - a typical setup as Dragon works best with IE.

Within the Edit Post screen I can use Dragon to action the Add Media link successfully. The command in Dragon for such an action is ""Click Add Media"". This works, but then I run into the following problem:

* With the exception of Set Featured Image, none of the other links on the panel appear to be directly accessible with Dragon.
* If I select Set Featured Image I can't action any of the other links.

Dragon users can use voice commands to replicate pressing the tab key. The experience then mirrors that outlined in #23560 - but of course this cannot be used to select the images or other files.

It is possible for Dragon users to interact with screens using mouse commands but it is an incredibly laborious and time consuming process - used only as a last resort.

If one of the images is selected, the information panel for that images opens to the right. Unfortunately none of the input fields (for title, alt, etc) are directly available to Dragon. Ironically, the Insert Into Post button can be accessed directly with a voice command.

Some investigation needs to be done as to why most of the links and input fields cannot be directly accessed by Dragon when the panel is opened. This is a parallel with the situation on the Theme Customizer panel. 

It is interesting that the Set Featured Image link and the Insert Into Post button '''can''' be directly accessed. What is different about them?

",grahamarmfield
23561,Using a Screen Reader with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T15:16:55Z,2013-02-20T17:59:54Z,"Linked to #23560, this trac specifically concerns accessibility issues found when using the Add Media panel with a screen reader.

I used NVDA 2012.2.1 with IE9 and FF16.0.2 on Windows 7.

'''IE9'''

* On initially clicking Add Media link in Edit Post page the focus appears to initially be transferred into the edit content textarea within the main page. There is no audible notification that the panel has opened.
* Further tabbing shows that the focus has not been transferred into the panel - so this would be a showstopper for most users.

If you continue tabbing you eventually do come to the panel in the tab order at the bottom of the main page maybe...

* It is possible to tab round the text links in the panel. However actioning the Insert Media or Create Gallery links does not apparently do anything - there is no audible feedback that the contents of the next panel have changed. Suggest that when one of these links is actioned that focus is transferred into the relevant panel - to the heading would be a good place.
* The 'images' select does not have an associated label so it's purpose would not be clear to all users.
* The search box does not have an associated label so screen reader users in IE9 receive no feedback as to the purpose of this text box.
* There is no Go or Search button available to trigger the action for these two input fields - both of which change the content of the panel below. For accessibility reasons the user should be in control of triggering the filtering.
* As mentioned in the other ticket #23560 the main accessibility problem here is that it is not possible to select any of the previous uploaded media.


'''Firefox'''

* When the Add Media panel opens it is not clear where focus sits. But after this first link the focus is transferred into the Add Media panel.
* The close link does not announce itself when tabbing forwards, but it does when reverse tabbing.
* See IE9 section re actioning Insert Media, Create Gallery links.
* AS IE9 re label for media type select box. NVDA does announce Search box label in FF.
* As IE9 re lack of Go or Search button for these input fields.
* As IE9 it is not possible to tab to any of the previously uploaded images/files.

Separate ticket to be raised for Speech Recognition software experience.",grahamarmfield
18900,Add a few more hide-if-no-js classes,,Accessibility,3.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-10-10T23:14:55Z,2013-05-14T21:21:36Z,"There are a few elements to which we could add the `hide-if-no-js` class, as their functionality or setting relies on JavaScript being available.",johnbillion
24148,Add aria-labelledby attributes to comment form,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-21T03:26:05Z,2013-04-22T14:03:52Z,"The aria-labelledby attribute provides a means for screen readers to get additional context for inputs when there is additional labeling information provided. In the default comment form, information such as the fact that email will not be published or that HTML tags and attributes can be used can only be viewed through a separate pass through the form not in forms mode. Adding these attributes means that a screen reader will read both blocks of text as the label for the field. ",joedolson
24042,Help text visibility in title input box is not intuitive,,Accessibility,trunk,normal,normal,Awaiting Review,enhancement,reopened,,2013-04-11T03:45:04Z,2013-04-12T04:32:03Z,"Currently, the input box for title which shows on a new post creation page uses a label to display the help text- ''""Enter title here""''. This text disappears on focus and an that point of time, there is no place which points out that this input box is for the title.

This problem has been pointed out by a lot of people and it surfaced after the new Gmail design came out. The problems it generated are very similar and as you may have used it, there are no labels for the email recipients field and the subject field.

The issue is not very big as such but it does generate ambiguity in some cases. The solution to this would be to have the label as an overlay on the input, which can slide/move to a new position on focus. And placeholder text can be used as help text. This way the help text will be visible at the start and the label will be visible throughout.",aniketpant
18650,Make archives and categories widgets dropdown ada compliant,,Accessibility,3.2.1,normal,major,Future Release,enhancement,new,dev-feedback,2011-09-13T00:12:37Z,2013-06-12T20:27:42Z,"Conditionally add the <label> tag for the archives and categories widgets so they are ada compliant.

http://webaim.org/techniques/forms/controls",jlevandowski
24098,Support for HTML5 roles,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-16T07:44:16Z,2013-05-12T00:01:07Z,"I was going through http://core.svn.wordpress.org/trunk/wp-includes/kses.php and I realized that most of the new HTML5 tags have been introduced but `role` is a missing attribute.

I feel that since WordPress has already made a move towards HTML5 by supporting `<article>`, `<section>` and other tags, all attributes should be made available too. `role` should be added to the required tags falling under `$allowedposttags`.

Go through the link for more information on [http://www.w3.org/wiki/PF/XTech/HTML5/RoleAttribute roles].",aniketpant
21414,"Use the ""Keyboard Shortcuts"" checkbox in the user profile to turn on/off all custom shortcuts",,Accessibility,,normal,normal,Awaiting Review,enhancement,new,,2012-07-29T20:24:36Z,2012-10-14T11:42:23Z,"Custom keyboard shortcuts can be very handy not only for better accessibility but for faster access to many actions that usually require ""mousing"". For example we could potentially add shortcuts to access the top menu items or the more commonly used toolbar items.

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

It would be good to let the users decide whether to enable them. As we already have a checkbox for the comment moderation shortcuts, best would be to make it ""global"". For now that would only affect TinyMCE.",azaozz
24150,tabindex doesnot work proper if metabox added,,Accessibility,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-21T04:12:43Z,2013-05-02T12:24:00Z,"Hi,
In {wp-admin} default post add form, if metabox added tab button skips metaboxes and directly goes to Publish box to take action.

Developer who wants to add tabindex to all metaboxes created, add_meta_box function should have parameter to set tabindex which will allow to go through it before publish post or skip if false. ",amolv
22104,High contrast admin colour scheme,,Accessibility,,normal,normal,Awaiting Review,feature request,new,,2012-10-04T17:35:54Z,2012-11-20T16:57:21Z,"We should consider bundling a high contrast admin colour scheme with WordPress to aid accessibility for the visually impaired.

Some discussion on this has taken place previously on IRC but nothing much beyond that.

Some potential points of discussion:
 * Is anyone in the [http://make.wordpress.org/accessibility/ WordPress accessibility group] an expert on accessibility for the visually impaired? Can we get someone on board for some expert guidance?
 * Is an admin colour scheme sufficient? Would any JavaScript need altering too? If so, would an admin colour scheme suffice as a starting point?

Related:
 * [http://www.timobrienphotos.com/2009/03/hich-contrast-admin-color-scheme-for-wordpress/ A high contrast admin theme plugin]
 * [http://wordpress.org/support/topic/admin-color-scheme Support forum discussing admin theme for visually impaired user]
 * [http://wordpress.org/extend/plugins/easy-admin-color-schemes/ Easy Admin Colour Schemes plugin]",johnbillion
24324,Placeholder support to login form,,Accessibility,,normal,minor,Awaiting Review,feature request,new,has-patch,2013-05-12T09:59:13Z,2013-05-14T14:44:34Z,wp_login_form isn't support placeholder attribute yet. It would be good. Isn't it?,m_uysl
9445,All Input Tags are not Section 508 Compliance,,Accessibility,2.7,normal,normal,Future Release,task (blessed),reopened,,2009-04-02T18:58:32Z,2012-10-09T20:14:56Z,"Not all of the input tags within the Wordpress admin console are section 508 compliant (http://www.section508.gov/). We have scanned the application using compliance software and found many instances where input tags (checkbox, text, textarea, file, radio, etc..) are missing the required label or alt text. (There are many instances where it IS compliant.) 

We (developers at a government agency) have the ability to make the changes, but some of the decisions for which exact text to put in the labels and alt text should probably be decided by a more dedicated Wordpress developer. Please contact me if you want our help or input. 

We believe that the software is extremely close to 100% compliance. Bringing it to 100% would be a huge deal for government agencies wh are trying to get approval to install and run Wordpress internally and externally.",dmo7
9698,WordPress back end is not accessible,,Accessibility,2.8,normal,major,Future Release,task (blessed),new,,2009-05-01T18:15:41Z,2012-02-20T20:50:25Z,"The WordPress back end violates several WCAG accessibility guidelines, so it cannot be considered accessible to people with disabilities.

Guidelines: http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/

Not being an accessibility expert, I am not sure of all of the violations. But guideline 6.3 states ""Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page.""

This means that you should be able to do all functions in the WP back end with JavaScript disabled.

As of 2.8-bleeding [11148], there are several things you cannot do with JavaScript disabled:

1) Upload and attach media to a post. You can upload media in the Media section, but the media upload section of the post edit screen is missing without JS, and I see no way to attach it to a post.

2) Add tags to a post or change which tags are on a post. The tags section is totally blank without JavaScript. (It could at least have the default plain-text field that is there behind the scenes and hidden).


",jhodgdon
22254,"""Do you really want to log out"" message after already logged out",,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-22T16:21:06Z,2013-02-28T16:03:33Z,"1. Log into admin area
2. Open some page within admin area in a new tab (middle click or ""Open link in new tab"" or similar)
3. Select ""Log Out"" in menu in one tab
4. Normal ""You are now logged out."" screen appears
5. Select ""Log Out"" in menu in other tab
6. The following message appears:
{{{
You are attempting to log out of Blogname

Do you really want to log out?
}}}
The content of this message is wrong as the user is already logged out at this point.",Ov3rfly
22222,"""Mode"" buttons bumped below (in 1024x768) when long category name exists",,Administration,,normal,minor,Awaiting Review,defect (bug),new,,2012-10-18T17:22:33Z,2013-02-09T20:54:12Z,"If there's a long category name, the category filter <select> menu widens. On a 1024x768 screen, this causes the list/excerpt mode buttons to get bumped down.

screenshot: http://kdl.dropmark.com/25665/1130400

One thought was to move that option to Screen Options, which I think makes more sense anyway. ",trepmal
22735,A given pointer should only show once on a screen,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-04T18:10:44Z,2012-12-14T23:51:42Z,"If you have, say, multiple media buttons on a screen, you'll get multiple pointers, each pointing to an instance of that button. This shouldn't happen. In the case of the media button, it should probably only show up for the one associated with the main editor. In terms of the pointers in general, it should only show up once, not for each match in the DOM.",helen
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
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
19527,Add New Category Problem While Posting,,Administration,3.3,normal,minor,Awaiting Review,defect (bug),reopened,close,2011-12-13T05:26:08Z,2013-01-22T01:19:25Z,"When adding new category, while you are making a post, If a category is added under a parent category, it doesn't show properly that the new category is under the parent category.

It has been added correctly, but it doesn't show properly the first time.",jainprateek
23141,"Add autocomplete=""off"" to all inputs that have a value",,Administration,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-08T12:49:51Z,2013-01-08T19:44:44Z,"On '''refresh''' in the browser - old data is filled in the inputs, instead of the actual data from the value attribute of the input.

to be more clear : http://www.screenr.com/p2K7",alexvorn2
20938,Adding existing category duplicates default one,,Administration,3.3.2,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-06-13T13:52:18Z,2013-01-22T03:35:53Z,"In the post editing page, if you add a category which already exists, Wordpress duplicates the default category (Uncategorized), instead of showing a warning or doing nothing.",hvsupr
20082,Admin bar links to wrong site in multisite (subdomain) network,,Administration,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-20T09:53:52Z,2012-02-21T08:43:50Z,"The code
{{{
	foreach ( $actions as $link => $action ) {
		list( $title, $id ) = $action;

		$wp_admin_bar->add_menu( array(
			'parent'    => 'new-content',
			'id'        => $id,
			'title'     => $title,
			'href'      => admin_url( $link )
		) );
	}
}}}
generates the wrong URL, whenever I visit a site that has the URL subsite.subsite.example.com but generates the correct URL if the URL is of the pattern subsite.example.com. On subsite.subsite.example.com the admin bar will generate links to subsite.example.com.",niklasbr
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
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
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
19722,Administering wih SSL and uploading images makes image links HTTPS,,Administration,3.3,normal,normal,Awaiting Review,defect (bug),new,,2012-01-03T16:45:51Z,2013-04-29T21:47:16Z,"I am noticing this issue in 3.3 that all uploaded attachments are listed in the library using HTTPS in the location when administerng over SSL. I tried the patch.2 listed and it does not seem to change anything. Previously this was never an issue, but now all my images are getting added as HTTPS when I do not want them to be. I end up searching the DB for "" https://"" and replacing with HTTP after every post.

Will this ever get resolved back to normal so SSL admin can be used without having all attachments over SSL? I only have SSL for login and admin.",ccolotti
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
21211,Alter how settings_errors are output in options.php,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-07-10T23:44:37Z,2012-12-10T18:43:09Z,"The `*_settings_error(s)` and `settings_error` functions are used mainly as part of the Settings API, but with the way that options.php currently handles the settings errors, it assumes that people will use this functionality exclusively with the Settings API. Notice options.php, starting at line 153:

{{{
	/**
	 * Handle settings errors and return to options page
	 */
	// If no settings errors were registered add a general 'updated' message.
	if ( !count( get_settings_errors() ) )
		add_settings_error('general', 'settings_updated', __('Settings saved.'), 'updated');
	set_transient('settings_errors', get_settings_errors(), 30);
}}}

This simply assumes that no other outside source has registered any sort of setting error other than the current options page. TwentyEleven does this, and so if any other source has registered any notices via these functions, the ""Settings saved."" message will not be output because the first bit of logic will fail. I don't think this assumption can (nor should) be warranted, so there needs to be another way to handle this so that themes like TwentyEleven who only call `settings_errors` at the top of their options page don't get unknowingly hijacked by other sources.

I always suggest registering your own errors at the end of the sanitization callback for your setting, and then output those specific errors within settings_errors to avoid any internal conflicts like this.

Just looking for some ways to approach this. :-) 


",griffinjt
10422,Answering to comment from Dashboard does not update Dashboard statistics,,Administration,2.8.1,normal,normal,Future Release,defect (bug),new,has-patch,2009-07-16T05:18:48Z,2012-09-17T19:50:52Z,"Hi there,

there is a short statistics ""Right now/At a Glance"" box in Dashboard, containing number of posts, pages, comments etc.

There is also a box with list of most recent comments in the Dashboard.

If a user answers to a comment in this ""Recent comments"" box in Dashboard, which uses AJAX, so it does not reload the whole page, it creates a new comment, but the number of comments in the ""Right now"" box is not updated.

I know this is not a critical bug, but it would be really nice if it works.

Take care, Honza

P.S.: As there is no ""Dashboard"" component in the Trac, I did not know whether to assign it to Administration or Comments component. I put it into Administration, if you think it better suits to Comments or any other component, please feel free to change it.",honza.skypala
18530,Browser update dismiss setting ignored with JavaScript disabled,,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-08-27T15:41:24Z,2013-01-22T01:14:57Z,"When working on a corporate desktop you can not update your browser. When freely deciding about when to upgrade you might not even want to upgrade.

Therefore a user setting has been introduced to remove the nag warning. E.g. my linux distro is perfectly ok with it's firefox and it's taken care of by the pacakager. For my OS, I have the latest version.

I needed to press dismiss (with JS enabled, the related report is #17766).

What has been missed is to not display that nag if javascript is disabled. The setting gets ignored.

How to Reproducde

  * Setup a WP 3.2.1 Blog.
  * Log into admin with a Firefox 3 browser.
  * Enable Javascript.
  * Dismiss the Nag.
  * Logout and close the Browser.
  * Restart the Browser.
  * Disable Javascript (if you need to).
  * Log into Dashboard.

Result: Browser Update Nag is displayed.

Expected Result: Browser Update Nag is not displayed as specified by the user.",hakre
16946,Bug between CPT menu_position and add_object_page(),,Administration,3.1,normal,normal,Future Release,defect (bug),reviewing,,2011-03-23T10:11:12Z,2012-07-20T13:49:29Z,I write a demo plugin for describe the bug. See attachment.,momo360modena
10762,Bulk editing creates invalid URIs,,Administration,2.8.4,normal,normal,Future Release,defect (bug),assigned,,2009-09-09T16:53:30Z,2013-05-12T10:27:16Z,They simply get too long for example if you move 999 posts to trash. It might be helpfull to switch to the post form method.,hakre
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
23904,CSS glitch when the browser window width isn't right,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-29T21:20:47Z,2013-03-29T22:29:53Z,"The post editor's layout now switches when the width of the window is narrow enough. But there's an intermediary zone, at least on Webkit/Safari where it's too narrow for the conditional CSS to kick in, yet too wide for the browser to deal with it. I presume, based on what I was working on a few minutes ago, that it's related to paddings.

Screenshot attached.",Denis-de-Bernardy
22022,Can’t properly add pages of type edit.php?post_type=xxx as submenu items to arbitrary parent menus,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-27T20:22:43Z,2013-01-11T11:22:48Z,"The following code illustrates the problem.
{{{
add_menu_page('My Pages', 'My Pages', 'edit_posts', 'parentslug', array(class, func));
add_submenu_page('parentslug', 'Settings', 'Settings', 'edit_posts', 'mysettings', array(class, func));
add_submenu_page('parentslug', 'Custom Post Type', 'Custom Post Type', 'edit_posts', 'edit.php?post_type=xxx'); 
}}}
When you click on the first submenu item, the menu stays open, displaying the submenu items as it should. When you click on the item for the custom post type, the parent menu is closed and submenu pages are not displayed.

The root of the problem is how $parent_page is handled for pages of type edit.php?post_type=xxx. In get_admin_page_parent(), $parent_file is always set to $submenu[$parent], which may cause the submenu slug to be different from $parent_file. But in _wp_menu_output, if the submenu slug and parent slug are not equal, the 'wp-has-current-submenu wp-menu-open' classes do not get added which means the menu gets displayed as being closed.

Since there are no actions called between get_admin_parent_page() and the output of the menu, the only workaround I can see is some ugly JS that fixes up the classes.

It seems like the least intrusive fix would be to just move the call to apply_filters(""parent_file) in menu-header.php to after the call to get_admin_page_parent() so that $parent_file can truly be overridden. This also seems inline with the intent of the filter.
",jjharr
17209,Category list table breaks when custom post type label is too long,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-21T21:14:11Z,2012-11-01T06:22:13Z,"Registered a post type which has a longer label than ""posts"" (called ""resources""). List table listing the categories for that post type breaks slightly when a name is over a certain length. Picture attached.

Offending CSS is setting a 10% width to that column.

I can provide a patch. Though since the number of posts is centered, the heading is left aligned. If that column is widened, should the title be centered as well (since left-aligned may look weird at one point)?",andrewryno
20595,Collapsible Admin menu fails if items are added by code,,Administration,3.3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-05-01T23:27:42Z,2012-05-02T07:48:13Z,"If I add a Button to the admin meny by '''action adminmenu''' the menu wont rebuid from collapsed state due z-index issues. In my opinion creating the menue might be changed to the following: 


{{{

diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php
index cdd81b2..8454a3d 100644
--- a/wp-admin/menu-header.php
+++ b/wp-admin/menu-header.php
@@ -164,10 +164,6 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                }
                echo ""</li>"";
        }
-
-       echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
-       echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
-       echo '</li>';
 }

 ?>
@@ -181,6 +177,9 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {

 _wp_menu_output( $menu, $submenu );
 do_action( 'adminmenu' );
+echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
+echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
+echo '</li>';

 ?>
 </ul>
}}}

see also: http://wordpress.org/support/topic/admin-menu-wont-dis-collapse-anymore",digitaldonkey
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
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
15466,Database errors on dashboard,,Administration,3.1,normal,minor,Awaiting Review,defect (bug),reopened,,2010-11-18T07:11:43Z,2012-09-04T12:33:11Z,"Not sure why it's happening and it's only happening on one of my blogs, but posting it anyway.

== Incoming Links ==

{{{
WordPress database error: [Incorrect string value: '\xD0\xA3 \xD0\xBC\xD0...' for column 'option_value' at row 1]
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_feed_de55c189685ea1944a5f72021d68a360', 'a:4:{s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:3:\""rss\"";a:1:{i:0;a:6:{s:4:\""data\"";s:1:\""\n\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:7:\""version\"";s:3:\""2.0\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:7:\""channel\"";a:1:{i:0;a:6:{s:4:\""data\"";s:10:\""\n\n\n\n\n\n\n\n\n\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:4:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""link:http://www.finalgear.com/ - Google Blog Search\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:109:\""http://blogsearch.google.com/blogsearch?hl=en&scoring=d&ie=ISO-8859-1&num=10&q=link:http://www.finalgear.com/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:108:\""Google Blog Search Results: <b>1,432</b> results for <b>http://www.finalgear.com/</b> - showing 1 through 10\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""item\"";a:10:{i:0;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:37:\""Evora S in next episode of Fifth Gear\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:75:\""http://www.lotustalk.com/forums/f170/evora-s-next-episode-fifth-gear-94777/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:238:\""The next episode of Fifth Gear with feature an Evora S. It will air on November 19th in the UK and for those of us unfortunate enough to not live in England it can be downloaded via torrent client from www.finalgear.com a little while ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:36:\""LotusTalk - The Lotus Cars Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Mr. Know\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Wed, 17 Nov 2010 02:58:32 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:1;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:9:\""Top Gear?\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:41:\""http://krolyk.livejournal.com/114570.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:373:\""У меня иногда спрашивают: что такого интересного я нахожу в передаче Top Gear? Сейчас, накануне запуска в эфир локализованной версии для США, на ТВ вышла передача с ведущими оригинального, британского Top Gear. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:36:\""Записки Андрея Гуле\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""krolyk\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Fri, 29 Oct 2010 09:09:31 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:2;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""New Jeremy Clarkson Blu-Ray/DVD Coming In November\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:85:\""http://blog.webridestv.com/2010/10/new-jeremy-clarkson-blu-raydvd-coming-in-november/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:240:\""Everyone knows Jezza Clarkson from Top Gear, but what many people in North America may not know is that every year, Jeremy comes out with a new DVD, that has some of the feel of Top Gear, but is freed from the format, and there are some ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""Sports Car Blog\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Eric Trytko\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Tue, 12 Oct 2010 11:30:49 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:3;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:72:\""Upcoming Top Gear America Trailer... Thrashes a mid 70s Coupe <b>...</b>\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:135:\""http://www.cadillacforums.com/forums/cadillac-forums-lounge-member-introductions/207377-upcoming-top-gear-america-trailer-thrashes.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:171:\""It is sad to see :crying:. http://www.finalgear.com/news/2010/0...ar-us-trailer/ I hope it is a good show but I think they\'re right; nothing will ever top the British one.\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""CadillacOwners\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""eldorado99\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Sat, 07 Aug 2010 16:26:27 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:4;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:38:\""Top Gear&#39;s Tribute To Ayrton Senna\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:83:\""http://space-action-hero.blogspot.com/2010/08/top-gear-tribute-to-ayrton-senna.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:237:\""Last week\'s Top Gear was epic. One of Top Gear\'s best in a while. There was the Veyron Super Sport, Tom Cruise and Cameron Diaz, but most of all, there was a heartwarming and touching tribute to arguably the greatest F1 driver of all ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:22:\""The Meditation Chamber\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:27:\""noreply@blogger.com (Kenny)\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Mon, 02 Aug 2010 14:02:00 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:5;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 5\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/29/top-gear-season-15-episode-5/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:233:\""This week\'s Top Gear is packed with action from start to finish. Hammond challenges snow mobiles in his nicely built Touareg, Captain Slow is back at Volkswagen\'s test track to try out their new Bugatti Veyron and lastly Clarkson ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Thu, 29 Jul 2010 21:40:21 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:6;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 4\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/24/top-gear-season-15-episode-4/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:230:\""Season 15 is starting to shape up to be an epic season. In this weeks episode Clarkson compares two super car convertibles and the boys are challenged to build motor homes and of course putting them through various challenges. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Sun, 25 Jul 2010 00:45:05 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:7;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:30:\""Post Vacation Reading Material\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:64:\""http://utterlyboring.com/archives/2010/07/19/post_vacation_r.php\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:219:\""Since getting back, I\'ve been trying to catch up on all the email and news that has been sent my way (you\'re always welcome to send more using the contact form on this site or e-mail utterlyboring at gmail dot com). ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:17:\""UtterlyBoring.com\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:7:\""unknown\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Mon, 19 Jul 2010 20:24:17 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:8;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Shared items on July 14, 2010\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:64:\""http://www.dot.alter.si/2010/07/15/shared-items-on-july-14-2010/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:239:\""An overview of interesting articles that came through my Google Reader subscriptions recently. Sony unveils world\'s first consumer HD camcorder with interchangeable lens system. from: Gizmag Emerging Technology Magazine on 14 July 2010 ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""Connecting Dots\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""Jernej\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Thu, 15 Jul 2010 06:50:43 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:9;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 3\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/12/top-gear-season-15-episode-3/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:235:\""This weeks episode pits three new high performance sedans against each other in a number of challenges to find out which one is the best. The hosts also review and compare the new Chevorlet Camero versus the new Mercedes Benz E63. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Tue, 13 Jul 2010 05:55:41 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}s:36:\""http://a9.com/-/spec/opensearch/1.1/\"";a:3:{s:12:\""totalResults\"";a:1:{i:0;a:5:{s:4:\""data\"";s:4:\""1432\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:10:\""startIndex\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:12:\""itemsPerPage\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2:\""10\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}}}}}}s:4:\""type\"";i:128;s:7:\""headers\"";a:9:{s:4:\""date\"";s:29:\""Thu, 18 Nov 2010 07:07:10 GMT\"";s:6:\""pragma\"";s:8:\""no-cache\"";s:7:\""expires\"";s:29:\""Fri, 01 Jan 1990 00:00:00 GMT\"";s:13:\""cache-control\"";s:25:\""no-cache, must-revalidate\"";s:12:\""content-type\"";s:23:\""text/xml; charset=UTF-8\"";s:10:\""set-cookie\"";s:138:\""PREF=ID=48169caac9439b57:TM=1290064030:LM=1290064031:S=Ik6CY3EJZro84eTi; expires=Sat, 17-Nov-2012 07:07:11 GMT; path=/; domain=.google.com\"";s:22:\""x-content-type-options\"";s:7:\""nosniff\"";s:6:\""server\"";s:4:\""bsfe\"";s:16:\""x-xss-protection\"";s:13:\""1; mode=block\"";}s:5:\""build\"";s:14:\""20090627192103\"";}', 'no') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

    Mr. Know linked here saying, ""The next episode of Fifth Gear with feature an Evo ...""
    krolyk linked here saying, ""У меня иногда спрашивают: что такого интересного я ...""
    Eric Trytko linked here saying, ""Everyone knows Jezza Clarkson from Top Gear, but w ...""
    eldorado99 linked here saying, ""It is sad to see :crying:. http://www.finalgear.co ...""
    noreply@blogger.com (Kenny) linked here saying, ""Last week's Top Gear was epic. One of Top Gear's b ...""
}}}

== WordPress Development Blog ==

{{{
WordPress database error: [Incorrect string value: '\xD0\x9D\xD0\xB8\xD0\xBA...' for column 'option_value' at row 1]
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_feed_0ff4b43bd116a9d8720d689c80e7dfd4', 'a:4:{s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:3:\""rss\"";a:1:{i:0;a:6:{s:4:\""data\"";s:3:\""\n\n\n\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:7:\""version\"";s:3:\""2.0\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:7:\""channel\"";a:1:{i:0;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:3:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""WordPress News\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:25:\""http://wordpress.org/news\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""WordPress News\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:13:\""lastBuildDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 30 Sep 2010 03:23:31 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""language\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2:\""en\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:9:\""generator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/?v=3.1-alpha\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""item\"";a:10:{i:0;a:6:{s:4:\""data\"";s:56:\""\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:39:\""WordPress for iPhone/iPad v2.6 Released\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:43:\""http://wordpress.org/news/2010/09/ios-v2-6/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:52:\""http://wordpress.org/news/2010/09/ios-v2-6/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 30 Sep 2010 03:23:31 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:6:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:5:\""apple\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:3:\""ios\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:4:\""ipad\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:4;a:5:{s:4:\""data\"";s:6:\""iphone\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:5;a:5:{s:4:\""data\"";s:6:\""mobile\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1497\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:335:\""Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn&#8217;t for you? Either way, the new release &#8212; v2.6 &#8212; will knock your socks off. Why? A bunch of reasons: Video. Record, upload, attach, and play videos [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2319:\""<p>Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn&#8217;t for you? Either way, the new release &#8212; v2.6 &#8212; will knock your socks off. Why? A bunch of reasons:</p>\n<ul>\n<li>Video. Record, upload, attach, and play videos within the app. Yay for being able to catch your friends&#8217; and co-workers&#8217; most <del>embarrassing shenanigans</del> <em>creative moments</em> with iPhone video and publish them immediately for all the world to see on your WordPress site.</li>\n<li>A total rewrite of the way local drafts are handled, to prevent the unintentional loss of your pending posts.</li>\n<li>Autosave/post revisions. Bam! One of the &#8220;oh, thank goodness&#8221; features of the web app makes it into the iOS version.</li>\n<li>Easier setup. Faster and easier process for adding your sites to the app.</li>\n<li>Media Library. We&#8217;re gradually getting closer to the media management you&#8217;re used to in the web app.</li>\n</ul>\n<p>There are also numerous bugfixes and performance enhancements in this release, so if you haven&#8217;t been using the app lately, you should consider giving it another try. I&#8217;m personally pretty excited to start using the iPhone version more often now that there are all these fixes and new features. Especially the video upload. You know, for those <em>creative moments</em> that make life fun. <img src=\'http://wordpress.org/news/wp-includes/images/smilies/icon_smile.gif\' alt=\':)\' class=\'wp-smiley\' /> </p>\n<p>You can read the full <a href=\""http://ios.wordpress.org/2010/09/29/introducing-version-2-6/\"">2.6 release post on the WordPress for iOS blog</a>, and can download v2.6 from iTunes/the app store. Happy mobile blogging!</p>\n<p style=\""text-align: center\"">* * *</p>\n<p>Not an iPhone user? We&#8217;ve still got your on-the-go back! Check out the WordPress apps for <a href=\""http://android.wordpress.org/\"">Android</a>, <a href=\""http://blackberry.wordpress.org/\"">Blackberry</a>, and <a href=\""http://nokia.wordpress.org/\"">Nokia (beta)</a>. They&#8217;re all 100% GPL, of course, and we&#8217;re always looking for contributors to the development projects, so check the blogs if you have mobile dev skills and want to get involved.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:48:\""http://wordpress.org/news/2010/09/ios-v2-6/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:1;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""WordPress Trademark Changes Hands\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/09/trademark-to-wpf/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:60:\""http://wordpress.org/news/2010/09/trademark-to-wpf/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 09 Sep 2010 23:14:13 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:4:{i:0;a:5:{s:4:\""data\"";s:7:\""General\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:10:\""Automattic\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:9:\""Trademark\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:20:\""WordPress Foundation\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1488\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:379:\""The WordPress community took a big step forward today when Matt announced that Automattic has donated the WordPress trademark to the non-profit WordPress Foundation. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:502:\""<p>The WordPress community took a big step forward today when <a href=\""http://wp.me/p4oB3-9ie\"">Matt announced</a> that Automattic has donated the WordPress trademark to the non-profit <a href=\""http://wp.me/pMBRF-1u\"">WordPress Foundation</a>. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out if a resource is &#8220;official&#8221; or not.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:56:\""http://wordpress.org/news/2010/09/trademark-to-wpf/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:2;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""WordPress 3.0.1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:59:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 29 Jul 2010 21:38:47 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1475\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:338:\""After nearly 11 million downloads of WordPress 3.0 in just 42 days, we&#8217;re releasing WordPress 3.0.1. The requisite haiku: Three dot oh dot one Bug fixes to make you smile Update your WordPress This maintenance release addresses about 50 minor issues. The testing many of you contributed prior to the release of 3.0 helped make [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Andrew Nacin\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:951:\""<p>After nearly <a href=\""http://wordpress.org/download/counter/\"">11 million downloads</a> of WordPress 3.0 in just 42 days, we&#8217;re releasing WordPress 3.0.1. The requisite haiku:</p>\n<p>Three dot oh dot one<br />\nBug fixes to make you smile<br />\nUpdate your WordPress</p>\n<p>This maintenance release addresses <a href=\""http://codex.wordpress.org/Version_3.0.1\"">about 50 minor issues</a>. The testing many of you contributed prior to the release of 3.0 helped make it one of the best and most stable releases we&#8217;ve had.</p>\n<p><a href=\""http://wordpress.org/download/\"">Download 3.0.1</a> or update automatically from the Dashboard &gt; Updates menu in your site&#8217;s admin area.</p>\n<p><em>Note: If you downloaded 3.0.1 in the first 20 minutes of release (before 2200 UTC), you&#8217;ll want to reinstall it, which you can do right from your Updates screen. <a href=\""http://twitter.com/wordpress/status/19859163982\"">Our bad</a>.</em></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:55:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:3;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:42:\""PHP 4 and MySQL 4 End of Life Announcement\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:58:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:67:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 23 Jul 2010 19:01:46 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:4:{i:0;a:5:{s:4:\""data\"";s:7:\""Hosting\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:5:\""MySQL\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:3:\""PHP\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:12:\""requirements\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1447\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:348:\""Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Mark Jaquith\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:3021:\""<p>Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the requirements for running WordPress. Now is one of those times. You probably guessed it from the title &#8212; we&#8217;re finally ready to announce the end of support for PHP 4 and MySQL 4!</p>\n<p>First up, the announcement that developers really care about. WordPress 3.1, due in late 2010, will be the last version of WordPress to support PHP 4.</p>\n<p>For WordPress 3.2, due in the first half of 2011, we will be raising the minimum required PHP version to 5.2. Why 5.2? Because that&#8217;s what the vast majority of WordPress users are using, and it offers substantial improvements over earlier PHP 5 releases. It is also the minimum PHP version that the <a href=\""http://drupal.org/\"">Drupal</a> and <a href=\""http://www.joomla.org/\"">Joomla</a> projects will be supporting in their next versions, both due out this year.</p>\n<p>The numbers are now, <em>finally</em>, strongly in favor of this move. Only around 11 percent of WordPress installs are running on a PHP version below 5.2. Many of them are on hosts who support PHP 5.2 &#8212; users merely need to change a setting in their hosting control panel to activate it. We believe that percentage will only go down over the rest of the year as hosting providers realize that to support the newest versions of WordPress (or Drupal, or Joomla), they&#8217;re going to have to pull the trigger.</p>\n<p>In less exciting news, we are also going to be dropping support for MySQL 4 after WordPress 3.1. Fewer than 6 percent of WordPress users are running MySQL 4. The new required MySQL version for WordPress 3.2 will be 5.0.15.</p>\n<p>WordPress users will not be able to upgrade to WordPress 3.2 if their hosting environment does not meet these requirements (the built-in updater will prevent it). In order to determine which versions your host provides, we&#8217;ve created the <a href=\""http://wordpress.org/extend/plugins/health-check/\"">Health Check plugin</a>. You can download it manually, or use this <a href=\""http://coveredwebservices.com/wp-plugin-install/?plugin=health-check\"">handy plugin installation</a> tool I whipped up. Right now, Health Check will only tell you if you&#8217;re ready for WordPress 3.2. In a future release it will provide all sorts of useful information about your server and your WordPress install, so hang on to it!</p>\n<p>In summary: WordPress 3.1, due in late 2010, will be the last version of WordPress to support PHP 4 and MySQL 4. WordPress 3.2, due in the first half of 2011, will require PHP 5.2 or higher, and MySQL 5.0.15 or higher. <a href=\""http://coveredwebservices.com/wp-plugin-install/?plugin=health-check\"">Install the Health Check plugin</a> to see if you&#8217;re ready!</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:4;a:6:{s:4:\""data\"";s:44:\""\n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:41:\""100 Million Plugin Downloads and Counting\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:46:\""http://wordpress.org/news/2010/07/100-million/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:55:\""http://wordpress.org/news/2010/07/100-million/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 02 Jul 2010 17:48:34 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:2:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1429\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:364:\""WordPress 3.0 Thelonious passed 3 million downloads yesterday, and today the plugin directory followed suit with a milestone of its own: 100 million downloads. The WordPress community&#8217;s growth over the years has been tremendous, and we want to reinvest in it. So we&#8217;re taking the next two months to concentrate on improving WordPress.org. A major [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Andrew Nacin\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2319:\""<p>WordPress 3.0 Thelonious passed <a href=\""http://wordpress.org/download/counter/\"">3 million downloads</a> yesterday, and today <a href=\""http://wordpress.org/extend/plugins/\"">the plugin directory</a> followed suit with a milestone of its own: 100 million downloads.</p>\n<p>The WordPress community&#8217;s growth over the years has been tremendous, and we want to reinvest in it. So we&#8217;re taking the next two months to concentrate on improving WordPress.org. A major part of that will be improving the infrastructure of the plugins directory. More than 10,000 plugins are in the directory, every one of them GPL compatible and free as in both beer and speech. Here&#8217;s what we have in mind:</p>\n<p>We want to provide developers the tools they need to build the best possible plugins. We&#8217;re going to provide better integration with the forums so you can support your users. We&#8217;ll make more statistics available to you so you can analyze your user base, and over time we hope to make it easier for you to manage, build, and release localized plugins.</p>\n<p>We want to improve how the core software works with your plugin and the plugin directory. We&#8217;re going to focus on ensuring seamless upgrades by making the best possible determinations about compatibility, and offer continual improvements to the plugin installer. And we also want to give you a better developer tool set like SVN notifications and improvements to the bug tracker.</p>\n<p>We&#8217;re also going to experiment with other great ideas to help the community help plugin authors. We want it to be easy for you to offer comments to plugin authors and the community, including user reviews and better feedback. We may experiment with an adoption process for abandoned plugins as a way to revitalize hidden gems in the directory. I&#8217;m not sure there is a better way to show how extendable WordPress is and how awesome this community is at the same time.</p>\n<p>As <a href=\""http://wordpress.org/development/2010/06/thelonious/\"">Matt said in the 3.0 release announcement</a>, our goal isn&#8217;t to make everything perfect all at once. But we think incremental improvements can provide us with a great base for 3.1 and beyond, and for the tens of millions of users, and hundreds of millions of plugin downloads to come.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/07/100-million/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:5;a:6:{s:4:\""data\"";s:44:\""\n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:18:\""Summer of WordCamp\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:53:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:62:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Tue, 29 Jun 2010 17:19:45 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:2:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:8:\""WordCamp\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1418\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:355:\""It&#8217;s been summer for about a week now. Whether you&#8217;re on vacation or burning the midnight oil, attending a local/nearby WordCamp is a great way to spend a weekend. Meet other WordPress users, developers, designers &#38; consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5678:\""<p>It&#8217;s been summer for about a week now. Whether you&#8217;re on vacation or burning the midnight oil, attending a local/nearby <a href=\""http://wordcamp.org\"">WordCamp</a> is a great way to spend a weekend. Meet other WordPress users, developers, designers &amp; consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or raise a toast) with new friends and collaborators. Here are the WordCamps scheduled for this summer, along with what I know about them.</p>\n<p>July 3: <a href=\""http://wordcamp.de/\"">WordCamp Germany</a> &#8211; Berlin, Germany. I love it that they&#8217;re using BuddyPress for their event site. They have multiple tracks, and what looks to be a nice variety of sessions. It&#8217;s only a few days away, so if you&#8217;re thinking of going, get your tickets now!</p>\n<p>July 10: <a href=\""http://2010.boulder.wordcamp.org/\"">WordCamp Boulder</a> &#8211; Boulder, Colorado, USA. This was WordCamp Denver last year, but the organizers have decided to mix it up and go back and forth between Denver and Boulder, which also has a thriving tech community. This year the venue is the Boulder Theater (so pretty!), and there will sessions for bloggers and devs alike, plus a Genius Bar to help people get their WordPress sites all fixed up. The speaker lineup looks good, and I hear they&#8217;re pumping up the wifi this year. I&#8217;ll be there, likely hunched over a notebook with Lisa Sabin-Wilson (author of <em>WordPress for Dummies</em> and <em>BuddyPress for Dummies</em>) to talk about the WordPress User Handbook project, and/or hunched over a sketchbook with Kevin Conboy (designed the new lighter &#8220;on&#8221; state for admin menus in WordPress 3.0) to work out a new default WordCamp.org theme (using BuddyPress). You can still get tickets!</p>\n<p>July 17–18: <a href=\""http://uk.wordcamp.org/\"">WordCamp UK</a>- Manchester, England, UK. The roving WordCamp UK will be in Manchester this year, and is probably the closest to BarCamp style of all the WordCamps, using a wiki to plan some speakers/sessions and organizing the rest ad-hoc on the first day of the event. I&#8217;ll be attending this one as well, and am looking forward to seeing WordPress lead developer Peter Westwood again. I&#8217;m also looking forward to meeting some core contributors for the first time in person, like Simon Wheatley and John O&#8217;Nolan. Mike Little, co-founder of WordPress, is on the organizing team of WordCamp UK. Tickets on sale now!</p>\n<p>July 24: WordCamp Nigeria &#8211; Lagos, Nigeria. Their site seems to have a virus, so no link from here, but if you&#8217;re in Nigeria and interested in attending/getting involved, a quick Google search will get you to the organizers.</p>\n<p>August 7: <a href=\""http://www.wordcamphouston.com/\"">WordCamp Houston</a> &#8211; Houston, TX, USA. Houston, Texas, birthplace of WordPress! Fittingly, Matt Mullenweg will be there to give the keynote. WordCamp Houston is running three tracks &#8212; Business, Blogger and Developer &#8212; in recognition of the fact that people who are interested in using WordPress for their business may not actually be bloggers or developers themselves. This used to get labeled as a &#8220;CMS&#8221; track at previous WordCamps (including NYC 2009), but with WordPress 3.0 supporting CMS functionality out of the box, &#8220;Business&#8221; is a much more appropriate label. Who wants to bet on if there will be BBQ for lunch?</p>\n<p>August 7 : <a href=\""http://wordcampiowa.org/\"">WordCamp Iowa</a> &#8211; Des Moines, Iowa, USA. Another placeholder page. Happening, not happening? I&#8217;ve emailed the organizer and will update this post once I know more.</p>\n<p>August 7–8: <a href=\""http://wordcamp.org.nz/\"">WordCamp New Zealand</a> &#8211; Auckland, New Zealand. They haven&#8217;t announced this year&#8217;s speakers or topics, but they&#8217;ve been running polls to get community input into the program. Of note: in 2011 WordCamp New Zealand will be shifting seasons and will be in February instead, when the weather is nicer.</p>\n<p>August 20–22: <a href=\""http://2010.savannah.wordcamp.org/\"">WordCamp Savannah</a> &#8211; Savannah, Georgia, USA. Disclaimer: I am completely biased about Savannah, since I&#8217;m one of the organizers. This will be the first WordCamp in Savannah, and it&#8217;s being held at the Savannah College of Art and Design River Club, an awesome venue that used to be a cotton warehouse or something like that. Since Savannah doesn&#8217;t really have a cohesive WordPress community yet (though a fair number of people from Savannah attended WordCamp Atlanta earlier this year), this WordCamp is aimed squarely at building a local community. We&#8217;ll have a local meet-and-greet, regular sessions with visiting speakers (lots of core contributors coming to this one, plus Matt), and on Sunday it will be combination unconference/genius bar/collaborative workspace. Oh, and a potluck! We&#8217;ll also be running a pre-WordCamp workshop for people who have never used WordPress but want to get started, so that they&#8217;ll be able to follow the presentations and conversations littered with WordPress-specific vocabulary over the weekend. Ticket sales just opened, so get your tickets now.</p>\n<p>For a <a href=\""http://central.wordcamp.org/schedule/\"">schedule of all upcoming WordCamps</a>, visit <a href=\""http://central.wordcamp.org/\"">wordcamp.org</a>. The autumn schedule is already packed! If you don&#8217;t see WordCamp in your area and are interested in organizing one, <a href=\""http://central.wordcamp.org/about/\"">get more information and let us know</a>.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:58:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:6;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:26:\""WordPress 3.0 \""Thelonious\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:45:\""http://wordpress.org/news/2010/06/thelonious/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:54:\""http://wordpress.org/news/2010/06/thelonious/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 17 Jun 2010 16:26:36 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1380\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:341:\""Arm your vuvuzelas: WordPress 3.0, the thirteenth major release of WordPress and the culmination of half a year of work by 218 contributors, is now available for download (or upgrade within your dashboard). Major new features in this release include a sexy new default theme called Twenty Ten. Theme developers have new APIs that allow [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""Matt Mullenweg\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:38078:\""<p>Arm your vuvuzelas: WordPress 3.0, the thirteenth major release of WordPress and the culmination of half a year of work by 218 contributors, is <a href=\""http://wordpress.org/download/\"">now available for download</a> (or <a href=\""http://codex.wordpress.org/Dashboard_Updates_SubPanel\"">upgrade within your dashboard</a>). Major new features in this release include a sexy <strong>new default theme called Twenty Ten</strong>. Theme developers have new APIs that allow them to easily implement custom backgrounds, headers, shortlinks, <a href=\""http://codex.wordpress.org/Appearance_Menus_SubPanel\"">menus</a> (no more file editing), <a href=\""http://codex.wordpress.org/Custom_Post_Types\"">post types</a>, and <a href=\""http://codex.wordpress.org/Custom_Taxonomies\"">taxonomies</a>. (Twenty Ten theme shows all of that off.) Developers and network admins will appreciate the long-awaited <strong>merge of MU and WordPress</strong>, creating the new multi-site functionality which makes it possible to run one blog or ten million from the same installation. As a user, you will love the new <strong>lighter interface</strong>, the contextual help on every screen, the <strong>1,217 bug fixes and feature enhancements</strong>, bulk updates so you can upgrade 15 plugins at once with a single click, and blah blah blah just watch the video. <img src=\'http://wordpress.org/news/wp-includes/images/smilies/icon_smile.gif\' alt=\':)\' class=\'wp-smiley\' /> <em>(In HD, if you can, so you can catch the Easter eggs.)</em></p>\n<p><object classid=\""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" width=\""640\"" height=\""360\"" codebase=\""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""><param name=\""flashvars\"" value=\""guid=BQtfIEY1&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\"" /><param name=\""src\"" value=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" /><param name=\""wmode\"" value=\""transparent\"" /><param name=\""allowfullscreen\"" value=\""true\"" /><embed type=\""application/x-shockwave-flash\"" width=\""640\"" height=\""360\"" src=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" allowfullscreen=\""true\"" wmode=\""transparent\"" flashvars=\""guid=BQtfIEY1&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\""></embed></object></p>\n<p>If you&#8217;d like to embed the WordPress 3.0 video tour in your blog, copy and paste this code for the high quality version:</p>\n<pre class=\""brush: xml;\"">&lt;embed src=&quot;http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;640&quot; height=&quot;360&quot; wmode=&quot;transparent&quot; seamlesstabbing=&quot;true&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; overstretch=&quot;true&quot; flashvars=&quot;guid=BQtfIEY1&amp;amp;width=640&amp;amp;height=360&amp;amp;locksize=no&amp;amp;dynamicseek=false&amp;amp;qc_publisherId=p-18-mFEk4J448M&quot; title=&quot;Introducing WordPress 3.0 &amp;quot;Thelonious&amp;quot;&quot;&gt;&lt;/embed&gt;</pre>\n<p>For a more comprehensive look at everything that has improved in 3.0 check out <a href=\""http://codex.wordpress.org/Version_3.0\"">3.0&#8242;s Codex page</a> or the <a href=\""http://core.trac.wordpress.org/query?group=status&amp;milestone=3.0&amp;desc=1&amp;order=priority\"">long list of issues in Trac</a>. (We&#8217;re trying to keep these announcement posts shorter.) Whew! That&#8217;s a lot packed into one release. I can&#8217;t think of a better way to kick off the 3.X cycle we&#8217;ll be in for the next two and a half years.</p>\n<h3>The Future</h3>\n<p>Normally this is where I&#8217;d say we&#8217;re about to start work on 3.1, but we&#8217;re actually not. We&#8217;re going to take a release cycle off to focus on all of the things around WordPress. The growth of the community has been breathtaking, including over 10.3 million downloads of version 2.9, but so much of our effort has been focused on the core software it hasn&#8217;t left much time for anything else. Over the next three months we&#8217;re going to split into ninja/pirate teams focused on different areas of the around-WordPress experience, including the showcase, Codex, forums, profiles, update and compatibility APIs, theme directory, plugin directory, mailing lists, core plugins, wordcamp.org&#8230; the possibilities are endless. The goal of the teams isn&#8217;t going to be to make things perfect all at once, just better than they are today. We think this investment of time will give us a much stronger infrastructure to grow WordPress.org for the many tens of millions of users that will join us during the 3.X release cycle.</p>\n<h3>It Takes a Village</h3>\n<p>I&#8217;m proud to acknowledge the contributions of the following <strong>218</strong> people to the 3.0 release cycle. These are the folks that make WordPress what it is, whose collaboration and hard work enable us to build something greater than the sum of our parts. In alphabetical order, of course.</p>\n<p><strong>Committers:</strong> <a href=\""http://www.laptoptips.ca/\"">azaozz (Andrew Ozz)</a> (<a title=\""azaozz at WP Profiles\"" href=\""http://profiles.wordpress.org/azaozz\"">prof</a>), <a href=\""http://dd32.id.au/\"">dd32 (Dion Hulse)</a> (<a title=\""dd32 at WP Profiles\"" href=\""http://profiles.wordpress.org/dd32\"">prof</a>), <a href=\""http://ocaoimh.ie/\"">donncha (Donncha O Caoimh)</a> (<a title=\""donncha at WP Profiles\"" href=\""http://profiles.wordpress.org/donncha\"">prof</a>), <a href=\""http://iammattthomas.com/\"">iammattthomas (Matt Thomas)</a> (<a title=\""iammattthomas at WP Profiles\"" href=\""http://profiles.wordpress.org/iammattthomas\"">prof</a>), <a href=\""http://josephscott.org/\"">josephscott (Joseph Scott)</a> (<a title=\""josephscott at WP Profiles\"" href=\""http://profiles.wordpress.org/josephscott\"">prof</a>), <a href=\""http://txfx.net/\"">markjaquith (Mark Jaquith)</a> (<a title=\""markjaquith at WP Profiles\"" href=\""http://profiles.wordpress.org/markjaquith\"">prof</a>), <a href=\""http://ma.tt/\"">matt (Matt Mullenweg)</a> (<a title=\""matt at WP Profiles\"" href=\""http://profiles.wordpress.org/matt\"">prof</a>), <a href=\""http://andrewnacin.com/\"">nacin (Andrew Nacin)</a> (<a title=\""nacin at WP Profiles\"" href=\""http://profiles.wordpress.org/nacin\"">prof</a>), <a href=\""http://nikolay.bg/\"">nbachiyski (Николай Бачийски)</a> (<a title=\""nbachiyski at WP Profiles\"" href=\""http://profiles.wordpress.org/nbachiyski\"">prof</a>), <a href=\""http://boren.nu/\"">ryan (Ryan Boren)</a> (<a title=\""ryan at WP Profiles\"" href=\""http://profiles.wordpress.org/ryan\"">prof</a>), <a href=\""http://blog.ftwr.co.uk/\"">westi (Peter Westwood)</a> (<a title=\""westi at WP Profiles\"" href=\""http://profiles.wordpress.org/westi\"">prof</a>), and <a href=\""http://wpmututorials.com/\"">wpmuguru (Ron Rennick)</a> (<a title=\""wpmuguru at WP Profiles\"" href=\""http://profiles.wordpress.org/wpmuguru\"">prof</a>). <strong>Contributors:</strong> <a href=\""http://xavisys.com/\"">aaroncampbell (Aaron Campbell)</a> (<a title=\""aaroncampbell at WP Profiles\"" href=\""http://profiles.wordpress.org/aaroncampbell\"">prof</a>), akerem (<a title=\""akerem at WP Profiles\"" href=\""http://profiles.wordpress.org/akerem\"">prof</a>), <a href=\""http://alexking.org/\"">alexkingorg (Alex King)</a> (<a title=\""alexkingorg at WP Profiles\"" href=\""http://profiles.wordpress.org/alexkingorg\"">prof</a>), amattie (<a title=\""amattie at WP Profiles\"" href=\""http://profiles.wordpress.org/amattie\"">prof</a>), <a href=\""http://notfornoone.com/\"">ampt (Luke Gallagher)</a> (<a title=\""ampt at WP Profiles\"" href=\""http://profiles.wordpress.org/ampt\"">prof</a>), <a href=\""http://wpmututorials.com/\"">andrea_r</a> (<a title=\""andrea_r at WP Profiles\"" href=\""http://profiles.wordpress.org/andrea_r\"">prof</a>), <a href=\""http://andreasnurbo.com/\"">andreasnrb (Andreas Nurbo)</a> (<a title=\""andreasnrb at WP Profiles\"" href=\""http://profiles.wordpress.org/andreasnrb\"">prof</a>), <a href=\""http://twitter.com/anilo4ever\"">anilo4ever (Angelo Verona)</a> (<a title=\""anilo4ever at WP Profiles\"" href=\""http://profiles.wordpress.org/anilo4ever\"">prof</a>), <a href=\""http://apeatling.wordpress.com/\"">apeatling (Andy Peatling)</a> (<a title=\""apeatling at WP Profiles\"" href=\""http://profiles.wordpress.org/apeatling\"">prof</a>), <a href=\""http://blog.apokalyptik.com/\"">apokalyptik (Demitrious Kelly)</a> (<a title=\""apokalyptik at WP Profiles\"" href=\""http://profiles.wordpress.org/apokalyptik\"">prof</a>), <a href=\""http://www.mailpress.org/\"">arena (André Renaut)</a> (<a title=\""arena at WP Profiles\"" href=\""http://profiles.wordpress.org/arena\"">prof</a>), <a href=\""http://barry.wordpress.com/\"">barry (Barry Abrahamson)</a> (<a title=\""barry at WP Profiles\"" href=\""http://profiles.wordpress.org/barry\"">prof</a>), <a href=\""http://digitalize.ca/\"">batmoo (Mohammad Jangda)</a> (<a title=\""batmoo at WP Profiles\"" href=\""http://profiles.wordpress.org/batmoo\"">prof</a>), <a href=\""http://dentedreality.com.au/\"">beaulebens (Beau Lebens)</a> (<a title=\""beaulebens at WP Profiles\"" href=\""http://profiles.wordpress.org/beaulebens\"">prof</a>), <a href=\""http://use.perl.org/~belg4mit/\"">belg4mit</a> (<a title=\""belg4mit at WP Profiles\"" href=\""http://profiles.wordpress.org/belg4mit\"">prof</a>), <a href=\""http://matthewgrichmond.com/dev/\"">bigdawggi (Matthew G. Richmond)</a> (<a title=\""blepoxp at WP Profiles\"" href=\""http://profiles.wordpress.org/blepoxp\"">prof</a>), <a href=\""http://fullthrottledevelopment.com/\"">blepoxp (Glenn Ansley)</a> (<a title=\""blepoxp at WP Profiles\"" href=\""http://profiles.wordpress.org/blepoxp\"">prof</a>), <a href=\""http://twitter.com/thenbrent\"">brentes (Brent Shepherd)</a> (<a title=\""brentes at WP Profiles\"" href=\""http://profiles.wordpress.org/brentes\"">prof</a>), <a href=\""http://colinger.com/\"">briancolinger (Brian Colinger)</a> (<a title=\""briancolinger at WP Profiles\"" href=\""http://profiles.wordpress.org/briancolinger\"">prof</a>), <a href=\""http://www.bumbu.ru/\"">bumbu</a> (<a title=\""bumbu at WP Profiles\"" href=\""http://profiles.wordpress.org/bumbu\"">prof</a>), <a href=\""http://www.caesarsgrunt.com/\"">caesarsgrunt (Caesar Schinas)</a> (<a title=\""caesarsgrunt at WP Profiles\"" href=\""http://profiles.wordpress.org/caesarsgrunt\"">prof</a>), camiloclc (<a title=\""camiloclc at WP Profiles\"" href=\""http://profiles.wordpress.org/camiloclc\"">prof</a>), CAMWebDesign (<a title=\""CAMWebDesign at WP Profiles\"" href=\""http://profiles.wordpress.org/CAMWebDesign\"">prof</a>), carbolineum (<a title=\""carbolineum at WP Profiles\"" href=\""http://profiles.wordpress.org/carbolineum\"">prof</a>), <a href=\""http://blog.caspie.net/\"">caspie</a> (<a title=\""caspie at WP Profiles\"" href=\""http://profiles.wordpress.org/caspie\"">prof</a>), <a href=\""http://www.catiakitahara.com.br/\"">catiakitahara (Cátia Kitahara)</a> (<a title=\""catiakitahara at WP Profiles\"" href=\""http://profiles.wordpress.org/catiakitahara\"">prof</a>), <a href=\""http://www.clarksonenergyhomes.com/wordpress/\"">CharlesClarkson (Charles Clarkson)</a> (<a title=\""CharlesClarkson at WP Profiles\"" href=\""http://profiles.wordpress.org/CharlesClarkson\"">prof</a>), <a href=\""http://chdorner.com/\"">chdorner (Christof Dorner)</a> (<a title=\""chdorner at WP Profiles\"" href=\""http://profiles.wordpress.org/chdorner\"">prof</a>), <a href=\""http://gaarai.com/\"">chrisbliss18 (Chris Jean)</a> (<a title=\""chrisbliss18 at WP Profiles\"" href=\""http://profiles.wordpress.org/chrisbliss18\"">prof</a>), <a href=\""http://vocecommunications.com/\"">chrisscott (Chris Scott)</a> (<a title=\""chrisscott at WP Profiles\"" href=\""http://profiles.wordpress.org/chrisscott\"">prof</a>), <a href=\""http://brandonallen.org/\"">cnorris23 (Brandon Allen)</a> (<a title=\""cnorris23 at WP Profiles\"" href=\""http://profiles.wordpress.org/cnorris23\"">prof</a>), <a href=\""http://coffee2code.com/\"">coffee2code (Scott Reilly)</a> (<a title=\""coffee2code at WP Profiles\"" href=\""http://profiles.wordpress.org/coffee2code\"">prof</a>), computerwiz908 (<a title=\""computerwiz908 at WP Profiles\"" href=\""http://profiles.wordpress.org/computerwiz908\"">prof</a>), <a href=\""http://www.cyberhobo.net/\"">cyberhobo (Dylan Kuhn)</a> (<a title=\""cyberhobo at WP Profiles\"" href=\""http://profiles.wordpress.org/cyberhobo\"">prof</a>), <a href=\""http://dan-cole.com/\"">dancole (Dan Cole)</a> (<a title=\""dancole at WP Profiles\"" href=\""http://profiles.wordpress.org/dancole\"">prof</a>), <a href=\""http://danielkoskinen.com/\"">Daniel Koskinen</a> <!--PROF?-->, <a href=\""http://gsocdk.wordpress.com/\"">deepak.seth (Deepak Seth)</a>, <a href=\""http://op111.net/\"">demetris (Δημήτρης Κίκιζας)</a> (<a title=\""demetris at WP Profiles\"" href=\""http://profiles.wordpress.org/demetris\"">prof</a>), <a href=\""http://www.semiologic.com/\"">Denis-de-Bernardy</a> (<a title=\""Denis-de-Bernardy at WP Profiles\"" href=\""http://profiles.wordpress.org/Denis-de-Bernardy\"">prof</a>), <a href=\""http://www.milandinic.com/\"">dimadin (Milan Dinić)</a> (<a title=\""dimadin at WP Profiles\"" href=\""http://profiles.wordpress.org/dimadin\"">prof</a>), <a href=\""http://twitter.com/dndrnkrd\"">dndrnkrd (Dan Drinkard)</a> (<a title=\""dndrnkrd at WP Profiles\"" href=\""http://profiles.wordpress.org/dndrnkrd\"">prof</a>), <a href=\""http://docwhat.org/\"">docwhat</a> (<a title=\""docwhat at WP Profiles\"" href=\""http://profiles.wordpress.org/docwhat\"">prof</a>), <a href=\""http://twitter.com/dougwrites\"">dougwrites</a> (<a title=\""dougwrites at WP Profiles\""<br />\n href=\""http://profiles.wordpress.org/dougwrites\"">prof</a>), <a href=\""http://phiffer.org/\"">dphiffer (Dan Phiffer)</a> (<a title=\""dphiffer at WP Profiles\"" href=\""http://profiles.wordpress.org/dphiffer\"">prof</a>), dragoonis (<a title=\""dragoonis at WP Profiles\"" href=\""http://profiles.wordpress.org/dragoonis\"">prof</a>), <a href=\""http://wpvibe.com/\"">dremeda (Dre Armeda)</a> (<a title=\""dremeda at WP Profiles\"" href=\""http://profiles.wordpress.org/dremeda\"">prof</a>), dtoj <!--PROF?-->, <a href=\""http://dougal.gunters.org/\"">dougal (Dougal Campbell)</a> (<a title=\""dougal at WP Profiles\"" href=\""http://profiles.wordpress.org/dougal\"">prof</a>), <a href=\""http://lionsgoroar.co.uk/\"">duck_ (Jon Cave)</a> (<a title=\""duck_ at WP Profiles\"" href=\""http://profiles.wordpress.org/duck_\"">prof</a>), <a href=\""http://dxjones.com/\"">dxjones (David Jones)</a> (<a title=\""dxjones at WP Profiles\"" href=\""http://profiles.wordpress.org/dxjones\"">prof</a>), <a href=\""http://eddieringle.com/\"">eddieringle (Eddie Ringle)</a> (<a title=\""eddieringle at WP Profiles\"" href=\""http://profiles.wordpress.org/eddieringle\"">prof</a>), <a href=\""http://mindreantre.se/\"">edward mindreantre (Edward Hevlund)</a>, eoinomurchu (<a title=\""eoinomurchu at WP Profiles\"" href=\""http://profiles.wordpress.org/eoinomurchu\"">prof</a>), <a href=\""http://field2.com/\"">empireoflight/Ben Dunkle</a> (<a title=\""empireoflight at WP Profiles\"" href=\""http://profiles.wordpress.org/empireoflight\"">prof</a>), <a href=\""http://www.mindsharestrategy.com/\"">ericmann (Eric Mann)</a> (<a title=\""ericmann at WP Profiles\"" href=\""http://profiles.wordpress.org/ericmann\"">prof</a>), <a href=\""http://www.eddiemonge.com/\"">etiger13 (Eddie Monge Jr.)</a> (<a title=\""etiger13 at WP Profiles\"" href=\""http://profiles.wordpress.org/etiger13\"">prof</a>), <a href=\""http://www.ilfilosofo.com/\"">filosofo (Austin Matzko)</a> (<a title=\""filosofo at WP Profiles\"" href=\""http://profiles.wordpress.org/filosofo\"">prof</a>), firebird75 (<a title=\""firebird75 at WP Profiles\"" href=\""http://profiles.wordpress.org/firebird75\"">prof</a>), <a href=\""http://www.frankieroberto.com/\"">frankieroberto (Frankie Roberto)</a> (<a title=\""frankieroberto at WP Profiles\"" href=\""http://profiles.wordpress.org/frankieroberto\"">prof</a>), <a href=\""http://frumph.net/\"">Frumph (Philip M. Hofer)</a> (<a title=\""Frumph at WP Profiles\"" href=\""http://profiles.wordpress.org/Frumph\"">prof</a>), <a href=\""http://www.garyc40.com/\"">garyc40 (Gary Cao)</a> (<a title=\""garyc40 at WP Profiles\"" href=\""http://profiles.wordpress.org/garyc40\"">prof</a>), <a href=\""http://gaut.am/\"">gautam2011</a> (<a title=\""gautam2011 at WP Profiles\"" href=\""http://profiles.wordpress.org/gautam2011\"">prof</a>), <a href=\""http://twitter.com/garymross\"">Gary Ross (Gazzer)</a> <!--PROF?-->, <a href=\""http://www.dev4press.com/\"">GDragoN (Milan Petrovic)</a> (<a title=\""GDragoN at WP Profiles\"" href=\""http://profiles.wordpress.org/GDragoN\"">prof</a>), <a href=\""http://justintadlock.com/\"">greenshady (Justin Tadlock)</a> (<a title=\""greenshady at WP Profiles\"" href=\""http://profiles.wordpress.org/greenshady\"">prof</a>), <a href=\""http://www.dennismorhardt.de/\"">GIGALinux (Dennis Morhardt)</a> (<a title=\""GIGALinux at WP Profiles\"" href=\""http://profiles.wordpress.org/GIGALinux\"">prof</a>), <a href=\""http://hakre.wordpress.com/\"">hakre</a> (<a title=\""hakre at WP Profiles\"" href=\""http://profiles.wordpress.org/hakre\"">prof</a>), husky (<a title=\""husky at WP Profiles\"" href=\""http://profiles.wordpress.org/husky\"">prof</a>), <a href=\""http://themeshaper.com/\"">iandstewart (Ian Stewart)</a> (<a title=\""iandstewart at WP Profiles\"" href=\""http://profiles.wordpress.org/iandstewart\"">prof</a>), <a href=\""http://ipstenu.org/\"">ipstenu (Mika Epstein)</a> (<a title=\""ipstenu at WP Profiles\"" href=\""http://profiles.wordpress.org/ipstenu\"">prof</a>), <a href=\""http://jacobsantos.com/\"">jacobsantos (Jacob Santos)</a> (<a title=\""jacobsantos at WP Profiles\"" href=\""http://profiles.wordpress.org/jacobsantos\"">prof</a>), <a href=\""http://om4.com.au/\"">jamescollins (James Collins)</a> (<a title=\""jamescollins at WP Profiles\"" href=\""http://profiles.wordpress.org/jamescollins\"">prof</a>), <a href=\""http://jane.wordpress.com\"">jane (Jane Wells)</a> (<a title=\""jane at WP Profiles\"" href=\""http://profiles.wordpress.org/jane\"">prof</a>), <a href=\""http://blog.trailmeme.com/\"">jbsil (Jesse Silverstein)</a> (<a title=\""jbsil at WP Profiles\"" href=\""http://profiles.wordpress.org/jbsil\"">prof</a>), <a href=\""http://bethesignal.org/\"">jdub (Jeff Waugh)</a> (<a title=\""jdub at WP Profiles\"" href=\""http://profiles.wordpress.org/jdub\"">prof</a>), <a href=\""http://www.jeffikus.com/\"">jeffikus (Jeffrey Pearce)</a> (<a title=\""jeffikus at WP Profiles\"" href=\""http://profiles.wordpress.org/jeffikus\"">prof</a>), <a href=\""http://blog.jeffstieler.com/\"">jeffstieler (Jeff Stieler)</a> (<a title=\""jeffstieler at WP Profiles\"" href=\""http://profiles.wordpress.org/jeffstieler\"">prof</a>), <a href=\""http://simianuprising.com/\"">jeremyclarke (Jeremy Clarke)</a> (<a title=\""jeremyclarke at WP Profiles\"" href=\""http://profiles.wordpress.org/jeremyclarke\"">prof</a>), <a href=\""http://www.jfarthing.com/\"">jfarthing84 (Jeff Farthing)</a> (<a title=\""jfarthing84 at WP Profiles\"" href=\""http://profiles.wordpress.org/jfarthing84\"">prof</a>), <a href=\""http://www.jamesdimick.com/\"">Jick (James Dimick)</a> (<a title=\""Jick at WP Profiles\"" href=\""http://profiles.wordpress.org/Jick\"">prof</a>), <a href=\""http://jonsview.com/\"">jmstacey (Jon Stacey)</a> (<a title=\""jmstacey at WP Profiles\"" href=\""http://profiles.wordpress.org/jmstacey\"">prof</a>), <a href=\""http://jobjorn.se/\"">jobjorn (Jobjörn Folkesson)</a> (<a title=\""jobjorn at WP Profiles\"" href=\""http://profiles.wordpress.org/jobjorn\"">prof</a>), <a href=\""http://devel.kostdoktorn.se/\"">johanee (Johan Eenfeldt)</a> (<a title=\""johanee at WP Profiles\"" href=\""http://profiles.wordpress.org/johanee\"">prof</a>), <a href=\""http://lud.icro.us/\"">johnbillion (John Blackbourn)</a> (<a title=\""johnbillion at WP Profiles\"" href=\""http://profiles.wordpress.org/johnbillion\"">prof</a>), <a href=\""http://johnjamesjacoby.com/\"">johnjamesjacoby/jjj (John James Jacoby)</a> (<a title=\""johnjamesjacoby at WP Profiles\"" href=\""http://profiles.wordpress.org/johnjamesjacoby\"">prof</a>), <a href=\""http://johnjosephbachir.org/\"">johnjosephbachir (John Joseph Bachir)</a> (<a title=\""johnjosephbachir at WP Profiles\"" href=\""http://profiles.wordpress.org/johnjosephbachir\"">prof</a>), <a href=\""http://johnluetke.net/\"">johnl1479 (John Luetke)</a> (<a title=\""johnl1479 at WP Profiles\"" href=\""http://profiles.wordpress.org/johnl1479\"">prof</a>), <a href=\""http://john.onolan.org/\"">johnonolan (John O’Nolan)</a> (<a title=\""johnonolan at WP Profiles\"" href=\""http://profiles.wordpress.org/johnonolan\"">prof</a>), <a href=\""http://www.johnpbloch.com/\"">JohnPBloch/wmrom (John Bloch)</a> (<a title=\""JohnPBloch at WP Profiles\"" href=\""http://profiles.wordpress.org/JohnPBloch\"">prof</a>), <a href=\""http://yoast.com/\"">joostdevalk/yoast (Joost de Valk)</a> (<a title=\""joostdevalk at WP Profiles\"" href=\""http://profiles.wordpress.org/joostdevalk\"">prof</a>), <a href=\""http://aaron.jorb.in/\"">jorbin (Aaron Jorbin)</a> (<a title=\""jorbin at WP Profiles\"" href=\""http://profiles.wordpress.org/jorbin\"">prof</a>), joshtime (<a title=\""joshtime at WP Profiles\"" href=\""http://profiles.wordpress.org/joshtime\"">prof</a>), <a href=\""http://serenelabs.com/\"">jshreve</a> (<a title=\""jshreve at WP Profiles\"" href=\""http://profiles.wordpress.org/jshreve\"">prof</a>), <a href=\""http://tyco.ws/\"">junsuijin</a> (<a title=\""junsuijin at WP Profiles\"" href=\""http://profiles.wordpress.org/junsuijin\"">prof</a>), <a href=\""http://www.wangstedt.net/\"">kallewangstedt (Karl Wångstedt)</a> (<a title=\""kallewangstedt at WP Profiles\"" href=\""http://profiles.wordpress.org/kallewangstedt\"">prof</a>), <a href=\""http://www.keighl.com/\"">keighl (Kyle Truscott)</a> (<a title=\""keighl at WP Profiles\"" href=\""http://profiles.wordpress.org/keighl\"">prof</a>), <a href=\""http://agapetry.net/\"">kevinB (Kevin Behrens)</a> (<a title=\""kevinB at WP Profiles\"" href=\""http://profiles.wordpress.org/kevinB\"">prof</a>), <a href=\""http://drylk.com/\"">koopersmith (Daryl Koopersmith)</a> (<a title=\""koopersmith at WP Profiles\"" href=\""http://profiles.wordpress.org/koopersmith\"">prof</a>), <a href=\""http://www.kpdesign.net/\"">kpdesign (Kim Parsell)<br />\n</a> (<a title=\""kpdesign at WP Profiles\"" href=\""http://profiles.wordpress.org/kpdesign\"">prof</a>), <a href=\""http://www.ktdreyer.com/\"">ktdreyer (Ken Dreyer)</a> (<a title=\""ktdreyer at WP Profiles\"" href=\""http://profiles.wordpress.org/ktdreyer\"">prof</a>), <a href=\""http://kurtmckee.livejournal.com/\"">kurtmckee (Kurt McKee)</a> (<a title=\""kurtmckee at WP Profiles\"" href=\""http://profiles.wordpress.org/kurtmckee\"">prof</a>), <a href=\""http://moggy.laceous.com/\"">laceous</a> (<a title=\""laceous at WP Profiles\"" href=\""http://profiles.wordpress.org/laceous\"">prof</a>), <a href=\""http://simpledream.net/\"">lancewillett (Lance Willett)</a> (<a title=\""lancewillett at WP Profiles\"" href=\""http://profiles.wordpress.org/lancewillett\"">prof</a>), <a href=\""http://lloydbudd.com/\"">lloydbudd (Lloyd Budd)</a> (<a title=\""lloydbudd at WP Profiles\"" href=\""http://profiles.wordpress.org/lloydbudd\"">prof</a>), lriggle (<a title=\""lriggle at WP Profiles\"" href=\""http://profiles.wordpress.org/lriggle\"">prof</a>), markauk (<a title=\""markauk at WP Profiles\"" href=\""http://profiles.wordpress.org/markauk\"">prof</a>), <a href=\""http://www.mark-mcwilliams.com/\"">markmcwilliams (Mark McWilliams)</a> (<a title=\""markmcwilliams at WP Profiles\"" href=\""http://profiles.wordpress.org/markmcwilliams\"">prof</a>), <a href=\""http://markoheijnen.com/\"">markoheijnen (Marko Heijnen)</a> (<a title=\""markoheijnen at WP Profiles\"" href=\""http://profiles.wordpress.org/markoheijnen\"">prof</a>), <a href=\""http://markup.com.ua/\"">markup (Sasha Mukhin)</a> (<a title=\""markup at WP Profiles\"" href=\""http://profiles.wordpress.org/markup\"">prof</a>), mattsains (<a title=\""mattsains at WP Profiles\"" href=\""http://profiles.wordpress.org/mattsains\"">prof</a>), <a href=\""http://matiasventura.com/\"">matveb (Matias Ventura)</a> (<a title=\""matveb at WP Profiles\"" href=\""http://profiles.wordpress.org/matveb\"">prof</a>), <a href=\""http://blogwaffe.com/\"">mdawaffe (Michael Adams)</a> (<a title=\""mdawaffe at WP Profiles\"" href=\""http://profiles.wordpress.org/mdawaffe\"">prof</a>) <!--mdwaffe on r12524-->, mentel_br (<a title=\""mentel_br at WP Profiles\"" href=\""http://profiles.wordpress.org/mentel_br\"">prof</a>), <a href=\""http://webdevstudios.com/about/brian-messenlehner/\"">messenlehner (Brian Messenlehner)</a> (<a title=\""messenlehner at WP Profiles\"" href=\""http://profiles.wordpress.org/messenlehner\"">prof</a>), <a href=\""http://twitter.com/miau_jp\"">miau_jp</a> (<a title=\""miau_jp at WP Profiles\"" href=\""http://profiles.wordpress.org/miau_jp\"">prof</a>), <a href=\""http://binarybonsai.com/\"">Michael (Michael Heilemann)</a> (<a title=\""Michael at WP Profiles\"" href=\""http://profiles.wordpress.org/Michael\"">prof</a>), <a href=\""http://codex.wordpress.org/User:MichaelH\"">MichaelH</a> (<a title=\""MichaelH at WP Profiles\"" href=\""http://profiles.wordpress.org/MichaelH\"">prof</a>), <a href=\""http://mikeschinkel.com/\"">mikeschinkel (Mike Schinkel)</a> (<a title=\""mikeschinkel at WP Profiles\"" href=\""http://profiles.wordpress.org/mikeschinkel\"">prof</a>), Miloslav Beňo <!--r14540, r14545-->, <a href=\""http://www.minusfive.com/\"">minusfive</a> (<a title=\""minusfive at WP Profiles\"" href=\""http://profiles.wordpress.org/minusfive\"">prof</a>), <a href=\""http://blogyul.miqrogroove.com/\"">miqrogroove (Robert Chapin)</a> (<a title=\""miqrogroove at WP Profiles\"" href=\""http://profiles.wordpress.org/miqrogroove\"">prof</a>), <a href=\""http://maisonbisson.com/\"">misterbisson (Casey Bisson)</a> (<a title=\""misterbisson at WP Profiles\"" href=\""http://profiles.wordpress.org/misterbisson\"">prof</a>), <a href=\""http://mitcho.com/\"">mitchoyoshitaka (mitcho (Michael 芳貴 Erlewine))</a> (<a title=\""mitchoyoshitaka at WP Profiles\"" href=\""http://profiles.wordpress.org/mitchoyoshitaka\"">prof</a>), <a href=\""http://blog.mmn-o.se/\"">MMN-o</a> (<a title=\""MMN-o at WP Profiles\"" href=\""http://profiles.wordpress.org/MMN-o\"">prof</a>), <a href=\""http://www.herewithme.fr/a-propos\"">momo360modena (Amaury Balmer)</a> (<a title=\""momo360modena at WP Profiles\"" href=\""http://profiles.wordpress.org/momo360modena\"">prof</a>), <a href=\""http://morganestes.wordpress.com/\"">morganestes (Morgan Estes)</a> (<a title=\""morganestes at WP Profiles\"" href=\""http://profiles.wordpress.org/morganestes\"">prof</a>), <a href=\""http://www.misthaven.org.uk/blog/\"">mrmist (David McFarlane)</a> (<a title=\""mrmist at WP Profiles\"" href=\""http://profiles.wordpress.org/mrmist\"">prof</a>), <a href=\""http://nickmomrik.com/\"">mtdewvirus (Nick Momrik)</a> (<a title=\""mtdewvirus at WP Profiles\"" href=\""http://profiles.wordpress.org/mtdewvirus\"">prof</a>), nadavvin (<a title=\""nadavvin at WP Profiles\"" href=\""http://profiles.wordpress.org/nadavvin\"">prof</a>), <a href=\""http://blog.detlog.org/\"">Nao (Naoko McCracken)</a> (<a title=\""Nao at WP Profiles\"" href=\""http://profiles.wordpress.org/Nao\"">prof</a>), <a href=\""http://www.nathanrice.net/\"">nathanrice (Nathan Rice)</a> (<a title=\""nathanrice at WP Profiles\"" href=\""http://profiles.wordpress.org/nathanrice\"">prof</a>), <a href=\""http://www.neotrinity.at/\"">neoxx (Bernhard Riedl)</a> (<a title=\""neoxx at WP Profiles\"" href=\""http://profiles.wordpress.org/nathanrice\"">prof</a>), <a href=\""http://www.niallkennedy.com/\"">niallkennedy (Niall Kennedy)</a> (<a title=\""niallkennedy at WP Profiles\"" href=\""http://profiles.wordpress.org/niallkennedy\"">prof</a>), <a href=\""http://www.rpmurphy.com/\"">ninjaWR (Ryan Murphy)</a> (<a title=\""ninjaWR at WP Profiles\"" href=\""http://profiles.wordpress.org/ninjaWR\"">prof</a>), <a href=\""http://noel.io/\"">noel (Noël Jackson)</a> (<a title=\""noel at WP Profiles\"" href=\""http://profiles.wordpress.org/noel\"">prof</a>), <a href=\""http://nomulous.com/\"">nomulous (Fletcher Tomalty)</a> (<a title=\""nomulous at WP Profiles\"" href=\""http://profiles.wordpress.org/nomulous\"">prof</a>), <a href=\""http://ocean90.wphelper.de/\"">ocean90 (Dominik Schilling)</a> (<a title=\""ocean90 at WP Profiles\"" href=\""http://profiles.wordpress.org/ocean90\"">prof</a>), <a href=\""http://ottodestruct.com/\"">Otto42 (Samuel Wood)</a> (<a title=\""Otto42 at WP Profiles\"" href=\""http://profiles.wordpress.org/Otto42\"">prof</a>), pedger (<a title=\""pedger at WP Profiles\"" href=\""http://profiles.wordpress.org/pedger\"">prof</a>), <a href=\""http://developersmind.com/\"">PeteMall</a> (<a title=\""PeteMall at WP Profiles\"" href=\""http://profiles.wordpress.org/PeteMall\"">prof</a>), pampfelimetten (<a title=\""pampfelimetten at WP Profiles\"" href=\""http://profiles.wordpress.org/pampfelimetten\"">prof</a>), pnettle (<a title=\""pnettle at WP Profiles\"" href=\""http://profiles.wordpress.org/pnettle\"">prof</a>), <a href=\""http://www.pslabs.cl/\"">PotterSys (Juan)</a> (<a title=\""PotterSys at WP Profiles\"" href=\""http://profiles.wordpress.org/PotterSys\"">prof</a>), <a href=\""http://cnpstudio.com/\"">prettyboymp (Michael Pretty)</a> (<a title=\""prettyboymp at WP Profiles\"" href=\""http://profiles.wordpress.org/prettyboymp\"">prof</a>), <a href=\""http://ptahdunbar.com/\"">ptahdunbar (Ptah Dunbar)</a> (<a title=\""ptahdunbar at WP Profiles\"" href=\""http://profiles.wordpress.org/ptahdunbar\"">prof</a>), <a href=\""http://www.bdihot.co.il/\"">ramiy</a> (<a title=\""ramiy at WP Profiles\"" href=\""http://profiles.wordpress.org/ramiy\"">prof</a>), <a href=\""http://ranh.co.il/\"">RanYanivHartstein (Ran Yaniv Hartstein)</a> (<a title=\""RanYanivHartstein at WP Profiles\"" href=\""http://profiles.wordpress.org/RanYanivHartstein\"">prof</a>), <a href=\""http://langui.sh/\"">reaperhulk (Paul Kehrer)</a> (<a title=\""reaperhulk at WP Profiles\"" href=\""http://profiles.wordpress.org/reaperhulk\"">prof</a>), reko (<a title=\""reko at WP Profiles\"" href=\""http://profiles.wordpress.org/reko\"">prof</a>), <a href=\""http://remiprevost.com/\"">remi (Rémi Prévost)</a> (<a title=\""remi at WP Profiles\"" href=\""http://profiles.wordpress.org/remi\"">prof</a>), <a href=\""http://toys.lerdorf.com/\"">rlerdorf (Rasmus Lerdorf)</a> (<a title=\""rlerdorf at WP Profiles\"" href=\""http://profiles.wordpress.org/rlerdorf\"">prof</a>) <!--ALSO r13684-->, <a href=\""http://ryanmccue.info/\"">rmccue (Ryan McCue)</a> (<a title=\""rmccue at WP Profiles\"" href=\""http://profiles.wordpress.org/rmccue\"">prof</a>), rooodini (<a title=\""rooodini at WP Profiles\"" href=\""http://profiles.wordpress.org/rooodini\"">prof</a>), rovo89 (<a title=\""rovo89 at WP Profiles\"" href=\""http://profiles.wordpress.org/rovo89\"">prof</a>), <a href=\""http://ruslany.net/\"">ruslany</a> (<a title=\""ruslany at WP Profiles\"" href=<br />\n\""http://profiles.wordpress.org/ruslany\"">prof</a>), <a href=\""http://skcdev.com/\"">sc0ttkclark (Scott Kingsley Clark)</a> (<a title=\""sc0ttkclark at WP Profiles\"" href=\""http://profiles.wordpress.org/sc0ttkclark\"">prof</a>), scottbasgaard (Scott Basgaard) (<a title=\""scottbasgaard at WP Profiles\"" href=\""http://profiles.wordpress.org/scottbasgaard\"">prof</a>), ScottMac (<a title=\""ScottMac at WP Profiles\"" href=\""http://profiles.wordpress.org/ScottMac\"">prof</a>), <a href=\""http://scribu.net/\"">scribu</a> (<a title=\""scribu at WP Profiles\"" href=\""http://profiles.wordpress.org/scribu\"">prof</a>), <a href=\""http://sergeybiryukov.ru/\"">SergeyBiryukov (Сергей Бирюков)</a> (<a title=\""SergeyBiryukov at WP Profiles\"" href=\""http://profiles.wordpress.org/SergeyBiryukov\"">prof</a>), <a href=\""http://bugssite.org/\"">ShaneF</a> (<a title=\""ShaneF at WP Profiles\"" href=\""http://profiles.wordpress.org/ShaneF\"">prof</a>), <a href=\""http://sillybean.net/\"">sillybean (Stephanie Leary)</a> (<a title=\""sillybean at WP Profiles\"" href=\""http://profiles.wordpress.org/sillybean\"">prof</a>), <a href=\""http://simekdesign.eu/\"">Simek (Bartosz Kaszubowski)</a> (<a title=\""simek at WP Profiles\"" href=\""http://profiles.wordpress.org/simek\"">prof</a>), <a href=\""http://www.simonwheatley.co.uk/\"">simonwheatley (Simon Wheatley)</a> (<a title=\""simonwheatley at WP Profiles\"" href=\""http://profiles.wordpress.org/simonwheatley\"">prof</a>), <a href=\""http://simos.info/blog/\"">simosx (Σίμος Ξενιτέλλης)</a> (<a title=\""simosx at WP Profiles\"" href=\""http://profiles.wordpress.org/simosx\"">prof</a>), <a href=\""http://www.poradnik-webmastera.com/\"">sirzooro (Daniel Frużyński)</a> (<a title=\""sirzooro at WP Profiles\"" href=\""http://profiles.wordpress.org/sirzooro\"">prof</a>), <a href=\""http://sivel.net/\"">sivel (Matt Martz)</a> (<a title=\""sivel at WP Profiles\"" href=\""http://profiles.wordpress.org/sivel\"">prof</a>), <a href=\""http://skeltoac.com/\"">skeltoac (Andy Skelton)</a> (<a title=\""skeltoac at WP Profiles\"" href=\""http://profiles.wordpress.org/skeltoac\"">prof</a>), <a href=\""http://www.lukehowell.com/\"">snumb130 (Luke Howell)</a> (<a title=\""snumb130 at WP Profiles\"" href=\""http://profiles.wordpress.org/snumb130\"">prof</a>), <a href=\""http://rayofsolaris.net/\"">solarissmoke (Samir Shah)</a> (<a title=\""solarissmoke at WP Profiles\"" href=\""http://profiles.wordpress.org/solarissmoke\"">prof</a>), sorich87 (<a title=\""sorich87 at WP Profiles\"" href=\""http://profiles.wordpress.org/sorich87\"">prof</a>), ssandison (<a title=\""ssandison at WP Profiles\"" href=\""http://profiles.wordpress.org/ssandison\"">prof</a>), stencil (<a title=\""stencil at WP Profiles\"" href=\""http://profiles.wordpress.org/stencil\"">prof</a>), <a href=\""http://stephdau.wordpress.com/\"">stephdau (Stephane Daury)</a> (<a title=\""stephdau at WP Profiles\"" href=\""http://profiles.wordpress.org/stephdau\"">prof</a>), <a href=\""http://wp.tekapo.com/\"">tai</a> (<a title=\""tai at WP Profiles\"" href=\""http://profiles.wordpress.org/tai\"">prof</a>), TECannon (Tracy Cannon) (<a title=\""TECannon at WP Profiles\"" href=\""http://profiles.wordpress.org/TECannon\"">prof</a>), <a href=\""http://technosailor.com/\"">technosailor (Aaron Brazell)</a> (<a title=\""technosailor at WP Profiles\"" href=\""http://profiles.wordpress.org/technosailor\"">prof</a>), <a href=\""http://eastcoder.com/\"">tenpura</a> (<a title=\""tenpura at WP Profiles\"" href=\""http://profiles.wordpress.org/tenpura\"">prof</a>), thales.tede <!--PROF?-->, TheDeadMedic (<a title=\""TheDeadMedic at WP Profiles\"" href=\""http://profiles.wordpress.org/TheDeadMedic\"">prof</a>), <a href=\""http://cefm.ca/\"">thee17 (Charles E. Frees-Melvin)</a> (<a title=\""thee17 at WP Profiles\"" href=\""http://profiles.wordpress.org/thee17\"">prof</a>), <a href=\""http://www.toine.ca/\"">thetoine (Antoine Girard)</a> (<a title=\""thetoine at WP Profiles\"" href=\""http://profiles.wordpress.org/thetoine\"">prof</a>), <a href=\""http://bavotasan.com/\"">tinkerpriest (c.bavota)</a> (<a title=\""tinkerpriest at WP Profiles\"" href=\""http://profiles.wordpress.org/tinkerpriest\"">prof</a>), <a href=\""http://tobias.baethge.com/\"">TobiasBg (Tobias Bäthge)</a> (<a title=\""TobiasBg at WP Profiles\"" href=\""http://profiles.wordpress.org/TobiasBg\"">prof</a>), tomtomp (<a title=\""tomtomp at WP Profiles\"" href=\""http://profiles.wordpress.org/tomtomp\"">prof</a>), <a href=\""http://terrychay.com/\"">tychay (Terry Chay)</a> (<a title=\""tychay at WP Profiles\"" href=\""http://profiles.wordpress.org/tychay\"">prof</a>), typeomedia (<a title=\""typeomedia at WP Profiles\"" href=\""http://profiles.wordpress.org/typeomedia\"">prof</a>), <a href=\""http://uglyrobot.com/\"">uglyrobot (Aaron Edwards)</a> (<a title=\""uglyrobot at WP Profiles\"" href=\""http://profiles.wordpress.org/uglyrobot\"">prof</a>), UnderWordPressure (<a title=\""UnderWordPressure at WP Profiles\"" href=\""http://profiles.wordpress.org/UnderWordPressure\"">prof</a>), usermrpapa (<a title=\""usermrpapa at WP Profiles\"" href=\""http://profiles.wordpress.org/usermrpapa\"">prof</a>), <a href=\""http://utkar.sh/\"">Utkarsh (Utkarsh Kukreti)</a> (<a title=\""Utkarsh at WP Profiles\"" href=\""http://profiles.wordpress.org/Utkarsh\"">prof</a>), <a href=\""http://www.ai-development.com/\"">validben (Benoit Gilloz )</a> (<a title=\""validben at WP Profiles\"" href=\""http://profiles.wordpress.org/validben\"">prof</a>), <a href=\""http://www.viper007bond.com/\"">Viper007Bond (Alex Mills)</a> (<a title=\""Viper007Bond at WP Profiles\"" href=\""http://profiles.wordpress.org/Viper007Bond\"">prof</a>), <a href=\""http://blog.sjinks.org.ua/\"">vladimir_kolesnikov (Vladimir Kolesnikov)</a> (<a title=\""vladimir_kolesnikov at WP Profiles\"" href=\""http://profiles.wordpress.org/vladimir_kolesnikov\"">prof</a>), <a href=\""http://edgedesigns.org/\"">willmot (Tom Willmot)</a> (<a title=\""willmot at WP Profiles\"" href=\""http://profiles.wordpress.org/willmot\"">prof</a>), <a href=\""http://emphaticallystatic.org/\"">wahgnube</a> (<a title=\""wahgnube at WP Profiles\"" href=\""http://profiles.wordpress.org/wahgnube\"">prof</a>), <a href=\""http://www.waltervos.com/\"">waltervos (Walter Vos)</a> (<a title=\""waltervos at WP Profiles\"" href=\""http://profiles.wordpress.org/waltervos\"">prof</a>), <a href=\""http://www.nothingcliche.com/\"">wds-chris (Christopher Cochran)</a> (<a title=\""wds-chris at WP Profiles\"" href=\""http://profiles.wordpress.org/wds-chris\"">prof</a>), <a href=\""http://strangework.com/\"">williamsba1 (Brad Williams)</a> (<a title=\""williamsba1 at WP Profiles\"" href=\""http://profiles.wordpress.org/williamsba1\"">prof</a>), <a href=\""http://willnorris.com/\"">wnorris (Will Norris)</a> (<a title=\""wnorris at WP Profiles\"" href=\""http://profiles.wordpress.org/wnorris\"">prof</a>), <a href=\""http://xavier.borderie.net/\"">xibe (Xavier Borderie)</a> (<a title=\""xibe at WP Profiles\"" href=\""http://profiles.wordpress.org/xibe\"">prof</a>), <a href=\""http://blog.yoavfarhi.com/\"">yoavf (Yoav Farhi)</a> (<a title=\""yoavf at WP Profiles\"" href=\""http://profiles.wordpress.org/yoavf\"">prof</a>), <a href=\""http://zeo.my/\"">zeo (Safirul Alredha)</a> (<a title=\""zeo at WP Profiles\"" href=\""http://profiles.wordpress.org/zeo\"">prof</a>), <a href=\""http://h6e.net/\"">znarfor (François Hodierne)</a> (<a title=\""znarfor at WP Profiles\"" href=\""http://profiles.wordpress.org/znarfor\"">prof</a>), and <a href=\""http://zoranzaric.de/\"">zoranzaric (Zoran Zaric)</a> (<a title=\""zoranzaric at WP Profiles\"" href=\""http://profiles.wordpress.org/zoranzaric\"">prof</a>).</p>\n<h3>Bonus</h3>\n<p>If you&#8217;ve made it this far, check out my 2010 State of the Word speech at WordCamp San Francisco, it&#8217;s jam-packed with information on the growth of WordPress, 3.0, what we&#8217;re planning for the future, and the philosophy of WordPress.</p>\n<p><object classid=\""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" width=\""640\"" height=\""360\"" codebase=\""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""><param name=\""flashvars\"" value=\""guid=xj8pDCM4&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\"" /><param name=\""src\"" value=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" /><param name=\""wmode\"" value=\""transparent\"" /><param name=\""allowfullscreen\"" value=\""true\"" /><embed type=\""application/x-shockwave-flash\"" width=\""640\"" height=\""360\"" src=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" allowfullscreen=\""true\"" wmode=\""transparent\"" flashvars=\""guid=xj8pDCM4&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\""></embed></object></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""http://wordpress.org/news/2010/06/thelonious/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""5\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:7;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:7:\""3.0 RC3\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:42:\""http://wordpress.org/news/2010/06/3-0-rc3/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/06/3-0-rc3/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 11 Jun 2010 20:49:38 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1376\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:257:\""A weekend present, in haiku: Last call; final bugs Itch, scratch, contort; calmly wait For now: RC3 That&#8217;s right. What will hopefully be the final release candidate, RC3, is now available for download and testing. Plugin developers: test your plugins!\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:438:\""<p>A weekend present, in haiku:</p>\n<blockquote><p>Last call; final bugs<br />\nItch, scratch, contort; calmly wait<br />\nFor now: <a href=\""http://wordpress.org/wordpress-3.0-RC3.zip\"">RC3 </a></p></blockquote>\n<p>That&#8217;s right. What will hopefully be the final release candidate, <a href=\""http://wordpress.org/wordpress-3.0-RC3.zip\"">RC3, is now available for download</a> and testing.</p>\n<p>Plugin developers: test your plugins!</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:47:\""http://wordpress.org/news/2010/06/3-0-rc3/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:8;a:6:{s:4:\""data\"";s:47:\""\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:37:\""Expanding the Theme Review Experiment\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:72:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:81:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Wed, 09 Jun 2010 16:06:11 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:3:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:6:\""Themes\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1347\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:272:\""When I was a kid my dad used to practice his typing skills (on a real typewriter no less) with the phrase: Now is the time for all good men to come to the aid of their country. For some reason that has stuck with me all these years. Today I’m going to rephrase and [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Joseph Scott\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1962:\""<p>When I was a kid my dad used to practice his typing skills (on a real typewriter no less) with the phrase:</p>\n<blockquote><p>Now is the time for all good men to come to the aid of their country.</p></blockquote>\n<p>For some reason that has stuck with me all these years. Today I’m going to rephrase and re-purpose that line:</p>\n<blockquote><p>Now is the time for great theme developers to come to the aid of their community.</p></blockquote>\n<p>The theme directory has been chugging along for more than a year now. During that time we’ve tinkered with the review process and some of the management tools, but haven’t really opened it up as much as we’d like. It&#8217;s time to rip off the band-aid and take some action; to that end, we&#8217;re looking for community members to help with the process of reviewing themes for the directory.</p>\n<p>Right now this is a bit like a New Year’s resolution to exercise every day: it’s what we need to do, but we’re still figuring out exactly how it will all work. That’s part of the community involvement as well &#8212; we expect that those who pitch in will also help shape the process.</p>\n<p>What’s involved in reviewing themes for the directory? There are some obvious things, such as being familiar with PHP and WordPress theme code (and the <a href=\""http://codex.wordpress.org/Theme_Development_Checklist\"">theme development checklist</a>), with an eye for security issues. You would also need to have the ability to set up a separate install of the latest version of WordPress for testing theme submissions.</p>\n<p>Hopefully a few talented theme developers are reading this right now and saying to themselves, &#8220;I’d love to help! How do I get started?&#8221; Just join the new <a href=\""http://lists.wordpress.org/mailman/listinfo/theme-reviewers\"">theme reviewers mailing list</a> and we&#8217;ll get you up to speed on this new opportunity to come to the aid of your community.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:77:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:9;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""WordPress 3.0 Release Candidate\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:66:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:75:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 28 May 2010 02:35:04 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1358\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:345:\""As Matt teased earlier, the first release candidate (RC1) for WordPress 3.0 is now available. What&#8217;s an RC? An RC comes after beta and before the final launch. It means we think we&#8217;ve got everything done: all features finished, all bugs squashed, and all potential issues addressed. But, then, with over 20 million people using [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1993:\""<p>As Matt teased earlier, the first release candidate (RC1) for WordPress 3.0 is now available. What&#8217;s an RC? An RC comes after beta and before the final launch. It means we think we&#8217;ve got everything done: all features finished, all bugs squashed, and all potential issues addressed. But, then, with over 20 million people using WordPress with a wide variety of configurations and hosting setups, it&#8217;s entirely possible that we&#8217;ve missed something. So! For the brave of heart, please download the RC and test it out (but not on your live site unless you&#8217;re extra adventurous). Some things to know:</p>\n<ul>\n<li>Custom menus are finished! Yay!</li>\n<li>Multi-site is all set.</li>\n<li>The look of the WordPress admin has been lightened up a little bit, so you can focus more on your content.</li>\n<li>There are a ton of changes, so plugin authors, please test your plugins <strong>now</strong>, so that if there is a compatibility issue, we can figure it out before the final release.</li>\n<li>Plugin and theme *users* are also encouraged to test things out. If you find problems, let your plugin/theme authors know so they can figure out the cause.</li>\n<li>There are a couple of <a href=\"" http://core.trac.wordpress.org/report/5\"">known issues</a>.</li>\n</ul>\n<p>If you are testing the RC and come across a bug, you can:</p>\n<ul>\n<li>Report it on the <a href=\""http://lists.automattic.com/mailman/listinfo/wp-testers\"">wp-testers mailing list</a></li>\n<li>Join the dev chat and tell us live at irc.freenode.net #wordpress-dev</li>\n<li>File a bug ticket on the <a href=\""https://core.trac.wordpress.org/query?status=reopened&amp;status=assigned&amp;status=reviewing&amp;status=new&amp;status=accepted&amp;group=status&amp;milestone=3.0\"">WordPress Trac </a></li>\n</ul>\n<p>We hope you enjoy playing with the 3.0 RC as much as we&#8217;ve enjoyed making it for you. Enjoy!</p>\n<p><a href=\""http://wordpress.org/wordpress-3.0-RC1.zip\"">Download WordPress 3.0 RC1</a></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:71:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}s:27:\""http://www.w3.org/2005/Atom\"";a:1:{s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:3:{s:4:\""href\"";s:31:\""http://wordpress.org/news/feed/\"";s:3:\""rel\"";s:4:\""self\"";s:4:\""type\"";s:19:\""application/rss+xml\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:44:\""http://purl.org/rss/1.0/modules/syndication/\"";a:2:{s:12:\""updatePeriod\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""hourly\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:15:\""updateFrequency\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}}}}}}s:4:\""type\"";i:128;s:7:\""headers\"";a:8:{s:6:\""server\"";s:5:\""nginx\"";s:4:\""date\"";s:29:\""Thu, 18 Nov 2010 07:10:47 GMT\"";s:12:\""content-type\"";s:23:\""text/xml; charset=UTF-8\"";s:10:\""connection\"";s:5:\""close\"";s:4:\""vary\"";s:15:\""Accept-Encoding\"";s:10:\""x-pingback\"";s:36:\""http://wordpress.org/news/xmlrpc.php\"";s:13:\""last-modified\"";s:29:\""Thu, 30 Sep 2010 03:23:31 GMT\"";s:4:\""x-nc\"";s:11:\""HIT luv 138\"";}s:5:\""build\"";s:14:\""20090627192103\"";}', 'no') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

    WordPress for iPhone/iPad v2.6 Released September 30th, 2010
    Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn’t for you? Either way, the new release — v2.6 — will knock your socks off. Why? A bunch of reasons: Video. Record, upload, attach, and play videos […]
    WordPress Trademark Changes Hands September 9th, 2010
    The WordPress community took a big step forward today when Matt announced that Automattic has donated the WordPress trademark to the non-profit WordPress Foundation. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying […]
}}}
",Viper007Bond
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
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
22600,Editor sizing JS puts the resize handle in the wrong place,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-27T03:58:09Z,2012-12-14T23:51:29Z,"If you do the following, say to deal with the post content editor in a different way, the resize handle ends up in the wrong place because there is no status bar:

{{{
wp_editor( $post->post_content, 'content', array( 'tinymce' => false ) );
}}}

The JS that deals with the editor size/height should probably be checking for the status bar before moving the resize handle. Discovered while working on #22491.",helen
17916,Enqueued styles are only printed on login_footer in wp-login.php,,Administration,3.2,normal,normal,Future Release,defect (bug),reopened,,2011-06-28T00:29:48Z,2012-11-05T19:19:34Z,"In my plugin I have this include:
wp_register_style(""cimy_uef_register"", $cuef_css_webpath.""/cimy_uef_register.css"", false, false);

now independently where and when I use the above css, even if I never enqueue or print it... it basically forces the admin panel to be always left instead of the right.

In particular it changes the admin panel menu #adminmenu to stick to the left, also other little things.
The question is:
why this happens even if the CSS is not included at all? Browsing the documentation quickly on that function I didn't find anything useful, please help me.",Cimmo
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
21947,Fix 3-column dashboard display,,Administration,3.4,low,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-20T20:06:46Z,2013-04-14T06:02:52Z,"Issue #20015 'enhanced' the dashboard with a pure-CSS based multi-column dashboard. Excellent.

The CSS used makes gross assumptions about how many columns are appropriate for different-sized displays. Double plus ungood.
Users should be left to decide how many columns they wish to use.

There was [http://wordpress.org/support/topic/three-column-dashboard/ considerable discussion] of this when 3.4 was released, but no remedy yet, other than to hack away at the CSS of one's install, precluding upgrades; I've changed {{{@media only screen and (min-width:800px) and (max-width:1200px){}}} to {{{@media only screen and (min-width:800px) and (max-width900px){}}} in wp-admin.css to get a usable interface.",belg4mit
24084,Fix possible PHP notices after a user is deleted,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-14T22:24:48Z,2013-04-15T23:09:34Z,"`get_comment_author()` doesn't check if a user that has commented still exists and may throw a notice. Also can return the user_login where a user name is expected.

Same in `edit-form-advanced.php` in the code block that outputs ""Last edited by ..."" under the editor.",azaozz
18264,Future private posts listed as already published with future date specified,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T00:05:27Z,2013-02-04T09:27:17Z,"Setting a post to private, and scheduling it for some future date or time, results in the stamp that the post was ""Published on (future date)"" in the publish module.

The discussion on tickets #5608 and #9136 suggests that all private posts are published immediately (and privately), and that this is intentional. So, it's misleading and confusing to report that it already was published on some future date.

In source:trunk/wp-admin/includes/meta-boxes.php#L163, I suggest we replace:

{{{
else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
		$stamp = __('Published on: <b>%1$s</b>'); }
}}}

with:

{{{
else if ( 'publish' == $post->post_status ) { // already publicly published
		$stamp = __('Published on: <b>%1$s</b>');
	} else if (  'private' == $post->post_status ) { // published privately
		$stamp = __('Published privately'); }
}}}",chrisrudzki
20848,Header images are cropped and resized with improper permissions.,,Administration,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-05T17:41:45Z,2012-06-05T17:41:45Z,"On some systems the cropped and resized header images become unreadable by the web server.  

The attached patch makes the files inherit the permissions from the parent folder.


",gtenney99
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
22214,Inconsistency in the show_ui parameter for register_post_type,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-17T20:58:42Z,2012-10-18T00:58:36Z,"There is an inconsistency with the `show_ui` argument to `register_post_type`. When set to false, the post type listing page is open, while the 'Add new' page is not accessible.",nofearinc
12789,Inconsistent left or right margins on admin screens,,Administration,,low,minor,Future Release,defect (bug),new,,2010-04-01T02:46:07Z,2012-12-06T06:06:53Z,There are a couple of admin screens where the screen icon is not aligned to the left of the content.,scribu
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
18449,List Table Factory Needs to be Pluggable,,Administration,3.1,normal,normal,Future Release,defect (bug),new,,2011-08-16T19:51:33Z,2012-03-31T08:34:37Z,"Better design planning should have been considered for http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/list-table.php

function _get_list_table() is identical to an object factory pattern, which would make more sense as a static member of WP_List_Table.  In other words...

{{{
$wp_list_table = _get_list_table('WP_Terms_List_Table');
}}}

... which looks simple, is actually confusing because it would be more intuitive if written as ...

{{{
$wp_list_table = WP_List_Table::factory('Terms');
}}}

Further, the factory hasn't offered any extensibility.  Locking edit-tags.php against WP_Terms_List_Table makes it unusable for custom taxonomies that need a custom UI.  Despite all of the great API improvements for taxonomies, this case still necessitates duplicating the entire category editing UI within a plugin just to tweak a table column or a link path.

Please adjust the ticket Type and Component as necessary.  It could be a taxonomy design flaw or an administration enhancement, depending how you look at it.",miqrogroove
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
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
20453,Media screen links to non-public post types,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-04-16T02:31:56Z,2012-04-16T03:23:46Z,"I have a non-public custom post type registered, so it doesn't get an admin UI.

A file in the media library is attached to one of my custom posts (done at the point the file is uploaded using `media_handle_upload()`). The media item shows up in the Media Library as expected, but the 'Attached To' column links to the editing screen for the parent post, even though the post is non-public.

This allows a user to see the post editing screen for a non-public post type.",johnbillion
21015,Months dropdown should not show if only posts are 'auto-draft' status,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-18T19:16:54Z,2012-09-28T14:42:09Z,"The months dropdown at the top of edit.php should only show if there are actually posts in the list.

Right now, if you click 'Add new' an auto draft post will be saved. Leave the post edit screen without saving the post (so no draft will be created) and go back to the edit.php screen. There is no post in the list, but the month drop down will be shown because the auto draft is counted.",CoenJacobs
21770,Multiple New Feature Pop-ups mess UI,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-02T11:09:51Z,2013-01-22T03:06:39Z,"WordPress admin and plugins [[Image(http://dl.dropbox.com/u/184353/wordpress-admin-pop-ups.png)]] New Feature Pop-up messages appear on the admin simultaneously, blocking each other messages and functionality. The UI gets seriously messed up.

User attention focuses on how to get rid the overlaping pop-ups rather than reading the messages and understand and start using the new features.",titanas
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
22509,No-JS fallback for default color in color picker,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-19T19:42:19Z,2012-12-19T20:48:22Z,"The no-JS fallback for the color picker is just a plain input. Since the color picker implementation now includes the ability to reset to a specified default, it seems to make sense to include a no-JS fallback for the default, even just as a little bit of hidden descriptive text.

See #22461 for discussion stemming from the custom header screen.",helen
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
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
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
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
24551,Post locking prevents collaboration,,Administration,trunk,high,normal,Awaiting Review,defect (bug),new,,2013-06-10T10:07:32Z,2013-06-10T20:21:22Z,"Occasionally I'll discuss the content of a post with a colleague by opening the editing screen for that post at the same time as my colleague. ''It may be that neither of us are actively editing it'', but we are discussing the content via VOiP or IM or whatever and both looking at it on the editing screen.

The new post editing lock prevents two people from having the editing screen for the same post open at the same time.

[[Image(http://i.imgur.com/PeZ60wd.png)]]

The above modal provides no option for dismissing the modal and viewing the editing screen. Preferably there would be a read-only mode of the editing screen, which disabled the buttons in the publish metabox.

I think this is quite important behaviour. Due to the nature of testing (ie. mostly solitary) it'll be unlikely that people have noticed the new behaviour until people start using it in production environments.

Thoughts?",johnbillion
17115,Publishing an empty post results in success,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-12T11:32:50Z,2012-11-17T00:15:31Z,"'''Steps to reproduce:'''
1. Go to Add New post screen
1. Publish post
1. Success message is displayed with link to initial auto-draft of post

The issue can be traced back to the `editpost` switch case in `post.php` (line 204), which calls `edit_post()` and `redirect_post()`.

`edit_post()` saves any meta values passed with the post to the auto-draft, which isn't necessarily desirable, and returns the auto-draft post ID.

`redirect_post()` then defaults to status message code 6 which incorrectly reports success in publishing.",kawauso
24104,Remove duplicated separators in admin menu,,Administration,2.7,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-16T17:26:37Z,2013-04-17T02:37:08Z,"I'm working on WordPress admin menu, and I found that the code to remove duplicated separators in admin menu in `wp-admin/includes/menu.php` doesn't work correctly.

Assuming we have these items in the `$menu`:


{{{
$menu = array(
	100 => array(
		0 => 'Admin Style',
		2 => 'wp-admin-style.php',
		1 => 'read',
		4 => 'menu-top menu-icon-generic toplevel_page_wp-admin-style menu-top-first menu-top-last',
		6 => 'none',
	),
	110 => array(
		0 => '',
		1 => 'read',
		2 => 'separator1',
		3 => '',
		4 => 'wp-menu-separator',
	),
	130 => array(
		0 => '',
		1 => 'read',
		2 => 'separator2',
		3 => '',
		4 => 'wp-menu-separator',
	),
	140 => array(
		0 => '',
		1 => 'read',
		2 => 'separator-last',
		3 => '',
		4 => 'wp-menu-separator',
	),
	150 => array(
		0 => 'Hide Menu',
		1 => 'manage_options',
		2 => 'hide-admin-menu',
		3 => 'Hide Admin Menu',
		4 => 'menu-top toplevel_page_hide-admin-menu',
		5 => 'toplevel_page_hide-admin-menu',
		6 => 'http://localhost:8080/wp/wp-content/plugins/hide-admin-menu/img/icon.png',
	),
);
}}}

WordPress will remove only the 1st duplicated separator (130) and still keeps the 2nd one (140).

Another problem with current code is if separator menu item has classes like `'wp-menu-separator woocommerce'` (WooCommerce does this), it won't be recognized as a separator, because the function to check separator uses `strcmp`.

",rilwis
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
22200,Require users to set a site title,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-15T18:52:14Z,2013-01-26T20:43:26Z,"Currently, users can get away with setting a blank site title under Settings -> General.

As a consequence, meta and title tags in both the front-end site and wp-admin may be empty, or contain extraneous spaces and separators. 

A common reason why users leave site titles blank is due to the misperception that the site title is necessarily displayed in the header on the front-end site. 

I suggest that we display an alert when users attempt to set a blank site title, and possibly suggest that if they don't want it to appear in their header, they can edit their CSS or hide header text under Appearance -> Header.",chrisrudzki
21421,Sanitize/remove admin page slug  from admin menu CSS classes,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-30T11:26:15Z,2013-03-02T21:00:41Z,"As I discovered when testing #21307, browsers won't parse a CSS class name with both underscores and hyphens. Instead, they handle it ''really'' badly.

For example: `.toplevel_page_link-manager` will affect `body` in both Firefox and Chrome.

Plugin page menu items have both an ID and class generated as such, which seems rather redundant. I propose either dropping the redundant and only partly functional CSS class or standardising the menu slug to produce a valid class name.",kawauso
22003,Saving custom fields goes to post-new.php rather than post.php,,Administration,2.5,normal,normal,Awaiting Review,defect (bug),reopened,,2012-09-26T15:57:01Z,2012-09-26T19:19:54Z,"Create a new post or page.
Add a title and message.
Add a custom field (click ""Add Custom Field"")

The post is saved, but as you are taken to post-new.php rather than post.php, it looks as if your post has disappeared! All is well - it is actually saved - but it's confusing.

Tested on 3.5-alpha-21989",curiousdannii
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
24149,Set RTL body class for iframes,,Administration,,normal,minor,Future Release,defect (bug),new,commit,2013-04-21T03:57:06Z,2013-04-22T06:36:02Z,"iframe_header() sets the current locale string in the body class, but not the RTL flag. Please add this.

This came up in MP6 development, where MP6 does not (at this moment) rely on a separate rtl stylesheet like in the current admin CSS, but instead relies more on the body having .rtl set.",mitchoyoshitaka
18307,Settings mixed with WP installations sharing same database,,Administration,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-07-31T21:22:09Z,2012-02-20T20:27:18Z,"I have WP website installed on main domain, and another WP installation on subdomain. These two share users tables.

When I rearrange admin dashboard widgets, or post editor widgets in one installation, other one uses same settings making the mess due to differences in available elements (different plugins installed).

All WP settings cookies are saved without proper setting of the cookie path/domain, and all sub-domains use same cookies as the main domain does. Cookies have to have full domain set to avoid mix-up like it happens now.

Same issue happens with Opera, Chrome and Firefox.

Milan ",GDragoN
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
15993,Sort arrows improperly wrap on narrow columns,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,,2010-12-27T06:14:21Z,2012-11-01T06:22:32Z,"Specifically, I noticed the 'Posts' column on a taxonomy screen (or 'Links' for link categories, etc).",nacin
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
24486,The 'commentsdiv' meta box isn't displayed when using custom post statuses,,Administration,2.8,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-06-03T08:22:39Z,2013-06-09T04:07:42Z,"The 'commentsdiv' meta box, which shows comments to a post in the admin post edit section (and also gives the ability to post additional comments straight from there) isn't displayed when the post is set to any non-publish or non-private post status, particularly any custom post status.

As far as I can tell, the problem arises from the fact that the said meta box is initialized in ""wp-admin/edit-form-advanced.php"", where the conditional expression for its initialization has the ""publish"" and ""private"" post statuses hardcoded in:



{{{
if ( ('publish' == $post->post_status || 'private' == $post->post_status) && post_type_supports($post_type, 'comments') )
	add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core');
}}}

The existing code is disabling the initialization of the 'commentsdiv' meta box in any use case with custom post statuses, reducing their usefulness and flexibility.

In my opinion, the the simplest fix for this would be to remove the post status check as a condition for the 'commentsdiv' meta box initialization, leaving the ""post_type_supports($post_type, 'comments')"" as the only condition:


{{{
if ( post_type_supports($post_type, 'comments') )
	add_meta_box('commentsdiv', __('Comments'), 'post_comment_meta_box', $post_type, 'normal', 'core');
}}}

",XyntaMan
24415,The 'show_in_admin_all_list' argument for the 'register_post_status' function is ignored when the argument 'public' is set to 'false',,Administration,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-25T00:06:51Z,2013-05-25T00:06:51Z,"Hello, 

I stumbled upon a bug in the admin section of WordPress. I'm currently running the latest release (3.5.1) without any third-party plugins. 

After creating some custom post statuses via the 'register_post_status' function, I noticed that posts with them do not appear in the default (all) post listing in the admin section, despite me setting the 'show_in_admin_all_list' argument to 'true'. 

I narrowed this problem down only to the 'public' argument of the same ('register_post_status') function: if the 'public' argument of custom post status is set to 'true', then everything works as expected and the posts with a custom post status appear in the default (all) post listing in the admin section — but this also makes posts with that custom post status appear to the regular users, making them public, hence the name of the argument.

It's worth noting that the 'public' argument has no such buggy effect on the 'show_in_admin_status_list' argument of the same ('register_post_status') function: it doesn't matter to what the 'public' argument is set — the links to the appropriate post statuses are showed at the top of the post listing only based on the 'show_in_admin_status_list' argument, just like it should.",XyntaMan
17036,Theme editor shouldn't override root directory files with same names in child directories,,Administration,3.1,normal,normal,Future Release,defect (bug),new,,2011-04-03T19:11:33Z,2012-06-27T10:23:07Z,"'''Steps to reproduce:'''
1. Create subdirectory: blogs
1. Create file in subdirectory: index.php
1. Try selecting Main Index Template in Theme Editor

Example is taken from BuddyPress' theme structure. `get_file_description()` doesn't account in any way for the presence of subdirectories since it uses `basename()`.",kawauso
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
22839,Toggle spinners by adding/removing a class instead of show()/hide(),,Administration,3.4.2,normal,normal,Future Release,defect (bug),new,has-patch,2012-12-09T18:17:02Z,2013-05-30T21:32:45Z,"I've noticed a bug with the spinner while updating a previous submission (ticket:19159). It worked in 3.4 when .ajax-feedback was used instead of .spinner.

Elements with class .spinner don't show up in any .sidebar-name (e.g. Main Sidebar, Inactive Widgets etc.) when an action is in progress (e.g. clearing inactive widgets).",cdog
23316,Top level admin sidebar menu items with conflicting positions bury one another,,Administration,3.5.1,normal,major,Awaiting Review,defect (bug),new,,2013-01-29T21:07:27Z,2013-01-30T04:23:58Z,"I have now seen two separate instances where a top level admin sidebar menu item wasn't showing up when another Plugin or Theme was activated. In the most recent case, using WP 3.5.1. my Plugin was creating a top level menu item with no position specified (blank, default). When I activated my client's Theme, our Plugin sidebar item disappeared and in place came the Theme Options item. I set our Plugin to use position 70, and it came back in place of the Users top level menu item.

In the earlier case, I had a custom post type that was requesting position 20. Whenever I activated Gravity Forms, my custom post type menu item was disappearing. This was with WordPress v3.5

According to the codex page: ""''WARNING: if two menu items use the same position attribute, one of the items may be overwritten so that only one item displays! Risk of conflict can be reduced by using decimal instead of integer values, e.g. 63.3 instead of 63 (Note: Use quotes in code, IE '63.3').''""

This seems like a bug to me. Why should items be allowed to completely overwrite one another? Shouldn't they just fall in line, albeit randomly when two conflict? I can see tons of problems with Themes and Plugins killing one another's top level menu items, and the user not understanding what's going on when they loose something unexpectedly.",beautomated
22195,URL for views are defined statically.,,Administration,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-10-15T11:31:11Z,2013-05-08T10:44:27Z,"URLs for views/screens on wp-admin/edit.php are defined statically.
[[BR]][[BR]]
why we are not using add_query_arg(); or remove_query_arg(); while adding URL? This is causing serious issues like resetting extra parameters passed to view/screens.
[[BR]][[BR]]
need expert opinion on this i can write patch if required.
[[BR]][[BR]]

{{{
WP_Posts_List_Table->get_views();
}}}



",valllabh
16858,Usage of HTTP_HOST in the administration,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2011-03-15T13:33:47Z,2012-08-09T18:46:29Z,"In some files like wp-admin/includes/class-wp-list-table.php (there are more files I think), some links are created by using the HTTP_HOST variable.

It's better to use the defined wordpress URL to create those links.

In our case, we have a wordpress running behind a Squid cache. When you check for HTTP_HOST you get the *real* HOST and not the one with the Squid server.

To bypass the problem, I added in the main config.php a line like this :

{{{
$_SERVER['HTTP_HOST'] = 'www.my-visible-http-host.com';
}}}

Without this setting and in our case, some links in the admin (next, previous page, re-ordering...) where pointing to the wrong server.
",amirhabibi
23886,Use set_url_scheme for draft Preview links in post table,,Administration,trunk,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-29T01:20:52Z,2013-03-29T01:23:03Z,"When using FORCE_SSL_ADMIN and this filter to prevent non-SSL preview of posts:

{{{
add_filter('secure_logged_in_cookie', '__return_true');
}}}

Preview links for unpublished drafts on `wp-admin/edit.php` do not use SSL and will 404.

This can be fixed by using `set_url_scheme` for the unpublished preview link. A similar unpublished preview link in `meta-boxes.php` was changed to use `set_url_scheme` in [21664]. For context, see #20759, #13328.",reidburke
21249,WP_List_Table::single_row_columns() needs to do an exact comparison,,Administration,,lowest,trivial,Future Release,defect (bug),new,has-patch,2012-07-13T01:20:28Z,2012-11-07T22:05:29Z,"If for whatever reason you pass a column ID of `0` when dealing with a list table, !WordPress thinks it's a checkbox column because of the loose comparison, i.e. `==` instead of `===`.

Since I don't see why passing a number instead of a string shouldn'r be allowed, attached is a patch.",Viper007Bond
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
22700,Walker_Category_Checklist should sometimes set the value as the term name,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-12-03T19:45:57Z,2013-02-19T05:12:08Z,"The `Walker_Category_Checklist` class has been partially adapted to work with taxonomies other than `category`, but it does not seem to cope with non-hierachical taxonomies.

For non-hierachical taxonomies, the HTML form elements (checkboxes, radios, dropdowns, whatever) need to set the term **name** as the value, not the ID… otherwise WordPress will cast the ID to a string and create a new term with that string as a name.

To see the problem:

* Use `Walker_Category_Checklist` to create a checkbox in a metabox on the post edit screen for a non-hierarchical taxonomy
* Add some terms to the taxonomy
* Check the box for the taxonomy and update the post
* Watch a new term appear with its name set to the ID of the term you checked


",simonwheatley
24297,WordPress 3.6 UI - Post Visibility Buttons Jumps User to Bottom of Page and Does Not Open Option,,Administration,trunk,normal,major,Awaiting Review,defect (bug),new,close,2013-05-09T17:40:52Z,2013-05-10T21:22:30Z,"Using the WordPress.com 3.6 UI test version, in Firefox older than version 19 (tested on 17-19 across multiple Windows computers in my college class) clicking Post Edit > Publish > Visibility jumps the user to the bottom of the web page and the Visibility option does not open to reveal the Public, Private, and Password Protection options. 

Works in Chrome, so the students all switch to Chrome for that exercise. 

This has been in play for almost three weeks. 

These tickets might be associated with the issue: #23817, #23684.

Thanks!


",Lorelle
19531,Wrong error message after correcting an error in username,,Administration,,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2011-12-13T10:07:56Z,2012-12-17T16:11:17Z,"After entering an illegal username (fe. ""Wim (wim@go2people.nl)""), WordPress gives an error message saying:
""ERROR: This username is invalid because it uses illegal characters. Please enter a valid username.""
So far so good.

Now, when I correct the issue and click ""Add new user"" again, the above error message remains in the screen, while the illegal characters are no longer there and the actual error I am facing is that I forgot my password. Which is confusing for me.

The same occurs, when I enter an e-mail which has already been registered. I get the error message:
""ERROR: This email is already registered, please choose another one.""
When I correct, the error message remains, while this particular problem has been solved.

WP v: 3.3
Browser: Google Chrome 14.0 on Ubuntu 11.10
",wimfeijen
23836,add_submenu_page() duplicate menus,,Administration,,normal,major,Awaiting Review,defect (bug),new,,2013-03-21T16:43:24Z,2013-04-04T03:22:08Z,"Creating two sub-menus with the same ""menu slug"" using add_submenu_page() should create only the last sub-menu.
But it creates two sub-menus with the same ""menu slug"".

Based on documentation ""menu slug"" should be unique for each sub-menu.",king_of_the_ring
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_
24328,blogname and blogdescription strip content between angle brackets,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-05-13T09:12:06Z,2013-05-15T13:18:35Z,"I was trying to set my Site Title to '''<?= test ?>'''. On saving the settings, the field returned empty. The same problem occurred with the Tagline.

After looking into `wp-admin/options.php`, I noticed that there was no provision made for escaping the fields.",aniketpant
22236,edit.php: Apply when Bulk Actions selected forgets tag= filter,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-20T22:54:28Z,2013-05-04T04:29:47Z,"Using WordPress 3.4.2, go to Posts, and click on one of the tags on one of your posts. The URL now contains tag=<tag>, and the screen shows the first 20 posts with that tag.

Now click the Apply button just next to the ""Bulk Actions"" drop-down at the top left.

I expect this to reload the page but otherwise have no effect.

Instead, it reloads the page without the tag=<tag> URL parameter, and shows the first 20 posts (irrespective of tag).

This is surprising and confusing - it's easy to accidentally hit ""Apply"" without having chosen an action, but at first glance it looks like nothing has happened. The user can then go on to do a bulk action (e.g., add category) without realising the tag they previously had selected is now no longer selected.

Note that filters (e.g., by category) that are set up using the Filter button *are* preserved when Bulk Actions / Apply is chosen - it's just tags that are lost.",kw217
22969,freedoms.php list has odd numbering,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2012-12-17T04:42:10Z,2013-06-14T07:21:09Z,freedoms.php's list of freedoms is numbered in a odd way,bkerensa
22669,iPad: Can't Scroll Plugins Modal,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-01T02:31:23Z,2012-12-02T01:43:48Z,"Steps to reproduce:
1. Tap Plugins
1. Tap Add New
1. Tap Featured
1. On any item, tap Details.
1. Tap Changelog
1. Swipe to scroll

Expected result:

See more Changelog.

Actual result:

The page is scrolling around behind the modal.  Modal not scrolling.

Related: #22064",miqrogroove
11311,"kses converts ampersands to &amp; in post titles, post content, and more",,Administration,2.9,normal,normal,Future Release,defect (bug),new,,2009-12-03T01:49:32Z,2013-05-17T10:03:16Z,"Make a test user that has the ""author"" role (i.e. no `unfiltered_html`) and write a post with a title that has `&` in it. After saving, it will becomes `&amp;` due to `wp_filter_kses()`. It gets saved in the database this way too.

It's confusing to the user.",Viper007Bond
13416,media for install.css missing (patch),,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-05-16T18:48:17Z,2013-01-22T07:40:13Z,In /core-root/wp-includes/general_template.php the function wp_admin_css is missing the @media definition. See patch.,F J Kaiser
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
23477,r21789 creates a breaking change in behavior for get_submit_button,,Administration,3.5,normal,minor,Awaiting Review,defect (bug),new,,2013-02-14T23:23:57Z,2013-02-15T17:32:18Z,"A recent change made to get_submit_button (http://core.trac.wordpress.org/changeset/21789/trunk/wp-admin/includes/template.php) has caused an unwanted change in behavior for a button on a site I maintain. Previously, the string passed as the second argument, `$type`, was matched against a switch statement with several unique cases. In the event of a non-match in the switch, the default action prior to [21789] was to assign the parameter's value as the `$class` string without altering it.

The change introduced in [21789] now breaks a string into individual classes, which prevents the use of the unique class names within a string of additional class names. For example, the string `button-secondary save-button action` used to generate a class string in HTML of `button-secondary save-button action`, but now generates the unexpected result `button save-button action` (note lack of '-secondary') because it matches against the following if check on line 1600:

`if ( 'secondary' === $t || 'button-secondary' === $t )`

It should be noted that the phpdoc associated with the function does not name the use case that I was employing, but that the behavior of passing in a space-separated class string has previously resulted in the string being passed through untouched (and the comment here indicates it was known and expected behavior (http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php?rev=21781#L1649), and this is no longer the case. Not sure if this is worth a programmatic fix, or if it might just be worth noting in the function docblock that certain classes are now 'reserved' and cannot be passed into the `$type` string.",vhauri
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
21989,update_option() calls sanitize_option() twice when option does not exist,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-25T05:04:34Z,2013-06-09T00:49:27Z,"
I just spent several hours tracking down an issue when using the Settings API where `sanitize_option()` is called twice which is unnecessary execution especially if sanitization includes calling an external API for username/password authorization ''(this was how another developer set it up for a plugin I was debugging.)''

What happens is that a call to `update_option()` will call `sanitize_option()` and then if the option wasn't previously in the options table `update_option()` will delegate to `add_option()` which calls `santize_option()` a second time.  This would normally be easy to workaround by first calling `get_option()` and testing for `false` and calling `add_option()` instead of `update_option()` if `false`, but not when the Settings API chooses how to call it.

I've looked at the problem and can envision several different ways to solve it such but don't know which the core developers would choose ''(or if they'd choose yet another option I haven't envisioned)'' so I didn't submit a patch:

- Adding a 3rd parameter `$mode` to `sanitize_option()` that identifies the mode ''('add', 'edit', default = 'unknown')'' and thus allow the hook to ignore one of the options ''(this would be more backward compatible but would put the onus on the developer to know to do this)'',  
- Adding a 5th parameter `$bypass_sanitize` to `add_option()` defaulted to `false` that is only passed as `true` in `update_option()` allowing `update_option()` to disable the call to `sanitize_option()` found in `add_option()` ''(this would be less backward compatible and hacky, but seemless to the developer)''
- Adding a 3rd parameter `$bypass_sanitize` to `update_option()` defaulted to `false` that is only passed as `true` from `/wp-admin/options.php` allowing `update_option()` to bypass the call to `sanitize_option()` if an `add_option()` will happen ''(this would be less backward compatible and hacky, but seemless to the developer)''
- Have `/wp-admin/options.php` test for no pre-existing option and then call `add_option()` or `update_option()`, respectively ''(this would be seemless to the developer but less backward compatible and not hacky, and it wouldn't handle the general case.)''

So is this worth fixing to save other users and developers debugging time, and to reduce the chance of subtle errors in new code? If yes, how best to approach?",MikeSchinkel
24541,wp_is_mobile() includes tablets,,Administration,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-06-08T12:41:08Z,2013-06-08T15:02:43Z,"Android tablets have ""Android"" in user agent and Android mobile phones have ""Android"" and ""Mobile"". I use this to distinguish what is tablet and what is a mobile phone.

http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/vars.php",Looimaster
24334,"""edit_form_after_title"" and ""edit_form_after_editor"" hooks wrapper optional?",,Administration,trunk,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-05-14T10:51:21Z,2013-05-14T18:38:39Z,"Would it be possible to make the `DIV.edit-form-section` wrapper applied around `edit_form_after_title` and `edit_form_after_editor` hooks in post/page edit screen optional in WP3.6? Or create additional non-wrapped hooks besides?

[http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L462]
[http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L502]

These wrappers were actually introduced in WP3.6, the WP3.5 version was without them. 

'''Explanation of what I do:'''
* `edit_form_after_title` hook - I output UL list of tabbed interface here and open the first tab content DIV
* `edit_form_after_editor` hook - I close the first tab content DIV and output the other tab content DIVs

The first content DIV is always a visual editor. But as you can see, when I open the DIV in one hook and closing it in another one, this was working fine in WP3.5 as no wrapper was added to those hooks. Once there is a wrapper, it obviously messes up the HTML and closes divs prematurely. This is causing issues obviously for tabbed interface.

Screenshot: [http://awesomescreenshot.com/09915rzc37]
Ticket started on Alpha/Beta support forum: [http://wordpress.org/support/topic/wrapper-of-edit_form_after_title-and-edit_form_after_editor-hooks-optional]

Thank you!",lemmonaid
16865,'post' definition should use menu_position,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-03-16T15:03:00Z,2011-03-17T10:32:11Z,"Since WP 3.1, we don't need to hardcode the Posts $menu array, since register_post_type() is flexible enough to handle it.",scribu
7756,AJAX saving method instead of reloading the page,,Administration,,normal,normal,Future Release,enhancement,new,,2008-09-16T17:36:44Z,2013-01-03T16:12:25Z,"Instead of using a traditional page refresh after saving a post, utilize AJAX, similar to how auto-saving already functions, to save the post.

this would help decrease the load on the server and enhance the user experience.",jdingman
18413,"Ability to Add Custom ""Add User"" Link",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-08-15T14:44:54Z,2011-08-15T14:44:54Z,"For the ldap plugin i'd like to be able to utilize the current location of the ""Add New"" and ""Add Existing"" button to override it to show a button to link to the custom page for the ldap add user page.

Currently there are no hooks or filters that would allow me to add something in there - would it be possible to add in an action in there after the existing code to print out the add buttons?",axelseaa
21938,"Add ""no-store"" to Cache-Control header to prevent history caching of admin resources",,Administration,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-09-20T10:54:27Z,2012-09-28T07:56:36Z,"The current implementation of [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php#L891 wp_get_nocache_headers] does not take into account history caching, which results in a browser serving a cached copy of pages from history (by pressing the Back button) even if the user has long logged out.

[http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2 RFC 2616 14.9.2 no-store] describes this cache directive.

To repoduce: login to dashboard, logout, press the back button.
Expected: the login screen.
Reality: a copy of the previous page.

By adding the ""no-store"" directive to all non-cachable resources the behavior was mitigated successfully in Chrome 21, Firefox 15. Fails on Opera 12 (they chose to disregard ""no-store"" when applied to history, RFC allows this).",soulseekah
21911,"Add 'All Themes', 'Parent Themes' and 'Child Themes' tabs",,Administration,3.4.2,normal,minor,Awaiting Review,enhancement,new,close,2012-09-17T18:37:44Z,2013-03-08T15:31:36Z,"When you have multiple themes installed which are a mixture of parent and child themes, it can be a bit overwhelming sometimes to have ALL themes lumped together in one view.

It would be nice on the themes.php page to replace the 'Available Themes' text with some tabs such as:

All Themes | Parent Themes | Child Themes

The 'All Themes' tab would show all available themes (default view), 'Parent Themes' tab would only show parent themes, and 'Child Themes' for child themes, but only if any are installed (to prevent an empty tab from being shown).

Hopefully this wouldn't be too hard to implement, but would be pretty handy for the end user for multiple available themes.

An extension to this could have a further tab called something like 'Favorites' where you can flag certain themes you like. This could be a great way of displaying just a select custom subset of themes that you have complete control over (only if at least one theme had been flagged as a favorite).


All Themes | Parent Themes | Child Themes | Favorites
",dgwyer
22333,Add IDs to .misc-pub-section divs in meta-boxes.php,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-10-31T16:25:40Z,2012-11-13T01:39:40Z,"In `wp-admin/includes/meta-boxes.php` the `post_submit_meta_box` has several sections with class .misc-pub-section. Should you have to style/alter any of them, it's not consistent as:

1. first div has only `class=""misc-pub-section""`
2. second div has `class=""misc-pub-section"" id=""visibility""`
3. third div has `class=""misc-pub-section curtime""`

Since this is a unique box on the screen, I've added two more IDs to div blocks 1 and 3 to allow for easier styling changes. ",nofearinc
11164,Add Theme Sort Filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-17T16:03:18Z,2009-12-01T18:16:20Z,"I've run across the need for this in a few plugins. You can't adjust the order of themes in the theme browser as all filters are applied before the sort.

Aaron (for Incsub)",uglyrobot
21190,Add a action in check_admin_referer() in the event the nonce auth fails,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-08T09:12:56Z,2012-07-08T09:12:56Z,"Currently plugins don't have a way to perform custom handling in the event that a nonce fails in `check_admin_referer()` - Whilst in most cases this will never be needed, I'd like the ability for plugins to be able to use `check_admin_referer()` directly AND have the option of redirecting failed nonces to their own page.

We currently have an action which is fired when a nonce passes:
{{{
do_action('check_admin_referer', $action, $result);
}}}",dd32
15406,Add a pending post count indicator to the admin menu,,Administration,3.0.1,normal,trivial,Awaiting Review,enhancement,new,dev-feedback,2010-11-12T17:28:49Z,2013-01-22T15:21:49Z,"Comments has an indicator bubble on the dashboard with the pending comments count.

Pending posts should have such a feature, since they are quite more important.",iign
18357,Add action to do stuff before the admin menu is rendered,,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-08T22:08:23Z,2011-08-08T23:34:15Z,"Here is a trivial patch to allow users to inject some stuff in the Admin pages HTML body before the menu is rendered. The new action is called 'before_admin_menu_header', feel free to use a better name.",llucax
21636,Add category dropdown to QuickPress in Dashboard,,Administration,3.4.1,lowest,minor,Awaiting Review,enhancement,new,has-patch,2012-08-19T20:14:09Z,2012-08-31T18:28:22Z,"This would make QuickPress more useful to people who use categories instead of tags, have been meaning to do this for years.


",jane
11200,Add count for approved comments filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-20T15:17:04Z,2011-06-29T17:28:19Z,"On wp-admin/edit-comments.php, Approved is the only filter that doesn't have a count after it.",scribu
15261,Add do_action to form tag in edit-tag-form.php,,Administration,3.1,normal,normal,Future Release,enhancement,reopened,has-patch,2010-10-30T16:07:46Z,2011-01-19T23:50:20Z,"How about adding additional actions to the form tags in admin taxonomy pages like ''edit-tag-form.php''?

An example can be found in ''user-edit.php'' line 183:


{{{
<form id=""your-profile"" ... method=""post""<?php do_action('user_edit_form_tag'); ?>>
}}}
",linguasite
23986,Add filter for <html> css class in admin,,Administration,trunk,normal,minor,Awaiting Review,enhancement,new,,2013-04-08T08:23:10Z,2013-04-08T08:23:10Z,"It would be handy (looking at MP6), if it would be possible to alter the CSS class of `<html>` in the backend.",tillkruess
13605,Add filter for admin-ajax get-tagcloud's arguments for wp_generate_tag_cloud,,Administration,3.0,low,minor,Future Release,enhancement,new,has-patch,2010-05-28T20:30:43Z,2010-10-27T10:13:29Z,Patch attached.,mitchoyoshitaka
13227,Add filters above forms in wp-login.php,,Administration,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2010-05-03T13:25:58Z,2013-01-22T02:00:35Z,"Sometimes I need more descriptive text to have above forms on wp-login.php (login, register, lost password).

This patch add filters above those forms.

Example usage:

{{{
function above_login_form_filter() {
	return '<p class=""message"">Tip: If you forgot your password, go to <a href=""wp-login.php?action=lostpassword"">Lost Password</a> page</p>';
}
add_filter('above_login_form','above_login_form_filter');
}}}


",dimadin
16512,Add hook after set_current_screen(),,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-10T02:24:56Z,2011-02-10T03:00:55Z,"There needs to be a hook after {{{set_current_screen()}}} as it does a lot of work setting up the {{{$current_screen}}} global.. I'd hate to have to repeat it in {{{admin_init}}} as that's the last generic hook before {{{load-$pagenow}}}.

Patch adds new hook {{{admin_loaded}}} after {{{set_current_screen()}}}",ptahdunbar
14126,Add hook for message on admin-header in h1-privacy,,Administration,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-06-28T08:35:10Z,2010-10-28T08:46:46Z,"Add a hook for add a message inside from h1 in admin-header.php, same as privacy message in WP 3.0, see example images: [http://drp.ly/1glQ2G]
I think, its great for the UI and create messages about all sites in backend. I change also the ID in class, no redunace on use this style.
Please see the files and sorry for my bad english.",bueltge
20007,Add option for new user registration notifications,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-10T06:15:35Z,2012-11-22T03:36:08Z,"This patch adds an single checkbox option to WordPress's Settings > Discussion page, allowing users to quickly toggle new user registration notifications/emails on or off.


While the notification function is currently pluggable, allowing non-technical users to easily toggle this feature themselves is both intuitively simple, and should prove generally advantageous to the community.",Veraxus
19247,Add post type and taxonomy to admin body class,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-15T08:19:35Z,2013-04-14T10:03:13Z,"I often have a need for targetted CSS selectors based on the current screen's post type (eg. to hide unwanted UI elements), so I usually end up adding `post-type-{$post_type}` with the `admin_body_class` filter. It'd be nice if this was in core.",johnbillion
20928,Add regular-text style to textareas,,Administration,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-06-12T20:13:43Z,2012-06-12T20:14:38Z,The `regular-text` class style is only applied to input elements. It would be nice to get this on textareas too so my textareas are the same width as my single line text inputs.,johnbillion
21667,Add some user agent to wp_is_mobile,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-08-23T12:35:29Z,2013-05-07T18:45:53Z,"Hello,

I've run some test with the help of the twitter/G+ community on wp_is_mobile and found some mobile browser that don't pass the test. 

You can see the test here : http://www.inpixelitrust.fr/blog/wp_is_mobile/

I was able to get the user agent of 3 of those which don't work : 

HTC sensation z710 4.0.3 native browser (UA:  Mozilla/5.0 (X11;Linux x86_64; HTC/Sensation/3.32.162.11; fr-de) 
AplliWebkit/534.24(KHTML,like Gecko) Chrome/11.0.696.32 Safari/534.34 )

BlackBerry Playbook (Ua Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.1; en-US) AplleWebkit/535.8+ (KHTML, like Gecko) Version/7.2.0.1 Safari/535.8+ )

Could be great to add those to the UA sniffing :)

",inpixelitrust
15796,Add spacing in the menu between 59 and 60 to allow menu items to appear above appearance,,Administration,3.1,normal,normal,Future Release,enhancement,new,,2010-12-13T14:12:51Z,2011-01-06T12:44:41Z,"I would like to place a menu item above appearance however the spacer is directly above the Appearance menu item at 60, the spacer is at 59, just a simple request to appropriate more space that is empty, 55 for the spacer and keep the appearance 60 giving 56,57,58,59 for add_menu items above 60

",Frumph
24531,Add subpage_file Filter Before Admin Menu,,Administration,,normal,minor,Awaiting Review,enhancement,new,,2013-06-07T10:53:36Z,2013-06-07T10:53:36Z,"For users extending the back end of wordpress, sometimes custom pages added to the main menu will not be flagged as the current page because of unexpected aspects such as additional GET data.

The problem is, setting this directly using a filter like {{{admin_menu}}} does not work due to {{{$subpage_file}}} being set later on (needs confirming), nor does it make sense due to context.

At the top of {{{menu-header.php}}}, there is a filter called {{{parent_file}}}, used to allow plugins/themes to move the submenu tabs around, a suggestion would be to add a {{{subpage_file}}} filter, allowing plugins and the theme to modify the compared url to check the current page.

Would add a patch, but away from my development environment.",Nessworthy
24512,Add user ID to query vars after adding a user,,Administration,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-06-06T10:32:54Z,2013-06-09T02:23:18Z,"When you add a new user (or existing user on Multisite) to your site, you're redirected to the same screen but the new user ID is not passed along as a query var in the URL.

I'd like to add some user-specific links to the screen in a plugin of mine and can't do so without a user ID.",johnbillion
11469,Additional Admin UI hooks / filters,,Administration,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-17T05:54:04Z,2010-12-13T12:43:33Z,"Some might classify this as overkill, others as making Wordpress as completely extendable as people want it.

I'd like to propose the addition of numerou hooks to the Wordpress core Admin UI which would allow the addition of UI elements outside of the current constraints, such as meta boxes. 

If that doesn't make sense, I have an example to illustrate:

Given the ""Subtitle"" example from http://digwp.com/2009/10/ideas-for-plugins/, there would be a new hook named ""edit_post_form_after_title"" (or something along those lines) which would be placed directly after the post title is displayed on the screen and allow a plugin developer to insert a text field for a subtitle directly below the title field. See the attached patch.",johnl1479
10652,Additional arguments required for page_template_dropdown,,Administration,2.8.4,normal,trivial,Future Release,enhancement,new,has-patch,2009-08-19T17:29:05Z,2010-08-13T12:23:56Z,"As a plugin/theme developer, it would be really useful to be able to call the page_template_dropdown function with a parameter string similar to [http://codex.wordpress.org/Template_Tags/wp_dropdown_pages wp_dropdown_pages].

For example, the current '$default' argument should accept a string of arguments where:

- 'selected' is the selected template (replaces the current $default)[[BR]]
- 'echo' can be set to 1 to return instead of output[[BR]]
- 'name' will set a name/id for the menu[[BR]]

This would make it easier to create plugin/theme options where you could select which templates you want to use for different content.

At the moment it is possible to do this by replicating and adapting this function but I think it would make more sense to use the same multi-parameter argument as [http://codex.wordpress.org/Template_Tags/wp_dropdown_pages wp_dropdown_pages] and [http://codex.wordpress.org/Template_Tags/wp_dropdown_categories wp_dropdown_categories] and include it in core?",husobj
11515,Admin needs standardized way of handling messages (notices) displayed to the user,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2009-12-19T19:53:03Z,2013-03-15T23:45:50Z,"If you try to upload a media item under Media > Add new without an uploads directory, you get the following vague error message:

{{{
Error saving media attachment.
}}}

If you try instead to upload from the post edit page, you get a much more helpful message:

{{{
Unable to create directory /path/wp-content/uploads. Is its parent directory writable by the server?
}}}

In each case, the root error is the same, but the second error message points the way to a solution.  Even if the user doesn't know herself what that message means, it's a message that provides the necessary information to someone else who does and is trying to help the user. The first message is completely useless, as it states only what we already know: something went wrong.

The reason Media > Add new doesn't offer a helpful message is that the error is generated on one page request, and ''then'' the user is redirected to another page.

We need a standard, cross-page-load way of conveying messages in admin.

I've thought of a few possible ways of doing this:

 * Define and use a standardized set of error codes and associated error messages.  This is similar to what happens currently on many pages: the unhelpful ""Error saving media attachment."" appears when the message argument is set to ""3.""  What I'm suggesting would use a common set of message codes across the admin and be much more detailed.  So the above situation would instead produce a message like ""Unable to create the uploads directory.""
 * Save error messages to a cookie.  Unlike the previous method, this would allow messages to be made particular to their event.
 * Have some kind of user messaging stack.  New messages would be pushed into a user's stack (stored in usermeta) and popped off after a certain time, or when read, etc.  This has the advantage of lasting across sessions and browsers and being usable for other applications, such as PMs between users. 

What do you think?",filosofo
10726,Admin notifications for more than 1 email,,Administration,2.8.4,normal,normal,Future Release,enhancement,reopened,,2009-09-05T02:18:51Z,2013-06-11T19:24:17Z,"Please allow admin notifications to go to more than 1 email address. It could be as simple as allowing a comma-separated list.

Better yet, allow sending '''admin''' notifications to all people in the '''administrators''' role.",novasource
18769,Admin should not break if URL changes,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-09-24T22:58:42Z,2013-06-03T17:50:55Z,"We manage a lot of users who have WordPress blogs, and probably the number one user support request we have to field comes out of this situation:

1. User decides they want to move their WordPress,
2. They move the folder to a new URL,
3. Their admin page stops working, because it still had the old URL hard-coded.

This is silly and should be fixed.",AmbushCommander
19278,Allow WP_List_Table ::get_bulk_items() to receive a nested array and output optgroups,,Administration,,normal,minor,Awaiting Review,enhancement,new,,2011-11-17T17:25:37Z,2011-11-17T21:38:59Z,"I'm just putting this out there as a possible enhancement to the WP_List_Table... would like feedback as to whether anyone else would find it helpful. If so, I'm more than happy to write up a patch for this.

I think it may be useful to be able to pass a nested array to `WP_List_Table::get_bulk_actions()` and have it output the options within the subarray in an `<optgroup>`. My specific use case is in applying meta fields to a custom table. I would like to be able to define something like this in my `get_bulk_items` function:

{{{

function get_bulk_actions() {
	$actions = array(
		'delete' => 'Delete',
		'outofstock' => 'Mark out of stock',
		'applytags' => array(
			'label' => 'Apply tags to products',
			'actions' => array(
				'featured' => 'Featured',
				'sale' => 'On Sale'
				)
			)
		);
	return $actions;
}

}}}

and have the output look something like this:


{{{
<select name=""action"">
	<option value='-1' selected='selected'>Bulk Actions</option>

	<option value='delete'>Delete</option>
	<option value='outofstock'>Mark out of stock</option>
	<optgroup label=""Apply tags to products"">
		<option value='feature'>Featured</option>
		<option value='sale'>On sale</option>
	</optgroup>
</select>

}}}

A very minor feature, and possibly too fringe of a use case to bother with. But I've worked on a couple projects now where being able to specify markup like that would have made that screen more user-friendly. Any thoughts?",goldenapples
19958,"Allow custom post types as ""home"" and get_posts() to return results for more than one post type",,Administration,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-04T00:59:13Z,2013-03-08T17:32:39Z,"In
{{{
Wordpress admin > Settings > Reading
}}}
there is an option to define what the home page or the front page should be
{{{
Front page displays
}}}
Radio button
{{{
A static page (select below)
}}}
is followed by a dropdown containing a list of all pages.

I would request that custom page types be allowed in this dropdown. This way, I could make my bbPress forums or my All-in-one event calendar, etc my homepage.
",sooskriszta
7723,Allow filtering by author on Manage > Posts,,Administration,,normal,normal,Future Release,enhancement,reopened,,2008-09-10T19:59:37Z,2011-12-19T18:04:36Z,"In versions of wp before 2.5 you could select an author from a dropdown on MANAGE > POSTS to see only posts owned by that author. This was very useful for quickly sorting posts and is absolutely necessary when you have editor users without  the 'edit_users' capability, as unlike admin users (most of us) they don't have access to the 'users' tab and thus have no way to see the manage screen sorted by user. The manage screen sorts by user simply by adding ?&author=$id in the url, but for users without access to the 'users' tab, even author id's are innaccessible. 

In the #wordpress-dev irc channel ryan boren expressed that the filter was removed because in some cases there were too many users in the system and the resulting dropdown was slowing down pageload time and ruining user experience. This is a paradox, because the more users your system has the more likely you are to need this filter. 

Wordpress needs to support filtering by author somehow if it wants to be a serious multi-user platform. Our editors are pulling out their hair.

My personal opinion is that the dropdown select should be reinstated. Filters should be added to the list such that only users who can post are listed (other users have no use in the Manage > Posts screen), as well as to show only users with at least 1 post. This should avoid slowing down pages for installations where most users are 'subscribers', which would otherwise mean all open-registration blogs would have hugely long lists. 

Given those two filters, I think that anyone who still has load-time problems should deal with their problem themselves using a plugin. It should be easy to remove the filter dropdown if you don't want it using a plugin, as well as to further filter the authors shown to reduce their number. 

Any installation with that many users deserves the option of deciding if they want the pulldown or not, and I think many would choose to keep it even if there are problems because it is so incredibly useful in filtering through hundreds of users worth of posts. 

(Consider: the full categories list is shown, even if there are hundreds, despite the fact that this has the same effect on performance as many authors does). 

Also in IRC Matt M proposed that some kind of text box + ajax to predict which author you mean could be used for this purpose. I think that is a great idea but would take a lot more work than what I propose (the work for hte pulldown is already done and the old functions are still there, all that's needed is to add filtering and re-work it into edit.php). It could also be used in the 'Users' context for search though, so it could be worth the effort. ",jeremyclarke
18504,"Allow filtering of ""Add New [Post Type]"" URL on edit.php",,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-24T00:54:56Z,2011-08-24T12:01:54Z,"I've recently attempted to use add_filter('admin_url','filter_function'), only to discover that there are many URLs in the admin area that are not passed through the admin_url() function. While there may be a good reason for that to happen, I figured it wouldn't hurt to check the possibility of changing one of them.

The one URL I haven't been able to find a workaround to is the ""Add New [Post Type]"" button on the edit.php screen, on top the post table, which also appears when editing an existing post. From what I gather, it is generated in the following file/line [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit.php#L189] for the first case, and on this one [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L198] for the second case.

Fixing this, assuming it's possible without compromising a functionality I'm not aware of, would be as simple as replacing this:

{{{
<a href=""<?php echo $post_new_file ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( $post_new_file ) ?>"" ...
}}}

With this:

{{{
<a href=""<?php echo admin_url($post_new_file); ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( admin_url($post_new_file) ) ?>"" ...
}}}",tbuteler
4221,Allow pure wp_nonce_url urls,,Administration,2.3,normal,normal,Future Release,enhancement,reopened,close,2007-05-04T04:29:33Z,2012-08-15T03:44:11Z,"wp_nonce_url sends the url through wp_specialchars, which converts {{{&}}} into {{{&#038;}}}

That's great for standards-compliant links, but if you're trying, for example, to use a nonce in a url passed to JavaScript, it can cause problems, as at least Firefox chokes when JavaScript requests a url with {{{&#038;}}} instead of {{{&}}}. 

My patch allows you to toggle off the wp_specialchars; the default behavior remains the same.",filosofo
23162,Allow to call parent_dropdown() for an arbitrary post,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-01-09T22:48:08Z,2013-01-09T23:24:26Z,"parent_dropdown() can no longer be used outside of the loop, such as within the wp-admin, because an E_NOTICE will be emitted in template.php:683 since $post is null. 

A simple fix is to change the function argument declarations from 

{{{
function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
}}}
to:
{{{
function parent_dropdown( $default = 0, $parent = 0, $level = 0, $post = array() ) {
}}}

and then also change:
{{{
$post = get_post();
}}}
to
{{{
	if ( empty( $post )) {
		$post = get_post();
	}	
}}}

which would allow a WP post object to be passed into the function.

Sorry I am unable to provide an SVN patch.
",charliespider
24071,Allow users to set three columns on Add Post/Add Page screen,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-04-12T23:53:07Z,2013-04-14T06:02:48Z,"These days, an increasing number of people have desktops or laptops with high-resolution monitors. On such monitors, the layout of the WordPress Add Post/Add Page UI is not optimal. 

On, say, a 1920x1080 screen, the first column, containing the TinyMCE editor and title field, occupies the vast middle of the screen, with the WordPress chrome at the left and Column No. 2 at the right. 

If a user has chosen to show additional fields not shown by default - like Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, and Author - these all appear below the TinyMCE editor, out of sight on a widescreen. Take a lot at the screenshot attached to this ticket. 

Showing two columns by default is perfectly fine, but those with widescreen displays would benefit from gaining the ability to change the number of columns in the screen layout to three without needing a plugin, or having to hack the admin. This doesn't seem like it would be too difficult of an option to add to core. 

Allowing three columns to be set would permit users with hi-res monitors to easily make better use of the screen real estate: all of the available fields would be visible without the need for scrolling. 

Many users, incidentally, utilize fixed-width themes on their sites, and if the theme is sending its CSS to the post editor in order to enable the user to accurately preview what the text will look like (truer WYSIWYG), having a really wide post editor is especially useless. 

I've attached a three-column mockup I made in KolourPaint. The mockup shows what a three-column post editor layout could look like. As you can see from the mockup, all available fields in WordPress Core fit into the viewport. ",avcascade
23738,Audit our secondary button uses,,Administration,trunk,normal,normal,Future Release,enhancement,new,,2013-03-11T17:31:26Z,2013-05-16T12:12:03Z,"helen pondered in #wordpress-ui that maybe the ""apply"" button in the Screen Options dropdown should be a primary button. There's a good argument to be made that when this panel is down, that ""apply"" button is your new primary.

We should do an audit of our buttons to see if there are any other cases where we could make an action or a temporarily primary action more obvious by using the primary button style.",markjaquith
17704,Automatically enqueue necessary scripts when custom meta boxes are used,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-06T05:53:43Z,2011-11-08T21:30:11Z,"Right now if you add_meta_box() to a custom page, like using add_submenu_page() and then calling do_meta_boxes(), the screen options and post box JS don't work automagically. They should.",mitchoyoshitaka
23577,Better Date Fields,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-02-21T11:52:59Z,2013-02-22T16:15:20Z,"I think the Dates should be prettified (i.e 2 days ago etc) and the last state put in front i.e (""Published 2 days ago"" rather than ""2 days ago Published"")

As I think it would make it even more user friendly to used.

I have attached a Image showing what I mean.",jscampbell.05
17766,Browser update dismiss button lacks non-JavaScript fallback,,Administration,3.2,normal,minor,Future Release,enhancement,new,,2011-06-11T11:20:58Z,2011-08-27T15:42:14Z,The 'Dismiss' button in the browser update dashboard box doesn't do its thing without JavaScript enabled.,johnbillion
19691,Cannot modify admin messages for /wp-admin/edit.php,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-30T02:10:01Z,2013-02-26T17:51:13Z,"The admin console messages output on line `264` of WordPress 3.3's file `/wp-admin/edit.php` are not filterable. This causes problems when added row actions need to HTTP GET from to WordPress to modify a post and then display an appropriate message complete with a revert link ''(like the ""Trash"" link does.)''

An example use-case could be for a custom post type used for both quotes and invoices where a row action might be ''""Convert Quote to Invoice""'' where you'd want a message and link displayed at the top of the admin after similar to this:

- ''Quote #{$post_id} converted to Invoice. __Revert__''

Currently the only way to accomplish this is to pick hooks before and after the messages are output and use PHP's output buffering;  clearly not a ''""best practice""'' approach.

In order to address this I'm proposing an '''`'admin_messages'`''' filter hook to run just before the messages are output:

{{{
$messages = apply_filters( 'admin_messages', $messages );
}}}

However, since messages are output in numerous locations in the WordPress admin it seemed best to add the hook in every location where messages are output, which is what my patch does.  Thus a hook can look at `$pagenow` or `get_current_screen()` to decide it is needs to do anything.

Also while searching for places in the admin code that echo messages I found `$messages` are sometimes an array of HTML where the entire array is echoed and other times the $messages are an array with an index passed via `$_GET` and only one message will be displayed. For those cases I created another hook '''`'admin_message'`''' ''(note that this hook name is singular)'':

{{{
$message = apply_filters( 'admin_message', $message, $messages, $_GET['message'] );
}}}

I really only found a specific need for `/wp-admin/edit.php` today, but it seemed that it would be better for consistency if all messages were made hook filterable. That's why I created a larger patch when all my use-case needs is one new line.  

Looking forward to your feedback.
",mikeschinkel
24530,Change 'Right Now' dashboard actions to filters.,,Administration,3.5.1,normal,trivial,Awaiting Review,enhancement,new,,2013-06-07T08:55:19Z,2013-06-07T15:24:06Z,"The default dashboard's 'Right Now' meta box (not the network one) has three actions which allow you to extend by adding to the bottom of the table at three points: After the 'Content' column, after the 'Discussion' column, and at the end of the table. 

Similar to filter functionality for things like adding custom columns, the box could, instead, work with filters. By passing an array of rows, this would allow developers to be able to reorder the table rows, and extend the table at whatever position they want to.

({{{dashboard.php:225, wp_dashboard_right_now()}}})",Nessworthy
23230,"Change hyphen in front of ""Draft"" to em dash",,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-18T09:08:47Z,2013-01-25T20:08:00Z,"When a post/page/etc. is saved as a draft there is a ""- Draft"" appended after the title in the overview list in the dashboard.

Rather than using an hyphen (-) it should be an em dash (—) and ideally it should be translatable as the typographic rules for dashes varies with languages.

Rather than ""- Draft"" it should say ""— Draft""",kkalvaa
17360,Change text from Options to Settings,,Administration,3.2,normal,minor,Future Release,enhancement,new,has-patch,2011-05-09T23:31:56Z,2011-12-06T04:47:31Z,"In various admin screens, change test from options to settings.

",michaelh
12350,Check folder permissions before uploading file,,Administration,,normal,normal,Awaiting Review,enhancement,reopened,,2010-02-23T18:41:57Z,2011-10-09T14:54:04Z,"It would be nice if wordpress - or especially the media-upload module would check if its able or has the necessary file permissions to create the upload directory.
",not2bug
18860,Chromeless metaboxes,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-05T14:28:14Z,2011-10-06T13:39:07Z,"On the post editing screen, the title and editor portions are just conditionally echoed based on post_type_supports().

Because of this, you can't add anything between them or above them, without using JavaScript.

The proposal:

 - wrap them in callbacks and inject them through add_meta_box()
 - add a $show_handle parameter to add_meta_box()

{{{$show_handle == false}}} would mean that the handle around the box would be invisible. This would mean that you wouldn't be able to drag the title and editor boxes around, which is ok, but you would be able to re-order them in PHP.",scribu
17852,Collapsed menu fly-out headers should be clickable,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-20T03:13:00Z,2012-03-07T20:59:48Z,"When you hover over a collapsed admin menu icon, the extension of the icon is not clickable, only the submenu screens are.

This is the same behavior in 2.7 to 3.1, but I think it should be considered.",nacin
15782,Consolidate header Javascript,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-12T05:45:53Z,2011-03-24T08:48:43Z,"As a followon to #15781

Currently there is a block of Javascript required on all admin pages, this is stored directly within admin-header.php, and iframe_header(). Unfortunately, when someone changes/adds code to one, the other is not always updated.

This inline Javascript should be moved to a function and printed on a header action in order to reduce code duplication and prevent future issues.",dd32
7797,Consolidate iframe headers,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2008-09-26T23:35:46Z,2012-10-30T16:40:45Z,"Currently iframes are being used in multiple locations (ie. thickbox, plugin re-activation, etc) and in each case, theres generally a function for the header and footer, or its inline.

What i suggest, Is to create a standard set of admin templates which print the headers out for the pages.

And a side suggestion:[[BR]]
As an added bonus, It should probably be possible to automatically detect if it was loaded via thickbox ($_GET[TB_iframe] shouldnt be set) and serve the correct header (ie. Full admin side menu if no thickbox)",DD32
19898,Create a is_login() function similar to is_admin(),,Administration,3.3.1,normal,normal,Future Release,enhancement,new,dev-feedback,2012-01-25T23:13:43Z,2013-02-12T15:34:47Z,"It would be useful for developers to have better detection of being on the wp-login.php and wp-register.php pages. Sure, this can currently be done by using the $pagenow global variable but having a similar function like is_admin() would make things easier/cleaner.

One use case:

-Using a hosted javascript file but then requiring SSL (FORCE_SSL_LOGIN).    

{{{
#!php
function javascript_init() {
    if ( $pagenow == 'wp-login.php' || is_admin() )
        return;

    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}
add_action( 'wp_print_scripts', 'javascript_init' );
}}}


Proposed solution:
Create a new function that does all the checking. 
{{{
#!php
function is_login() {
    return in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) );
}
}}}",dcowgill
18641,Date and post status are the wrong way around in post lists,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-11T20:31:41Z,2011-09-11T20:35:13Z,"On a post listing screen, a draft post that has been modified within the last 24 hours will show the following in the 'Date' column:

{{{
X hours ago
Last Modified
}}}

This doesn't make a lot of sense. Better would be:

{{{
Last Modified
X hours ago
}}}

Ideally the table cell should be treated as a whole to aid l10n and to improve the English presentation.",johnbillion
15790,Date column for Scheduled posts should also state the time,,Administration,3.0.4,normal,normal,Future Release,enhancement,new,,2010-12-13T04:37:07Z,2013-01-22T17:33:17Z,"For obvious reasons, for scheduled posts, it's very useful to see not just the date but the time, but the wp-admin posts interface does not show it - only the date.

It'd be very useful to see the time as well.

Thanks.",archon810
18199,Deprecate IE7 in the Admin,,Administration,,normal,normal,Future Release,enhancement,new,,2011-07-21T21:05:15Z,2013-04-26T01:27:26Z,"markjaquith:
> Everyone hates IE7. It’s insecure. Let’s make it go away. Also, dropping IE6 didn’t give us much beyond goodwill, because most of the hacks we needed for IE6, we also need for IE7. So we could actually clean up our CSS a bit if we dropped IE7.",nacin
23108,Deprecate add_object_page() and add_utility_page(),,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2013-01-03T02:47:52Z,2013-05-16T11:55:27Z,"`add_object_page()` and `add_utility_page()` are not used in core and are just wrappers which pass `$_wp_last_object_menu++` and `$_wp_last_utility_menu++`, respectively, to `add_menu_page()`.

This can lead to a conflict with other menu items added by plugins, see #23095.",SergeyBiryukov
18030,Die with HTTP status 403 forbidden when capability check fails in wp-admin,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-07-07T22:42:29Z,2011-07-07T22:42:29Z,"The default HTTP status code of [http://core.trac.wordpress.org/browser/tags/3.2/wp-includes/functions.php#L2740 wp_die()] is a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1 500 Internal Service Error] communicating !WordPress encountered an ""unexpected condition which prevented it from fulfilling the request."" Multiple pages trigger wp_die() in wp-admin when a minimum user capability is not met (e.g. Cheatin', uh?). In these cases we know why the request failed and could better communicate the failure in the HTTP status code. We want to communicate the same request should not be repeated without a modification to permissions. We also would like to shift the error class from a server error (5xx) to a client error (4xx).

HTTP status [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4 403 Forbidden] communicates the authorization failure in HTTP status form. The server can be reached, we understood your request, but we declined access to the page.

A !WordPress install could catch this unique status code in its wp_die_handler and suggest further the viewer contact the IT department, admin, etc. for additional permissions.

Patch attached for wp-admin/edit.php. If the general idea behind the change is acceptable I can broaden the patch to other occurrences of wp_die() for failed capability checks in wp-admin.",niallkennedy
17470,Display warning when editing the page_for_posts page,,Administration,3.2,normal,normal,Future Release,enhancement,new,has-patch,2011-05-17T06:27:13Z,2012-11-19T16:33:34Z,"I recently ran into a situation where someone was very confused by the page_for_posts setting and why their page edits were not being respected. It occurred to me that this feature is not terribly well described in the UI for users that don't already understand what it does.

The attached patch will simply add a warning as an admin_notice when you are editing the page that is specified as the page_for_posts page.

I used a class of error for the admin_notice, but updated might be more appropriate.",alexkingorg
20345,Don't show Author column on posts screen for single author sites,,Administration,3.4,low,normal,Future Release,enhancement,new,has-patch,2012-04-02T20:42:56Z,2012-04-18T20:39:05Z,"The 'Author' column on post listing screens is a bit pointless for single-author sites.

To simplify this screen, I think it would make sense to remove this column for sites which only have one user, and possibly also remove it for sites with more than one user but still only one author (ie. `!is_multi_author()`).

I'm not sure how best to handle the column's visibility and a user's column visibility preferences at the point when a site goes from being a single-author site to a multi-author site.",johnbillion
12890,Draft and scheduled pages not listed in the Parent dropdown,,Administration,3.0,normal,normal,Future Release,enhancement,assigned,,2010-04-07T11:59:55Z,2012-07-03T14:15:23Z,"Draft and scheduled pages are not available as choices in the Parent dropdown of the Attributes module.

This is very similar to ticket #8592, regarding private pages. I'm hoping the fix might be simpler for drafts and future posts.",rooodini
9604,Edit screens expire,,Administration,2.8,normal,normal,Future Release,enhancement,new,,2009-04-21T06:35:08Z,2009-06-13T02:02:48Z,"Steps to reproduce:
1) Open an edit post (or page) screen
2) Take your browser offline for 24 hours
3) Put the browser back online
4) Edit the post, type a lengthy, thoughtful, dramatic entry
5) Click save draft / publish as you prefer

Expected result: Your poetic prose is committed to infallible digital memory.

Actual result: You're told ""Your attempt to edit blah has failed."" Press the back button and likely see the previous version of your post. Your latest prose exists now only in your memory.

Technical details: I think the nonce expires, so the post screen becomes invalid after a while.

Proposed solution: Add a javascript timeout to warn the user that the edit screen has expired. Provide a mechanism for the nonce to be updated.",chmac
9931,Extra class for the wrap div's in custom-header.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-05-24T17:25:40Z,2010-08-13T11:41:15Z,"I'm using custom-header.php to complete the options section for my own themes but for some themes I only need the image section to be visible>

Would it be possible to add an extra class reference to the <div class=""wrap""> sections? This would make it possible for me (and others) to ''not'' display the irrelevant sections (and thus avoid questions from users about why changes aren't reflected).

My suggestions is to go for something like this:

{{{
<div class=""wrap custom-header-text"">
<div class=""wrap custom-header-image"">
<div class=""wrap custom-header-reset"">
}}}

And perhaps that:

{{{
<div class=""wrap custom-header-text"">
<?php screen_icon(); ?>
}}}

needs to be changed into something like:

{{{
<?php screen_icon(); ?>
<div class=""wrap custom-header-text"">
}}}

to keep the icon available when you choose to hide the text section.

Cheers :)",stgoos
22650,Filter the Gravatars on credits.php,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-30T08:39:58Z,2012-11-30T08:51:59Z,"All Gravatars should be generated by get_avatar() or at least run through apply_filters('get_avatar', $avatar) for the sake of extensibility.

Related: #22329",miqrogroove
21034,Flyout Menu on Backend doesn't Loades Untill Whole Page is Loaded,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-21T09:43:55Z,2012-06-25T05:30:06Z,"I have noticed this ever since the flyout menu was introduced. Menu items on flyout menus is not shows until the whole page gets loaded. For high speed connection its not a problem but it gets annoying people who connected in dial up (last week my ISP was down so i had to work with dial up for couple of days).

So, we could make the flyout menu items css/js to load on header so it doesn't wait for to load the whole page and make the backend accessible to and less annoying to low speed users.. For testing it you have to log into backend with low speed connection. If you need proof i can make a video with my dial up. Just let me know.

BTW: What i see on firebug that the css for flyout menu loads on header so i don't really find out what causes the menu to not showing on hover until the page loads.",prionkor
22086,"HTML5 and cellspacing=""0"" in admin pages",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-10-03T19:37:25Z,2013-02-19T20:46:43Z,"There are several instances where generated table content uses 'cellspacing=""0""' in the admin areas of WordPress.

The W3C validator (albeit experimental) states that this parameter should be dropped and CSS used instead for HTML5 compliance.

I think the patch I'm going to attach in a moment will fix these validation issues.",MattyRob
21856,Hide category selection when no posts are available,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-09T14:38:10Z,2012-11-13T20:18:02Z,"Just an idea that popped up while testing #21015. The months dropdown gets hidden when there are no posts available, so why not hide the category dropdown list too?

Might be a bit confusing though, when certain elements are not showing when you first start using the screens that these elements are used. But showing something that does not do what it looks like is even more confusing, I think.",CoenJacobs
22139,Hooks for wp-login customization,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-09T14:18:07Z,2013-01-22T22:18:57Z,"I have an application that leverages wp-login.php as the login page (of course), however, the HTML on the wp-login.php doesn't have a way for my application to insert its navigational elements, branding, etc.

I propose the addition of two new action hooks: ''login_before_container'' and ''login_after_container'' which would come before and after the login div, respectively.  ",borkweb
18709,Hooks in user-new.php,,Administration,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2011-09-19T21:06:16Z,2013-06-12T20:27:42Z,"It would be nice to be able to enter extra metadata for users when manually creating them from the admin control panel. 

I assume it should be as simple as adding a new action, along the lines of the edit_user_profile_update one? 


",standardtoaster
14097,Idea for placeholder text,,Administration,,lowest,trivial,Future Release,enhancement,new,,2010-06-26T06:28:25Z,2013-01-22T17:40:03Z,"Placeholder text has a fatal flaw, in my mind: once the field is focused, that placeholder text is gone. This can be confusing, especially if you tabbed into that field or it was selected by default. You can actually use placeholder text instead of labels, for a minimalistic form layout, but only if you correct this flaw.

So here's a potential solution:

http://txfx.net/files/wordpress/labels/

It uses HTML 5's {{{placeholder}}} attribute (newest Safari and Chrome support it), with a jQuery plugin to handle that support for other browsers.

Thoughts?",markjaquith
17783,Inconsistent theme management screens,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2011-06-13T12:32:26Z,2011-06-13T13:12:51Z,"On single-site you have tabs, while on multi-site you have an ""Add New"" button:

/wp-admin/themes.php (single-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/themes.png)]]

/wp-admin/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes.png)]]

/wp-admin/network/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes-network.png)]]",scribu
22183,"Input type=""email""",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-13T19:01:18Z,2012-11-07T07:53:37Z,"Text inputs for email addresses were replaced with email inputs in [20168] but reverted in [20196] due to poor client-side validation by Chrome 17 and Firefox 10, however we've had input type=""email"" on the registration form since [18763].

We should:
 1. Test the current state of client-side validation.
 2. Either introduce email inputs in the admin area or revert [18763] depending on the results of point 1.

See http://core.trac.wordpress.org/ticket/17863#comment:25 for the email input validation issue.",johnbillion
24209,Install Themes/Plugins Custom Page Hooks,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-28T03:04:05Z,2013-04-28T05:45:40Z,"Upon trying to add a custom page to the '''Plugins > Add New''' section for private plugins, I realized there wasn't a hook that allowed overriding the plugin_api call.

The custom tab on the page could easily be added via the ''install_plugins_tab'' filter, but in the '''class-wp-plugin-install-list-table.php''' class method ''prepare_items()'', there isn't a hook to override the api call.

I checked the functions for the themes and it's the same thing, so I've added the patches containing the proposed filters for both classes in order to help future customization of WordPress by developers.

Here's an example of the custom tab and the desired results via the hooks in a plugin:

[[Image(http://i.imgur.com/iF9gbMf.png)]]

These filters can also be used to prohibit clients from adding 3rd-party plugins for security & performance reasons and even limit them to only using a private Repository API.

Thanks!",amereservant
23432,Links in Setting pages to open in new window,,Administration,3.5.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-02-09T15:26:25Z,2013-02-10T16:02:57Z,"Some links in the Setting Pages (General, Discussion, Permalink) pages open in same window, which sometime can be awful. [[BR]]
While the users can press cmd/ctrl + click and click the link to open it in new tab but If the user does not open the link in new window, options (which are not saved) will be lost and one have to go through them again.[[BR]]
Also links in the Edit Profile page and all the links in the help tab open in new window except a few.(so it is possible that users may just click it thinking them to alike other links which open in new window)[[BR]]
So a consistency will be there and ux can be a little better.",theadityajain
21132,"List tables' ""select all"" should let you really select all, regardless of screen options",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-02T04:38:38Z,2012-07-05T15:13:48Z,"The select all checkbox in list tables selects all the items in your current view.  Usually what I really want is to select all the items on all the pages.

As a hack, I'll often leave the screen options setting for items per page on something really high, like 1,000.  Unfortunately this means the tables are often really slow for no benefit (most of the time I don't need them all).  A better solution would be a way to intelligently select all items without needing to show them on the page.

The best example of this that I know of is Gmail, which adds a line above the list of emails when you click the select all box that looks something like this: ""All 50 conversations on this page are selected. Select all 653 conversations in Spam"".  The second sentence is a link that, as expected, selects all of your emails that fit the current view, regardless of paging.  Screenshot attached.",evansolomon
20335,Make Default Post Listing Mode Filterable,,Administration,3.3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-03-30T15:54:23Z,2013-02-08T07:32:35Z,"Inspired by [http://wordpress.stackexchange.com/q/34956/46 a question] on the WordPress Answers Stack Exchange.

By default, WordPress displays the post list in the admin as a list view.  There's an option to switch to an excerpt view that many people use and some would like to set this as the default mode.

Unfortunately, the default is hard-coded into WordPress and is not filterable.  I propose we add a basic filter to allow developers to override the default ""list"" setting for the view mode.",ericmann
21271,Make admin backend unit-tests friendly,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-14T14:19:20Z,2012-12-11T13:12:31Z,"Recently I started writing unit tests for my plugins. Beside tests focused on functionality (where I directly call my plugin functions) I write some basic integrations tests, which should test that WordPress will call my function, pass data in expected format and recognize data returned from it. For frontend it is quite easy - theme API is well-defined, so I can write something like this:
{{{
public function test_something() {
	// add new post
	$post_id = wp_insert_post( array( ... ) );
	$this->assertGreaterThan( 0, $post_id );
	
	// go to post page
	$this->go_to( get_permalink( $post_id ) );
	
	// main loop
	$checked_post = false;
	while ( have_posts() ) {
		the_post();
		if ( $post_id == get_the_ID() ) {
			$checked_post = true;
			
			// test that content is modified
			ob_start();
			the_content();
			$result = ob_get_clean();
			$this->assertEquals( '...', $result );
		}
	}
	
	// make sure test above was executed
	$this->assertTrue( $checked_post );
}
}}}
Unfortunately this is not true for admin backend - there most of code is written directly at file level (not in functions and classes), so I would need to either duplicate this code in my tests (bad approach, because would have to monitor original code for changes), or test using whole file (either load it directly or use Selenium) - in this case test would be more complicated.

Therefore I logged this ticket, to start discussion how we can perform refactoring of admin backend to make it more tests-friendly, and how to test it more thoroughly. Most probably we would also need to modify the testing framework (e.g. introduce new `admin_go_to()` method).",sirzooro
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
21516,Make the entire .check-column the click target for the checkbox,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-08T03:34:38Z,2012-10-22T15:27:26Z,"Sometimes checkboxes are quite small. In various list tables, checkboxes are wrapped in a .check-column. Why not make the entire .check-column clickable, in case people (like me) miss?",mitchoyoshitaka
20288,"Missing bottom border for bulk-actions checkbox th in wp-posts-list-table if current user can't ""edit_post"".",,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-03-23T10:04:20Z,2013-01-22T03:36:59Z,"If current user can't ""edit_post"" the bulk-actions checkbox isn't present but also the bottom border for th in wp-posts-list-table.

I think it can be fixed by modifying line 495 in class-wp-posts-list-table.php like so:

`<th scope=""row"" class=""check-column""><?php if ( $can_edit_post ) { ?><input type=""checkbox"" name=""post[]"" value=""<?php the_ID(); ?>"" /><?php } else { ?> &nbsp; <?php } ?></th>`",szaqal21
17028,"Move the ""last edited at"" text and saved/updated/published notices in post/page editor",,Administration,3.1,low,normal,Future Release,enhancement,new,has-patch,2011-04-02T21:56:59Z,2013-05-24T20:20:52Z,"1. The timestamp of the last save is currently displayed at the bottom right of the editor box. It would make more sense for this information to be tied to the Publish box instead. 

2. The yellow alert boxes that appear at the top of the page are weird. a) They should appear closer to the button that caused the action (general usability/accessibility best practice), so probably by the Publish box. b) Once you edit anything on the screen, the ""post updated"" (or saved, etc) text should go away, because it is no longer current. 

Am thinking we could combine these two things into one flexible status message that's located in or adjacent to the Publish box. ",jane
20956,Navigation changes: Posts/Pages,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-14T14:42:25Z,2013-01-22T03:30:06Z,"1. Explaining the difference between Posts and Pages to new users is time consuming and often frustrating. We've all done it, have our best/fastest version of the talk down pat, but it still takes longer than it should to get many new users to the point of understanding the difference.

2. Back in 2.7, when we set up the left navigation we put Pages at the bottom of the content nav section because in testing 2.5/2.6 so many people complained about accidentally clicking Posts/Pages by accident because they were close together in the old UI and both started with P (blame it on capital_p). Because of this, Pages falls below the less-frequently accessed areas of Media and Links, and people don't necessarily see it right away because they expect it to be higher up.

I've been testing out two changes to the left navigation aimed at reducing these two issues on my test blog for some time now, and have been using it during demos with both new and existing users to great success, so I think it's time to propose it for core.

Change 1: Change the Posts label to Blog. All Posts can remain as is, or could be reduced to just Posts, since the reason we added the All in the first place was that Matt thought it looked weird to have the same word shown twice. 

This change reduces the amount of time it takes me to get a new user really understanding the difference between posts and pages by about 75% (very informal testing, have kept track with about 30 new users by just keeping an eye on the computer clock to see how long it is before we move on). The dynamic blog/static site difference is much easier to grasp when they see that familiar word Blog instead of Posts because ""posting"" is an action that applies even to static content, and even posts are displayed in web pages (vs Pages).

Change 2: move Pages up the menu to sit below Blog, so the two most important content types are at the top. Since they wouldn't look similar (ha ha capital_p) there would be much less risk of accidental misclick based on letter shape (poor manual dexterity would not be affected, but in that case those people are already clicking the wrong things, right?)

I've attached a screenshot showing what the navigation would look like with these changes. ",jane
23091,Need to remove deprecated get_bloginfo('url') from _fix_attachment_links() function,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2012-12-31T01:57:33Z,2013-01-29T21:51:19Z,"get_bloginfo('url'); is deprecated.
Should be home_url();",hexalys
22589,Network Admin + Ajax requests,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-26T09:12:18Z,2012-11-26T14:40:53Z,"Currently there is no Network admin based ajax handler, forcing plugins which exist solely within the Network Admin to either use `wp-admin/admin-ajax.php` or using the `load-{$page_hook}` hook to perform any actions.

This is primarily a problem when the plugin only includes code on a conditional such as `is_network_admin()`, which would be false for a `/wp-admin/admin-ajax.php` request, as a result, only the `load-{$page_hook}` option above is viable for those.[[BR]]
As a work around, plugins can include code on `is_network_admin() || DOING_AJAX` to allow the usage of admin-ajax.php.

Of course, the User Admin also suffers the same issue.

I didn't see any previous tickets, and kind of want to say the existing 'workaround' is appropriate, but recording it here so we can at least close it as wontfix if appropriate.",dd32
16031,New bulk actions hook missing catcher behavior,,Administration,3.1,normal,normal,Future Release,enhancement,assigned,,2010-12-29T20:31:04Z,2013-03-12T16:47:57Z,"The new bulk actions filter allows you to modify the bulk-actions arrays, but neglects to add the ability to handle the new custom actions. 

The fix is to simply add one new do_action() hook to the default case of each affected page (similar to the way 'wp_ajax_' handles custom ajax requests).

For example, the following might be added to users.php at line 285, immediately after <tt>default:</tt>

do_action( 'bulk_action-'. $wp_list_table->current_action() );",Veraxus
18596,Not possible to filter comment screen by post type,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T16:50:33Z,2011-10-03T20:41:20Z,"The `post_type` query var has no effect on the Comments screen so it's not possible to filter this screen by post type.

I'll work on a patch.",johnbillion
23680,Obsolete function previously used in Theme Editor,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-04T03:15:56Z,2013-03-04T03:15:56Z,"`get_real_file_to_edit()` is unused since [12063] and should probably be deprecated: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/file.php#L96",SergeyBiryukov
19114,Optimise admin css colors,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,,2011-11-02T11:16:11Z,2012-12-24T11:26:56Z,"It is really pain to create own admin color pallete, as the current ones are too complex. E.g. in current colors-fresh.css you are using circa 90 colors, many of them almost identical so noone can see the difference (especially when they are on different pages, places) and you are also using different naming conventions

6hexa #666666

3hexa #666

color name black

and also different case in hexa e.g. #FFFBCC vs. #f1f1f1

IMO the default number of different colors could be decreased to about half without visible concerns and also standardising naming convention would help for creating own themes",thomask
12694,"Orphan themes are listed as broken, but can't be deleted from wp-admin",,Administration,2.9.2,low,minor,Future Release,enhancement,new,has-patch,2010-03-24T21:40:44Z,2013-05-16T01:38:05Z,"I had been giving a set of ""mobile"" themes a tryout on my WordPress blog.  There's a parent theme and three child themes.  Didn't really like them.  

Not realizing they were parent/children(I thought they were 4 independent themes that were identical except for color schemes), I deleted the parent theme first through the WP-Admin's theme screen (/wp-admin/themes).

Now, the parent theme is gone.  But WordPress still lists the child themes as broken themes with the disclaimer: ""The following themes are installed but incomplete. Themes must have a stylesheet and a template.""

However, there's no option to delete them from the WP-Admin.  Being a longtime WordPress user, I know I can FTP into my server and manually remove those directories.  But I'll admit, I love how the newer versions of WordPress have made it possible to install/upgrade/delete themes and plugins right from the Admin system, without the need to open up the ol' FTP client and do it all manually.  I'm sure there are also newer users of WordPress who may or may not be aware they'd need to go through FTP to delete a broken theme.

Just saying it would be nice if we could delete broken themes right from the Admin system... but it's not a major/urgent request.

",pnaw10
21774,Page attributes structure,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-02T14:58:57Z,2012-10-08T17:45:53Z,"Currently, the ""Page Attributes"" module is organized like this:

* Parent
* Template
* Order

Wouldn't it make more sense to put ""Parent"" and ""Order"" together, as both are closely similar and related to the site structure?

We could have:

* Template
* Parent
* Order

or maybe

* Parent
* Order
* Template",Lorangeo
16122,Paging in link-manager,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-06T10:11:07Z,2011-08-06T14:42:39Z,"I think it would be a good idea to have paging (""Show on screen"" option) in the link-manager like in pages, sites, media a.s.o.",jezze
17891,Pass $post_type to 'restrict_manage_posts',,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-25T11:48:23Z,2013-05-23T12:07:23Z,"It would be nice if the 'restrict_manage_posts' hook received the post type as an argument, rather than having to check the global.",scribu
19711,Posts edit list window display no information about filtering,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-01-02T16:39:30Z,2013-01-22T15:09:32Z,"The ""All Posts"" page lists the available posts.

It can filtered by authors or terms, for example by clicking on a category name or the author name next to a post.

The URL will change to apply the filtering, but there's no other visual indication of  the filtering, nor a link to quickly disable filtering.

This can lead to confusion when users are accessing filtered lists directly or via links in other part of the dashboard.

",yoavf
6286,"Proposed changes to ""E-mail me whenever"" Discussion Options",,Administration,2.5,normal,normal,Future Release,enhancement,new,has-patch,2008-03-18T19:14:55Z,2013-05-24T17:23:40Z,"WRT the ""E-mail me whenever"" options on the Discussion options page:

[[Image(http://img132.imageshack.us/img132/4215/picture1vf1.png)]]

 1. For ""a comment is helf for moderation,"" the ""me"" is ambiguous.  It should specify that it means the blog admin e-mail address.
 1. For ""anyone posts a comment,"" again, ""me"" is ambiguous.  In this case ""me"" means the author of the post.  The comment notification setting is personal, and therefore should be set in the profile options (where it can retain the ""me"").  Some authors may want e-mail notification, others might not.",markjaquith
13924,Provide 'reasons to update' text with core update notice in GUU,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2010-06-16T19:39:25Z,2010-10-28T09:38:35Z,"Just like plugins can enter some text to ID why they should be upgraded, we should have this for core. ",jane
23444,Publish actions not readily available after scrolling when editing a post,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-11T01:37:14Z,2013-02-11T02:26:42Z,"When editing a post in 2-column mode, the user is forced to scroll to the top of the screen. As publishing is always the final action while editing a post, the user should have the metabox available regardless of the user's scrolling.",ericlewis
23233,Radio Button instead of Checkboxes on Comment Moderation option?,,Administration,3.5,normal,trivial,Awaiting Review,enhancement,new,close,2013-01-18T16:26:23Z,2013-01-19T03:13:00Z,"Hi! I've been a loyal Wordpress user for years. This is nothing urgent, but something that may improve the user experience.

In Settings > Discussion > Before a comment appears, there are two options: ""An administrator must always approve the comment "" and ""Comment author must have a previously approved comment""

Perhaps I have missed something here, but aren't these options pretty much either/or? If the first box is checked, it's rather irrelevant if the second box is checked, because the first checkbox would override it?

If I'm correct, shouldn't this be changed from a both/and checkbox to an either/or radio button?",danielmount
22198,Realigning the Discussions Settings page,,Administration,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T14:50:34Z,2013-01-22T03:01:36Z,"[I looked for some tikets for this but didn't find any directly related, so hopefully I haven't missed a big one out there floating around.]  

The Discussions Settings page (options-discussion.php) always trips me up when setting up a new site. There's a lot of options, descriptions, directions, etc on that page — much of which is probably unavoidable. When I visit it, I always think that the hierarchy isn't quite right. 

To help with this, I thought of two half-measures. 

1. A very simple solution: 

Put the ""Allow people to post comments on new posts"" at the top of the options list, with a little space below it. That would make that option the most prominent on the page, without making it stand out too much. 

Like this:
[[Image(http://f.cl.ly/items/3e0c062W0N1l3J2D0q0Y/Screen%20shot%202012-10-15%20at%2011.56.02%20AM.png)]]


2. A more involved solution: 

I really like the new click-to-reveal-the-options at work in the ""Page on Front"" (#16379) workflow and thought it might work well here. 

*Something* in this direction:  
[[Image(http://f.cl.ly/items/022A1G3k0O3q0g1u380L/Screen%20shot%202012-10-15%20at%2012.12.09%20PM.png)]]


The first could be accomplished for 3.5, but the second re-working could be a further down the line item. 
 
",saltcod
17906,Refactor submit box code,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-27T13:27:34Z,2011-06-28T16:01:10Z,"The code for the post submit metabox is a mess. It should be cleaned up, so that changes such as #17028 can be done more easily.

Will post a patch shortly.",scribu
17133,Register ctrl + s event for plugin/theme editor,,Administration,3.1,normal,minor,Future Release,enhancement,new,has-patch,2011-04-14T12:20:34Z,2011-12-06T04:07:54Z,Often when modifying code or writing a post using the wordpress editor I instinctively hit ctrl + s to save it. Up pops the save website dialog which I then have to close. In Gmail when I hit ctrl+ s it saves the email to drafts. I think a similar thing would be useful for wordpress.,jcnetsys
16774,Remember list view/excerpt view setting,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-06T13:37:18Z,2012-07-03T19:43:23Z,"I love the new excerpt view, except that the next time I go to the Articles page, it shows me the list view again. The selected view should be retained as a setting.",texttheater
10970,Remove 'siteurl' setting from options-general.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-10-17T18:52:10Z,2012-11-16T16:26:34Z,"From #10957:

azaozz:
> Better to fix the cause for this: ""WordPress address"" (siteurl) shouldn't be changeable from Settings->General at all as it cannot be set safely there. Most users would just break their blogs if they change it.

> It is set at install and only needs changing when WordPress is moved to another domain or (sub)directory. This happens very rarely and there are other (better?) ways to set siteurl.


Denis-de-Bernardy:
> in this case, we need to make sure the www. pref is passed on to the site_url. else we're bound to get massive bugs (e.g. #9873)
",scribu
24387,Remove borders and styles on select elements,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-22T20:16:44Z,2013-05-23T14:12:10Z,"The default admin CSS adds borders, background colors, and other styling to <select> elements that actually cause the default browser styling to become unstyled in Firefox on the Mac.

The default OS and browser styles actually handle select boxes pretty well.

I propose that these styles be removed from any global <select> element.  If borders need to stay, they should be applied using a more descriptive selector so if I wanted to use default browser styling in a plugin I can.

I tested this in Firefox (Mac), Safari (Mac), Chrome (Mac), Firefox (Win) and IE 8 by looking at various pages with select boxes (Posts, Settings, Quick Edit, Categories).  The only difference is that on Firefox (Win) the border is blue instead of gray and I believe if it's desired to keep this, then a targeted class can accomplish the same task without affecting other operating systems.

The patch doesn't apply to the blue theme at this time.",mmuro
22228,Remove one-time variable from add_settings_error,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2012-10-19T17:50:08Z,2012-10-19T17:50:08Z,"Append an array to `$wp_settings_errors` without assigning it to a variable in the previous line.

Before:
$var = array( 'type' => $type ... );
$wp_settings_errors[] = $var;

After:
$wp_settings_errors[] = array( 'type' => $type ... );",niallkennedy
14333,Remove page order UI,,Administration,3.0,normal,normal,Future Release,enhancement,reopened,dev-feedback,2010-07-17T03:10:23Z,2012-09-02T23:01:02Z,"Unkile posts, in pages we can order and re-order the pages (using ""menu_order"" field in ""wp_posts"" table).

But since the new ""Custom Menu"" feature was introduced, do we realy need the page ordering?

We can create new menus, add as many pages as we like and re-order them as we like (this is the purpose of menues).

If we can do this using menus, then we can delete the ordering feature from the page editing screen.",ramiy
22827,"Remove profile page ""Visual Editor"" setting right margin",,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T16:31:58Z,2013-03-15T09:09:32Z,"I assume this once has been added to align with the profile page ""Admin Color Scheme"" setting, but for consistency with other settings my request to remove it.

Some screenshots:

http://cl.ly/image/3t3k1w3y2Q1D/8-12-2012%2016-26-26%20ltr%20after.png
[[BR]]
http://cl.ly/image/420C1i1c1f2n/8-12-2012%2016-21-26%20rtl%20before.png
[[BR]]
http://cl.ly/image/3H3R0u080I0Q/8-12-2012%2016-25-14%20ltr%20before.png
[[BR]]
http://cl.ly/image/183U2g3x381I/8-12-2012%2016-21-26%20rtl%20after.png

Please note this is my first patch, and thus I'll probably mess up something somewhere. Terribly sorry about that.",corvannoorloos
17884,Remove redundant checks in settings API functions,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-24T20:20:44Z,2013-01-03T19:25:30Z,"There are several isset() checks in some settings fields functions that are meant to prevent notices, but they're simply unnecessary.

PHP doesn't emit notices in those cases.",scribu
18788,Remove redundant type attributes from script and style tags,,Administration,3.3,normal,normal,Future Release,enhancement,new,has-patch,2011-09-27T06:54:02Z,2013-04-15T10:28:35Z,"Now that the admin is using the HTML5 doctype everywhere, the `type=""text/javascript""` and `type=""text/css""` attributes on script and style tags are unnecessary (if they weren't anyway), and I think they can be safely removed to trim a few hundred bytes from core. Should be a simple search and replace exercise.",solarissmoke
17542,Remove upload file after deleting custom background,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-23T08:49:25Z,2011-05-23T14:40:13Z,"I came across a comment on custom-background.php that says 
//@todo: uploaded files are not removed here.

So, I thought I will come up with this codes for the upload file deletion if user remove background.

Attached custom-background.diff

I had tested on my localhost.

Hope this contribution is useful.

Thanks.",denzel_chia
23427,Restore shift-click checkbox range selection,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-02-08T19:35:32Z,2013-02-26T16:48:58Z,"It used to be possible to select a range of checkboxes in the post list by shift-clicking (see #6541). I'm not entirely sure when this feature disappeared, but it's been a while.

Patch restores the functionality using the [http://www.sanisoft.com/blog/2009/07/02/jquery-shiftcheckbox-plugin/ ​jQuery shiftcheckbox plugin].",sillybean
14858,Shortlink On Posts Edit Summary Screen,,Administration,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-09-12T23:08:43Z,2013-01-22T17:32:34Z,"We've got a very handy button on {{{/wp-admin/post.php}}} to get the posts shortlink, but that involves going into the post as if you want to edit something!

So on {{{/wp-admin/edit.php}}} would it not be appropriate to add some kind of link/button where we can get without needing to go in and edit the post? - Meaning it doesn't need to load any content, possibly add yet another auto-revision, and such...!",markmcwilliams
19609,Show the 'Mine' filter on the manage posts screen for all users,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-19T08:01:36Z,2013-04-04T17:42:04Z,"Authors and Contributors get a handy filter on the manage posts screen called 'Mine' which shows just that user's posts. It's also the default view for those user roles.

Editors and Admins don't see this filter at all. It'd be nice if it was available, even if it's not the default view like it is for Authors and Contributors.

If no-one else wants to then I'll look at doing a patch after the holidays.",johnbillion
7615,Show theme name when selecting page templates,,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-08-27T20:12:39Z,2009-11-20T20:33:10Z,"Currently, if a child theme inherits some templates from its parent theme and adds some itself, it's not clear when selecting a page template which templates are from which theme. The attached patch adds the theme name in parentheses after the template name.

This is just something that struck me might be an issue, so feedback on whether there is actually a real benefit to the added complexity would be welcome.",ionfish
16346,Slug field too narrow in Post Edit,,Administration,3.1,normal,minor,Future Release,enhancement,new,has-patch,2011-01-22T18:56:24Z,2011-01-22T19:39:41Z,"When you edit a post, there is a Slug panel at the bottom where you can edit the slug. The field displaying the text of the slug is set inline to 13, which is not nearly wide enough to show more than 15 letters.",ABTOP
9117,Spam queue doesn't distinguish between filter sources,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2009-02-12T22:50:51Z,2012-06-19T19:23:07Z,"1. On the Settings / Discussion tab, go to the Comment Blacklist box, and add the string ""the"".

2. Post a comment containing the word ""the"".  It will be caught as spam.

3. Visit the Comments / Spam tab.  Your comment is there, but there is nothing to indicate whether it was caught by the Comment Blacklist, or by Akismet, or by another spam filter.

Result: neither the user nor WordPress knows how to prevent that comment from being caught in future.  Many users will forget about the Blacklist feature and assume their spam filter plugin is faulty.

Suggested fix: comments caught as spam should record the reason.  This should be displayed to the user, and used internally by spam filter plugins to decide how to handle false positives.

",tellyworth
22476,Standardize single and double quotes in CSS url()s,,Administration,,low,trivial,Future Release,enhancement,new,has-patch,2012-11-16T17:26:05Z,2013-05-30T21:37:26Z,"As per http://www.w3.org/TR/CSS2/syndata.html#value-def-uri (and other locations), single quotes {{{'}}} and double quotes {{{""}}} in {{{url()}}} values in CSS like
{{{
body { background: url(""../img/image,gif"");
}}}
are optional. Most of core's CSS is already written without such quotes. The patch 22476-remove-quotes-in-url.diff removes the remaining ones, for consistency and to save us some bytes again, even in the minified CSS.",TobiasBg
20052,Support sprites for admin menu icons in register_post_type and add_menu_page,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2012-02-15T23:14:45Z,2012-12-14T23:49:22Z,"We should encourage developers to maintain a consistent and beautiful admin UI by making it easier to register sprites with black and white and color versions of icons for the admin menu, namely in `register_post_type()` and `add_menu_page()` (and its wrappers).

Related: We should also do an education push and create an external web tool to make it easy to generate a properly sized, colored, and positioned sprite.

Related tickets: #20036, #19886",helen
18590,"Swap out ""return false"" JS calls for preventDefault",,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T03:43:16Z,2012-12-10T23:12:00Z,"While trying to hook into someone clicking the expand/collapse arrow in the nav menu UI, I realized that the existing Javascript is using `return false;` to abort the hyperlink click from going through.

[http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ This is bad and incorrect.]

We should be using `object.preventDefault()` instead so that other bound functions aren't aborted.",Viper007Bond
16369,Tag to category and categories to tag converter links,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-25T10:44:06Z,2011-01-25T13:44:28Z,"In the Post Tags and Categories pages, links are made available to direct the users to the Categories and Tags Converter in Tools.

While it is normal that these links go to the Tools>Import page as long as the Categories and Tags Converter is not installed, once it is, the links should go one step further and bring the user directly inside the Categories and Tags Converter.",paolal
20901,Taxonomy descriptions should be TinyMCE editable,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-11T07:49:17Z,2013-05-16T10:16:18Z,"Right now taxonomy descriptions are filtered heavily for HTML and are output as a simple textarea, making it impossible to make those into ""nice"" tinymce editors without a kind of hackish plugin. 

I'd be in favor of making taxonomy descriptions tinymce by default.",joostdevalk
7485,Terrible UX design on XFN section of Write->Link pages,,Administration,2.6,normal,normal,Future Release,enhancement,assigned,dev-feedback,2008-08-08T17:02:49Z,2012-01-06T01:43:58Z,"Regarding the XFN section on the Write-Link pages:

The UX on this section is fairly terrible. We give the user an editable ""rel"" field and then don't let them edit it via javascript. Note that if you disable javascript and then edit that field, then your changes are indeed saved and then even show up on the resulting pages correctly. That javascript just won't let you manually edit the field. 

I propose that the javascript on this section be changed to allow manual editing of that field, and to make the checkbox/radio sections just add/remove the relevant bits from the field when they are selected/deselected. Result should allow user to manually insert stuff into the rel field and leave those manual insertions unaltered when changing the radio/checkboxes, unless they conflict with the selections being made directly.

Also, side note, would be nice to add a nofollow checkbox to this section as well, to allow easy addition of nofollow to the rel field, which would be handy for the somewhat over-controlling SEO oriented people. ;)
",Otto42
21826,There should be more filters when displaying a theme in the list table,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-06T22:54:43Z,2012-09-15T22:27:50Z,"In `WP_Themes_List_Table::display_rows()`, there is a filter for the theme actions, but no filters for the theme information itself: screenshot, title, author, version, and description. Why not fix that?

The attached patch introduces `theme_list_*` filters within the `display_rows()` method. Suppressing one of the pieces of information is simply a matter of returning an empty value through the filter.",ethitter
20570,"Tidying Admin CSS, bringing it up to CSS Code Standards (work in progress)",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,,2012-04-29T16:24:09Z,2012-12-24T11:27:12Z,"as per http://codex.wordpress.org/CSS_Coding_Standards, this is an attempt to bring the internal admin stylesheets up to CSS Coding Standards

Some of the changes being made are ...

* Properly intenting top: left: right: bottom: attributes two tabs when following a position:absolute position:fixed or position:relative declaration
* Alphabetizing css properties
* Removing unnecessary browser prefixes
* Placing browser prefixed css properties before the non-browser prefixed versions
* Removing extraneous spaces
* Applying a consistent ordering of browser-prefixed properties (based on length of prefix to get an aesthetically pleasing diagonal line, rather than jagged, inconsistent line endings -- yes, I know it's silly, but it's better than randomness, and alphabetical isn't as useful)
* Applying a uniform method to attribute selectors and url references by wrapping double-quotes around the values (there was no prior standard and a motley assortment of usages)
* Changing colors to 3-character shorthand ( 888888 becomes 888 )
* Changing colors to lower case ( EEE becomes eee )

and probably a couple others that aren't coming to mind right now.",georgestephanis
24472,TinyMCE editor on attachment edit screen,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-05-31T01:49:21Z,2013-05-31T01:49:21Z,"Hi,

I have run into an issue where I need the WordPress wysiwyg editor (rather than the stripped down version currently there) on the edit media page.

I have looked at the code that generates the page and there seems to be no filter or action available to override the tinymce value when the call the wp_editor is made.

Would it be possible to add a filter here, so that the false value is overridable if needed?

Thanks,

Adrian.",navitronic
19123,Top and bottom pagination should be consistent,,Administration,3.3,normal,normal,Future Release,enhancement,new,,2011-11-03T02:39:23Z,2012-12-24T11:45:33Z,"The top pagination on Install Themes and Install Plugins is the new style (box to type in page number), but for some reason the bottom pagination is old style. These should be consistent. IIRC, the bottom ones were reverted because there was a bug we couldn't solve in time for that version's launch, but we never came back to fix it. Both top and bottom should allow text entry of page number.",jane
16243,Unhelpful error messages when updating default category,,Administration,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-15T12:23:36Z,2011-12-07T07:15:45Z,"If we try and change the default category slug to one that has already been used we get conflicting error messages between quick edit and full edit.

If you use Full Edit you're simply told ''Item Not Updated'' however, if you use quick edit, you are informed that the slug has already been used.

The full edit error message is, I think, on line 223 of wp-admin/edit-tags.php - I'm unable to find where the error message for the quick edit functionality is, however.

Having correct and useful copy in error messages is vital, especially for relative newcomers to WP.

This oversight was found by Relly Annett-Baker (@RellyAB on twitter) - one of the best copy writers and content strategists out there. Perhaps we could look at overhauling the error messages and ask (someone like) Relly to give them a once-over or offer advice on them.",iamfriendly
22633,Update Icon Inconsistency,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-29T11:37:57Z,2012-11-29T14:44:27Z,"The update icon at the moment is 2 arrows in a circle in the admin bar ( aka the refresh icon ). In Network Admin it's a pair of tools.

I'd suggest we change these to the same icon rather than have 2 inconsistent icons. I'd also suggest we use a single arrow as the new icon, a refresh/recycle icon isn't as clearcut as it could be ( and what if a caching plugin implements a refresh button to the admin bar? ).

We could follow Google by using an arrow pointing upwards, or we could follow Apples convention with a downwards pointing arrow in a circle",TJNowell
12914,Update the Right Now box when publishing via QuickPress,,Administration,3.0,lowest,trivial,Future Release,enhancement,new,has-patch,2010-04-08T08:03:32Z,2013-01-22T15:57:58Z,"When you publish a new post via QuickPress, it'd be cool for the Right Now box to then ++ the number of published posts.

Quick proof of concept patch attached.",nacin
9777,"Usability : add delete button to ""edit category"" menu",,Administration,2.7.1,normal,minor,Future Release,enhancement,new,has-patch,2009-05-09T22:56:39Z,2012-05-22T16:56:47Z,"Add ""delete"" button to ""edit category"" menu so i can delete the category and not only edit it. this is a very useful feature that is missing in this menu.

'''LOCATION:'''

Admin -> Posts -> Categories -> Edit Category

'''URL:'''

http://www.site.org/wp-admin/categories.php?action=edit&cat_ID=302
",ramiy
23601,Use ACE Code Editor for Theme and Plugin editors,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-25T06:56:00Z,2013-03-21T21:33:49Z,"Ace is an embeddable code editor written in JavaScript. It's the code editor used on GitHub and is actively developed by Mozilla. Its license is Modified BSD which is compatible with GPL. 

The plugin and theme editors in their current state are lame. Upgrading the experience with ACE could lead to a more robust file editing solution in the admin. Perhaps, ability to add files?

Here's the link to the project:
http://ace.ajax.org/",wonderboymusic
23731,Use jQuery Menu Aim to improve responsiveness of our admin menus,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-09T16:00:11Z,2013-03-15T21:01:34Z,"This is a fantastic read: http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown

And it resulted in an MIT-licensed jQuery plugin that we should absolutely consider using to improve our menus: https://github.com/kamens/jQuery-menu-aim",markjaquith
21622,Validate or sandbox file edits before saving them,,Administration,2.7.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-17T20:50:45Z,2012-09-24T23:20:03Z,"While using the [http://www.wpzoom.com/themes/academica/ academica] theme, I accidentally missed an ending bracket while editing functions/wpzoom-seo.php in the theme editor. This is used as part of a set of pages creating a theme options page on the dashboard. When the function went bad, it caused my entire installation to be unaccessible.

It was necesssary to ftp to fix the error, because even the dashboard was blanked out by a fatal error. Messing something up in the theme should not cut off access to the dashboard.",eschwartz93
22466,Want to View Pending Comments From Dashboard,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-15T18:49:39Z,2012-11-19T16:25:06Z,"This is a very awkward aspect of WordPress that I'm just attempting to articulate for the first time:  In the Recent Comments dashboard widget, there is no way to view fully the pending comments.

What it should link to:

* View Comment
* View Post
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

What it does instead:

* Visitor's site or e-mail address
* Edit Related Post
* View Related Post
* Reply to Comment
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

So there are several obvious points of confusion here.

Why would I want to reply to a comment that is pending approval, still hidden, and not even fully displayed to me?

Why can't I see the whole comment?  It only shows me an excerpt here, and in order to actually read the comment I have to click over to Comments on the admin menu and find what I'm looking for manually.

Why does the most prominent link for the comment take me to the post editing screen?  When is this ever useful?

Why is the post link displayed as a tiny little ""#""?",miqrogroove
21189,We should improve the nonce failure page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-08T09:07:17Z,2012-07-08T13:14:00Z,"Currently when a admin nonce expires, in most cases we catch this condition using `check_admin_referer()` which presents expired nonces with a rather ugly uninformative error message:
[[Image(http://f.cl.ly/items/26271g453h2y0K393Y1l/Screen%20Shot%202012-07-06%20at%2012.14.25%20PM.png)]]

I'd like to propose that we make this page a bit nicer to end users - who although are unlikely to hit it (I hope) it'd be nice to let them know what's actually happened.

My initial approach would be to change the page to 
- Include a !WordPress logo, and a link back to the Admin area
- Change the message to something like ""The link you've followed has now expired, In order to complete the action you were performing, please return to the previous page, refresh it, and attempt to follow the link again."".
- In the case where this is happening within the !WordPress admin, it would make sense to have some kind of UI on the page as well - This can currently be done by not using `check_admin_referer()` and using `wp_verify_nonce()` directly and redirecting to an error page.

The current message could often cause confusion, as of course the user wants to do it (They just followed a link!) but as there's no continue button, they're left confused.",dd32
16856,"When registering custom post type, menu_position isn't honored if it's a number passed as a string",,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-14T16:52:18Z,2013-03-31T02:52:15Z,"When registering a custom post type, if you use '50' instead of just 50, is_int() will fail and the position will be set to ++$_wp_last_object_menu. Seems safer to use isset() instead, since position doesn't technically need to be an integer. ($menu gets sorted before being output, and '50' is the same as 50 in that case)

This has the added benefit of allowing MANY more spaces in the $menu variable. For instance, if you passed '50.555' as menu_position, there's very little chance that this will conflict with another theme/plugin register a custom menu or custom post type, and will successfully go between 50 and 51 in the $menu array.

There are currently no checks on $position when using add_menu_page() ... but the checks on register_post_type() currently make this an invalid universal solution.

Personally, I don't see a downside to letting menu_position be a string. Anything other than a number (whole or decimal) will just go to the bottom of the $menu array, anyway, after the sort.

I'm submitting two patches ... one is type independent, and the other casts menu_position as (int) after the isset() check.",nathanrice
24252,Windows Phones are ignored by wp_is_mobile,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-02T21:49:13Z,2013-05-07T18:46:30Z,"Reported in the forums by vaibhav3 - http://wordpress.org/support/topic/wp_is_mobile-returning-false-values/

wp_is_mobile() doesn't have an 'If Windows Phone' clause which throws off some phones which apparently don't have a 'mobile' fall back.

Attached is a patch that adds it in.",Ipstenu
17851,Wrapping Sections with add_settings_section,,Administration,3.1.3,normal,normal,Future Release,enhancement,reopened,has-patch,2011-06-20T03:09:34Z,2011-09-28T18:09:53Z,"This is my first time reporting, so excuse my ignorance. I just wanted to see about enhancing the add_settings_section function.

As of now, individual sections are not wrapper in any sort of container, which makes no sense to semantic sense to me. Sections should/need to be styled differently, but as of now, you really don't have much control of that.

I propose something similar to the register_sidebar function, looking like this:

add_settings_section( $id, $title, $callback, $page, $args )

$args would accept 3 parameters: before_section, after_section, and section_class.

This way you can style each individual section with relative ease. Just a thought and enhancement to the Settings API.

Thomas",griffinjt
23501,add filter for post count query in WP_Posts_List_Table,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-02-18T14:02:40Z,2013-02-18T19:09:48Z,"I've a custom post type ""products"" with a custom taxonomy ""manufacturers""
I've hooked the parse_query filter when fired from edit.php because I've wanted to show posts based on current user criteria (user can edit only products belong to specific manufacturers).
Everything worked as expected, except for the post count in the table header that shows total amount of posts (not a filtered count).
Digging into the code I've found that inside WP_Posts_List_Table constructor ([http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-posts-list-table.php#L59])the following code is performed:

{{{
$this->user_posts_count = $wpdb->get_var( $wpdb->prepare( ""
				SELECT COUNT( 1 ) FROM $wpdb->posts
				WHERE post_type = %s AND post_status NOT IN ( 'trash', 'auto-draft' )
				AND post_author = %d
			"", $post_type, get_current_user_id() ) );
}}}

I think that the simplest solution is to add a filter for the count query. By this way is possibile to customize the query that reflects the effective post count.",cardy_Web
23856,add style for <hr> tag in the Dashboard,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2013-03-24T17:07:21Z,2013-03-29T05:21:03Z,"Lines are with black color, 
Lines are important to separate something in a widget for example.
or in a metabox... 

{{{
	border: 0; 
	border-top: 1px solid #DFDFDF;
	border-bottom: 1px solid white;	
}}}
",alexvorn2
12506,admin-color-scheme.css already loaded on wp-login.php. why?,,Administration,2.9.2,low,minor,Future Release,enhancement,reviewing,has-patch,2010-03-03T21:55:21Z,2012-07-03T20:55:11Z,"On wp-login.php we are already on admin, because wp is loading the whole color-scheme for a user... which is wrong. It is senseless, because the color-scheme the user selected for admin cannot be loaded without his user-data. And that is not possible as long as he/she didn't enter any login-data.

REQUEST: get the ~30kB color scheme out of the wp-login.php and add the following to wp-admin/css/login.css:


{{{
body.login {
    border-top-color:#464646;
}
body, #wpbody, .form-table .pre {
    color:#333333;
}
a, /* All obsolete on wp-login.php - could here simply be h1 a */
#adminmenu a,
#poststuff #edButtonPreview,
#poststuff #edButtonHTML,
#the-comment-list p.comment-author strong a,
#media-upload a.del-link,
#media-items a.delete,
.plugins a.delete,
.ui-tabs-nav a {
    color:#21759B;
}
.submit {
    border-color:#DFDFDF;
}
textarea, /* All obsolete - could be #login #wp-submit */
input[type=""text""],
input[type=""password""],
input[type=""file""],
input[type=""button""],
input[type=""submit""],
input[type=""reset""],
select {
    background-color:#FFFFFF;
    border-color:#DFDFDF; /* Obsolete due to .submit-class above */
}
input.button-primary, button.button-primary, a.button-primary {
    -moz-background-clip:border;
    -moz-background-inline-policy:continuous;
    -moz-background-origin:padding;
    background:#21759B url(../images/button-grad.png) repeat-x scroll left top;
    border-color:#298CBA;
    color:#FFFFFF;
    font-weight:bold;
    text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3);
}
.submit {
    border-color:#DFDFDF;
}
.login #nav a {
    color:#21759B !important;
}
.login #backtoblog a {
    color:#CCCCCC;
}
}}}
",F J Kaiser
19828,allowing to insert help tab in specific position,,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-13T21:50:15Z,2012-03-01T17:22:32Z,"this enhancement of add_help_tab() would allow plugin developers to insert help tabs on existing screens at an arbitrary position, e.g. place it on the ""Writing Settings"" screen's help tab between the ""Overview"" and ""Press This"" tabs

the patch attached includes the bugfix from #19827, but this enhancement can be rewritten to work independently",tfnab
21539,category_description filter not applied to Description field on Categories page,,Administration,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-10T13:53:03Z,2012-08-12T17:31:42Z,"The category_description filter is not applied to the Description field on the Posts > Categories page (wp-admin/edit-tags.php?taxonomy=category).

Need: I use very long category descriptions, which are displayed on the front end of the site. This means that the Posts > Categories page is blown out by the long descriptions. I wrote a plugin to filter the category_description to limit it's length in the admin area. However, I then discovered that the filter is not applied on this page.

I'm wondering if there is some reason this was left out by design, but I can't see any reason why the filter should not be applied at this point. If I've missed something, please let me know.

It is easy to fix - simply apply the category_description filter to the description field in column_description() in wp-admin/includes/class-wp-terms-list-table.php

I have applied this on my local install. Now I just need to work out how to create a patch and submit it for review (this is my first attempt).

Note: It may be sensible to limit the length of the category description displayed on this page, but that's outside the scope of this ticket, which is just about the filter not being applied.",StephenCronin
17520,cite element used incorrectly,,Administration,,low,trivial,Future Release,enhancement,new,has-patch,2011-05-20T17:47:14Z,2011-10-18T21:16:34Z,"Here's what the HTML5 specification says about the cite element:
  The cite element represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, etc). […]
  
  A person's name is not the title of a work — even if people call that person a piece of work — and the element must therefore not be used to mark up people's names. (In some cases, the b element might be appropriate for names; e.g. in a gossip article where the names of famous people are keywords rendered with a different style to draw attention to them. In other cases, if an element is really needed, the span element can be used.)

http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-cite-element

The element is used plugins/hello.php correctly to mark up the title ""Hello, Dolly"". But many more places it is used incorrectly to mark up an author's name.

The obvious fix would be to replace all but the one correct instance of the cite element with spans with an appropriate class.",holizz
11705,get_media_item()'s $form_fields do not allow for <select>,,Administration,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-03T21:48:51Z,2010-02-18T12:19:45Z,"get_media_item() of wp-admin/includes/media.php does not allow for <select>-style fields. This makes extending the ""Edit Media"" screen via the ""attachment_field_to_edit"" filter difficult for plugin authors to extend.",johnl1479
22590,get_post_class() do not set 'sticky' class in administration posts table,,Administration,3.4.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-11-26T09:31:54Z,2012-12-21T19:30:40Z,"get_post_class() does set a 'sticky' class to sticky post on the frontend but not in the administration. So, there's no way to differentiate a sticky post from another non-sticky post excepted the span element to its right.

Adding something similar to this fix the problem:
{{{
	// sticky for Sticky Posts in administration
	if ( is_sticky($post->ID) && is_admin() )
		$classes[] = 'post-sticky';
}}}",corsonr
18850,hidden admin page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:43:12Z,2012-07-30T16:22:40Z,"it should be possible to create a hidden admin page.

this is useful for pages, that require parameters which are better inserted in other pages (e. g. using the post_row_actions filter).

if this is already possible, it should be documented somewhere where it might be found.

(btw: i'm not sure, what the difference between feature request and enhancement is. please redeclare as fit)",ibotty
23785,highlight rows on hover for tables with widefat class,,Administration,3.5,normal,minor,Awaiting Review,enhancement,new,,2013-03-15T10:57:06Z,2013-04-02T20:58:26Z,"If .widefat tables had this css code system-wide (wp-admin.css)

{{{
.widefat tr:hover td {
      background-color: #DDD;
}
}}}

handling these tables on (extreme) widescreens would be improved.

[[Image(http://picload.org/image/aocipap/widefat.jpg)]]",cfoellmann
18786,meta_form() should place some restrictions on meta keys,,Administration,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-09-26T22:37:58Z,2013-04-22T21:12:23Z,"meta_form() echoes out all meta keys into a dropdown for the custom fields box, unless they start with an underscore (as bound by the query).

We should consider is_protected_meta( $key, 'post' ) and/or current_user_can( 'add_post_meta', $post->ID, $key ). This isn't a security thing, just an opportunity to hide some things from the user they don't need to see.

On the other hand, it's definitely a number of extra calculations. is_protected_meta() is light as long as there's no filter on things (and if there is, we probably want to know). current_user_can() might be a bit more weight than necessary here.",nacin
7422,"pass $post_id to filters in sanitize_post_field() on post updates - same for users, etc.",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2008-07-28T21:18:05Z,2010-07-15T12:17:01Z,"the function sanitize_post_field in wp-includes/post.php calls most of the ""database writes"" post filters (e.g. content_save_pre). if a post is updated or created, the function is called in a database context ('db' == $context) and the $post_id argument is not passed to the ""database writes"" filters. while i understand this behavior on post creation ($post_id not yet available) it seems to me that on a post update the $post_id is readily available and could/should be passed to the filters as well.

an example where this would be useful is a case where i want to access a custom field value of a post that is currently being updated from the function hooked into content_save_pre. in its current form without the $post_id argument this doesn't seem to be possible.",whoismanu
16283,post_exists() enhancement - don't include revisions,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-01-18T13:33:51Z,2011-07-17T02:04:03Z,"The current post_exists() function to me has a major downside.  By default all it does it search for title, content and/or date in the wp_posts table.

The problem with this is that it includes revisions.  So for example if you have a post with title ""ABC"" but then later change it to ""DEF"", post_exists(""ABC"") will still return true with the post ID of the revision.

I would suggest either:

 a) Adding post_status not equal ""inherit"" as a default to the function.

 b) Adding a 4th parameter which allows you to pass the post_status value in.

I would be happy to code this if anyone has any feedback on what would be the best approach.",durin
18851,search form in edit.php should keep parameters it does not understand,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:48:17Z,2011-11-15T11:29:40Z,"the component is class-wp-list-table.php.

if you carry along some kind of status in the url in the post list (e.g. url=https://example.com/wp-admin/edit.php?post_type=post&my_status=""abcdefg"") the search field should not remove the parameter.",ibotty
16778,wordpress is leaking user/blog information during wp_version_check(),,Administration,,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-03-06T18:57:43Z,2012-09-04T11:06:26Z,"Hi,
we've noticed that wordpress will send how many users and blogs are in a given installation during the GET to api.wordpress.org together with the installation URL in the headers.

Is there any reason why this is done? It seems quite a leak of information. Can it be turned into an option defaulting to off and admins can opt-in if they want to report how many users/blogs are currently there?

thanks.

PS. slightly related, WP will also leak which blog in MU mode is requesting any URL via the user-agent in the WP_Http class (for example while updating the news feed on the dashboard)",investici
14561,wp-admin/edit.php tags of post are hard to compare,,Administration,,normal,normal,Future Release,enhancement,new,,2010-08-08T08:25:02Z,2010-11-18T10:13:25Z,"To get an overview about tags used between articles on the post listing in the admin is hard to achieve by the user because they appear not to be ordered.

A solution could be to sort them alphabetically. That done, it's easier for the user to compare the usage of tag distribution accross the listing.",hakre
18287,wp-login.php - Logo URL should be relative (affects MultiSite),,Administration,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2011-07-29T00:31:49Z,2013-05-05T04:50:28Z,"If you go to your domain.com/wp-login.php page it has a WP logo that links back to domain.com

If you're using multisite and go to subsite.domain.com/wp-login.php, it links back to domain.com

If you're using multisite and you MAP a domain and go to mappeddomain.com/wp-login.php, it links back to domain.com

I can see why this would have been done.  It points to network_home_url() which is perfectly sensible for MOST situations.  But maybe we should just honor the site on which people are trying to login, so that it's all relative.  Given the link on the bottom (back to...) goes to the relative site, this is a logical change.  I would say to keep the EMAILS for password resets as is, since the network is in charge of it all, but the front end interface should be consistant.

I did a quick test and this works fine on Single and Multi (as expected). So ... here's my first diff!",Ipstenu
15384,wp-login.php refactor,,Administration,,normal,normal,Future Release,enhancement,new,early,2010-11-11T12:40:35Z,2012-05-31T21:40:02Z,"wp-login.php needs some serious work. When looking to do some improvements in #5919, I realized I literally needed a goto in order to achieve the goals outlined in this comment:

http://core.trac.wordpress.org/ticket/5919#comment:39

I am thinking a WP_Login class with some methods that can handle various different forms, POST handling, and rerouting.",nacin
17517,wpLink should show tags and categories as results too,,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-19T19:38:36Z,2011-05-21T12:06:36Z,"sometimes you make a series of blogpostings about a topic with one unique tag. 

wpLink (the link assistant in wp 3.1) is very useful for finding ""old"" content, but when you want to link a tag or category you have to type in the url yourself or paste it

Possible solution:

Tabbed interface:
Tab 1 for Posts/pages
Tab 2 Tags/categories",hebbet
24119,A uniform approach to Plugins / Themes settings,,Administration,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-18T07:28:14Z,2013-04-26T22:16:55Z,"Yesterday [https://irclogs.wordpress.org/chanlog.php?channel=wordpress&day=2013-04-17&sort=asc#m2987650 in IRC] (#!WordPress), we had a conversation about rules that would help make plugins and themes easier to use, which in turn would make !WordPress easier to use.  

There isn't a rule or guideline whether a plugin should make a tab or link under settings or if it even has to do any of the above. We all agreed that all plugins should have a link under settings. If the plugin enhances a different part of the site, the settings page could just tell you where the plugin feature is located. 

We also agreed that themes should put features like a static front page under customize like most already do, though I heard Responsive doesn't. I was told it puts static front page under settings. If it is a theme feature, then logically you should be able to at least find a link to where the features are under themes. 

Implementing general rules for plugins and themes would make !WordPress easier to use. Does anyone else agree?
    ",ryansatterfield
21925,Ability to upload multiple .zip files to install in bulk,,Administration,,normal,normal,Awaiting Review,feature request,new,,2012-09-19T12:40:09Z,2013-06-14T17:38:01Z,"It'd be nice to have a drag-and-drop or similar functionality to the Media Uploader to be able to select 5, 10, 17 plugins/themes to upload several .zip files at a time.

Of course, if a folder already exists or if you upload a theme .zip to the plugins page or something like that, then display the appropriate error(s). Otherwise, display the success notification per install.",cliffpaulick
12801,Add Info link to plugins management screen,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-04-01T19:08:40Z,2013-01-22T01:40:01Z,"Related to #11050 but instead of the search results, on the regular plugins.php screen. Add ""Info"" link to left of Activate/Deactivate action links, which brings in the tabbed info from the repo. If not from the repo, link does not appear.",jane
21665,"Allow non-editable pages to be classified & organized as ""System Pages""",,Administration,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-08-23T01:08:34Z,2013-01-22T03:21:44Z,"We currently have no means of distinguishing regular “content” pages (pages that users can edit) and pages that are used as placeholders for custom templates / dynamic content.

As alexking mentions in #17470, users are often confused when they attempt to edit these ""placeholder"" or ""dummy"" pages only to find that the pages appear empty from within the page editor.

While his ticket concerned the ""page_for_posts"" page specifically, this issue is equally relevant to custom page templates that do not make use of user-generated content via the page editor.

isaackeyet proposed a solution [http://core.trac.wordpress.org/ticket/17470#comment:4 in that ticket] which introduces the idea of classifying such pages as ""System Pages"", which would offer a more limited set of options for how they can be changed:

>Idea to solve this permanently as brought up in the UI chat July 10 2012:
>
>* Pages have a new, hidden meta field to indicate ""System Page"" or >something that better describes it. Pages are marked System Page when >WP is using it as a placeholder for a custom blog set up, or a plugin >can use it to indicate a page is used for a contact form (for >example).
>* Pages are highlighted with a meta description in the pages list, >indicating why it's there (created by? reason?)
>* Most importantly, these System Pages are grouped in the pages >filter to be excluded from the regular list, so the list may read >""All | Published | System Pages"", which should be a better long term >solution for this ticket specifically (user confusion).



",bootsz
24511,Backend function for retrieving post row actions.,,Administration,,normal,minor,Awaiting Review,feature request,new,,2013-06-06T10:27:15Z,2013-06-07T12:02:42Z,"For the cases where post titles are not supported for custom post types, but the user may want the quick action links to exist on their edit.php page table rows on hover.

All it would take would be to move the current code into a callable function and would probably only need to accept a post ID. Could then be called using something like {{{get_post_row_actions($post_id)}}}.

It would return the string of links seen normally below the title on hover.",Nessworthy
12273,Better support for sites with LOTS of pages,,Administration,2.7,normal,normal,Future Release,feature request,new,,2010-02-18T15:10:02Z,2011-04-18T14:41:23Z,"The default page listing is inadequate for sites utilise Pages as their main content type.

An option to collapse the page listing and hide ""all"" sub-pages (only showing top-level) would dramatically improve the UI making it easier to find pages within the WordPress structure.

'''Example:'''

''Current Page View''

{{{
Page 1
-SubPage 1.1
--SubSubPage 1.1.1
--SubSubPage 1.1.2
-SubPage 1.2
-SubPage 1.3
Page 2
-SubPage 2.1
-SubPage 2.2
--SubSubPage 2.2.1
--SubSubPage 2.2.2
}}}

''Proposed Page View''

''Default View''

{{{
Page 1 [+] (< click to expand)
Page 2 [+]
}}}

''Expanded View''

{{{
Page 1 [-] 
-SubPage 1.1 [+] (< click to expand)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}

''...''

{{{
Page 1 [-]
-SubPage 1.1 [-]
--SubSubPage 1.1.1
--SubSubPage 1.1.2 (> no further levels)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}
",mkjones
20013,Clean Up Touch UI for Left NavMenu / Flyouts,,Administration,3.3.1,normal,normal,Future Release,feature request,new,reporter-feedback,2012-02-10T16:30:50Z,2013-01-22T15:24:19Z,"While the flyout is mostly usable in it’s current state, it is not as intuitive as it needs to be for the best user experience. They are ineffective at best on the Kindle Fire’s Silk Browser, but work pretty well on the iPad.  We need to examine all target devices to ensure interactivity is supported cross-device.",georgestephanis
19239,Combine WordPress News and Other WordPress News dashboard widgets,,Administration,3.3,normal,normal,Future Release,feature request,new,has-patch,2011-11-12T19:01:42Z,2013-05-14T19:49:51Z,"We could lighten the dashboard by making this one widget with configuration instead of two separate ones. Anything from WordPress.org official blog would get a highlight to designate it as such. Configure would allow to choose display of both feeds or jus one, and how many items to show.",jane
22862,Consider a CSS preprocessor,,Administration,,normal,normal,Awaiting Review,feature request,new,,2012-12-11T22:01:36Z,2013-01-16T10:33:34Z,"The WordPress admin UI CSS is woefully doomed to a life of inadequacy unless we can amenably agree to use technology already available to build a better future for us and our children.

I propose the introduction of SASS for the WordPress admin styling. SASS is a CSS pre-processor that allows us to write DRY, structured, lightweight CSS. In terms of licensing, SASS is GPL-compatible, licensed under the MIT license.

'''Why use SASS over LESS?'''

The answer is simple. SASS is easier to learn and easier to use because it follows the conventions of CSS at its core. In addition, for developers itching to contribute, there are some extremely useful and easy-to-follow reference docs for SASS, making it easy to set up your local development environment and build websites.

'''What are the advantages?'''

The biggest advantage is that we can write less CSS and offer advanced features for theming the WordPress Admin UI. Developers can more easily reskin the WordPress admin.

Another major benefit is that SASS offers the use of variables within our stylesheets. For our purposes, these variables can be used to calculate layout widths, generate color schemes, font sizes, etc.

Another simple advantage is the fact that we can combine all our CSS styles into a single stylesheet, saving precious HTTP requests. In addition, we can easily minify generated CSS files in bundled versions of WordPress, saving file size and killing unnecessary white space, thus decreasing load times of the admin even further.

'''What are the disadvantages?'''

Developers will need to install Ruby and SASS in order to modify styles for the WordPress Admin. For plugin authors, we should write admin UI CSS in such a way that it is easily overridden with a custom CSS file.

In addition, developers would need to learn SASS if they are going to work directly on the styles for the WordPress admin. For the most part, once you've got the idea of variables, mix-ins, and the structure - you're ready to rock.

Last, but not least, when SASS files are modified, they would need to be compiled and committed to Core every time they change. So instead of pushing a single CSS file, you would be pushing potentially many SCSS files and a generated CSS file.

'''In Summary'''

SASS is a great way to reduce code overhead by adhering to DRY principles and will improve performance and modularity in the WordPress admin, which is a top priority.",chriswallace
20301,Enable media library access from blogroll,,Administration,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-25T08:50:37Z,2012-03-25T17:10:03Z,"Currently WordPress doesn't give you the option to easily add images from your WordPress plugin to your blogroll items (links). I just released a plugin to do that (http://wordpress.org/extend/plugins/blogroll-media-library-image/) and was told this would be a good one to add to core.

I would love to add a diff-file, but I have no idea how to do this.",illutic
24313,Filter Columns by View,,Administration,,normal,normal,Awaiting Review,feature request,new,,2013-05-11T01:18:56Z,2013-05-11T14:12:54Z,"After searching extensively for a way to do this, and discussing this with fellow WordPress developers, I believe I have found a feature that should be added to WordPress.

When you make a new custom post type, if you have WordPress register a UI for it, it outputs a screen named ""All XXXX's"". Within these, WordPress automatically adds filters. So let's say I've registered a CPT called Downloads. 

So I can now use the built in UI for Downloads and filter the page to show just pending downloads, or just published downloads, for instance.

However, the issue becomes what if you want to display a column for some views, but not others. For instance, if Downloads has a column called ""Sales"" where the number of sales of that particular download is stored, it makes no sense to show that column on Pending Downloads (since they can't have sales before being published).

Currently, at least after days of trying to find a way of doing this, there is no way to do this for the tables registered by WordPress. If I make my own List_Table, then I can do this.

However, there should be a way of adding columns based on filter, so that a developer who adds a column programmatically can go:
{{{
if($view != pending){
// register sales column
}
}}}

Feel free to correct me if I've overlooked a method of doing this.

-Chris",chriscct7
16434,"Give site admin ability to upload favicon in Settings, General",,Administration,3.1,normal,normal,Future Release,feature request,new,has-patch,2011-02-01T16:57:34Z,2013-02-14T18:13:55Z,"WordPress has come a long way in terms of making it possible for someone completely non-technical to create a professional web site for a person or business. One of the little things that is still annoyingly technical is adding a favicon. WordPress.com does this via the Blavatar feature, a name I wouldn't really want us to adopt b/c this is more CMS-oriented, but the ease of uploading an image, scaling and cropping it, then having it become the favicon is something I do want to adopt. Keeping it a theme-based thing means the non-technical can't control it for their sites, which is lame.

",jane
13516,Hide JS-only widgets on dashboard is no JS,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-05-24T13:16:42Z,2011-12-24T16:16:41Z,"We hide screen options and help; we should also hide these widgets instead of displaying by default with the 'you need JS' message. Affected modules: QuickPress, Incoming Links, Plugins, WordPress Development Blog, Other WordPress News. 

We should display an additional module for no-JS people that lets them know that their WordPress install would be even more awesome with JavaScript, and list out some of the features they would gain access to with JS enabled. ",jane
22056,Integrate a list of notices for newbie users,,Administration,3.4.2,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-09-30T14:39:40Z,2012-10-02T18:21:13Z,"Integrate a list of possible warnings and notices for the power-user (admin) if some problems or security thread occur, or to check if the site was infected with viruses and malicious .php files...

Example:
- Notice: GD Graphics Library is not installed, install this so the images could be resized
- Notice: Your site is not giving search engines the right to index the site, please consider changing the settings.
- Warning: An unknown file mail.php is in the site main directory, please check if you are not infected.
- Notice: Your site files permissions are set to 777, please change to 644 or 640, your site is in a security thread.
- Notice: Upload folder is not writable, please change permission to 755 for the upload dir.
- Notice: Please use a caching file plugin to make your site load faster than ever.
",alexvorn2
15289,Make it easier for a non-standard URL to be used to access wp-admin,,Administration,3.1,normal,normal,Future Release,feature request,new,dev-feedback,2010-11-02T13:27:05Z,2013-02-07T21:51:15Z,"For some sites it is vital that the admin be accessible via a path other than {{{/wp-admin/}}}. Clients sometimes require this because it is easier for their users. Also, it is useful if replacing another CMS with WordPress for the root of the admin to have the same URL, although this can be partially fixed with a redirect.

Even when not ''required'' per se, some of us prefer to use a different URL to access the admin because it is more intuitive for our users to use something like {{{/admin/}}} instead of {{{/wp-admin/}}}.

To be clear: I am not suggesting renaming the wp-admin directory, nor am I suggesting adding an option in the UI to change the path.

Rather, I am suggesting that small tweaks be ade to make it easier for power-users to enable the use of a different URL to access the admin area.

I suggest making the following changes :

'''1.''' Use relative urls within the admin where possible without affecting standard installations.

'''2.''' Allow power-users to add a constant to wp-config.php to change the path of the admin for those links which have to be absolute.

I don't think there is much work involved and I am happy to do it.

Core devs have in the past stated that the user of alternative urls to access the admin is 'not supported', but it is unclear whether this simply means that it doesn't work at the present time or that the core team is opposed to allowing it to happen.[[BR]]
If the latter is the case, I would appreciate an explanation - I'm sure there is a good reason if that is the case, but I can't for the life of me think what it could be. ;)",caesarsgrunt
14676,"Moderation email option is confusing, limited",,Administration,,normal,normal,Future Release,feature request,reopened,,2010-08-23T17:06:23Z,2012-05-22T00:53:20Z,"The setting is ""E-mail me whenever a comment is held for moderation"" but in that sentence ""me"" is inaccurate; moderation emails are sent to admin_email.

""Email the admin ($admin_email) whenever"" would be accurate.

Here's a related question: Why not send moderation emails to post authors?",andy
9057,"Need ""restore defaults"" buttons on all admin screens",,Administration,2.7,normal,normal,Future Release,feature request,new,,2009-02-06T08:50:30Z,2011-07-08T15:06:31Z,"Need ""restore defaults"" buttons on all admin screen items, else once
you change something, there's no way to get it back to whatever the
default was, or find out even, short of a total reinstall. Includes
""screen options"" items too.
",jidanni
12004,Select Sidebar when adding Posts/Pages,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-25T13:26:16Z,2010-01-25T23:28:01Z,"Hey all,

I think it would be a cool feature to be able to create sidebars in WP, and then when creating a page you can choose that specific sidebar.

I think that this can be accomplished by using the ''Parent'' page technique of selecting if the Page has a Parent and if so which one.

Can we develop an option to choose a Sidebar created in the Widgets panel?

Cheers,
Aron
ps: if my help is needed ( im good at design, not coding ) please contact me: info@zipyourmix.com ;)!",lsddesign
11972,Sort View Post/Pages by Column,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-21T21:46:27Z,2010-03-21T01:51:40Z,"Recently I discovered in WPMU in Site Admin options, you can sort for instance Site Admin->Blogs by last activity date. That is a very handy feature, and certainly would useful for a site with hundreds of nested pages. To be able to sort that list by date, rather than just title would be useful, as it sorts by title of the parent page, and finding a 3rd level child can be difficult to say the least. The search feature is lacking but that is for another ticket.  Likewise, sorting posts by category, author, etc could be useful. Since the functionality seems to already be there for sorting these type columns, and the code's been moved in already, I'd think it'd be a nominal change. I simply don't know what direction these menus are going yet to offer a working suggestion. Just wanted to get my 2¢ in before it's too late.",miklb
23575,Standard UI Classes and Functions,,Administration,3.5,normal,normal,Awaiting Review,feature request,new,,2013-02-21T09:09:27Z,2013-02-22T02:31:55Z,"It would be nice if wordpress allowed you to use the Post UI natively in my plugins, at the moment I've had to write a few classes for my Plugin Framework that mimic the Publish Metabox and Tabbed Metabox. 

As there is simply no easy way to do this at the moment, I think there should also be a better way of registering hidden menus. I have to jump through loads of hoops just to do this.

",jscampbell.05
18179,WP_Meta_Box,,Administration,,normal,normal,Future Release,feature request,new,has-patch,2011-07-20T01:05:50Z,2013-03-08T16:31:47Z,"Ryan, Nacin, and I would like to see a Meta Box class in 3.3. Let's make it happen.

Attached is a first pass (in plugin form, for ease). It provides a basic API and supports multiple instances. Instances are stored in a static meta box registry, which should require minimal interaction.

Keep in mind that meta boxes are not just registered on CPT pages — they are also used on the dashboard, in menus, and in custom UIs. The parent class should be suitable for each of these cases.

I think we should move caps to the main Meta Box class (and allow subclasses/instances to specify/override the cap through $args), and also provide $args to enable/disable any checks we perform before saving (e.g. autosave, etc).

It would also be interesting to integrate this with the proposed metadata API improvements.

See #15066 for prior discussion.",koopersmith
22734,do_action-post_edit_form_tag,,Administration,3.4.2,normal,normal,Awaiting Review,feature request,new,reporter-feedback,2012-12-04T18:01:27Z,2013-06-06T12:23:56Z,"Possible to add an action on the form for adding media.

{{{
File : /wp-admin/media.php
Line : 115
}}}

{{{
<form method=""post"" action="""" class=""media-upload-form"" id=""media-single-form"">
}}}

to

{{{
<form method=""post"" action="""" class=""media-upload-form"" id=""media-single-form""<?php do_action('post_edit_form_tag'); ?>>
}}}",bems78
16379,"Better UI for doing ""Page on Front""",,Administration,3.1,normal,normal,Future Release,task (blessed),new,,2011-01-26T19:47:25Z,2013-03-14T15:20:33Z,"[[Image(http://grab.by/grabs/132427e6c1166ed3e4d8214959b9568a.png)]]

This is the existing ""Page on Front"" UI. The process is as follows:

 1. Create a ""Front"" Page
 2. Create a ""Blog"" Page
 3. Select the ""Front"" Page in the ""Front Page"" dropdown
 4. Select the ""Blog"" Page in the ""Blog Page"" dropdown.

1 and 3 make sense. If you want a page on front, then you obviously need to create a page to live there, along with its content, and then designate it. But the ""Blog"" page is just a dummy. It's sole purpose is to create and maintain a URL for your blog. So why not just have something like this?

Blog URL: http://example.com/ {input box}

If a page exists in the URL they type, it gets used. If not, we create one on the fly as a dummy. This seems a more natural way of doing it. You don't care about the dummy page — you just want to choose an appropriate URL for your blog.",markjaquith
18655,Responsive Admin for Small Screen Devices,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-09-13T18:44:16Z,2013-01-03T06:24:12Z,"Working off of #18198  -  Making the admin respond to small devices, phones, etc. ",saracannon
16339,pushState Test Case,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-01-22T06:30:41Z,2011-01-27T09:42:50Z,"This isn't a useful bit of code, just a test case to ground future pushState work for 3.2.  Or be ignored by future pushState work for 3.2 :)

Attached is a test case for determining browser behavior when using pushState.

The numbered links use AJAX and pushState.  The ""Other"" link is a real (non-AJAX) link to an external site.

If the state of the page is refreshed via AJAX, you'll see a var_dump( $_POST ).  If the state of the page is refreshed by a page refresh, you won't.

An example of something this test says is broken in Safari 5.0.3 (6533.19.4):

 1. Load the page (state = 0: pageload)
 2. click ""One"" (state = 1: ajax)
 3. click ""Two"" (state = 2: ajax)
 4. click ""Three"" (state = 3: ajax)
 5. click ""Other"" (state = external site: pageload)
 6. go Back in browser history (state = 3: ajax or just history?)
 7. go Back (state = 2: ajax or just history?)
 8. go Back (state = 1: ajax or just history?)
 9. go Back (state = 0: ajax). Everything is fine up to this point, though it's odd we do an AJAX request to get here.
 10. refresh the page once, either by CTRL-R or by hitting enter in the URL bar (state = 3: ajax). That's wrong.  What happened? Why are we here?
 11. refresh the page a second time (state = 0: pageload). As expected.

An example of something the test says is broken in Chrome10.0.642.2 dev:
 1. Do pretty much anything.  Chrome Dev fires a popState event on the first page load.

It could be a badly written test, or a badly written implementation of push/popState handling, or both.  These are the kinds of scenarios we'll need to test, though.",mdawaffe
22857,'Header Image' state isn't removed from images previously used as header image,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-11T18:54:08Z,2012-12-11T23:04:31Z,"Steps to reproduce:

 1. Set your site's header image from Appearance -> Header by uploading an image or choosing one from your media library.
 2. Repeat step 1.
 3. Visit the Media Library and note that your previous header image still says 'Header Image' next to it.

Not a 3.5 regression as it happens in 3.4.2 too.

",johnbillion
24032,An issue with the theme customize function and jQuery tabs,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-10T15:07:04Z,2013-04-10T18:31:50Z,"WP 3.5.1 ( same happens in the 3.6 beta-1 )
No plugins installed ( vanilla WP )
TwentyTwelve Theme ( happens with TwentyThirteen as well )

So when you have or using jQuery Tabs in a page and you go to the theme customize page, the customizer panel will become sluggish and not very responsive when you hover your mouse over the accordion panel and if you look at the preview, the content is jumbled and also very sluggish.  It seems something is executing in a loop over and over again making it sluggish but I did not see anything in the error console for some reason.  Perhaps this is because it is on an iFrame.

Please note that the page in the frontend loads just fine with the jQuery Tabs and works normally.  It is only when you use the backend theme customize page is where this issue starts.

I have tried this in both 3.5.1 and 3.6 beta-1 and same results.

Here are the steps to reproduce this.

In functions.php load up:

{{{
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-tabs' );
}}}

In the homepage (any page) put in:

{{{
<div class=""test"">
<ul>
<li><a href=""#abc"">abc</a></li>
<li><a href=""#xyz"">xyz</a></li>
</ul>
<div id=""abc"">
	some content here
</div>
<div id=""xyz"">
	some other content
</div>
</div>
}}}

In theme js, put in:

{{{
$('.test').tabs();
}}}

Then go to your homepage in the frontend to confirm the tabs are working and normal.  Now go to the backend theme customize and you will see the issue I am trying to describe.",splashingpixels.com
23554,Change Header Delete Behavior,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T07:11:27Z,2013-02-20T08:57:30Z,"When clicking the Remove header button, it should remove the header image from the list of images for rotation as well as remove from the currently selected image.  Currently you must delete the image from the media library (which may be several hundred or thousand images deep) to remove it from the list.",tribuseric
22148,Customizer Uploader doesn't handle large files properly,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-10-10T05:07:34Z,2012-11-11T18:14:45Z,"Both of these tests were with image files larger than the max file size - 3MB images with a 2MB max file size:

Dragging the file onto the upload area, the browser window redirects to the location of the local file, the same as if the file were dragged to a non-dropzone area.

When using the file browser to select the file, the upload fails silently.

In both cases, an error similar the Media Uploader would be preferable.
",pento
24528,Customizer checkbox with refresh option gives inconsistent values,,Appearance,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-06-07T07:22:53Z,2013-06-09T01:51:02Z,"When adding a checkbox control to the customizer feature with type = refresh, the value returned is sometimes a string and sometimes a boolean, when the checkbox is changed.

I've tested this in 3.5, and 3.6-beta3-24407.

How to reproduce in 3.5:

Load the ""Twenty Twelve"" theme. In the functions file add a test checkbox setting & control:

{{{
$wp_customize->add_setting('test', array(
    'type' => 'option',
    'default' => true,
    'priority' => 10,
    'transport' => 'refresh'
  ));

  $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'test', array(
    'label' => __( 'Test' ),
    'section' => 'title_tagline',
    'settings' => 'test',
    'type' => 'checkbox'
  )));
}}}

Dump the value into the index.php of the theme:

{{{
<?php var_dump(get_option('test')); ?>
}}}

This is where things get odd:

Load up the customizer, 
'''- Theme should output: bool(true)'''

Toggle the checkbox, allowing for the iframe to refresh each time:
'''All results should be boolean values.'''

Toggle to checkbox to ON, hit save, and refresh the browser window.
'''- Theme should output: string(1) ""1""'''

Toggle the checkbox to OFF, allowing for the iframe to refresh:
'''Value does not update'''

Toggle the checkbox some more, allowing for the iframe to refresh each time:
'''Results will toggle between string(1) ""1"" and boolean(true)'''

ONE LAST TEST:
Toggle to checkbox to OFF, hit save, and refresh the browser window.
'''- Theme should output: string(0) """"'''

Toggle the checkbox some more, allowing for the iframe to refresh each time:
'''Results will toggle between string(0) """" and boolean(true)'''

Thanks",nathanrowe82
23225,Customizer is Incompatible with jQuery UI Tabs.,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-01-17T09:34:21Z,2013-05-10T03:39:09Z,"Steps to reproduce:

 1. Install the attached mfields-test-jquery-ui-tabs.php plugin.
 2. Open the Chrome console.
 3. Open the customizer and watch the console.

At this point you should see that a slew of XHR requests are triggered. If you reach a certain type of javascript error then the XHR requests will stop and the preview frame in the customizer will go blank.

It seems like jQuery UI Tabs and the customizer are currently incompatible. This will affect any theme or plugin that is using this library including the popular [http://wordpress.org/extend/plugins/genesis-tabs/ Genesis Tabs] plugin.",mfields
21890,Customizer spinner breaks button alignment with longer strings,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,,2012-09-14T10:57:02Z,2012-11-08T22:01:23Z,See the screenshot.,SergeyBiryukov
22037,Customizer: Live preview fetches page but does not display,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-28T15:14:54Z,2012-11-14T17:29:37Z,"I just set-up a plain installation of 3.4.2. Configured it for multisite use. Set-up two sites, both working fine.

When going into a sites Appearance settings to customize the theme (TwentyEleven), the Customizer shows the control panel on the left, but the preview remains blank.

Firebug shows no Javascript errors.

'''It also shows, that a POST request is sent to fetch the front page and that the page is actually returned in the response. It appears the response is just not added to the right-hand preview area.'''",marcoliverteschke
22498,Disabling Header Text should not reset Header Text Color to default,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-18T22:31:17Z,2012-11-18T22:31:17Z,"In Appearance > Header, if you uncheck the 'Show header text with your image' option and Save, the Text Color option is reset to whatever the default is.

With JS enabled, the Text Color option is hidden when the checkbox is unchecked, but in no-js both options are displayed all the time. It's odd to set a header text color and uncheck the option only to have it reset your choice to the default.

Related: #22461",DrewAPicture
24545,Fix Admin Layout When Displaying Errors,,Appearance,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-06-09T15:15:40Z,2013-06-10T02:52:45Z,"Whenever a PHP error is displayed in the backend, it causes WordPress layout to screw up on the options pages by enlarging the font size and pushing the footer up to the bottom of the viewport so that it's not at the bottom of the page, instead, the bottom of the screen up so when you scroll to the bottom of the page, it's actually 3/4 way or 1/2 way up the page.",sunnyratilal
20729,Improve Admin Colors CSS enqueuing,,Appearance,3.1,normal,normal,Future Release,defect (bug),new,early,2012-05-22T17:19:58Z,2012-05-22T17:20:17Z,"The hacky way in which we enqueue the admin colors css means that you get different ordering of the CSS between the development version of the scripts and the script-loader sourced version of the scripts.

This can cause CSS bugs which don't show when developing but do when running with the script loader - e.g. #16827

It also makes it harder to implement a custom css concatenator.

We should do something like - http://core.trac.wordpress.org/attachment/ticket/16827/colors-hacked-fixed.diff

To make this properly enqueue the styles.

We should also make this kind of call fire a {{{_doing_it_wrong()}}} as {{{true}}} is not a url :)

{{{
$styles->add( 'colors', true, array('wp-admin') );
}}}

This code harks back from [7976]",westi
23455,Theme Customizer does not load when static Front Page is moved to Trash,,Appearance,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-12T12:27:37Z,2013-04-23T22:33:32Z,"Steps to reproduce:

1. Go to Pages > Add New, and publish a new page
2. Go to Appearance > Themes > Customize
3. Under Static Front Page, set this new Page as your Front Page. Save changes
4. Go to Pages > All Pages, and trash the page
5. Go back to the customizer
    * The sidebar loads, but not the preview
    * I see the following error in the console: http://i.wpne.ws/MpDR

When commenting out {{{$this->handle_404();}}} in [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php#L550 wp-includes/class-wp.php#L550], the Preview appears again, but generates quite a lot of notices.

Tested with WordPress Trunk (Version 3.6-alpha-23400)",jeherve
20859,Theme Installer: Preview should be scrollable on iPad and Kindle Fire,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,,2012-06-06T21:51:09Z,2012-06-08T21:10:27Z,"Related to #20805. We've added techniques for smoothly scrolling iframes when they're the only frame on the page, but the theme installer still uses the overlay technique.

We may be able to iron this out in a similar fashion. Given that the old installer also used an overlay technique, this is not a regression.",koopersmith
21492,Theme customizer > Static front page: missing error message when front page and posts pages are similar,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-06T00:15:25Z,2012-08-06T01:11:40Z,"Steps to reproduce:

1. Activate Twenty Eleven
2. Open the Customizer
3. In ""Static Front page"", choose the same page as your front page and Posts page:
  * You do not receive any warning 
  * http://i.wpne.ws/IYAO
  * In Reading Settings, you do actually receive a warning: http://i.wpne.ws/IY2S (see http://core.trac.wordpress.org/browser/trunk/wp-admin/options-reading.php#L99 )

Would it be possible to display the same warning in the Customizer, to avoid any confusion for the users?

Related: #19627 and #16379",hd-J
20733,Theme customizer doesn't order sections based on order added,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,early,2012-05-22T23:36:48Z,2013-01-21T15:16:04Z,"When adding sections to the theme customizer, sections with the same priority are given seemingly random order. From the [http://core.trac.wordpress.org/ticket/19910 original customizer ticket]:

> Settings and sections both contain priority parameters (you can specify these in the constructor or alter them afterwards) which serve as the primary means of sorting sections before they're rendered. The order settings/sections are added serves as a secondary sorting mechanism (tiebreaker) when multiple items share the same priority.

I was under the impression that if the priority was the same, the sections would appear in the order they were added. However, if you add sections A, B, and C (in that order) it seems to display them in order B, C, A.

To replicate, add this code to your theme:

{{{
add_action( 'customize_register', 'theme_customize_register' );

function theme_customize_register( $wp_customize ) {
	// Register Section A
	$wp_customize->add_section( 'theme_section_a', array(
		'title'    => 'Section A',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_a', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_a', array(
		'section'    => 'theme_section_a',
		'type'       => 'text',
	) );

	// Register Section B
	$wp_customize->add_section( 'theme_section_b', array(
		'title'    => 'Section B',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_b', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_b', array(
		'section'    => 'theme_section_b',
		'type'       => 'text',
	) );

	// Register Section C
	$wp_customize->add_section( 'theme_section_c', array(
		'title'    => 'Section C',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_c', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_c', array(
		'section'    => 'theme_section_c',
		'type'       => 'text',
	) );
}
}}}

'''Expected result:''' Sections show up in order A, B, C

'''Actual result:''' Sections show up in order B, C, A

Sorry if I'm doing something stupid, or if this isn't the intended functionality. I'm running trunk without any plugins.",andyadams
23956,jQuery UI Datepicker adds empty but visible div at bottom of page,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-06T01:52:12Z,2013-04-06T08:19:52Z,"This bug seems to be related to the [http://bugs.jqueryui.com/ticket/4111 this] jQuery UI bug, which has been fixed, but the following WordPress stylesheet seems to be making the bug re-appear:

wp-includes/css/jquery-ui-dialog.min.css

As far as I can tell, removing the following rule seems to fix it:


{{{
.ui-helper-clearfix:after {
    content:""."";
}
}}}
",julianm
22237,Add a keyboard shortcut for collapse/expand in the customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-21T02:59:31Z,2012-10-24T17:33:30Z,Can we add a keyboard shortcut to the customizer for collapsing/expanding the left panel?,designsimply
22231,Add action to provide additional options to the Custom Background page,,Appearance,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-10-19T23:27:02Z,2012-10-20T15:12:29Z,"The Custom Header feature of WordPress has an action to allow additional options to be attached to the Custom Header admin page. This patch allows the same functionality to be done for the Custom Background page.

'''Use case:''' I want to provide an option to allow the custom background image set to be responsive. If checked, the background image URL will be localized for use via the anystretch.js.",thelukemcdonald
21792,Add link to settings.general from appearance.header,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-09-04T19:38:50Z,2012-09-04T19:40:36Z,"Multiple users that we've tested have ended up on appearance->header when asked to change their ""site title"".  It seems logical.  Should we add a link there?",lessbloat
22348,Add support for custom background default images,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-02T19:25:12Z,2012-11-02T19:25:12Z,"When specifying custom header default images for a theme, I always forget that you can't do the same for custom backgrounds.

It would be highly desirable to be able to set default background images, just as you can with custom headers.",dgwyer
23509,Conditional function that lets you know if your site is being viewed through the Customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-19T01:41:24Z,2013-04-22T22:10:51Z,"I can provide a use case if necessary, but this should be relatively simple.

If I need to do something special with my theme when my site is being viewed through the customizer, there's no easy way determine if it is.

A simple `is_customizer()` (or similar) function would be incredibly useful in this scenario.

I'd write up a patch, but I don't know where to put the new function.",nathanrice
17800,Custom Header bug with deleted images,,Appearance,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-14T12:43:15Z,2012-12-03T12:08:03Z,"I'm not a tech.
I've added images to Twenty Eleven header.
I wrong and I've deleted few images directly using ftp now you can see in the image that the header has the markers of the images without the images.

",pivari
22058,Custom background vertical position,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-09-30T16:30:29Z,2013-04-25T01:20:25Z,"For the the custom background display options there is only left, centre and right position. The top and bottom position is missing.",grapplerulrich
22880,Customize Themes without activation,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T11:34:51Z,2012-12-12T11:38:58Z,"Add a posibility to customize deactivated themes with the Theme-Customizer without activating them by default.
Useful for Blogs running multiple Themes between which the frontend user can switch.",kkkrys
21059,Customizer color picker has no remove button,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-24T11:34:12Z,2013-04-11T10:23:37Z,There is no remove button for color picker in the customizer. It would be great if we could remove the color or set it to the default if we don't need the color.,kcssm
24392,Customizer: Display section descriptions like sidebar descriptions,,Appearance,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-05-22T22:05:58Z,2013-05-23T07:07:05Z,"When adding a section to the Customizer, it offers the possibility to add a description of this section. Currently this description gets output as in a title attribute to the h3 headline of this section - and is completely hidden and gone. :( Or did you know we have a four line description of the navigation section?

It would be awesome if we could move that more in the user's view, maybe like how we currently do it for widget sidebars?",obenland
22834,Live Preview should map sidebars as done on activation,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-12-09T12:51:00Z,2012-12-13T12:07:31Z,"'''Problem:''' 

Sidebar disappears in the live preview after theme deactivated.

'''Reproduce:'''

Fresh install of the WordPress trac:
1. Activate Twenty Ten theme
2. Click the Live Preview of Twenty Twelve
3. No sidebar in the preview

Bug 100%",alexvorn2
22182,Make core theme customizer section titles filterable,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-13T11:45:13Z,2013-04-19T17:11:01Z,"It would be very useful to be able to modify core theme customizer section titles by making them filterable, or by adding a setter class method to modify an existing section title.

At the moment you can't access a section title directly as it is set to protected.

Example user case scenario is if you needed to add sub controls to an existing section, then the title may need updating to reflect this.",dgwyer
21483,Theme Customizer: Use any image from media library for background image,,Appearance,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-05T22:42:31Z,2013-06-07T15:37:29Z,"I suggest that users be able to use any image in the media library as a background image from the customizer. At this time, if a user changes the theme background from the customizer, he/she must upload the image. This is already available from the dashboard, under Appearance > Background - it gives the option ""Or choose an image from your media library:"" I suggest that this option available on the dashboard also be available on the customizer. A similar option should be available for header images.",jjonesftw
21666,Theme customizer reset,,Appearance,3.4.2,normal,normal,Awaiting Review,feature request,new,,2012-08-23T10:09:49Z,2013-05-18T13:13:22Z,"It would be useful to be able to reset the settings to the defaults as specified in the add_setting() class method when setting up each setting.

These could be reset on a section by section basis and/or for ALL settings.",dgwyer
21785,Add header image uploads with cropping to the customizer,,Appearance,3.4,normal,normal,Future Release,task (blessed),new,early,2012-09-04T04:56:41Z,2013-05-22T10:06:20Z,"See #21355 for an explanation for why header image uploads (sans cropping) was removed from the 3.4 branch. This ticket is about adding it back, with a crop step, to ensure proper support.",nacin
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
18060,image upload handling between atompub and xmlrpc different,,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-10T12:33:27Z,2012-06-17T12:58:30Z,"Uploading images via XMLRPC generates different image sizes in addition to the original image. Uploading the same image through AtomPub will only create a single original file in the uploads/year/month/ directory, the thumbnail and different formats normally generated on upload are missing. It is probably because wp_handle_upload is missing from the wp-app.php create_attachment definiition - it only uploads the bits and creates an attachment, but neither handles metadata updates nor image thumbnail generation.",rfc1437
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
23691,Visiting post-new.php using the back button overwrites an existing post,,Autosave,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-04T18:54:46Z,2013-03-04T18:54:46Z,"1) visit post-new.php
2) write a post
3) publish it
4) click back in your browser
5) write a new post
6) if you save it as draft or publish it, it will overwrite the old post

Reproducable in Firefox, Chrome and Safari.",jkudish
22601,Make post content autosave work more generically,,Autosave,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T04:00:31Z,2012-12-14T23:51:36Z,"The JS for autosave/AYS looks for the contents of `#post #content`. While we should fix the other JS issue related to targeting `#content` in #22600, it seems that autosave/AYS should be looking for the textarea (or whatever type of input) with the name of content instead, since having that data in the form will save to the post content. That way, if somebody does choose to use a different ID but the right input name, the autosave benefits will kick in.

Discovered while working on #22491.",helen
19960,Problem posting by email from MailChimp,,Blog by Email,3.3.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-04T01:24:20Z,2012-09-15T19:18:09Z,"Blog by email seems to have a strange bug. 

If I try to post something by email from my gmail account, it works fine. But if I send the email via MailChimp, the posting doesn't work. No post is created, published or draft...it's as if the mail was never received by WordPress

This applies to both self-hosted WordPress and wordpress.org

I have tried doing the same thing with other services such as blogger.com, and it works fine there.",sooskriszta
16993,wp-mail.php doesn't account for half-hour and quarter-hour timezones.,,Blog by Email,3.1,normal,trivial,Future Release,defect (bug),new,has-patch,2011-03-29T06:55:06Z,2012-11-07T22:14:58Z,"To reproduce the problem, install Wordpress and set it to post by email. Send a post from an email address which is configured to use a half-hour or quarter-hour timezone (like Afghanistan, +0430).

wp-mail.php calculates the timezone by multiplying the timezone offset by 36. This works fine for whole-hour timezones (Pacific Time -0800, -800 * 36 = -28800 seconds). For half-hour and quarter-hour time zones this does not work (Afghanistan +0430, 430 * 36 = 15480, should be 16200). The reason this happens is because an hour has 60 minutes as opposed to 100  minutes. 430 / 100 = 4.3 hours, not 4.5 hours. 450 * 36 result in 16200 minutes, but timezones are represented as hours and minutes, not fractional hours.

This results in posts that are posted via email from a half-hour or quarter-hour timezone to be posted in the future or in the past from when it was actually posted.",neoscrib
22942,Deprecate Post by Email,,Blog by Email,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-14T16:48:46Z,2013-06-15T14:56:59Z,"We said last year that we'd remove the post by email functionality from core as it was better suited for plugins.  The Jetpack plugin has already added this functionality and, honestly, includes better functionality than the core version.

We should move forward with our plans to remove this feature.

I recommend ''deprecating'' it similar to the way the link manager was removed in 3.5.  Essentially:

* New WordPress installations will never see the core feature
* Existing installations that aren't using it won't see it any more
* Existing installations that ''are'' using it will see a notice explaining they should switch to a plugin instead as the feature will be completely removed in the future

Basically, I want the option to go away, but I don't want anyone to start a riot if we remove a tool they're actively using.",ericmann
19984,Issue with Default Post Format,,Blog by Email,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-07T20:29:41Z,2012-08-24T01:34:27Z,"I set my Default Post Format as Aside. So I expect all my posts via email will appear as Aside, same as Default Post Category does perfectly while post via email. But it is always posting as Standard whenever I post by email. Kindly fix this. Wordpress is Awesome :)",binarymag
14798,Twenty Ten Theme - adding an extra skip link,,Bundled Theme,,normal,normal,WordPress.org,defect (bug),new,,2010-09-07T12:07:33Z,2012-08-09T20:12:48Z,"Being able to skip to content is good, but currently there is no easy way to jump to the sidebar menu. 

In order to add this extra skip (jump to menu) link I've changed the div to ul. CSS changes are similar to #14795 but tweaked to allow for the new markup.

",elfin
24599,Twenty Thirteen: Horizontal scrollbar appears in large viewports,,Bundled Theme,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-06-18T20:49:06Z,2013-06-18T20:56:12Z,"Starting from 1614 pixels up to 1600 pixels viewport width, the page (.site) width is 2 pixels wider than the body width, causing an horizontal scrollbar to appear. It seems to be caused by the following rule:

{{{
.site {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
}}}

which I don't understand why it has been introduced as of changeset 23962.",gorgoglionemeister
24143,"When define('WP_CONTENT_DIR', 'your-dir') twentythirteen - The theme directory does not exist.",,Bundled Theme,3.4,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2013-04-20T10:08:16Z,2013-05-06T22:57:39Z,"If you use either of following in you wp-config.php you'd automatically get a Broken Themes.

{{{
define('WP_CONTENT_DIR', 'your-dir');
define('WP_CONTENT_URL', 'your-url');
}}}

The following themes are installed but incomplete. Themes must have a stylesheet and a template.

Name 	Description

twentythirteen 	The theme directory does not exist.",azizur
14782,"Accessibility: Twenty Ten Theme - links, forms, skip link",,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-04T15:50:01Z,2012-09-27T13:42:46Z,"Starting off with changes to the CSS only.

Links: colors amended where necessary. added underscores and/or color changes for active, hover and focus.

Gallery image links: adjusted things to use margin to center the image rather than padding, to allow for adding highlighting on image links.

Skip link: now appears above the #access menu when tabbing through the page.

Grey text/links: was 888 this just failed the color contrast, so changed it to 777 throughout.

Forms: added highlight for input text and textarea, for active and focus.",elfin
24549,"Follow the WP Handbook Standard, and change The Loop of Core Themes to Use Brackets",,Bundled Theme,trunk,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-06-10T04:32:26Z,2013-06-17T08:19:51Z,"This started as a discussion over a pull request to change the if-endif statements to brackets in the template files for Easy Digital Downloads. After lengthy discussion on that [https://github.com/easydigitaldownloads/Easy-Digital-Downloads/pull/1194 Github issue], and even more discussion in our dev chat, @pippinsplugins published [http://pippinsplugins.com/please-do-not-use-curly-brackets-in-template-files/ a post] about his beliefs on the matter.http://techcrunch.com/

The reason for this Trac ticket is to request the core's themes, which (to date) are 2010, 2011, 2012, and in 3.6 trunk, 2013, to use braces instead of if-endifs in The Loop. 

At the very beginning, this may seem like a trivial matter. Instead it's far from it. This is actually a pretty deep rooted issue, caused by the ambiguity of the presence of endifs in Core, when combined with the discouragement from using them in the Codex.

The problem lies in that, (as Pippin's belief is) that most new WordPress devs first learn coding by studying their theme's loops files. For most users of WordPress, either their theme is one of the aforementioned core themes, or contains a loop based on one of them.

A plugin author, such as the EDD devs, then make template files for our plugins, which are intended to be edited by said users. 

A good place to start, would be advantages to using braces over if-endif.

* Braces are fully supported by most IDEs. Most IDE's can find the corresponding open or close brace based on the highlighting of another one. Importantly, this includes IDE's that said new developers, might be more inclined to use, such as Dreamweaver, or similar. However, if-endifs are not supported in this manner, but in only a handful of IDE's.
* New developers will understand braces better than if-endif. Whether from their background in CSS (where braces contain rules), mathematics, or otherwise, braces are a symbol of a containing element. From Pippin's post, it also seems the vast majority of developers also prefer braces.
* It's shorter. Trivial maybe, but still slightly shorter.
* It's standard. The [http://make.wordpress.org/core/handbook/coding-standards/php/#brace-style WordPress Code Handbook] states to use braces. If braces are the standard, they should be used throughout core, and particularly not in important, more prominent areas like The Loop of core themes. Several other prominent open source projects follow the same guidelines (ex [https://drupal.org/node/318 Drupal] etc etc).
* Save users time learning both systems. Currently, if a user looks at The Loop, they learn endif. If they then proceed to other template files of core themes, or to plugin files, they then need to learn brackets. Making one way the Core's preferred method would cut the amount of time down for a new developer to learn the control logic (eliminate the need to learn endif).

The attached patch/diff replaces all if-endif usages with braces in 2010, 2011, 2012, and 2013. ",chriscct7
21506,Standard Theme Hooks,,Bundled Theme,,normal,normal,Awaiting Review,enhancement,new,,2012-08-07T02:10:55Z,2013-03-28T22:12:58Z,"During the hack day at WordCamp SF, Konstantin Kovshenin and I sat down to work out a solution to allow for better communication between themes and plugins. We propose that core introduce 4 new hooks into the default WordPress themes allowing plugins to add custom markup relative to common theme elements. While many other theme locations could be recognized, we have only included hooks that we could provide at least three use common use cases for.

header_after: Allows custom markup to be inserted after all visual header elements have rendered. Possible use cases for this hook include:

 * Breadcrumb navigation.
 * Links to social profiles.
 * Advertising.
 * log in/out form.

post_after: Allows custom markup to be inserted after all visual elements have rendered for the current global post object. This hook would fix the issue originally reported in #18561. Possible use cases for this hook include:

 * Sharing links.
 * Related posts.
 * Ratings.
 * Author bio.

comment_after: Allows custom markup to be inserted after all visual elements have rendered for the current global comment object. Possible use cases for this hook include:

 * Upvote/Downvote control.
 * Ratings.
 * Show/hide threads functionality.

footer_after: Allows custom markup to be inserted after all visual elements have rendered for the footer. While this action is similar to {{{wp_footer}}}, it would be possible for the theme author to move this into nested html elements. To my knowledge, {{{wp_footer}}} is intended to fire immediately before the closing {{{body}}} tag. Possible use case for this hook include:

 * Links to social profiles.
 * Advertising.
 * The ""small print"" or copyright information.

If standardized hooks such as these were recognized by core, it would also have a positive effect on child theming. Theme authors would no longer need to override entire files just to introduce an element of two.

We have prepared 3 patches for the default themes to demonstrate placement of these hooks as well as a plugin to demonstrate their usage.",mfields
23184,Twenty Eleven/Twelve: Mismatched lines in GitHub Gists,,Bundled Theme,3.5,lowest,normal,WordPress.org,enhancement,new,close,2013-01-11T19:29:36Z,2013-04-26T14:26:57Z,"GitHub Gists are displayed with the code and line numbers misaligned, due to the difference in font-size and/or line-height of `<pre>` and `<table>` elements. 

Originally reported in [http://wordpress.org/support/topic/gists-look-crazy-with-twenty-twelve this thread] and on wp.com.

Example: http://themebuster.wordpress.net/gist-test/",obenland
24128,Twenty Eleven: add postMessage support for header_textcolor,,Bundled Theme,,normal,normal,Future Release,enhancement,new,has-patch,2013-04-18T17:43:32Z,2013-04-23T16:53:14Z,"Similar to Twenty Twelve and Twenty Thirteen, this would add immediate visual feedback in the Theme Customizer UI when header text is hidden, or its color value changes.",lancewillett
14791,Twenty Ten Theme - Better Link Highlighting,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:18:19Z,2012-09-27T13:42:49Z,mainly changing the state of text decoration(underline/none). This aids users that tab through links on a page identify where they are.,elfin
14792,Twenty Ten Theme - gallery changes,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:22:33Z,2012-09-27T13:42:52Z,"With reference to #14791 those changes will produce an ugly 10px wide border in red on focus/hover etc. This patch does fix this, at the expensive of top/bottom margins. This therefore may need an additional patch before it can be applied.",elfin
24595,Twenty Thirteen: Load Genericons in a More Plugin-friendly Way,,Bundled Theme,,normal,normal,Awaiting Review,enhancement,new,,2013-06-18T08:20:27Z,2013-06-18T08:20:27Z,"Genericons are a useful tool for plugins, but it is currently difficult to use them in a plugin in an efficient way. It would be nice if Twenty Thirteen loaded them in a way that would both play nicely with plugins that want to use them and set a standard for how plugins should load them.

I came up with a couple of options:
- Package Genericons directly with WordPress, instead of bundled through Twenty Thirteen, and register as a style in core ({{{wp_register_style()}}}), then {{{wp_enqueue_style('genericons')}}} in both Twenty Thirteen and plugins. Plugins could also package Genericons if targeting WordPress <3.6. The loaded stylesheet would just contain the {{{@font-face}}} declaration. But having Genericons available directly in core wouldn't be as appropriate as, for example, having Dashicons available (for front-end use) would be.
- Move the {{{@font-face}}} declaration to its own file and load it with {{{wp_register/enqueue_style()}}}. Plugins could check for Genericons with {{{wp_style_is()}}} and load them if necessary, which would decrease the potential to load from multiple places. This would establish a ""correct"" method for loading Genericons in plugins and at least provide the tools to avoid duplicate declarations, but could be messier to implement in plugins.

Both methods have advantages and disadvantages, and there are probably additional possibilities, but I think we should do something a bit more standardized than the current setup (loading Genericons from the main {{{style.css}}} file).",celloexpressions
23834,Twenty Thirteen: add visual Indicator for menu items with children,,Bundled Theme,trunk,normal,normal,Future Release,enhancement,new,,2013-03-21T04:07:43Z,2013-03-21T23:38:44Z,"It's helpful to have a visual indicator when a top level menu item contains a hidden drop down menu.

This patch adds a filter to wp_nav_menu_objects in order to add the class ""has-children"" to top level menu items that contain children.  This allows us to style it with psuedo element, similar to how the menu-toggle is styled for smaller screens.

The filter I used was posted by @chipbennet on the WordPress Theme Reviewers List. The same functionality could also be achieved by a Custom Nav Walker (see http://wptheming.com/2013/03/drop-down-menu-indicator/), but Chip's solution seemed more straightforward.

Neither method works unless a menu has actually been set.

",downstairsdev
23662,Twenty Twelve: style.css with Table of Contents,,Bundled Theme,3.5,normal,normal,Future Release,enhancement,reopened,has-patch,2013-03-02T00:44:33Z,2013-03-15T18:08:49Z,"Hello, I really like the 2013 initiative with Table of Contents, because it helps new users understand where goes what, especially developing child themes.

I added Table of Contents to Twenty Twelve theme and renamed CSS comments titles accordingly.",TomasM
15385,Use get_template_part() for post formats in Twenty Ten,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-11-11T13:36:47Z,2013-02-19T04:25:57Z,"Let's encourage some standardization in themes by giving Twenty Ten the following:
{{{
get_template_part( 'post-format', 'aside' );
get_template_part( 'post-format', 'gallery' );
}}}
We'll leave the default in loop.php, I'm thinking, though we could also use post-format-default.

I'm going to comment on #14746 that I think, if post formats are supported, then 'default' should always be supported and should be enforced as the default, even if nothing is stored yet for that post.",nacin
24514,Collaborative theme development,,Bundled Theme,,normal,normal,Awaiting Review,feature request,new,,2013-06-06T11:19:20Z,2013-06-06T11:19:20Z,"It would be very interesting if, for the next theme (Twenty Fourteen), all the development process (desing, early decisions, etc.) will take place on trac (or github, for example).

It will be a way for designer/developers to interact and, above all, a great learning tool.",gorgoglionemeister
23330,"Allow autoloading all options, not just autoload = yes options",,Cache,3.5.1,normal,normal,Future Release,defect (bug),new,,2013-01-30T21:12:57Z,2013-02-21T04:26:41Z,"For 5 years on wordpress.com we have ignored the autoload field for options. In wp_load_alloptions(), autoload = yes is not part of the query. Why? Because wordpress.com has a persistent cache. Thus, the transients that constitute the bulk of autoload = no options are stored in cache, never in the options table. Querying autoload=yes makes the query slower for no reason.

Having autoload = no options also complicates notoptions caching. Core has a notoptions cache that would be unnecessary if you can assume that wp_load_alloptions() loads every option. If an option is not in alloptions, then it does not exist.

Other large sites that use a persistent cache might also like to ignore the autoload flag. Core could automatically switch to ignoring autoload when an external object cache is being used, but administrators might want to control this so they can clean out old transients from options tables and do whatever other housekeeping is desired. So, let's add a filter that allows toggling this. When autoload is being ignored the wp_load_alloptions() query does not include autoload=yes and notoptions is not used.",ryan
22661,Allow object caches to degrade gracefully,,Cache,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-30T20:53:57Z,2013-01-10T00:08:36Z,"Because of the way object caches are loaded, if a custom object cache can't run (say, Memcached or APC is not actually installed), it cannot gracefully degrade to the built-in object cache.

Witness this code in {{{wp_start_object_cache()}}}:

{{{
 	if ( ! function_exists( 'wp_cache_init' ) ) {
		if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
			require_once ( WP_CONTENT_DIR . '/object-cache.php' );
			$_wp_using_ext_object_cache = true;
		} else {
			require_once ( ABSPATH . WPINC . '/cache.php' );
			$_wp_using_ext_object_cache = false;
		}
		$first_init = true;
	} else if ( !$_wp_using_ext_object_cache && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
		// Sometimes advanced-cache.php can load object-cache.php before it is loaded here.
		// This breaks the function_exists check above and can result in $_wp_using_ext_object_cache
		// being set incorrectly. Double check if an external cache exists.
		$_wp_using_ext_object_cache = true;
	}
}}}

So a custom object cache is loaded. If it wants to bail and defer to the built in object caching, it can do that by doing the include itself. But then WordPress sets {{{$_wp_using_ext_object_cache = true;}}} '''after''' that require. So WordPress thinks it is using an external object cache when it's actually not. This leads to oddness.

This can sometimes be hacked around by adding a callback to the very first WP action available that sets {{{$_wp_using_ext_object_cache = false;}}}, but that has issues: calls to the object cache might be made before that code can run, and {{{add_action()}}} is not always available at that point (because some {{{advanced-cache.php}}} drop-ins load the object cache really early. See Batcache.

Proposed solution: change the order of the {{{require_once()}}} and the setting of {{{$_wp_using_ext_object_cache}}}. That way, the external object cache can override the variable.",markjaquith
22526,Changing category doesn't invalidate cache,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-21T11:55:37Z,2012-11-21T11:55:37Z,"Hi,

I am using object-cache.php Memcached v2.0.2 (Dropins) with the current WordPress version, but I don't think this has anything to do with the dropin.

I noticed that category changes don't invalidate/update the cache.

For example:
1. Create a category ""Foo"".

2. Assign some postings to ""Foo"".

3. View your postings in backend and frontend, so that results get cached.

4. Rename ""Foo"" category to ""Bar"".

5. Reload some postings, which are in that category. But they still display the old ""Foo"" category instead the new ""Bar"" category name.

Flushing memcached would ""solve"" this problem, that's why I think renaming categories don't invalidate/update the cache.",Whissi
24244,Clean post cache when post was moved to trash,,Cache,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-05-02T00:36:22Z,2013-05-02T00:36:22Z,Clean post cache when post was moved to trash,m_uysl
22683,Don't load advanced-cache.php when running via CLI,,Cache,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-12-02T18:46:48Z,2012-12-03T20:05:29Z,"When you're loading WP via a command-line program, it doesn't make much sense for a plugin like WP Super Cache to take over. It's not like you have thousands of CLI users hammering the install.

Example issue in wp-cli: https://github.com/wp-cli/wp-cli/issues/164",scribu
21267,Kill the serialization of $wp_filter in get_terms(),,Cache,,normal,normal,Future Release,defect (bug),new,has-patch,2012-07-13T21:35:11Z,2013-01-22T19:35:23Z,"We use this as part of a persistent cache key:

{{{
serialize($GLOBALS['wp_filter']['list_terms_exclusions'])
}}}

See [8225].

This is not good for two reasons. First, well, it's a not fun to reach into our internal API like that. But worse, it's broken whenever an object method is used, because spl_object_hash() will be unique to that object, thus rendering the cache invalidated on the next pageload.

As an aside, we should probably have _wp_filter_build_unique_id() create a delimiter when dealing with a static class method — `$function[0].$function[1]` can conflict with a legitimate function name.

I'm not sure how this should be fixed.",nacin
22478,Remove $force argument from WP_Object_Cache::delete(),,Cache,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-11-16T19:02:07Z,2012-11-16T19:02:07Z,This was introduced way back in [3086] and hasn't been needed for years.,ryan
14485,Taxonomy hierarchy cache isn't properly refreshed,,Cache,3.0,high,normal,Future Release,defect (bug),new,needs-unit-tests,2010-07-31T03:11:13Z,2013-04-30T20:46:25Z,"I've developed a plugin that can create parent and children categories at the same time. It works well at 2.8.6 but it doesn't work as what I expect at 3.0.

When I create new parent and children categories at the same time, it only shows parent category in the Categories dashboard, but the children category is actually created. If I create another category or delete one category, the children category shows up. I think it should be a problem of wordpress cache, but I have no idea where to start tracing.

I use wp_create_category at wp-admin/includes/taxonomy.php to create categories. Besides, I have tried clean_term_cache but it didn't help. And I didn't activate other plugins when I tested this plugin.

It happened exactly when creating NEW parent and children categories.",thealien
22174,"_get_non_cached_ids() should use wp_cache_get_multi(), if available.",,Cache,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-10-12T14:12:40Z,2013-01-10T00:10:20Z,Add wp_cache_get_multi() to all cache backends and conditionally use it in _get_non_cached_ids() so that post objects can be fetched from cache in parallel.,ryan
21650,replace serialize() with print_r() in stats() function in wp-includes/cache.php,,Cache,3.4.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-08-21T13:42:29Z,2012-09-10T15:17:49Z,"In PHP 5.3 it is no longer possible to serialize data that contains a SimpleXMLElement object. It produces a fatal error. See https://bugs.php.net/bug.php?id=49800

The stats() function attempts to determine the allocated space for objects in the cache by using strlen() of the serialized object.

This can fail for the reason above.

Given that the figure returned is simply an estimation of the space 
I propose that the code is changed to use 
print_r( $cache, true ) instead of serialize( $cache )

ie. to become
`echo ""<li><strong>Group:</strong> $group - ( "" . number_format( strlen( print_r( $cache, true ) ) / 1024, 2 ) . 'k )</li>';`



This TRAC was raised after a longish chain of events starting with #18488 and the final response (today) which led to another chance discovery of a similar problem in the debug-bar plugin.

http://wordpress.org/support/topic/plugin-debug-bar-fatal-error-uncaught-exception-serialization-of-simplexmlelement-is-not-allowed



",bobbingwide
14254,update_meta_cache fails; query too large?,,Cache,2.9.2,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2010-07-09T19:49:22Z,2013-03-13T10:10:05Z,"In the file meta.php, around line 183 in the 'update_meta_cache()' function, it tries to do a query but I noticed this can fail (ie. crash wordpress) if there are too many post id's in the query.

The function is being called from query_posts(), with 'posts_per_page' set to -1.

An example query that crashed it:
{{{
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (1009,1006,989,933,902,860,859,858,857,793,838,837,836,827,825,310,780,777,776,775,774,773,770,763,760,759,758,757,728,756,755,754,753,752,751,750,748,746,
732,736,729,726,725,724,723,722,720,719,717,716,715,710,709,503,692,289,625,268,593,583,582,332,32,30,28,26,24,22)
}}}
Maybe there is some limit associated with queries of this type internal to wordpress, as this query works fine in phpMySql.

Apologies if this is already reported or irrelevant in 3.0!
",newpixel
21879,wp_count_posts() cache is not destroyed after post inserts and deletions,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-13T01:23:38Z,2012-09-13T02:11:19Z,"`wp_count_posts()` caches its results, but that cache is not destroyed when posts are inserted, deleted, or transitioned. This can lead to incorrect counts.

The attached patch fixes that (although it doesn't destroy the cache set when `$perm='readable'` in `wp_count_posts()`, which would be more complex as we wouldn't know the name of the key(s), though it could be done with `preg_match`).

",mark8barnes
21330,Allow filtering of expiration in set_transient(),,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-20T20:51:23Z,2012-09-17T18:32:01Z,"I recently needed to change an expiration of a transient and expected pre_set_site_transient_* filter to be able to do that. However, the filter only affects the value. I recommend adjusting this to affect both.",wpsmith
22176,Cache the results of the posts_request_ids query,,Cache,3.4.2,normal,normal,Future Release,enhancement,new,,2012-10-12T14:59:37Z,2013-01-10T00:11:47Z,"We are to the point where we could replace the advanced post cache plugin with something in core that is far simpler. We're most of the way there since introducing the split query. And with #22024 we have a good way of doing per-blog cache invalidation for classes of objects, which would be needed by this. Leveraging wp_cache_get_multi() as suggested in #22174 would provide a complete replacement for the adv post cache plugin.  http://plugins.svn.wordpress.org/advanced-caching/trunk/advanced-caching.php",ryan
19564,Helper function for getting/setting cache data,,Cache,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T15:02:09Z,2011-12-15T16:00:55Z,"Most of the time when we want something from the object cache we go through a routine of: wp_cache_get(); checking a result; setting a default; setting the cache with wp_cache_set(); returning. Core should offer a neat way to do this all in one fell-swoop.

Attached patch is a proposed solution.",johnjamesjacoby
21412,Hookable dropins,,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-29T03:59:34Z,2012-07-30T22:12:02Z,"This ticket is the result of a discussion on the wp-hackers list where I proposed the idea in [http://lists.automattic.com/pipermail/wp-hackers/2012-July/043772.html this message]. 

Currently for dropins there can be only one[1] per install which means that, especially for `advanced-cache.php` where multiple plugins cannot easily:

- Cache different mime types with different plugins
- Provide basic functionality and leave the complexity to other plugins because hooks are not available ''(this is likely needed for a good page caching API to ever emerge from the work of plugins.)''

For caching this results in plugins like WP Super Cache and WP Total Cache that significantly violate a sancrosact WordPress philosophy of ''""[http://wordpress.org/about/philosophy/#decisions Decisions, not Options]''"". To see what I mean, just visit the settings page for either of these plugins.  ''(Note: I'm not criticizing the plugins or their developers, instead saying that WordPress doesn't give them much of a choice.)''

It turns out however that fixing this is really lightweight and easy, at least for `advanced-cache.php`. I will attach the following files but here is the short list of changes to core required:

- Move the hooks-related function out of `/wp-includes/plugin.php` into another file which I called `/wp-includes/hooks.php` and include `/wp-includes/hooks.php` in `/wp-settings.php` close to the top after `/wp-includes/versions.php` is included.
- Include another new file `/wp-includes/dropsin.php` in `/wp-settings.php` after `/wp-includes/hooks.php` which contains a `wp_load_dropins()` function that `include()`s all `.php` files found in `/wp-includes/dropins/`.  
- Lastly add the following two (2) lines before `advanced-cache.php` is included:

{{{
// Load any potential dropins found /wp-content/dropins/
wp_load_dropins();

// Run the hook-based page cache.
do_action( 'page_cache' );
}}}

With this future caching plugins can implement the page_cache hook by dropping a file into `/wp-content/cache/` instead of  adding an `/wp-content/advanced-cache.php`.  

If this idea is blessed then we could add a deprecation notice for `/wp-content/advanced-cache.php` and also potentially replace (some of) the other dropins with `do_actions( ""{$dropin_hook}"" )`.   


[1] [http://www.urbandictionary.com/define.php?term=%22there%20can%20only%20be%20one%22%20 Gratuitous Highlander reference].",mikeschinkel
19008,Introduce a notoptions cache for site options,,Cache,,normal,normal,Awaiting Review,enhancement,new,,2011-10-19T21:11:47Z,2013-02-19T18:52:05Z,"Following up on #18955.

Adding a 'notoptions' cache for site options would be consistent with normal options.",duck_
20875,Introduce wp_cache_get_multi(),,Cache,,normal,normal,Future Release,enhancement,new,has-patch,2012-06-07T13:56:28Z,2013-04-16T17:12:29Z,"Both options (see #10274) and themes (see #20103) could benefit from a cache backend that implements get_multi(). For options, this means we can use individual keys. For both themes and options, we'd be able to make fast multiple gets.

Both APC and Memcached (but not Memcache) implement multiple-get. A fallback would be looping over get().

Separately, as this would be a new function we use in core, we probably need to start doing some kind of versioning for drop-ins like db.php and object-cache.php.",nacin
21401,Load packaged object cache when advanced-cache.php and object-cache.php don't implement wp_cache_init( ),,Cache,3.0,normal,normal,Future Release,enhancement,new,has-patch,2012-07-28T06:00:11Z,2013-05-14T13:22:25Z,"'''This ticket has 3 purposes:'''

1) introduces {{{wp_using_ext_object_cache()}}} - mimic {{{wp_suspend_cache_invalidation()}}} and disallow direct access to {{{$_wp_using_ext_object_cache}}}, cleans up importing of globals in functions and provides function to modify that global[[BR]][[BR]]
2) load the wp-packaged object cache when {{{object-cache.php}}} doesn't implement {{{wp_cache_init()}}}[[BR]][[BR]]
3) adds file_exists for advanced-cache.php

{{{wp_start_object_cache()}}}, at its core, is on the hunt for {{{wp_cache_init()}}} and then sets the toggle for the external object cache. We only care about the external object cache if it has that function. Rather than throwing a fatal error if their is a missing method, load the default object cache.

If someone installs Memcached properly, then nothing changes - file loads, all is good. If they install a blanks file, the default Object Cache will load. If they install an external object cache without {{{wp_cache_init()}}}, the default cache loads. 

IMO - there is no reason to turn off non-persistent caching or throw a fatal error if the author of a cache plugin sucks or the user made a mistake in moving the files.",wonderboymusic
15565,More context for clean_post_cache(),,Cache,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-11-24T17:41:07Z,2012-10-17T14:21:18Z,"I'd like more context to be available when the clean_post_cache hook is run.

Scenario: I have a plugin caches the post_IDs of most post queries that go through WP_Query.  Invalidating that cache is done via the clean_post_cache hook, but requires a bunch of fragile hacks to prevent cache invalidation for things like comment inserts, which update the post's comment_count (which could, in theory, affect a WP_Query, but that's another story).

Option 1: Add extra actions to provide context.  This is the simpler option.  Patch 1 does this for the above scenario.

Option 2: Add an optional context parameter to clean_post_cache().  This is more general, but I can't think of anyplace else WordPress uses as similar approach.  Patch two.",mdawaffe
21402,"Remove PHP4 methods, format consistently",,Cache,,normal,normal,Future Release,enhancement,new,has-patch,2012-07-28T06:24:33Z,2013-05-14T13:16:42Z,"While I was looking around in cache.php, I noticed the TODO to remove the destructor that does nothing and the constructor that registers it to do nothing

Also, the whitespace was different for almost every function - yet the functions all have similar code, this cleans it up",wonderboymusic
18488,set_transient crashes when value parameter is a SimpleXMLElement object,,Cache,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-08-19T18:58:02Z,2012-09-01T18:03:16Z,"I have been developing a plugin that obtains information about high and low tides in the UK. The data is obtained from another site as a SimpleXMLElement. I found that when I passed a value to set_transient that had been assigned directly from the SimpleXMLObject then it was being received as an object and somewhere in the innards of the function the routine crashed. My workaround was to cast the assignment.
e.g. this failed

{{{
$title = $channel->item->title;
$store = '1';
$secs = bw_time_of_day_secs();
$secs = 86400 - $secs;
$set_transient( ""bw_tides_title_"" . $store, $title, $secs);

}}}

but change line 1 as below and it works

$title = '''(string)''' $channel->item->title;

Two questions therefore. 
1. Am I misinterpreting the documentation that says I don't need to serialise the value? What does mixed actually mean.
2. Does set_transient have to crash when the parameters are wrong?

The problem is completely reproducable. I now have a working solution so I don't need a fix right now. I just want to understand.
Herb 

",bobbingwide
23327,Cache incrementors for get_bookmarks(),,Cache,3.5.1,normal,normal,Future Release,task (blessed),new,early,2013-01-30T18:24:08Z,2013-04-16T17:11:33Z,"Make use of a caching incrementor and store queries in individual cache buckets to avoid memory exhaustion.

Pattern this after #23167, which does the same thing for get_pages().

See #23173 for an explanation of the motivation behind this.",ryan
23173,Don't cache arrays of query results in a single cache bucket,,Cache,3.5,normal,normal,Future Release,task (blessed),new,,2013-01-10T19:05:17Z,2013-04-16T17:10:11Z,"We have started using one cache bucket per query with passive invalidation controlled through a last_changed incrementor. See #22024 for an example. We also need to do this with get_pages(), wp_get_archives(), and elsewhere. On wordpress.com we have hacked some of these into separate buckets because saving multiple queries per cache bucket results in huge buckets. We have seen 72MB get_pages caches. Let's finally clean this up for good. Some of the last_changed work done for #22176 can be used here.",ryan
15256,?cat=## permalinks do not redirect when category is a parent,,Canonical,3.0.1,high,normal,Future Release,defect (bug),reopened,needs-unit-tests,2010-10-30T05:44:18Z,2013-02-25T13:08:53Z,"One of my plugin users reported this while using dropdowns to display his categories: http://wordpress.org/support/topic/plugin-my-category-order-multiple-widget-support-broken

I was able to duplicate it on my own site in 3.0.1. Any category that has children displayed in the dropdown will redirect to /?cat=## instead of the the friendly /category-name permalink when selected. Select any other category or one of the children and they redirect correctly.

Any thoughts?",froman118
20388,?cpage=N URLs do not have canonical redirection,,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T05:43:02Z,2012-05-22T01:07:50Z,?cpage=N URLs aren't redirected to their pretty URL counterparts. They should be.,markjaquith
17661,Appending date & author based query vars to a permalink overrides the permalink,,Canonical,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-02T11:05:05Z,2012-09-09T20:14:26Z,"Some canonical code branches are not properly accounting for extra query variables being specified via the url.

For example, these url's are not handled properly:
{{{
/2008/?author=1 redirects to /author/admin/
/author/admin/?year=2008 redirects to /year/2008/
/category/uncategorized/?year=2008 redirects to /2008/
}}}

This happens with most date based branches, as once a higher priority canonical rule is hit, the permalink component is ignored.

The canonical code includes a branch to add any ""forgotten"" `$_GET` variables back onto the url, however this doesn't help when it's the rewritten variables are being lost.",dd32
22879,Canonical Link Missing on Front Page,,Canonical,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T11:03:05Z,2012-12-30T19:54:30Z,"Canonical links are provided for posts, so if someone links to /2012/12/my-post/?whatever then Google will know it is a duplicate of /2012/12/my-post/

But if someone links to /?whatever there is no canonical address.",miqrogroove
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
23074,Changing post's URL and then setting it back causes redirect loop,,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,close,2012-12-29T00:44:50Z,2012-12-30T06:59:34Z,"This morning, I changed the URL of one of my posts, but then changed my mind and set it back. When you change the URL of your post, WP automatically creates a redirect from the old page to the new page, which is good, but in this case it led to an unintended consequence: after I changed the link from A to B and then back to A, it set up a redirect from A to B and a redirect from B to A, causing anyone trying to access A or B to end up in a redirect loop between the two (or possibly it created a redirect loop from A to A; I'm not sure). It should check for such loops when you update the URL to avoid this problem.",vbuterin
17718,Don't redirect if user is already on port 80,,Canonical,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-07T11:31:40Z,2012-10-16T16:36:46Z,"If user is already using port 80 but {{{$original['port']}}} is set to 80 anyway, do not send a needless redirect.

wp-includes/canonical.php line 324

change from

{{{        if ( !empty( $original['port'] ) )}}}

change to

{{{        if ( !empty( $original['port'] ) && $original['port'] != 80 )}}}

Fixes, for example, Nagios's check_http getting sent a redirect rather than the page content.

-davidc",davidcx
23602,"Incorrect canonical redirect if p=123 query argument present in ""paged"" archives",,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-02-25T08:34:19Z,2013-02-25T08:34:19Z,"URLs that include `page/n` AND `p=n` query variable, such as:

http://example.com/page/3/?p=123

will issue a 301 redirect to the homepage. This is being reported as incorrect behaviour in Google Webmaster Tools, because:

  The target URL does not exist and your server is not returning a 404 (file not found) error. 

  Your server is redirecting requests for a non-existent page, instead of returning a 404 response code. This creates a poor experience for searchers and search engines.

A fix would be to strip the `p=` query variable and redirect to the paged archive. 

From: 

http://example.com/page/3/?p=123

to:

http://example.com/page/3/
",kasparsd
23408,Link to rss-feed in default installation causes redirect loop,,Canonical,,normal,major,Awaiting Review,defect (bug),new,,2013-02-06T21:20:04Z,2013-02-20T02:56:37Z,"I noticed, that google webmastertools complained about dead links in my blog.
Those links were hidden in the html-code and were links to rss-feeds of attachments. (e.g. ?attachment_id=1647&feed=rss2)
When i try to open the link, it returns a 301 error and if the new url is called, anoter 301 error is shown. After two or three times, the original url is shown again by a 301 error message.

I installed two clean installations on different servers, which show the behaviour either. If i use the link ""?attachment_id=1647&feed=rss""  the correct feed is loaded. (using rss instead of rss2 which is provided by the template)

It seems that the error is caused by the function get_post_comments_feed_link(...) in ""wp-include/link-template.php used wp-include/canonical.php.
When i add another line to the function to return a link with ""attachment_id="" and not ""p="" or ""page_id"", the comment feed is loaded without errors.
But the fact, that rss feeds do not cause an error and rss2 feeds create a loop makes me think, that another module may be defect and my workaround is not a solution.

Regards

Fabian",clusterone
16133,"Pagination issue with tag ""rss""",,Canonical,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-07T09:39:10Z,2012-09-04T21:50:34Z,"When posts use ""RSS"" as a tag, and the /tag/rss/ page has more posts than it is set to display on one single page, the link to page 2:

/tag/rss/page/2/

is redirected to:

/category/page/2/

Tested on Paolo Belcastro test WordPress.org :

http://test.belcastro.com/tag/rss/

Running 3.1-RC2-17229 with only Debug Bar plugin activated

This is not theme related, same behaviour with TwentyTen or Thematic on this install.",paolal
21700,Problem obtaining the Feed of an archive of tag “RSS”,,Canonical,3.4.1,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2012-08-27T10:40:33Z,2013-05-24T16:15:58Z,"I'm using RSS as a tag for some of my blog posts, and I was using them without any problem.

'''myblog.com/tag/rss/'''

But I've just realised that Google Webmaster Tools gives me some related errors.

The issue is this: when trying to retrieve the feed of this tag, from

'''myblog.com/tag/rss/feed/'''

it gets redirected to

'''myblog.com/tag/feed/'''

And this gives an error.",xavivars
20383,Strip trailing punctuation with canonical URLs,,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T03:59:49Z,2012-07-13T00:47:29Z,"A follow-up to #7537 where we removed %20 and "" "" from the end of URLs, we should try to remove all sorts of punctuation from the end of a URL, both URL-encoded and decoded.

Example bad URLs we should surely be able to resolve:

http://ma.tt/2012/03/productivity-per-square-inch/%7B

http://ma.tt/2012/03/productivity-per-square-inch/)

http://ma.tt/2012/03/productivity-per-square-inch/,

http://ma.tt/2012/03/productivity-per-square-inch/!

More difficult when there is no trailing slash in the permalink structure (or the link requested, regardless of permalink structure), but if is_404() is taken into account, it should be doable to trail various pieces of punctuation and see if we can get things to resolve.",nacin
18734,Subcategory archive does work with any name as parent category in URL,,Canonical,3.0.1,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2011-09-21T15:10:46Z,2012-10-22T23:10:00Z,"Parent category is ''parentcategory'' and his sub category is ''subcategory''.

The URL will be ''domain.com/category/parentcategory/subcategory''.

The problem is, that you will get the same page if you use any words as ''parentcategory''.

Examples:
- ''domain.com/category/xxx/subcategory''
- ''domain.com/category/subcategory''
- ''domain.com/category/foo/bar/subcategory''

IMO {{{redirect_canonical}}} should do his work here (and sometimes it does).

In 3.1 it does redirect.
In 3.1.4 it doesn't redirect; after r17549.
In 3.2.1 it doesn't redirect.
Duck_ found that it does redirect before r18079.
In current trunk it doesn't redirect.


",ocean90
20386,"Year permalinks ""win"" against category permalinks",,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T05:20:55Z,2012-07-16T04:14:43Z,"We need to decide whether category permalinks should take priority over year permalinks.

e.g. /2008/?category_name=cat-a

Should that stay the same, or redirect to:

/category/cat-a/?year=2008

We have a unit test which is failing.",markjaquith
21602,redirect_canonical can lead to infinite loop on index navigation if site url is not all lower case,,Canonical,,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-08-15T21:31:17Z,2013-04-23T07:53:55Z,"The function redirect_canonical in wp-includes/canonical.php (WordPress 3.4.1) on line 406 and 422 makes the following check:


{{{
if ( !$redirect_url || $redirect_url == $requested_url )
		return false;
}}}


This ensures that it does not attempt to redirect you to the page you requested in the first place. However this function is not case sensitive so if the redirect URL is in a different case than the requested URL then the user can enter an infinite redirect loop. (For example if the Site Address (URL) of the site is set to be in all upper case.) 

This function should do a case-insensitive string comparison since domain names are case-insensitive.


The issue only appears to happen with certain plugins installed (ShareThis and PilotPress both led to this issue,) I haven't figured out yet why it's only an issue with certain plugins but it should still be fixed in WordPress to make the proper string comparison. ",sreedoap
20902,redirect_canonical() on using permalink: Not all $_GET being redirected,,Canonical,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-11T09:30:08Z,2012-11-01T04:54:03Z,"Using permalink, I suppose that all query_var entered manually on URL or using $_GET will be redirected to proper permalink. Apparently not all being redirected at all. AFAIC:

1. /?post_format=image : should be redirected to /type/image/
2. /?pagename=blog : should be redirected to /blog/
3. /?author_name=admin : should be redirected to /author/admin/

Unfortunately, they are not.

It can be done by filtering redirect_canonical() but it will be better  if it's being done by default as we can see that /?category_name=cat will be redirected to /category/cat/",arieputranto
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
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
18385,"Canonical redirections not suited for Queries with multiple query vars and ""pretty permalinks"" in general",,Canonical,3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-08-12T09:05:03Z,2011-08-12T12:21:47Z,"When the Canonical code was originally written, it served it's purpose quite well. However, over the years the number of Query vars which can be used to access content via has increased, and so have the number of archive views. This has lead to increased complexity in the Taxonomy canonical code which has needlessly caused bugs.

What I'm proposing, is that it might be time to lay to rest the current `if.. elseif.. elseif..` style checks, It's not possible for 1 if branch to handle every single access point without duplicating another branch.

As a result, I've put a half-finished together alternate version of Canonical, It's based on tallying up which query vars have been used/accounted for and removing any duplicates.. It's certainly not the best, but it's fairing better with the unit tests so far.

{{{
Unit Testing: http://unit-tests.trac.wordpress.org/browser/wp-testcase/test_includes_canonical.php
Before: FF.......FFFF..FFF.....F......FFFFFF.F....F.....FF....FF...
 After: FF...........FFF..................FF..................F....
}}}

It's a work in progress, but it's worth considering IMO.

Attaching a diff, and the full file (since the diff is going to be rather unreadable in some sections)",dd32
20283,Create new variable or function in $wp_query object to get canonical URL of any site's page,,Canonical,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-22T14:42:36Z,2012-03-24T12:08:55Z,"For the sake of Search Engine Optimization it's recommended to set canonical URL inside <link rel='canonical'> tag in any site's page. Incorrect URL can exist in search engine index. For example: http://example.com?some_param=some_val&cat=3,4. URL points to categories with id equals 3 and 4, but we have another unnecessary parameter 'some_param'. It's malicious! We must set canonical URL to http://example.com?cat=3,4.
So It's advance to have canonical URL generated some way. I propose to set function or variable inside WP_Query class to retrieve canonical URL to any opened page.

In WP_Query we have variable WP_Query::query which consists of all necessary parameters for that propose. But we must use $wp_rewrites also.
Any thoughts?
",egorpromo
14458,Create rel_canonical filter,,Canonical,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-07-29T21:48:34Z,2013-06-16T08:53:12Z,"Wouldn't it be nice to be able to set the canonical rel value.
This comes in handy when you create a duplicate page and be able to manipulate the cannonical value.

Usage:
{{{
add_filter( 'rel_canonical', 'childtheme_rel_canonical', 10, 2 );
function childtheme_rel_canonical( $link, $id ) {
  return get_permalink( 55 );
}
}}}
",wjm
23087,Filter wp-register.php canonical redirect in single site too,,Canonical,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-30T16:02:06Z,2012-12-30T21:05:43Z,"in canonical registration location redirecting we have a filter for MS but none for WP Single Site. I'm unsure of how to convert Git patches to svn, so... yeah... Sorry.

patch:
https://github.com/ChrisClayton/WordPress/commit/449ac581ff45bfd68050280cdad6211d907ca12f",chrisclayton
20496,Previews should redirect to the permalink if the post has been published,,Canonical,,normal,normal,Future Release,enhancement,new,has-patch,2012-04-20T21:55:08Z,2013-05-21T20:00:47Z,"If a post is saved as a draft and you visit the preview URL, even after the post is published, you will stay on the preview view (with preview=true in the URL).  This is confusing since you're not actually previewing anything, you're viewing a public post.",evansolomon
21765,Redirect to canonical URL if URL has 'preview' parameter with any nonempty value and user not log in,,Canonical,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-09-01T13:18:44Z,2012-09-01T15:15:07Z,"if any URL has nonempty GET-parameter 'preview' that there is noredirection to canonical URL.
If we have http://example.com?p={post_id}&post_type={post_slug}&preview=true there is no redirection to correct URL like http://example.com?{post_type}={post_slug} or like http://example.com/{post_type}/{post_slug} (if site has permalinks). This is bad for SEO and bad user experience. If user not log in there must be redirecttion.",egorpromo
15950,Tweak canonical redirect name requests,,Canonical,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-22T18:09:54Z,2010-12-22T22:28:38Z,"Scenario: A website has the following two pages:

 * `example.com/foo/amazing-thing/`
 * `example.com/amazing/`

Upon requesting `example.com/amazin` the canonical redirect should favour the top-most level page. This doesn't happen as the relevant SQL query doesn't have an `ORDER BY` clause, making the behaviour unpredictable.",johnbillion
20224,WordPress should always add a / at the end of URLs,,Canonical,3.4,normal,normal,Awaiting Review,enhancement,reopened,close,2012-03-13T09:54:17Z,2012-03-14T12:36:36Z,"Users can change permalinks. They can add whatever they whant at the end of each url. For example :[[BR]]
- mydomain.com/myurl
- mydomain.com/myurl/
- mydomain.com/myurl.php
- mydomain.com/myurl.html
- mydomain.com/myurl.htm
- ...

There is a bug with search engines and empty URLs (mydomain.com/myurl). Google, Yahoo or Bing consider that it's not the same URl as mydomain.com/myurl/. They always try to add a / at the end of those URLs : it creates duplicate content for search engines that harms website visibility. For example, if a WordPress Blog uses /%postname% as permalink, Google is going to index both url:
- mydomain.com/myurl
- mydomain.com/myurl/

In order to correct this issue, WordPress should always add a / at the end of empty URLs (for example, without a / or without extension like .php, .asp, .html, ...).",Confridin
15397,redirect_guess_404_permalink() purposedly doesn't guess posts with updated dates,,Canonical,,lowest,normal,Future Release,enhancement,new,dev-feedback,2010-11-12T00:17:38Z,2012-07-03T15:37:18Z,"'''Problem'''

Here's my post path scheme: http://site.com/YEAR/MONTH/DAY/SLUG. Whenever I have writers working on a post for a while and saving drafts (we're all using Windows Live Writer), they oftentimes publish to the date when the last draft was saved, i.e. several days in the past. Then, they quickly correct the date but the previously tweeted/shared link is now 404 due to the changed date.

I've looked into the source of redirect_guess_404_permalink(), and it purposedly narrows down the query when it sees a post date to that date only. If I understand correctly, this is done to minimize accidental redirects to the wrong post, but has the side effect of not guessing the new link if only the date was changed.

A workaround of removing these lines:
{{{
  if ( get_query_var('year') )
    $where .= $wpdb->prepare("" AND YEAR(post_date) = %d"", get_query_var('year'));
  if ( get_query_var('monthnum') )
    $where .= $wpdb->prepare("" AND MONTH(post_date) = %d"", get_query_var('monthnum'));
  if ( get_query_var('day') )
    $where .= $wpdb->prepare("" AND DAYOFMONTH(post_date) = %d"", get_query_var('day'));
}}}

fixes the problem for me.

Can this case be solved in the trunk and the code above removed, or logic improved? My .htaccess file is filled with 301 redirects to correct wrong dates.

Thank you.",archon810
18007,is_serialized trouble for multibytes encoding,,Charset,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-07-06T16:51:52Z,2013-04-10T12:47:42Z,"Possible bug in the ''is_serialized'' function, in a multibytes environment :

== Context ==

* ''utf-8'' encoded database fields
* auto overlaoding singlebyte functions from conf (see http://www.php.net/manual/en/mbstring.overload.php)

Retrieving an option from the database, the ''get_option'' function try to deserialize it.

== Bug scenario ==
 * the ''strlen'' call is actually a ''mb_strlen'' one
 * the ''$length'' var is the number of characters (not bytes)
 * using {{{ $data[$length-1] }}} don't retrieve the last char but one before, it's actual position is undefined, depending on the other content of the string
 * this ''$lastc'' is not '';'' or ''}'' 
 * the string is understood has not serialized

== Patch proposal ==

here is a fix i made to make it work with multibytes string :
Not tested it for single bytes, but there is no reason for it to not work.
{{{
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -256,7 +256,7 @@ function is_serialized( $data ) {
                return false;
        if ( ':' !== $data[1] )
                return false;
-       $lastc = $data[$length-1];
+       $lastc = substr($data, -1);
        if ( ';' !== $lastc && '}' !== $lastc )
                return false;
        $token = $data[0];
}}}

",challet
20319,$page value not being defaulted to 1 in the absence of cpage query var in get_next_comments_link()/get_previous_comments_link(),,Comments,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-29T09:23:19Z,2012-05-24T07:27:29Z,"get_next_comments_link() generates incorrect comment pagination links on the first page when used alongside a user-made call to wp_list_comments().

Currently, get_next_comments_link() doesn't take into account instances where there is no 'cpage' query var (which is the case when a user-made call to wp_list_comments() is performed). The intval() of the empty $page variable returns 0, and at this point should then be defaulted to 1 in order for the correct link to page 2 to be generated. Instead, it's left as 0, and the resulting link is self-referencing to page 1.

In wp-includes/link-template.php:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage'); //RETURNS EMPTY IN ABSENCE OF A cpage VALUE ON PAGE 1 OF A USER-MADE CALL TO wp_list_comments()

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK SELF-REFERENCING PAGE 1, INSTEAD OF POINTING TO PAGE 2

    ...
}}}

Coincidentally, in paginate_comments_links() (wp-includes/link-template.php) this situation is handled correctly, and $page does get correctly defaulted to 1. The same conditional used in paginate_comments_links() can be applied to both get_next_comments_link() and get_previous_comments_link(). The code to properly account for it is:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage');
    if ( !$page ) //******** ADDED
        $page = 1; //******** ADDED

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK NOT POINTING TO PAGE 2

    ...
}}}

The same addition should be made to get_previous_comments_link() as well, although it's obviously unnoticeable on the first page.",MomDad
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
19930,Add tabindex to Comment Submit button,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-30T14:54:21Z,2012-05-03T15:40:22Z,"For accessibility reasons, it would be nice to be able to add tabindex to the comment form submit area.",wpsmith
22792,Cannot change name attribute of comment submit button,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-06T17:03:01Z,2012-12-06T17:20:24Z,"This prevents developers from using client-side validation, as the name attribute being set to ""submit"" interferes with the .submit() method.  I can change the id and the label of the submit button, but that is all.

The default WordPress server-side validation is unacceptable from a user-experience standpoint.

This would be the solution for me, which I find cumbersome (http://wordpress.stackexchange.com/questions/65001/error-when-posting-comment-form-the-error-is-typeerror-eh-is-not-a-function). 

The developer should be allowed to set the name attribute of the submit button (maybe through the use of comment_form()).",willi828
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
16430,"Comment 'Reply' button still present when comment max depth has been reached, just without text.",,Comments,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-01-31T22:12:56Z,2013-01-15T23:41:09Z,"With comment max depth set, in my case, to 5 on the admin panel, the div for the reply link would still appear even though the text that says 'Reply' would not. Basically, it was an empty div with class=""reply"". The fix is quite easy, which I implemented in test on one of my WP sites.

Around line 1372 of wp-includes/comment-template.php, there is the following is code:
{{{
<div class=""reply"">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
}}}

This can simply be enhanced to this:
{{{
<?php if ( $depth < $args['max_depth'] ) : ?>
<div class=""reply"">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
<?php endif; ?>
}}}

I just added a quick check to make sure our current comment depth did not meet (or somehow exceed?) our set max depth.",TheGremlyn
10377,Comment fields should have max lengths,,Comments,2.8,normal,normal,Future Release,defect (bug),new,,2009-07-10T14:34:27Z,2012-07-13T01:05:25Z,"Hello, I don't know if exactly it's a bug or use javascript validation, but i think so there's no 	
treatment for this, or was fix in the new version.

In the section of comments(Wordpress 2.8), we can insert how many characheters we wants, generating an SQL Exception and breaking the all system.

The solution is simple, use the property maxlenght in the tag 
<input /> e limit the characters if will be send to database.



",muriloazevedo
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
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
22380,Consolidate the API hooks comment,,Comments,3.4,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-11-07T17:00:16Z,2012-11-13T01:09:24Z,"Many functions of API comments have hooks unusable because they do not provide parameters that provides the function. 

In general, these functions provides a $comment_ID argument, but it's not present in the hook...

Sample 
{{{
function comment_author( $comment_ID = 0 ) {
	$author = apply_filters('comment_author', get_comment_author( $comment_ID ) );
	echo $author;
}
}}}

Fixed sample :

{{{
function comment_author( $comment_ID = 0 ) {
	$author = apply_filters('comment_author', get_comment_author( $comment_ID ), $comment_ID  );
	echo $author;
}
}}}
",momo360modena
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
8973,Function get_page_of_comment() returns incorrect page numbers,,Comments,2.7,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2009-01-27T16:54:40Z,2012-06-17T22:37:09Z,"The function get_page_of_comment(), defined in /wp-includes/comment.php for WordPress 2.7, returns wildly incorrect results in cases where the database includes spam trackbacks or pingbacks. The reason is that the DB query on line 595 does not include ""comment_approved = 1"" and therefore incorrectly counts unapproved trackback and pingback spam (not to mention non-spam comments in moderation). As far as I can tell from browsing my DB, although spam comments have their comment_type changed to 'spam' in the database, trackbacks and pingbacks still retain their original comment_type.

As a newbie to the WordPress Trac, I'm afraid I don't know how to provide a diff, but the full correct query is as follows:

$oldercoms = $wpdb->get_var( $wpdb->prepare( ""SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 1 AND comment_post_ID = %d AND comment_parent = 0 AND comment_date_gmt < '%s'"" . $comtypewhere, $comment->comment_post_ID, $comment->comment_date_gmt ) );

The upshot is that without the above fix, comment URLs in several places (e.g., RSS feeds) may point to non-existent pages.

All the best,
Greg

",GregMulhauser
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
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
21845,Losing comment reply by accidentally clicking on another comment,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-08T13:17:20Z,2012-09-17T22:31:50Z,"This is a usability bug.

When replying to a comment in the Edit Comments (wp-admin/edit-comments.php) page, double-clicking on another comment will open that comment for editing and wipe away the reply you were writing. 

If you want to highlight a word to copy from the comment that you are replying to this can be done by double-clicking the word. So completely by accident your reply is wiped out. This occurred on wordpress.com so I'm guessing their using the latest 3.4.2 version.",icc97
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
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
11286,Normal User Input Causes Status 500,,Comments,2.8.4,normal,normal,Future Release,defect (bug),new,commit,2009-11-30T21:45:04Z,2012-11-26T22:20:40Z,"To reproduce:  Click the Submit Comment button on any post with no other input.

Expected Result:  Status 200 or 403 with feedback to user.

Actual Result:  Status 500 with feedback to user.

Status 500 means the server is at fault for an unexpected error condition, which is not the case here.  It is the incorrect response to send, and it is alarming to see it show up in a server log without an error message.

Patch should be ready shortly...",miqrogroove
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
18762,Pagination does not work correctly on walker in reverse order.,,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-23T21:08:42Z,2012-05-02T17:26:33Z,"Steps to reproduce:
1. Go to Discussion and change Comments should be displayed with the  comments at the top of each page to ""newer"" (that is, set comment_order='desc'). 
2. Make sure your theme is paginating comments. Make sure you have more than the page limit of comments.
3. Note that the first page does not actually contain the newest comments (they're off by a page, or perhaps they're just sorted in one way for the pagination and a different way for the inner page sort).

If you check out the $start, $oldstart and $end variables, the way it was written before the patch, $start gets set to 11 (page limit + 1) on page = 1, the way it is written after the patch, start is 0, as it should be. 

All I've done is swapped the order of $start and $end being updated. This fixes the starting point. This needs to be tested in more detail before actually deploying it, but there is definitely a pretty serious bug here.",gburtini
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
22261,Recent comments widget makes additional queries when pagination is enabled,,Comments,,normal,normal,Future Release,defect (bug),new,,2012-10-23T14:19:59Z,2012-10-23T14:19:59Z,A continuation of #15400.,nacin
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
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
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
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
23369,WP_Comment_Query meta query 'count' conflicts with 'group by',,Comments,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-02T13:39:20Z,2013-02-02T14:52:54Z,"This problem relates to {{{/wp-includes/comment.php}}}, both 3.5.1 and trunk are affected. The following line number refers to the 3.5.1 version. 

At line 195, definition of class {{{WP_Comment_Query}}} , a typical meta query will generate such SQL:

{{{SELECT * FROM wp_comments INNER JOIN wp_commentmeta ON (wp_comments.comment_ID = wp_commentmeta.comment_id) WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND comment_post_ID = 22 AND ( (wp_commentmeta.meta_key = 'my_flag' AND CAST(wp_commentmeta.meta_value AS CHAR) = 'my_value') ) GROUP BY wp_comments.comment_ID ORDER BY comment_date_gmt DESC }}}

Note that at line 357, a meta query will always generate a {{{GROUP BY}}} clause. This works for comment rows. Say that I've got 3 comments matching this query, I'll see each of them in a row:

{{{
comment row 1, data
comment row 2, data
comment row 3, data
}}}

However, this query doesn't work well then {{{$count = true}}}. Note that by specifying {{{$count = true}}}, the function only changes {{{'SELECT *'}}} into {{{'SELECT COUNT(*)'}}}. For 3 comment result, I'm seeing something like this:

{{{
1
1
1
}}}

And you can see, because there's a {{{'GROUP BY'}}} clause. And each comment has a unique ID. The result is 3 'grouped row' of comments, and each will always have count of 1.

Therefore, the result of {{{$wpdb->get_var()}}} will be either 1, or NULL (when nothing is matched). I believe this behavior is not by intention.

To get count working, {{{'GROUP BY'}}} clause must be removed when $count is true.",heshiming
20262,"When ""Automatically close comments on articles older than X days"" is enabled, comments appear closed on draft posts",,Comments,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-20T15:14:21Z,2012-09-05T17:12:08Z,"If the setting to ""Automatically close comments on articles older than X days"" is enabled via Settings -> Discussion, comments automatically appear as closed on draft posts until the post is published. This is regardless of the Discussion settings configured on the Post Edit page for the draft post.

To replicate:

1. Via Settings -> Discussion, click on ""Automatically close comments on articles older than X days."" 

2. Create a new post and save it as a draft. Make sure comments are enabled in your Discussion module.

3. When previewing the draft post, it will say ""Comments closed"" regardless of the Discussion settings.

The post will show comments as being allowed once it's published, they only show up as closed when in the draft format. ",evarlese
15644,"When deleting a user, corresponding comment user IDs aren't reset",,Comments,,lowest,minor,Future Release,defect (bug),new,dev-feedback,2010-12-02T11:19:18Z,2012-08-04T09:55:22Z,"Delete a user with a comment.

The user ID stays.

Potential for clashes later.

We should run this: `$wpdb->update( $wpdb->comments, array( 'user_id' => 0 ), array( 'user_id' => $user_id ) );` in wp_delete_user.

Alternative is to do a full query then manually run wp_insert_comment() on each, so all hooks get fired, which is fine too and is more in line with what we do elsewhere.",nacin
23939,Wrong capability check in wp_ajax_replyto_comment,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-04T18:39:21Z,2013-04-05T01:06:32Z,"The wp_ajax_replyto_comment function in the wp-admin/includes/ajax-actions.php checks the ""edit-post"" capability instead of the ""edit-comment"" capability.

Attached a tested patch. ",fgauthier
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
4916,comment_type function doesn't return the comment type string,,Comments,2.3,normal,normal,Future Release,defect (bug),assigned,,2007-09-06T07:41:30Z,2012-03-12T11:37:16Z,"The comment_type function in comment-template.php only echoes string that explain the comment type. Sometimes we need the string to be returned instead of echoed, e.g. for i18n purposes.",hudatoriq
22635,comments made on iPad get the comment_author_url removed in the pre_comment_author_url filter,,Comments,3.4.2,normal,major,Awaiting Review,defect (bug),new,,2012-11-29T14:21:04Z,2012-11-29T22:18:48Z,"I have tested this on version (3.5-RC1-22909) nightly build too.

if I submit a comment with a valid author url using the iPad then the URL gets removed by the pre_comment_author_url filter in wp-includes/comment.php 

'''works'''
* windows 7 works fine
* windows xp works fine
* debian box works fine
* macbook pro works fine

'''Not working'''
* iphone ios 5.1.1
* ipad ios 5.1.1

duplicable on local, live and someone elses site.

I can see the POST vars show all the proper data.

in wp-includes/comment.php the wp_filter_comment function the `$commentdata['comment_author_url']` exists before 

{{{
$commentdata['comment_author_url']   = apply_filters('pre_comment_author_url', $commentdata['comment_author_url']);
}}}

(line 1291 of wp-includes/comment.php (3.4.2)

but is gone after the filter has been applied,

this happens only if using an ipad or iphone.


",commentluv
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
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
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
20006,get_comments (and WP_Comment_Query) does not accept multiple post_type,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T05:46:52Z,2012-08-14T08:34:53Z,"Although get_comments was recently improved to support post_types, it does not seem to properly handle MULTIPLE post_types.

Suppose you need to get the most recent comments for posts, pages, and attachments (attachments don't seem to be included by default).  The following doesn't work, as it only returns comments on attachments (or whichever status is listed first):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type'=>array('attachment','post','page')));
}}}

The following doesn't work either, only returning the default post/page comments (taken from the example for multiple category handling at http://codex.wordpress.org/Class_Reference/WP_Query):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type__in'=>array('attachment','post','page')));
}}}

A quick look at wp-includes/comment.php, line 327 (WP v3.3.1) shows that the 2nd option will be array_filter'ed away.  Immediately below, all of the WHERE clauses are hardcoded as ""="", which is why there's no way to specify more than one.  As a result, it seems like the only way to get recent comments on posts,pages,and attachments (or any other subset of >1 post_type) is to do multiple calls to get_comments (i.e. one with default params and one for attachments) then merge the results together...effectively requiring twice the work.",Justin_K
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
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
23231,preprocess_comment should get the normalised comment data,,Comments,3.5,low,minor,Awaiting Review,defect (bug),new,,2013-01-18T11:38:02Z,2013-01-18T11:39:30Z,"In '''wp_new_comment''' we normalise some data like user_ID/user_id so that we support people providing both versions but we fire the filter to preprocess the comment first.

This means if someone writes a filter they have to re-implement this normalisation if they want to filter the comment data properly.

An example of where this currently goes wrong is when Akismet tries to fetch the roles of the user submitting the comment - http://plugins.trac.wordpress.org/browser/akismet/tags/2.5.7/akismet.php#L332

This only works if the comment comes via a route that supplies the data correctly and not one that doesn't.",westi
21448,unfiltered HTML comments from a frame js fix breaks js in windowed comments,,Comments,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-01T21:58:53Z,2012-08-02T17:56:36Z,"Noticed this today.

We have comments loading up in a jquery colorbox on a site being developed and it loads the comment form via ajax.  When it's loaded, the fix in #20812 breaks javascript because the property ""name"" is null.

Attaching a patch after posting this for only executing when `document.getElementById(""_wp_unfiltered_html_comment_disabled"")` != null.",nerrad
23931,wp_insert_comment should require comment_post_ID,,Comments,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-03T18:41:58Z,2013-04-03T19:06:08Z,"At this moment there is no check for example comment_post_ID. Not sure if there are more checks needed. Reason I asked are a few notices on the unit tests caused by WP_UnitTest_Factory_For_Comment. Those comments don't add a post ID what should change.

Currently, if a null comment_post_ID is passed, the comment isn't connected to a post. This can create confusion. Also Unit tests should run with WP_Debug on.",markoheijnen
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
24054,(get_)comment_class() should include a is_user_member_of_blog() class,,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-11T22:35:04Z,2013-04-11T23:27:06Z,"On multi-site, there's no way to style comments that are members of the site. You can either style the post author or all registered users (who may not have access to the site's admin area). Example use case would be a multi-author site where you want comments from all authors highlighted.

I think it'd also be cool to include what role they are so that you could style say all authors, editors, and administrators but not style contributors or something like that.

I'm not sure if this would an information exposure issue though (does it matter if it is known what role a user is or that they are a member of the site?).",Viper007Bond
19256,Ability to mark a comment as spam from the trash,,Comments,2.9,normal,normal,Awaiting Review,enhancement,new,,2011-11-16T03:07:48Z,2011-11-16T09:42:58Z,"Say you're scrolling through comments in the trash and you realize a comment should have ended up in spam instead.

There's no easy way to untrash then re-spam the comment — you'd lose it and it'd get restored to its previous status. You can't edit it and modify its status from there, either.

I think there should probably be a way to spam a comment from the trash. (For that matter, I don't think there's an issue with being able to edit a trashed comment, too. Perhaps you want to modify it then untrash/approve it.)",nacin
20977,Add Dynamic Comment Statuses,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-15T17:12:07Z,2012-06-15T17:21:37Z,It would be great to add some filters/actions that would allow plugin developers to add additional statuses to comments.,supercleanse
14856,Add an $args parameter to comment_text filter,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-12T12:20:06Z,2013-06-01T10:08:06Z,"When using the {{{comment_text}}} filter, there are times when the context provided by {{{$args}}} would be extremely useful. For example to know the depth of the commen. I propose adding an additional parameter for {{{comment_text}}} to add the {{{$args}}}.

I've incorporated the proposed {{{$comment_ID}}} parameter from #14261, which looks to add a {{{$comment_id}}} parameter to the same filter, in the hope that this is helpful... let me know if not and I'll refactor.

I've included a small plugin to demo the use and prove the new parameters are working, and the diff for a small tweak to Twenty Ten v1.1 which is needed to use this plugin with that theme.",simonwheatley
11334,Add caching to get_page_of_comment(),,Comments,2.9,high,major,Future Release,enhancement,new,has-patch,2009-12-05T07:33:50Z,2013-06-09T05:35:27Z,"Ack. `get_page_of_comment()` lacks caching which means if you call `get_comment_link()` for the same comment ID on the same page multiple times (and outside of the loop), it will query multiple times. You also can't cache the result between page loads (the big ""uh oh"").

Attached patch introduces a cache that stores comment ID => older comment count (in short, the result of the function's query) on a per-post basis.

When any comment's status is changed, the entire cache for that comment's parent post is deleted as it will likely affect other comments (for example, deleting a comment can change the page of newer comments).

I opted to make a new cache flag (group), but I'm not sure if using an existing one would be better or not.

Oh, and this patch needs through testing and/or a good review.",Viper007Bond
20446,Add comment form submit button class attribute,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-15T07:34:55Z,2012-05-03T15:59:12Z,"The comment_form() is packed with filters all over the place to customize the from just the way you need, but one thing i find missing is a class on the submit input tag and if there was a class attribute then it should be filterable.

I know you can set the input ID and simply style based on the ID selector but when designing themes usually you have some kind of class defined for buttons, especially when using any of the html5/responsive theme frameworks and if the comment submit input had a class which was filterable then it would make our lives much easier.

",bainternet
22922,Add filter 'comment_notification_email_to' in wp_notify_postauthor(),,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-13T17:53:32Z,2013-01-03T17:57:54Z,"Currently, mailto: address is not filterable in pluggable function `wp_notify_postauthor()`. Thus, in order to send replies to email addresses other than the post author, the entire function must be overridden.

Patch makes mailto: filterable for `wp_notify_postauthor()`, moving `$author->user_email` to an array, and applying the `'comment_notification_email_to'` filter.",chipbennett
20353,Add filter for email recipients in wp_notify_moderator(),,Comments,3.3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-04T12:35:36Z,2013-01-03T17:57:33Z,"As administrator, I would like more control over email notifications when comments are marked for moderation without having to overwrite the pluggable function wp_notify_moderator. 

The function wp_notify_moderator sends emails to post authors (when they have sufficient roles) and the admin by hard coding the $email_to array. I'd like to see the $email_to array sent to a filter with $comment before wp_mail() is called. That would allow me to write a theme function to manipulate the $email_to array to add or delete recipients. 

My workaround was to write a site specific plugin that overwrote wp_notify_moderator() to manipulate the $email_to array.",lexhair
16944,Add new 'bynetworkuser' CSS class to output from comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:28:46Z,2011-06-08T05:23:43Z,"Currently, the comment-template.php file checks to see whether a comment author is in the wp_user table.

If they are, then WordPress will emit a 'byuser' class as part of the comment div markup.

However, this behaviour is not ideal from multisite installations. 'byuser' should be restricted on a per-blog basis.

I propose that the current behaviour be assigned to a new CSS class, 'bynetworkuser'.",jacques_chester
23988,Add post info on comment.php?action=editcomment,,Comments,3.5.1,normal,minor,Awaiting Review,enhancement,new,,2013-04-08T12:58:20Z,2013-04-08T14:54:39Z,"When you get a comment notification, if you click on a link to mark as spam, etc, when you get to the edit comment screen, there's no indication of which post/page the comment was in response to, which can be a determining factor in deciding if a comment is valuable, off-topic, or spam. 

We should add an ""In response to"" area that lists the post title, date/timestamp like on comment list screen. If it's in response to another comment that should show as well, but since we don't have that in comment screen functionality yet, at least adding the post info that we already have and show on the list would be a clue and a step in the right direction.",jenmylo
16882,Add support for fetching comments posted since a specific date,,Comments,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T21:08:51Z,2011-03-22T14:30:12Z,"Adding a ""since"" option to wp.getComments and get_comments() could help reducing bandwidth used by mobile apps.

Probably useful for themes/plugins too",koke
21571,Add support multiple comment types in get_comments,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-08-14T00:49:42Z,2012-08-24T19:54:42Z,"Custom comment types are a nice way to categorize comments, however, if you wish to retrieve multiple comment types you cannot use ''get_comments''.  This enhancement request (patch attached) adds support for multiple comment types a la:

{{{
$comments = get_comments( array(
  'post_id' => $post->ID,
  'type' => array(
    'a-sweet-comment-type',
    'some-other-comment-type',
  ),
));
}}}",borkweb
20597,Allow WP_Comment_Query::query to filter by category,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-02T03:35:35Z,2012-05-02T03:45:58Z,"The attached patch allows WP_Comment_Query::query to accept three additional arguments:

* `cat`
* `category__in`
* `category__not_in`

The resulting comments are then filtered by these category arguments as well as any other arguments.

These arguments work the same way as their `WP_Query` counterparts.

I would appreciate advice on the appropriateness of using `INNER JOIN` (as I have done here) to join in the taxonomy tables to the query.",sambauers
20302,Allow comment_form() to add attributes to <form> tag,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-25T15:48:53Z,2012-04-01T18:23:56Z,"The standard method to allow Google Analytics to track comment submissions as a 'goal' is to add a piece of JavaScript code wrapped in an 'onsumbit' attribute:
http://www.optimisationbeacon.com/analytics/track-blog-comments-in-google-analytics/
http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

We want something like the following:

{{{
<form action=""http://www.example.com/wp-comments-post.php"" method=""post"" id=""commentform"" onsubmit=""_gaq.push(['_trackEvent', 'Comments', 'Submit', 'POST TITLE']);"">
}}}

However the current arguments submitted to comment_form() do not provide for adding attributes to <form>
http://codex.wordpress.org/Function_Reference/comment_form

I was forced to perform a workaround in which the onsubmit code was inserted by JavaScript on the fly at runtime.

So this is request to alter comment_form() such that arguments accepted provide for 'onsubmit' or other custom attributes to be appended on the <form> tag.",psbook
10569,Allow filtering of reply text with comment context,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2009-08-08T13:55:54Z,2011-02-01T16:30:36Z,"I know you can specify the reply text for comments, but you can't make them specific to each comment such as ""`Reply to comment #1234 by Joe`"".  This will let you do that by adding a filter called `comment_reply_link_text` to `get_comment_reply_link()` that passes along $args, $comment, and $post (just like the existing `comment_reply_link` filter).

I know you COULD do this with some processing on the link, but it would require pulling comment and post IDs from the URL and/or onclick, then replacing the text in the link itself.  This way would be a lot simpler and only adds a single filter.",aaroncampbell
15520,Break date/time into a separate column in Comments views,,Comments,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-11-20T15:30:35Z,2012-03-08T10:18:38Z,"Now that column sorting is in, it makes sense to break the date and time a comment was made into a separate column in the Comments view so they can be sorted chronologically.

Currently, the time is part of the content column, which can be confusing as if someone sorts by that column it becomes an alphabetical sort.",markel
23851,Can we get some classes on the comment form output?,,Comments,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-22T20:02:00Z,2013-06-06T19:41:50Z,"The `comment_form()` function is quite useful, but styling it pretty much requires that you target the IDs, since the the outermost div and the form itself don't have classes.

If you're trying to stay as low on the specificity scale when writing CSS, not having classes available to target pretty much stops you cold.

I don't really care about the class names, though something descriptive and somewhat semantic would be preferable.

Anybody have thoughts?",nathanrice
24489,Can't set comments to view in popup,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-06-03T22:50:43Z,2013-06-03T22:50:43Z,"add option in ""Discussion Settings"" page to view comments in a new window... 

",alexvorn2
21834,Comment History,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-07T20:30:47Z,2012-09-08T03:37:40Z,"This ticket provides a simple patch for comment history in core.

''The Problem'':  

In at least a few  places:  ([comment:ticket:9117:10], [comment:ticket:15534:4], [comment:ticket:9495:3]) Nacin has mused about the desirability of introducing comment history to core, citing Akismet’s implementation as a model for how this might be done.

There are good reasons for wanting this, as comment history could serve as a solid underpinning for a variety of other features such as more informative moderation emails, some indication of why a message was marked as spam, and even comment versioning.

The idea is that to implement any of that, we really should have basic comment versioning in core, a la Akisment.


''The Solution'':

Our goal was to expand the API so as to reproduce and streamline the basic history functionality provided by Akismet, port and tweak Akismet’s nice history UI, and keep the change set minimal.

Comment history API:

* added simple functions to /wp-includes/comment.php to get and update comment history.  These in turn use existing comment_meta functions.

UI:  

* there’s now a comment history meta box on the comment edit screen.  It looks just like Akismet’s.  This was implemented as a real meta box.  A sorting function is also included.

History Events:

* this patch supports the following history events, each of which has a nice, plain-english (internationalizable) history message, which always includes the user responsible for the action and a timesince. 
 * edit_comment (“edited by user”)
 * trashed_comment (“trashed by user”)
 * untrashed_comment (“un-trashed by user”)
 * comment_unapproved_to_approved (“user approved this comment”)
* comment_approved_to_unapproved (“user unapproved this comment”)
* spammed_comment (“user marked this comment as spam”)
* unspammed_comment (“user marked this comment as ham”)

''Next steps'':

Here’s what we’d think of doing next if this were to be introduced into core:
* support more history events and provide more detail. In particular, support events where the comment is spammed as a result of a blacklist word or other reason.
* include some of this detail in moderation emails

''Note'':

* the Akismet plugin should be updated to use this new API instead of its own history functions
* meta boxes on edit comment did not work properly until this: http://core.trac.wordpress.org/ticket/21499 (in 3.5)

''Who we are'':

This patch comes from [http://profiles.wordpress.org/bbrooks Ben Brooks], [http://profiles.wordpress.org/mattoperry Matt Perry] and [http://profiles.wordpress.org/natebot Nathan Letsinger].  Enjoy",mattoperry
20487,Comment search isn't customizable,,Comments,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2012-04-18T23:32:07Z,2012-07-12T16:05:07Z,"*cross-posted to the wp-hackers mailing list last night*


I work on a large news oriented WP site and first off, it actually scales remarkably well. We keep users, comments, and actual posts all in WordPress. However, due to our size, administering comments is causing us issues at the moment.

Our last outage was caused by one of our comment moderators doing a simple comment search in the admin. The query took 16 seconds to execute, the next query locked, and, with our traffic, the DB couldn't handle the resulting queued traffic.

Staying away from discussions of ""you should use Disqus"" or, ""you need more X for your mysql server,"" I think there is significant opportunity to improve the way WP handles comment searching. Every comment search takes the following form:

SELECT * FROM wp_comments  WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND (comment_author LIKE '%TERM%' OR comment_author_email LIKE '%TERM%' OR comment_author_url LIKE '%TERM%' OR comment_author_IP LIKE '%TERM%' OR comment_content LIKE '%TERM%') ORDER BY comment_date_gmt DESC LIMIT #;

As we can all see, this is a beast of a query. Even when the term is clearly an specific term (say an email or IP), or when the intent of the admin is known (e.g. clicking the IP link on a specific comment). Furthermore, there are no hooks activated in this process for plugins to use to say create an advanced comment search plugin. One might expect hooks like those activated in post search to be activated here, like ""parse_request"" and ""get_search_query.""

Waxing philosophical, as posts, comments, and users are the three basic types of data to be stored and displayed in WP, one would expect them to have similar interfaces and functionality. They each have basic functionality of being able to retrieve a single item, a list (in full or in part), search for an element, or edit a single entry. For this reason I don't understand why each of their functionality isn't derived from something like an abstract class or an interface. The architecture here is also difficult in that you are not able to replace or extend a single class to change the functionality.

Back on target. I propose that we add functionality by which we'll be able to search by exact match in addition to the existing full wildcard (left, right, or full wildcard is probably excessive) as well as specifying the field to search. This would allow my earlier use case of searching by IP to look for an exact match in the ""comment_author_IP"" field only, not searching the fulltext of every comment.

This functionality can be created simply by:

1. Adding ""search_type"" and ""search_field"" to the WP_Comment_Query::query_vars data structure in wp_includes/comment.php
2. Replacing WP_Comment_Query::get_search_sql with something more robust, able to understand these new properties and construct the query on their basis
3. Upgrading WP_Comments_List_Table::prepare_items to accept the new queries and add them to the data structure it creates
4. Either modifying WP_List_Table::search_box to have some options of advanced search, or dropping a hook so that a plugin can easily modify it
5. Modifying the WP_Comments_List_Table::column_author to supply the correct query string to indicate an IP search

If I can figure out a way to make this more similar to the signature of posts and users, or at least add some hooks at the right places, I can do that as well.

This will add efficiency for everyone--particularly those who have lots of comments. I modified our core for this functionality today and we will fully QA it tomorrow. I made it on 3.2.1 as that is what we're running right now, and there are minimal changes in the affected files and functions between 3.2.1 and 3.3.1 and even the nightly.

I can submit a patch as long as it passes our QA--how should I do that, off the nightly?

Thanks,
-Kenton Jacobsen",brokentone
16365,Comment transition for new comments,,Comments,3.1,normal,minor,Future Release,enhancement,new,dev-feedback,2011-01-24T21:07:46Z,2012-05-28T12:39:19Z,"As far as I can tell wp_transitions_comment_status() does not get called for new 'comments' based on my testing and review of comment.php in wp-includes.

There is a similar transition for posts that gets called for new 'posts' including hooks like 'new_to_publish' and 'new_to_private'.

I feel that there should be a similar hook to this form comments so that plugins can hook into new comments differently from comments moved from one existing status to another (like comment_unapproved_to_approved'.",MattyRob
15015,Customisable submit button for comment form,,Comments,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-10-02T16:38:10Z,2013-06-18T18:09:42Z,"Note: I'm setting this as a blocker because it is a blocker '''to me'''. Set it whatever you feel appropriate.

I badly needed to customise the submit button because I wanted to add a tabindex.

I could reimplement the whole form with my markup, but as I already worked my way through all the other fields, I did want to continue this way.

Sadly I discovered it's not possible. So, after discussing this in IRC, I decided to hack the core and propose the attached patch.

Basically now you can create a filter and output your markup, like this:

{{{
function awesome_comment_form_submit_button($button) {
	$button =
		'<input name=""submit"" type=""submit"" class=""form-submit"" tabindex=""5"" id=""[args:id_submit]"" value=""[args:label_submit]"" />' .
		get_comment_id_fields();
	return $button;
}
add_filter('comment_form_submit_button', 'awesome_comment_form_submit_button');
}}}

and filter magic happens. Please notice that
1. you have to include [args:id_submit] and [args:label_submit] if you want the comment_form() parameters to work.
2. you have to use the get_comment_id_fields() function.

It may be better but it works for me. If anybody feels like making it better, be my guest.",morpheu5
7051,Delete blacklisted comments rather than mark them as spam,,Comments,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-05-28T11:37:11Z,2011-02-08T04:10:40Z,Comments that are blacklisted because of the Blacklist keys on options-discussion.php should be deleted immediately instead of being marked as spam. Patch attached.,donncha
12521,Disable Site Wide Discussions - Admin Settings,,Comments,3.0,normal,normal,Future Release,enhancement,new,,2010-03-05T01:44:26Z,2011-08-27T08:42:14Z,In the admin discussions options there should be an option to completely disable discussions site wide.,ceenz
21758,Do not require a file in comments_template(),,Comments,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-31T20:22:16Z,2012-09-01T11:23:07Z,"comments_template() is a very useful and reliable way to set up comments for a page, but it has a major downfall: it forces a file to be included when, in reality, one does not need to be.

Numerous times it has been the case that I needed comments to be setup in the wp_query object, but did not want to output anything at that time. The hack I have used is simply to include an empty comments.php file. This method is less than desirable for obvious reasons.

So, I propose that we simply add a parameter I'm calling $require that will control whether or not a file is included at all.",mattonomics
11359,Don't nofollow links in admin comments,,Comments,2.9,normal,normal,Future Release,enhancement,new,,2009-12-08T12:23:15Z,2011-04-15T08:25:24Z,"Links in admin comments shouldn't have rel=nofollow.

Admin comments are not user-generated content, and the site owner (admin) is vouching for the links just like when they link from the post itself. 

Therefore, this usage of nofollow is incorrect.

Also, if I go and edit a comment and remove nofollow from a link, WP adds it back. It shouldn't do that either.

Note that in the unlikely event of wanting a link in a comment to be nofollowed, this could still be done manually.",caesarsgrunt
11360,Don't nofollow links within the site,,Comments,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-08T12:24:42Z,2010-04-04T06:48:37Z,"Relative links or links with the site's own domain shouldn't be nofollowed.

This use of nofollow is damaging to the site's search engine rankings.",caesarsgrunt
9775,Duplicate comment check is too strict,,Comments,2.7.1,normal,normal,Awaiting Review,enhancement,reopened,,2009-05-09T21:27:38Z,2012-08-19T23:33:35Z,"The duplicate comment detection mechanism doesn't allow duplicate comments on the same post, even from the post author. That's not good.

The duplicate comment check should only block the new comment if there is no other comment posted between the new comment and the old comment.",scribu
10869,Eliminate moderation on admin comments,,Comments,,normal,normal,Future Release,enhancement,new,,2009-09-28T10:18:53Z,2009-11-28T12:34:10Z,"Currently, if comment moderation is enabled, comments left by the admin are also moderated, requiring approval before they're posted.  

Proposed change: If comment moderation is activated, all replies and comments left by the admin are auto-approved.",heather_r
13857,"Email notifications lack a link to the comment, from address could be improved",,Comments,,normal,normal,Future Release,enhancement,new,,2010-06-11T21:27:24Z,2010-10-28T01:47:17Z,"'''Email Notification'''
For the 6+ years I believe I have been using WordPress, the emails that notify me someone has made a comment have several links in them.

'''Fields within an email notification'''
Email, Url, Whois, Comment, All Comments, Delete, Spam

The comment, at least in plain text emails, contains html markup, which often is encoded making it hard to read, depending on the comment complexity.  I suggest a simple strip_html style function be ran on the comment copy.

The link to the comments only takes you to the comments, but does not add in the identifier in the url to take you to that specific comment.  The blog I am managing has 30+ comments on each page, making it harder than it should be to get to the comment and reply.

An example of a better method might be:
http://example.com/foo-bar-baz/#comment-7348
Compared to:
http://example.com/foo-bar-baz/#comments
----
'''Email Headers'''
The From header in the email is is correctly set to the ""Name"" value the user filled into the comment form, the email address is set to wordpress@example.com where example.com is the domain of the site.

However, the reply-to header is correctly set to the actual sender.  Bounces (NDR's) and the cosmetic view of an email could all be improved with a simple condition:

{{{
if is_valid(emaIl) then
  from = name & ' <' & email & '>'
  reply-to = from
else
  // looks like they did not set the data
  // fall back to some sane defaults
end if
}}}


",hexley
16979,Extra hooks needed in comment process,,Comments,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-03-27T06:06:54Z,2012-05-22T16:29:11Z,"I'm running into a few commenting issues whilst building a plugin with a custom post type..

 * Duplicate comment check's cannot be bypassed
 * Empty comments are not allowed (In this case, the comment body is empty whilst a set of custom fields acting as metadata are set, meaning, the plugin wants to accept that comment)
 * being able to override the wp_die() in the commenting process would be useful (Currently: Duplicate comments, User not logged in, and not all fields filled in will cause this)

One potential solution would be to move [http://core.trac.wordpress.org/browser/trunk/wp-comments-post.php#L55 lines 55-84] from `wp-comments-post.php` to functions hooked to `preprocess_comment`",dd32
23800,"Filter Comment Blacklist, to delete duplicated terms",,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T23:37:13Z,2013-03-16T23:37:13Z,"Hi,

In Comment Blacklist, when I save terms, duplicates are not eliminated.

Would be good if the function array_unique would remove these duplicate terms.",shadowhck
13450,Filter Comments Link,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2010-05-19T01:19:50Z,2010-10-28T12:12:51Z,"This filter allows a developer to modify a post's comments link.

Useful for situations where one needs to add or modify components of the URL such as on-click javascript, or changes to the anchor text, etc...",ikailo
23870,Filter Glyph for Comment Required Fields,,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-27T16:57:51Z,2013-03-31T15:31:37Z,"Currently the `comment-template.php` file uses an asterisk (*) as the default glyph for required fields used in the `comment_form()` function. This glyph is not easily manipulated without having to essentially over-write the entire `comment_form()` function.

I suggest the glyph be filtered. Therefore if one wants to change it, for example, to a hash (#) symbol then they can simply filter the output; or, if for any other reason one might want to enhance the glyph visibility or utility the filter would then allow for this while minimizing the impact on the default comment form.",cais
19739,Filter to override exit for comments on drafts (comment_on_draft),,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-04T19:01:18Z,2012-01-05T18:45:37Z,"I'd like to use comments on draft posts as part of an editorial workflow. Will this be as easy as adding a filter to fire before the current comment_on_draft action that can be checked before exiting? I'll try that and add a patch if it looks good.

Related #13276. Not relevant to #18630, I think.",cyberhobo
10863,Gravatars without email all end up looking generic,,Comments,,low,minor,Future Release,enhancement,new,has-patch,2009-09-26T19:26:36Z,2011-01-06T14:50:54Z,"When your blog has this option turned on

  ""Comment author must fill out name and e-mail""

and multiple users leave comments, if these users do not provide email addresses it will appear that they are all the same user as the identicon/monsterid/etc icons will be the same.

With two additional lines of code, you can substitute the IP address in place of the email to get a unique hash in order to distinguish one anonymous/non-emailed user from another.

Patch is attached",thecodepro
23797,Hard coded HTML marking in comment_form(),,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T21:16:23Z,2013-03-17T14:50:58Z,"Hello

it seems so ugly hard coding has slipped in the comment form. 

On line 1554 of comment-template.php, there is some hard-coded html :
 {{{
<h3 id=""reply-title"">
<?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?>
<small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small>
</h3>
 }}}

Semantically speaking, a H3 is far from being optimal. 
Also, filters exists for all other elements of the comment form. 
The h3 and small should not be hardcoded. 

A new value could be included in the defaults : 

 {{{
'comment_reply_markup' => 
    '<h3 id=""reply-title"">%1$s <small>%2$s</small></h3>',
 }}}

and line 1554 replaced by : 

 {{{
<?php printf( $args['comment_reply_markup'], 
comment_form_title( $args['title_reply'], 
$args['title_reply_to'] ), cancel_comment_reply_link( $args['cancel_reply_link'] ); ?>
 }}}

Thanks a lot, hope you'll take it :)",Marie-Aude
22164,"Move comment ""keyboard shortcuts"" setting to comments -> screen options",,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-11T14:14:23Z,2012-11-22T03:31:45Z,"Seems like it would make more sense to move the comment ""keyboard shortcuts"" setting from ""Your Profile"" to the screen options pane of edit-comments.php.  Something like:

[[Image(http://f.cl.ly/items/1k210Z2V1o0b350I1n0V/keyboard-shortcuts.jpg)]]",lessbloat
12392,Move comment fields to meta data instead,,Comments,,normal,normal,Future Release,enhancement,new,,2010-02-26T20:09:24Z,2012-07-16T04:19:52Z,"Look at the comment table:
{{{
CREATE TABLE $wpdb->comments (
  comment_ID bigint(20) unsigned NOT NULL auto_increment,
  comment_post_ID bigint(20) unsigned NOT NULL default '0',
  comment_author tinytext NOT NULL,
  comment_author_email varchar(100) NOT NULL default '',
  comment_author_url varchar(200) NOT NULL default '',
  comment_author_IP varchar(100) NOT NULL default '',
  comment_date datetime NOT NULL default '0000-00-00 00:00:00',
  comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
  comment_content text NOT NULL,
  comment_karma int(11) NOT NULL default '0',
  comment_approved varchar(20) NOT NULL default '1',
  comment_agent varchar(255) NOT NULL default '',
  comment_type varchar(20) NOT NULL default '',
  comment_parent bigint(20) unsigned NOT NULL default '0',
  user_id bigint(20) unsigned NOT NULL default '0',
...
}}}
A lot of that is not actually being used on many sites and could be moved to standard meta data, available on demand, but not pulled out by default.

Specifically:

comment_author_IP - Used by Akismet and blacklist functions, included in emails sent to post authors/moderators, but once stored in the DB it's never really used again.

comment_karma - Used by some of the importers as a space to store temporary data. Not actually used by core for anything serious anywhere.

comment_agent - Used by Akismet and blacklist functions, but once stored in the DB it's never really used again.

These could be pushed to meta and thus still made available, but without them being in the main table.

This is a long term change, because some plugins would likely break. So the columns should be deprecated for a while first.
",Otto42
17951,Move or duplicate comment actions at top of each comment row,,Comments,,normal,normal,Awaiting Review,enhancement,new,close,2011-06-30T17:29:35Z,2013-01-21T23:31:29Z,"When I attempt to take an action on a comment and the comment is EXTREMELY long, it takes a while to get to the SPAM link since it's at the bottom of the comment.

This ticket is to simply propose moving the actions to the top, rather than the bottom of the comment. Or perhaps duplicate the actions there, since they are only visible on hover anyway.",chriswallace
20490,Move submit_button to wp-includes for frontend inclusion & use with comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:04:55Z,2012-04-23T14:43:09Z,"It would be nice to be able to use submit_button() on the frontend as well (cf. #15064). It appears that #16066 ""fixed"" #16061, which it did, but moving the submit_button functions would enable to revert back to the use of submit_button(). Moreover, I recommend changing the comment-template.php in wp-includes ([http://core.trac.wordpress.org/changeset/16066#file2 16066#file2]) to use a filter with the submit_button to enable attributes like onClick. As it stands right now, if a user wants to track comments in their analytics they have to hide the original and add a function hooked into comment_form and redo all the args.",wpsmith
10856,Move unesential comment fields to the comment meta table,,Comments,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2009-09-26T03:07:47Z,2011-07-28T21:03:24Z,"The wp_comments table has 3 less-used fields that would be better placed in the new commentmeta table. These are:

- comment_author_IP

- comment_agent

- comment_karma",scribu
7532,Need comment_modified_date_gmt for approvals and edits,,Comments,2.6,low,minor,Future Release,enhancement,new,,2008-08-17T04:45:49Z,2009-06-11T12:39:18Z,"Summary:[[BR]]
Currently there is only one date field for comments, comment_date_gmt. This is insufficient, because it represents only the creation date, not the approval date. The function get_lastcommentmodified can only check comment_date_gmt, which means that it can return an earlier date than the approval date. This can lead to RSS feeds wrongly returned HTTP 304 Not Modified responses. There needs to be comment_modified_date_gmt in addition to comment_date_gmt.

Steps to Reproduce:[[BR]]
(1) First comment is submitted.[[BR]]
(2) First comment is mistakenly marked as spam by Akismet.[[BR]]
(3) Second comment is submitted and posted.[[BR]]
(4) Check comments feed in RSS reader. Second comment appears in feed, first comment does not.[[BR]]
(5) Mark first comment as not spam.[[BR]]
(6) Check comments feed in RSS reader again.

Expected results:[[BR]]
Comments feed returns HTTP 200, because there is a new comment in the feed.

Actual results:[[BR]]
Comments feed returns HTTP 304.

Notes:[[BR]]
The same bug could occur in other circumstances. For example, if a comment was held for moderation.

",lapcat
23179,New avatar related option - use gravatar  only for registered users,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T15:40:59Z,2013-01-21T04:42:39Z,"The use of gravater is problematic because there is no attempt to verify that a comment with which an email was used was actually left by the owner of the email (AFAICT gravatar doesn't even have an API for authentication).

This makes impersonating to someone else that have a gravatar in a wordpress site comments much too easy. 

IMO non autogenerated gravatars should be displayed by default only for users for which it is known that they actually own the email address, which are usually only the registered users.",mark-k
23634,New hook for adding content after each comment,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2013-02-26T19:29:57Z,2013-06-12T20:27:42Z,"Similar to #18561 (which is for a new ""after post"" hook) add a hook that fires after each comment output with {{{wp_list_comments}}}.",lancewillett
22889,Reconsider no-JS ?replytocom= links,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T15:13:20Z,2012-12-14T13:05:31Z,"We have a no-JS fallback for comment replies. Normally JS moves the comment form around. For people with JavaScript disabled, they follow the `?replytocom={123}` link. This results in a lot of extra crawling by search engines (potentially an additional crawl per reply-able comment!) in exchange for enabling an awkwardly executed, likely underused, and non-essential feature for non-JS users.

I'd like to consider making comment reply JS-only.",markjaquith
12431,Record comment meta in wp_new_comment,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-02-28T21:29:43Z,2010-10-28T09:01:14Z,"Spam filter plugins usually trigger on the preprocess_comment filter, which obviously happens prior to storing the comment (and thus prior to knowing comment_ID).

Comment meta would be ideal for storing spam status information, but since the comment_ID isn't known at that point, doing so involves jumping through some hoops.

This patch provides a simple way for spam filters to include comment metadata from preprocess_comment.  They simply include values in a 'comment_meta' array like this:

{{{
add_action('preprocess_comment', 'my_spam_handler');

function my_spam_handler($comment) {
    $comment['comment_meta']['my_spam_status'] = 'not-spam';
    return $comment;
}
}}}

Each key/value pair in the comment_meta array is stored as comment metadata.
",tellyworth
8071,Refrain from querying all the comments on a post when paged,,Comments,2.7,normal,normal,Future Release,enhancement,reopened,,2008-11-05T22:17:15Z,2012-07-16T04:35:24Z,"If a post has more than (comment_per_page) comments, we should query them specifically, not query all the comments and sort in PHP (doesn't scale well).

Logic:

if threading is off, use a simple limit query

elseif the page has equal or fewer comments than (comments_per_page), query them all

else query (comments_per_page) parent comments, and keep doing queries for their children, up to the threading limit (10).",markjaquith
17159,Return meaningful HTTP response for comment submitted with no POST body,,Comments,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-04-17T19:45:03Z,2011-09-10T03:25:52Z,"A POST request to wp-comments-post.php currently returns a HTTP 200 response with an empty body if the body of the request was empty.

The server should die quickly and instruct the requesting agent not to repeat the request without modifications if minimum necessary key(s) are not present on $_POST.

I believe the possible creation of a comment requires at least a comment_post_ID. It's also the first $_POST key checked in the script. If the POST did not supply a comment_post_ID let's stop processing and provide a meaningful response. HTTP 400 Bad Request communicating the failure. Due to the spammy nature of the requestors we may or may not want to provide variable hints in the response.",niallkennedy
3842,Should make nofollow implementation cleaner and easier to remove,,Comments,2.1.1,normal,normal,Future Release,enhancement,new,,2007-02-22T10:08:56Z,2011-07-23T06:44:21Z,"{{{rel=""nofollow""}}} didn't appreciably stop comment spam, and there are many arguments for why it is a '''bad''' idea (and not just a failed idea).  We should consider axing it.",markjaquith
17913,Site-level comment options may override individual post settings. Improve communication.,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-27T20:46:43Z,2011-06-27T20:46:43Z,"Post comments may be automatically closed for a  site's posts if site option 'close_comments_for_old_posts' is true and the post was published before 'close_comments_days_old' days ago. These two options are set in options-discussion and override the 'comment_status' of an individual post.

The edit posts screen's comment meta box displays comments open/close status, allowing publishers to open or close comments for a single post. It's possible the site-level discussion settings will override the individual post yet we still might display a different post comment status than the site settings allow.

1. Enable site-level option to close comments on articles ( wp-admin/options-discussion.php#close_comments_for_old_posts )
1. Enter a days value of 1 for maximum impact
1. Edit a post published over a day ago
1. View the Discussion meta box ( #commentstatusdiv )
1. Interact with the 'comment_status' field

I would like to better communicate expected failure and let the post author or editor know this particular setting has been overridden at the site options level. If the current user can manage options I might you could link to the override in the options page.

I created a new test blog, set comments to auto-close after a day, and checked allow comments in the post screen. I was wondering why comments_open() was false for the post when I was looking at a checked box on the post screen.",niallkennedy
17020,Some comment queries are not filterable,,Comments,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-02T16:56:32Z,2011-05-09T23:21:46Z,"Although WP_Comment_Query::query() is fully filterable, some supplemental comment queries are still unfilterable.  The submitted patch adds the following hooks:

 * function get_approved_comments() - query filter 'get_approved_comments_query'

 * function wp_dashboard_recent_comments() - query filter 'dashboard_recent_comments_query'",kevinB
17862,The second argument for wp_notify_postauthor() is unnecessary,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-21T17:04:39Z,2011-06-21T17:04:39Z,Only the comment id is needed. See patch.,scribu
17275,UI: Missing comments count in admin screen,,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-04-29T13:00:48Z,2013-02-23T11:29:14Z,See Attached image.,ramiy
10653,Update comment_author when display_name changes,,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2009-08-19T19:43:29Z,2010-12-18T11:08:18Z,One thing that has bothered me recently is the fact that your previous comments doesn't get updated when your display_name is being updated. Which could cause some confusion. I wrote a function (see attached file for further reference) that takes care of this but I would love to see a similiar feature in the WordPress core.,mptre
19623,"Use Comment API in comments_template, rather than hardcoded SQL",,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-20T18:07:44Z,2012-08-14T08:36:00Z,"Currently the function {{{comments_template}}} uses hard-coded SQL queries, rather than {{{WP_Comment_Query}}} or {{{get_comments}}}. There's a note above the queries saying [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/comment-template.php#L888 /** @todo Use API instead of SELECTs. */].

To replace the queries using the API, the {{{WP_Comment_Query}}} class will need to be extended to allow querying for comments which are '''either''' approved '''or''' unapproved ({{{hold}}} status) but by a particular comment author email and comment author name ''or'' by a particular {{{user_id}}} to replace these two queries:

* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )  ORDER BY comment_date_gmt}}}
* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt}}}

If we change to use the API, there's also an opportunity to add a filter for the args, which would be lovely for plugin developers. :)",simonwheatley
10931,Verify Comment Email Addresses of Registered Users,,Comments,2.8.4,normal,normal,Future Release,enhancement,assigned,has-patch,2009-10-08T14:34:44Z,2013-01-13T21:45:07Z,"When leaving a comment with an email address of a registered user, WordPress should force the visitor to login or change the email address in the comment form.

Anyone can impersonate a blog's user if they know the user's email address.",mtdewvirus
17928,"When a comment is spammed/trashed, change the parent of it's children",,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-06-29T06:42:11Z,2012-03-08T02:17:19Z,"When removing (spam/trash) a comment that has children, everything goes to hell in terms of hierarchy and you're left with a bunch of orphaned comments.

See two attached images for what currently happens after removing a comment that has children.

When a comment is removed, all immediate children of the comment to be removed should have their parent changed that of the the parent of the comment being removed (or top level if the comment to be removed is top level). Each comment that has it's parent changed then gets that action logged to it's post meta so that it can be moved back in the case of it's previous comment being restored (on post un-delete/spam, find all matching comment metas).",Viper007Bond
16576,comment_form() fields being displayed only for non logged in users,,Comments,3.0.5,normal,normal,Awaiting Review,enhancement,new,,2011-02-16T18:15:44Z,2011-10-19T23:28:16Z,"I've just noticed this - When using the '''comment_form()''' function and adding some comment meta fields,using the fields array in the $args, these fields are being showed in the front-end only for non logged in users.
In this case, the registered users can never use these comment fields.

Look at wp-includes/comment-template, lines 1561-1573 (WP 3.0.5), it parse the $args['fields'] in the else block - 

{{{
<?php if ( is_user_logged_in() ) : ?>
	<?php echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity ); ?>
	<?php do_action( 'comment_form_logged_in_after', $commenter, $user_identity ); ?>
<?php else : ?>
	<?php echo $args['comment_notes_before']; ?>
	<?php
	do_action( 'comment_form_before_fields' );
	foreach ( (array) $args['fields'] as $name => $field ) {
		echo apply_filters( ""comment_form_field_{$name}"", $field ) . ""\n"";
	}
	do_action( 'comment_form_after_fields' );
	?>
<?php endif; ?>
}}}

I think it is better that added meta fields should be displayable for all users (logged in and not logged in), or even to add a parameter to let the developer decide which extra fields are shown to logged or not logged users.


",maorb
14510,comment_notes_before does not work.,,Comments,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-08-02T18:39:34Z,2011-02-18T04:51:54Z,"I am unable to get the comment_notes_before to work.

Using the code:

{{{
comment_form(array( 'comment_notes_before' => 'some text' ));
}}}

... does not work.  it just leaves the default text there.

{{{
comment_form(array( 'comment_notes_after' => 'some text' ));
}}}

... does work.  It allows you to put whatever text you want.",hotforwords
12104,edit-comments.php not available to roles with proper capabilities,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-31T22:25:24Z,2012-10-12T15:49:22Z,"I tried to create a Comment Moderator role today and realized it wouldn't work. My intention was to create a role for people who can't write or edit posts, but can keep an eye on the comment threads. I created the role like so:

{{{
#!php
add_role('moderator', 'Moderator', array(
            'read' => 1,
            'moderate_comments' => 1,
        ));
}}}

... then created a new user with that role. When I logged in as my test user, I realized that it was for all intents and purposes a Subscriber. I couldn't see any admin panels but the Dashboard, my profile, and the Tools. I went poking around in edit-comments.php and discovered that it's checking for another capability altogether: 

{{{
#!php
if ( !current_user_can('edit_posts') )
	wp_die(__('Cheatin&#8217; uh?'));
}}}

I double-checked wp-admin/includes/menu.php and it agreed that 'edit_posts' was the minimum capability to see this page, so I tried adding 'edit_posts' to my new role, and I still couldn't get there.

Later on in edit-comments.php, when actually trashing a comment, there is a check for 'moderate_comments', but it's a moot point: this screen doesn't even show up in the admin menu, and if you navigate directly to it, you'll get the ""You do not have sufficient permissions to access this page"" message.

I thought it was entirely possible I'd missed some finer point of creating roles, so I redid it with Justin Tadlock's excellent Members plugin, and that didn't work either.

This behavior might be intentional, but if so, I'm not following the logic. I know roles are due for an overhaul in the next version or two.",sillybean
19893,get_comments_link() doesn't link properly if there are no responses,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-25T03:35:53Z,2012-01-25T13:13:12Z,"Since the current implementation of get_comments_link() simply returns the permalink with `#comments` appended to the end of it, and the HTML element with an ID of `comments` only exists when existing comments are wrapped inside of it, it doesn't lead to anything when there are 0 comments on the post.

I've attached a patch that checks whether there are any comments on the post or not; and, if not, it appends `#respond` to the end of the link; otherwise it appends `#comments`.",cgrymala
19903,wp_count_comments() and get_comments_count() both do SQL queries,,Comments,3.3.1,normal,normal,Future Release,enhancement,new,,2012-01-26T22:16:42Z,2012-04-18T20:35:04Z,"{{{wp_count_comments()}}} and {{{get_comments_count()}}} are similar functions, with a few differences:

* Their results are returned in different formats:
 * {{{wp_count_comments()}}} returns an object of:
  * spam
  * approved
  * moderated
  * total_comments
  * trash
  * post-trashed
 * {{{get_comment_count()}}} returns an array of:
  * spam
  * approved
  * awaiting_moderation
  * total_comments
* {{{wp_count_comments()}}} caches, but {{{get_comment_count()}}} always hits the database.
* {{{get_comment_count()}}} is used nowhere in WordPress core.

I propose that we add 'trash' and 'post-trashed' reporting to {{{get_comment_count()}}}, and then have {{{wp_count_comments()}}}  use {{{get_comment_count()}}} instead of doing its own SQL queries.

See #6884 and #19901",markjaquith
14697,wp_list_comments not fully HTML5-friendly,,Comments,3.0.1,normal,minor,Future Release,enhancement,new,has-patch,2010-08-25T16:33:37Z,2012-07-04T09:47:48Z,"Currently, wp_list_comments supports ol, ul, and div as ""styles"" of nesting for threaded comments. While HTML5 is new enough that good markup practices are not entirely settled, the closest thing I've seen to a consensus is nested article elements.

This is currently not possible (except perhaps through a callback). Making it work right would also require inserting the comment classes as part of wp_list_comments' operation, which might require another parameter to turn it on.

I'm sure there are other WP functions that could use expanding to accommodate good HTML5 markup, but this is what jumped out at me.",adamrice
14601,wp_new_comment method doesn't allow passed in values for IP and user-agent,,Comments,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-12T14:20:21Z,2013-06-01T10:07:00Z,"In a scenario where you have a client that receives comments from the internet and pre-processes those comments before feeding them into wordpress through xmlrpc the ip and user-agent of the commenting internet user gets lost because there is no way of passing those values into the wp_new_comment function. 

`$_SERVER['REMOTE_ADDR']` and `$_SERVER['HTTP_USER_AGENT']` are hard-coded, which in the above mentioned scenario will always have the IP and user-agent from the client that feeds the comments into wp through xmlrpc.

The attached patch will used passed in values and only fall back to `$_SERVER['REMOTE_ADDR']` and `$_SERVER['HTTP_USER_AGENT']` if not passed in.",mrutz
20025,Add a filter for post types when viewing list of comments in the backend,,Comments,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-12T14:03:49Z,2012-02-12T14:38:23Z,Filtering comments based on post type,nprasath002
12223,Adding a titles to comment levels with the walker class,,Comments,,normal,normal,Future Release,feature request,new,,2010-02-14T11:20:07Z,2010-02-14T17:52:36Z,"Hi Everyone! 

This is only my second post here, and my first feature request, so please excuse me if I have duplicated something or my solution is completely unsuitable. 

I am experimenting with the CMS capabilities of Wordpress, especially the enhanced post_type GUI in the new 3.0 alpha release. While building a sort of Yahoo Answers type platform, I wanted to have 1st level comments as answers to a question (a post), and 2nd level comments as comments on the answer (1st level comments). I wanted to label comments on an answer as ""comments"", but this is not really possible to do, to my knowledge, using ""wp_list_comments"".

I created my own function for wp_list_comments so I didn't have to modify Wordpress core, in order to get at the walker class at the bottom of wp_list_comments. I wanted to use start_lvl to add a title for comment level 2. However, start_lvl in ""class Walker_Comment extends Walker"" will only let you change the list type to ""ul"", ""ol"" or ""div"". My idea is to add an argument which would allow you to add a title, along with specifying it's heading (or surrounding tag). As I said, I am not an expert on Wordpress coding standards, so the following code may be completely off. 

{{{
/**
   * @see Walker::start_lvl()
   * @since unknown
   *
   * @param string $output Passed by reference. Used to append additional content.
   * @param int $depth Depth of comment.
   * @param array $args Uses 'style' argument for type of HTML list.
   * @param array $args Uses 'title' argument for title text.
   * @param array $args Uses 'title_heading' argument for title text heading level.
   */
	

function start_lvl(&$output, $depth, $args) {
  $GLOBALS['comment_depth'] = $depth + 1;
  
    switch ( $args['style'] ) {
      case 'div':
        break;
      case 'ol':
        echo ""<ol class='children'>\n"";
        break;
     default:
     case 'ul':
        echo ""<ul class='children'>\n"";
        break;
    }
	
	if (!empty ($args['title'])) {
	  
      if(!empty ($args['title_heading'])) {
	    echo '<'.$args['title_heading'].'>';
	  }
	  
	  echo $args['title'];

	  if(!empty ($args['title_heading'])) {
	    echo '</'.$args['title_heading'].'>';
	  }
	
	}
	
}
}}}",danielpataki
16252,Allow comment reparenting to fix poor threading,,Comments,,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-15T23:12:25Z,2012-04-29T10:48:16Z,"For the OCD among us, it would be super nice to be able to edit the comment_parent, to properly thread comments made in the wrong place/threading order.

Choose your own UI, but even just a numeric editor in the Quick Edit area would be a huge enhancement.",Otto42
18417,Comment whitelist in discussion settings,,Comments,,normal,normal,Awaiting Review,feature request,new,,2011-08-15T18:48:46Z,2011-08-17T09:49:25Z,"Currently, there are methods for automatically flagging comments for moderation or blacklisting comments, but there's no way to auto-approve comments that meet a certain criteria.

In Discussion Settings, it would be nice to have ""Comment Whitelist"" option to automatically approve comments from a specific IP address, using a specific email address, or matching certain keywords.

One use case: a conference or workshop where lots of people are posting comments from the same IP address often invokes the ""Slow down, you're posting too fast"" message. Instead, we should be able to add the IP address to the whitelist (possibly temporarily) so that everyone can comment without hitting the restriction.

The concern I can think of is that this would add another large paragraph box to the Discussion Settings view.",danielbachhuber
18630,Custom Comment Validation Error,,Comments,3.3,normal,minor,Awaiting Review,feature request,new,,2011-09-09T19:49:33Z,2012-04-04T18:16:21Z,"One of the things that bugs me about WordPress is not being able to customize the wp_die() function that is called on comment form validation. I have seen some people sugget core hacks, eek. I'm hoping that a hook is added to allow overriding of the default wp_die(). Maybe even a new template file wp_error.php that would be called first. 

I haven't found a lot of discussion on this in trac just #11286 and #10551",bandonrandon
12986,Enhancement to comments_popup_link(),,Comments,,normal,normal,Future Release,feature request,new,has-patch,2010-04-13T06:25:13Z,2010-04-18T05:53:20Z,"Currently ""Comments Off"" is wrap with <span> tag, but not ""Enter your password to view comments."" if post requires password. 

The idea is to wrap ""Enter your password to view comments."" with span tag, have its own css class e.g enter-password. Also adds $css_class if set. This way, theme author can easily style it based on post / comment status condition.

And add another paramater $password so that theme author can customize the text to display if post is password protected.

Need 2nd opinion with the attached patch.

",zeo
13820,AJAX update the comment bubbles on edit-comments.php,,Comments,3.0,normal,normal,Future Release,task (blessed),assigned,has-patch,2010-06-10T13:45:27Z,2012-03-08T01:58:35Z,"We update the bubble in the Comments admin menu item. We should also update the counts in the ""In Response To"" bubbles, as well as the bubble color.",matt
19621,Cron not working in WP 3.3,,Cron,3.3,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-12-20T12:15:32Z,2012-04-23T21:15:31Z,"Hi,

I was working on wordpress cron and found that the cron doesn't synchronize the times even when the traffic is visiting site pages. The script works fine WP 3.2.1

Please check this. I believe wp-cron.php is not run in this latest release. ",hassanasad
20537,Don't spawn cron requests for suspended blogs,,Cron,3.3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2012-04-24T20:40:19Z,2012-09-17T06:54:10Z,"
{{{

}}}
For multisite, spawning cron requests is wasteful and unnecessary. wp_cron()/spawn_cron()/wp-cron.php should check the blog's status and bail if the blog is suspended.",ryan
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
18471,Add action hook after cron processed it's jobs,,Cron,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-18T12:30:19Z,2012-10-15T01:26:35Z,Sometimes it's hard to debug cron jobs or validate the results. A simple action fired after the wp-cron.php did his magic could help improve this experience.,tott
21072,CRON often returns ambiguous values,,Cron,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T02:18:27Z,2012-06-26T06:18:34Z,"Many of the cron API functions return ambiguous values.  For example, `wp_cron()` [http://core.trac.wordpress.org/browser/tags/3.4/wp-includes/cron.php#L251 returns] `null` (explicitly) when cron doesn't run, but it also returns `null` (implicitly) every other time.  This can make debugging harder.

Whenever possible, I think it's valuable to return meaningful values.  The attached patch does that.",evansolomon
15148,Cron Storage Abstraction,,Cron,,normal,normal,Future Release,enhancement,new,has-patch,2010-10-19T04:04:00Z,2011-06-02T07:03:36Z,Abstract cron storage to allow pluggable storage schemes.,ryan
23133,Display a warning in the admin if cron tasks fail due to blocked HTTP requests,,Cron,3.5,normal,major,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T08:33:05Z,2013-01-29T20:08:25Z,"I recently upgraded my very simple WP site to 3.5 where the following was in use:

Theme: Twenty Eleven
Plugins: None Activated

I have been completely unable to submit a post for publishing in a future date, when the time occurs, I get a ""missed schedule"" message.

The schedule entry in cron is as follows:

Next due (GMT/UTC): Jan 4, 2013 @ 11:28 (1357298880)
          Schedule: One-off event
              Hook: publish_future_post
         Arguments: [0]: 358

Increasing the timeout value in cron.php has made no difference. 

I will need to remain on a lower release until this is fixed or a diagnosis ""kit"" is made available.

I am not using any software other that WP produced at this point and feel that the lack of wp-cron documentation and support in the public domain leaves alot of people clocking many hours googling in desperation...

Make a difference in 2013 and get 3.5 development priorities to de-mystify the methods of fixing wp-cron please :o)",prb22public@…
17957,wp_reschedule_event & daylight saving,,Cron,3.2,normal,normal,Awaiting Review,enhancement,reopened,,2011-07-01T09:03:28Z,2013-04-11T23:18:10Z,"When a recurring event is established using the WP cron functions the function takes a Unix timestamp and a recurrence interval.

In the situation where daylight saving changes the local time, the timing of an event can change by an hour. So, if a database backup is set to run at midnight when the clocks change this can start to happen at 11pm or 1am instead since the timing of the event is based on an initial static time (Unix timestamps reference point is January 1, 1970) and a static interval period.

An enhancement to the cron functions would be to account for an obey daylight saving changes so that events schedule for midnight actually occur at midnight irrespective of the time of year.",MattyRob
21870,@ error control operator hides fatal error on mysql_fetch_object,,Database,1.5,normal,normal,Future Release,defect (bug),new,has-patch,2012-09-11T14:59:36Z,2012-11-07T19:49:19Z,"I ran a get_posts() query that took me a while to track down to the @ error control operator on the mysql_fetch_object call (see wp-db.php:1219 in trunk), therefore PHP was silently die'ing on me because of a memory limit error.

I'm curious as to what use cases there are for the error control operator to be used here. In my case, I want to see these errors and fix my code accordingly, or tailor my query to the memory constraints, or rethink my data relations in the database.

",ericlewis
23085,Calling $wpdb->query() when no connection exists causes mysql_error() to throw an error,,Database,3.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-12-30T10:30:49Z,2013-01-21T00:42:22Z,"In the query() method of wp-db.php, the mysql_error() expects that if a parameter is passed to it then it should be a valid link identifier.

*May need feedback or added testing* ...this error may be specific to transactions, which is why it hasn't been noticed before. Unit tests do use transations and I only get these errors when ROLLBACK is called during specific unit tests that don't modify the DB state. A simple transaction opened & rolled back in the Debug Bar Console is not triggering this for me.

Unit test failure examples:

'''Test: test_is_image_positive'''

{{{
mysql_error() expects parameter 1 to be resource, integer given
Execution time: 0.02507209777832s
Stack Trace:
Array
(
    [0] => Array
        (
            [file] => C:\xampp\htdocs\wpnew\wp-includes\wp-db.php
            [line] => 1202
            [function] => mysql_error
            [args] => Array
                (
                    [0] => 0
                )

        )

    [1] => Array
        (
            [file] => C:\xampp\htdocs\wp_test_svn\includes\testcase.php
            [line] => 25
            [function] => query
            [class] => wpdb
            [type] => ->
            [args] => Array
                (
                    [0] => ROLLBACK
                )

        )

)
}}}

'''Test: test_is_image_negative'''

{{{
mysql_error() expects parameter 1 to be resource, integer given
Execution time: 0.02237606048584s
Stack Trace:
Array
(
    [0] => Array
        (
            [file] => C:\xampp\htdocs\wpnew\wp-includes\wp-db.php
            [line] => 1202
            [function] => mysql_error
            [args] => Array
                (
                    [0] => 0
                )

        )

    [1] => Array
        (
            [file] => C:\xampp\htdocs\wp_test_svn\includes\testcase.php
            [line] => 25
            [function] => query
            [class] => wpdb
            [type] => ->
            [args] => Array
                (
                    [0] => ROLLBACK
                )

        )

)
}}}

I don't think we should attempt {{{if ( $this->last_error = mysql_error() )}}}. That is because when mysql_error() is called without a link identifier then the most recent connection to MySQL is referenced. On a busy server this may not be the same connection as our page or transaction originally used. See #3544 for history/details.",mbijon
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
24581,Database IN() operators + array are broken,,Database,3.5.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-06-15T12:52:39Z,2013-06-15T12:52:39Z,"I found the ticket #11100 after I searched for a solution with escaping in IN operators. I think the solution in [12156] is very nice. But if you have nothing in your array, you get a database error. So here's my solution :)

{{{
$in = count($postmetaids) ? implode( ',', array_fill(1, count($postmetaids), '%d')) : 'NULL';
$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->postmeta WHERE meta_id IN($in)"", $postmetaids ));
}}}

This codesnippet is for #11100 and should work like a charm. But I think there are another places with the solution like in [12156]...

PS: Maybe it would be also nice to include a solution for arrays in the $wpdb->prepare() function like %as (string array), %ad (decimal array) %af (float array)

Thanks",Ninos Ego
23383,High archive page numbers cause invalid database queries,,Database,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-04T20:36:30Z,2013-02-05T13:46:24Z,"Visiting `http://www.viper007bond.com/category/videos/page/6805063692754011230` on my site generates the following database query:

`SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (21) ) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 6.805063692754E+19, 10`

Note the scientific notation `LIMIT` value.


PHP: 5.3.15-pl0-gentoo[[BR]]
MySQL: 5.2.12[[BR]]
WordPress: r23386
",Viper007Bond
21504,Not checking if apply_filters exists before calling it in WP_DB,,Database,3.4.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-08-06T22:49:52Z,2012-10-25T21:17:48Z,"Prior to version 3.4, there was a check to verify that apply_filters existed before calling it in wp-includes/wp-db.php.  


{{{
// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
if ( function_exists( 'apply_filters' ) )
  $query = apply_filters( 'query', $query );
}}}


In version 3.4 and above, that check doesn't exist anymore, and can throw an error. There is still a comment indicating that a check should be made, but the actual code to perform the check is now gone. This is around line 1081


{{{
// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
                 $query = apply_filters( 'query', $query );
}}}




Here is the github blame view to show when the code was remove (I'm not sure how to find this same view in your svn):

https://github.com/WordPress/WordPress/commit/81ed9a7563e5ad4c0edccd059bc4ea7d9c1a4a10

There's no explanation about why the code was removed, so would it be possible to add it back in?

Thanks!

Julia
",jdkoelsch
18210,"Update_post_meta is case insensitive on meta_key, but get_post_meta is NOT",,Database,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-22T07:05:28Z,2013-02-28T16:06:54Z,"In WordPress 3.3-aortic-dissection and 3.2.1

get_post_meta is case sensitive on the meta-key

BUT

update_post_meta is NOT case sensitive

Thus If there is a pre-existing meta record with a key in say UPPERCASE, then one can issue an update for a lowercase key that one can not then fetch as it does not exist - only the uppercase key exists. 


Example Code

{{{

	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />got upper: '; var_dump($meta);
	}
	update_post_meta (21, '_allday','Tried to update lowercase');
	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	else { echo '<br />Tried to get lower but no go';
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />Still have upper: '; var_dump($meta);
	}


}}}



Output of above:



got upper: array(1) { [0]=> string(14) ""tis the upper."" }
Tried to get lower but no go
Still have upper: array(1) { [0]=> string(25) ""Tried to update lowercase"" } ",anmari
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
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
22408,wp_insert_attachment and _real_escape input validation and better error handling,,Database,3.4.2,normal,trivial,Awaiting Review,defect (bug),new,dev-feedback,2012-11-10T21:47:03Z,2012-11-10T21:49:25Z,"Recently when using the `wp_insert_attachment()` function I passed the whole result of the `wp_check_filetype()` function for the `""post_mime_type""` attribute, instead of the `""type""` property from the filetype check result. What I got was an error in the `_real_escape()` function which expected a string, but received an array, which didn't quite help me find my error.

I believe some kind of type checking would be nice for both the `_real_escape()` function as well as the `wp_insert_attachment()`.

It seems suitable if the `wp_insert_attachment()` function returned a `WP_Error` object in case there are issues with the passed arguments.

I'm not sure, however, what the best solution would be for the `_real_escape()` function -- return false, fail quietly, raise an exception or also return a `WP_Error`.

I would have proposed a patch, but I'm not sure what solution to implement. Let me know if I should do it in a certain way and I'll submit a patch for review, saving you a little time for other ticket review.",magadanski_uchen
16762,wpdb::$base_prefix is not documented,,Database,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-03-05T16:17:01Z,2012-08-29T19:59:25Z,"Probably wpdb::$base_prefix has been merged into from MU and not further specified then.

It ''genereally'' can be replaced with {{{wpdb::get_blog_prefix(0)}}} when the MULTISITE constant is defined. That is are after wp-settings.php has been included (wp-config.php, wp-load.php), even on SHORTINIT.

It ''might'' be that this function call does not cover all cases needed because if MULTISITE is not defined when called, it will not return the {{{wpdb::$base_prefix}}}.

More insight into MU is needed, feedback appreceated. Some places look like that they are not aware of the wpdb::get_blog_prefix() function. Probably legacy MU code.

Related: #16756",hakre
18736,Add REGEXP to 'compare' values in meta_query,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-21T15:39:51Z,2013-05-24T07:58:33Z,"I wish to sort some queries using the alphabet.

My current query:
{{{
#!php
$getPostIds = $wpdb->get_col(""
    SELECT p.ID
    FROM $wpdb->posts p, $wpdb->postmeta pm
    WHERE p.ID = pm.post_id 
    AND pm.meta_key = 'prod-id' 
    AND pm.meta_value
    REGEXP '^"" . $wpdb->escape($alpha) . ""'
    AND p.post_status = 'publish' 
    AND p.post_type = 'review'
    AND p.post_date < NOW()
    ORDER BY pm.meta_value ASC""
);

$posts = new WP_Query(array(
    'post__in' => $getPostIds,
    'post_type' => 'review',
    'post_status' => 'publish',
    'showposts' => 20,
    'paged' => $paged,
    'caller_get_posts' => 1, // do not order sticky posts at the top
    'orderby' => 'title',
    'order' => 'ASC'
));
}}}

It would be much simpler if I could use the equivalent with meta_query:
{{{
#!php
query_posts(array(
    'post_type' => 'review',
    'post_status' => 'publish',
    'showposts' => 20,
    'paged' => $paged,
    'caller_get_posts' => 1, // do not order sticky posts at the top
    'orderby' => 'metal_value',
    'order' => 'ASC',
    'meta_query' => array(
        array(
            'key'   => 'prod-id',
            'value' => '^'.get_query_var('letter'),
            'compare' => 'REGEXP'
        )
    )
));
}}}

I'd love to see it implemented :)
Thanks!",FlashUK
15499,Add an index for get_lastpostmodified query,,Database,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-11-19T18:20:31Z,2012-12-04T21:50:27Z,"I had a friend (Jools Wills) look over a WordPress site recently, to get a fresh view on what might be optimised, and he noticed a query which might benefit from an additional index on ```WP_Posts```. The query ```SELECT post_modified_gmt FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1``` in ```get_lastpostmodified``` is run for last modified date in GMT, and currently doesn't use an index. This SQL is run whenever certain types of feed are requested as far as I can see.

We added ```CREATE INDEX type_status_modified ON wp_posts (post_type, post_status, post_modified_gmt);``` and ```CREATE INDEX type_status_modified_no_id ON wp_posts (post_type, post_status, post_date_gmt);``` and the query runs a lot faster now. The following timings were taken running the first query (```post_modified_gmt```) on a 36,362 row posts table. Note that it doesn't use filesort after the index has been added.

''Before:''

{{{
mysql> EXPLAIN SELECT post_modified_gmt FROM slgr_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1;
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
| id | select_type | table      | type | possible_keys    | key              | key_len | ref         | rows  | Extra                       |
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
|  1 | SIMPLE      | slgr_posts | ref  | type_status_date | type_status_date | 124     | const,const | 24718 | Using where; Using filesort |
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
1 row in set (0.03 sec)
}}}


 * 0.21290683746338ms
 * 0.25690102577209ms
 * 0.230553150177ms
 * 0.2274341583252ms
 * 0.23083996772766ms

''After:''

{{{
mysql> EXPLAIN SELECT post_modified_gmt FROM slgr_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1;
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
| id | select_type | table      | type | possible_keys                         | key                  | key_len | ref         | rows  | Extra       |
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
|  1 | SIMPLE      | slgr_posts | ref  | type_status_date,type_status_modified | type_status_modified | 124     | const,const | 24718 | Using where |
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
1 row in set (0.00 sec)
}}}

 * 0.00082707405090332ms
 * 0.00072288513183594ms
 * 0.00074386596679688ms
 * 0.00066494941711426ms
 * 0.00066208839416504ms

In ```get_lastpostmodified``` both these queries are run, so the total savings in my case on a quiet server are nearly 0.5 seconds... worth having, I reckon.

I've not created a patch for schema changes before, but I think the only place the change would need to go would be ```scheme.php```? Suggested patch attached.",simonwheatley
18315,Add an index to the GUID column in the posts table,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-02T04:31:01Z,2011-08-02T05:09:12Z,"Running queries on the GUID column in the posts table is slow because the column is not indexed. The attached patch adds an index.

Note, this affects ticket #18286 - I will update that ticket with appropriate patches to reflect this request.",alexkingorg
22117,Better backtrace,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-06T14:06:50Z,2012-10-06T18:25:28Z,"Hey,
This is a small hack for a prettier backtrace info.

the file '''''/wp-includes/functions.php''''' at Line 3547

the new functions with added lines

{{{
function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pretty = true ) {
	if ( version_compare( PHP_VERSION, '5.2.5', '>=' ) )
		$trace = debug_backtrace( false );
	else
		$trace = debug_backtrace();

	$caller = array();
	$check_class = ! is_null( $ignore_class );
	$skip_frames++; // skip this function
	$last_info = array();

	foreach ( $trace as $call ) {
		if ( isset( $call['class'] ) && 'wpdb' == $call['class'] )
		{
			$last_info['file'] = basename($call['file']);
			$last_info['line'] = $call['line'];
		}

		if ( $skip_frames > 0 ) {
			$skip_frames--;
		} elseif ( isset( $call['class'] ) ) {
			if ( $check_class && $ignore_class == $call['class'] )
				continue; // Filter out calls
			$caller[] = ""{$call['class']}{$call['type']}{$call['function']}"";
			if( empty( $last_info['func'] ) ) $last_info['func'] = $call['class'].'->'.$call['function'];
		} else {
			if ( in_array( $call['function'], array( 'do_action', 'apply_filters' ) ) ) {
				$caller[] = ""{$call['function']}('{$call['args'][0]}')"";
			} elseif ( in_array( $call['function'], array( 'include', 'include_once', 'require', 'require_once' ) ) ) {
				$caller[] = $call['function'] . ""('"" . str_replace( array( WP_CONTENT_DIR, ABSPATH ) , '', $call['args'][0] ) . ""')"";
			} else {
				$caller[] = $call['function'];
				if( empty( $last_info['func'] ) ) $last_info['func'] = $call['function'];
			}
		}
	}
	if ( $pretty )
		return sprintf(__(""Error at %s, at line %d, in function %s<br/>%s""), 
				$last_info['file'], $last_info['line'], $last_info['func'], join( ', ', array_reverse( $caller ) ) );
	else
		return $caller;
}
}}}",msolution
9642,Database Schema Optimizations,,Database,2.8,normal,normal,Future Release,enhancement,assigned,,2009-04-24T19:42:40Z,2013-02-16T16:15:57Z,Diffs coming...,Denis-de-Bernardy
22115,Further Simplifying errors,,Database,3.4.2,normal,normal,Future Release,enhancement,new,dev-feedback,2012-10-06T11:32:15Z,2013-05-16T11:55:15Z,"tracking errors while making API's and cron jobs, is a tad difficult.

from the latest wordpress pack, '''''/includes/wp-db.php'''''

{{{
function query( $query ) {
...
...
if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
	$this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() );

// If there is an error then take note of it..
if ( $this->last_error = mysql_error( $this->dbh ) ) {
	$this->print_error();
	return false;
}
...
...
}}}

if we change the above to simply

{{{
// If there is an error then take note of it..
$this->last_error = '';
if ( $this->last_error = mysql_error( $this->dbh ) )
	$this->print_error();

if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
	$this->queries[] = array( $query, $this->timer_stop(), $this->get_caller(), $this->last_error );

// If there is an error then take note of it..
if ( ! empty( $this->last_error ) )
	return false;
}}}

then we have all required info in the array queries, for use later. may it be wp_footer, or for a plugin as debug info.",msolution
20316,Garbage collect transients,,Database,,normal,normal,Future Release,enhancement,new,dev-feedback,2012-03-28T22:04:35Z,2013-06-13T22:35:57Z,"Per an IRC discussion and long-considered changes:

 * In wp_scheduled_delete(), look for expired transients and purge them.

 * On DB upgrade, purge all transients, regardless of expiration. (This should probably happen on auto-update as well, but let's let that part slide for now, as DB upgrade will run on all major releases these days.)

We should only do this if ! $_wp_using_ext_object_cache.",nacin
18105,Improve JOIN efficency of tax_query,,Database,,normal,normal,Awaiting Review,enhancement,new,,2011-07-14T04:28:59Z,2012-06-04T23:40:00Z,"Use of multiple items in a tax_query creates an inner join for each entry. This seems unnecessary.

Example query:

{{{
array(
  'tax_query' => array(
    'relation' => 'OR',
    array('taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'term1'),
    array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'),
  )
)
}}}

Resulting SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
  OR tt1.term_taxonomy_id IN (YYY) ) 
...
}}}

Each new entry in the array creates another inner join on the term_relationships table, along with an associated select argument.

However, the term_relationships table is defined with these main keys:

{{{
CREATE TABLE $wpdb->term_taxonomy (
 term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
 term_id bigint(20) unsigned NOT NULL default 0,
 taxonomy varchar(32) NOT NULL default '',
...
 PRIMARY KEY  (term_taxonomy_id),
 UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
}}}


This basically means that the term_taxonomy_id is a unique ID for the row, and it's pointing to a unique relationship between some term and some taxonomy. Essentially, term_relationships defines what terms are in what taxonomies.

Therefore, the extra inner join and selection are entirely unnecessary. All references to a term in a taxonomy are unique. This isn't individual terms we're looking for in this query, but term+taxonomy. 

An equivalent SQL statement to the one given before would be this:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX, YYY) ) 
...
}}}

This is equivalent because both XXX and YYY point to a specific term+taxonomy combination, not just to a term.

For the similar relation = AND case (instead of relation = OR), this query would be equivalent:


{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
AND (wp_term_relationships.term_taxonomy_id IN (YYY) ) 
...
}}}

We get a second statement in the where clause, but note the lack of a second inner join and lack of referencing it. This greatly improves performance. 

Only one inner join is ever actually required for any number of items in the tax_query, thanks to the pre-lookups being performed to find the proper term_relationship entries.

Similar enhancements might be available for the meta table, however that is more complex and may be more difficult to improve.
",Otto42
21212,MySQL tables should use utf8mb4 character set,,Database,3.4.1,normal,minor,Awaiting Review,enhancement,reopened,,2012-07-11T04:26:12Z,2012-10-09T06:56:41Z,"Historically, the MySQL utf8 character set has only supported the first character plane of UTF-8. With MySQL 5.5.3, it now supports the entire character plane, using the utf8mb4 character set. This character set is 100% backwards compatible, and does not require more space than utf8 for characters that fall within the utf8 set, only using an extra byte for characters outside of the utf8 set.

References:

http://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes [[BR]]
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html",pento
19019,Reduce duplication in $wpdb,,Database,,normal,minor,Future Release,enhancement,new,commit,2011-10-20T21:16:00Z,2013-04-22T19:53:27Z,"Currently, update(), insert() and soon delete() [see #18948] use the same code to generate the WHERE clause.

It should be moved into a helper method.",scribu
22884,What if I delete wp_posts table from database.,,Database,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-12T12:48:24Z,2012-12-13T11:51:20Z,"I am not a experienced or mature programmer but I have seen it While I was playing with database of WordPress.

I have deleted wp_posts table in database in WordPress - 3.5(beta).

It looks normal on other pages at admin side but when i open single post it shows post-new.php and when hit save, it shows ""wp_error"" with this message ""You are not allowed to edit this post.""

That's OK. I was expecting error but not this type of error.

It seems WordPress doesn't know that its most important table has gone away and that's why admin may not know( well for a while). I think its not good. well I don't know its issue or it is way it behaves with database and its normal but I think WordPress should know what exactly happened.

when I have updated WordPress with stable 3.5 it has updated but database is still same which is normal.

Should we( can we )track tables( some of tables which are important ) by PHP ?",mukkundthanki
22196,add $wpdb->upsert function,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T12:48:33Z,2012-10-15T14:53:24Z,"If i read http://codex.wordpress.org/Class_Reference/wpdb right, we have only insert and update functions, but for many occations, if would be lovely, if we would have upsert function as well (using INSERT ... ON DUPLICATE KEY UPDATE http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html).

So when i am inserting e.g. posts using database function, i do not have to check if post with that id exist (good for some migration / importing tools etc.)",thomask
10404,dbDelta creates duplicate indexes when index definition contains spaces,,Database,2.8.1,normal,normal,Future Release,enhancement,new,has-patch,2009-07-14T10:59:54Z,2013-03-25T12:24:45Z,"I was adding a much needed index in wp_object_term_relationships, and testing revealed it was getting added multiple times.

This works as intended:

{{{
CREATE TABLE $wpdb->term_relationships (
 object_id bigint(20) unsigned NOT NULL default 0,
 term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
 term_order int(11) NOT NULL default 0,
 PRIMARY KEY  (object_id,term_taxonomy_id),
 UNIQUE KEY reverse_pkey (term_taxonomy_id,object_id),
 KEY term_taxonomy_id (term_taxonomy_id)
) $charset_collate;"");
}}}


This doesn't:

{{{
CREATE TABLE $wpdb->term_relationships (
 object_id bigint(20) unsigned NOT NULL default 0,
 term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
 term_order int(11) NOT NULL default 0,
 PRIMARY KEY  (object_id,term_taxonomy_id),
 UNIQUE KEY reverse_pkey (term_taxonomy_id, object_id),
 KEY term_taxonomy_id (term_taxonomy_id)
) $charset_collate;"");
}}}

the only difference between the two is a space in the reverse_pkey column list. we should remove spaces in there to avoid potential bugs.",Denis-de-Bernardy
20634,dbDelta is unforgiving about field declarations,,Database,1.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-05-08T03:27:05Z,2012-05-24T07:31:40Z,"the variable type is case sensitive:
int(22) != INT(22)

the mysql type BOOL or BOOLEAN comes back from the db as tinyint(1):
tinyint(1) != BOOLEAN

Not a huge issue, just annoying. Makes dbDelta fire off unnecessary sql.
 ",SidHarrell
23061,get_post_meta() on post with large amount of meta keys uses too much memory,,Database,,normal,normal,Awaiting Review,enhancement,new,,2012-12-27T13:40:17Z,2012-12-27T14:54:48Z,"I think it's likely there has been a ticket on this in the past, but I couldn't find one so here goes!

If I have a post that have say 25k post meta entries, and I call `get_post_meta( $id, 'foo', true )` then `update_meta_cache` is going to cause all post metas to be loaded into memory.

In most cases I can see this makes sense, however I recently had an issue where I was storing contest votes as meta keys, a post had 30k votes, and would take about 70MB of memory to get any meta key of that post (even if I didn't want votes). This is fairly edgecase, but the idea that all meta for a post is always loaded even if you don't want it is perhaps over presumptuous as a dev may be storing a large amount of data in meta.

With persistant object caching this is somewhat worse, as the object cache store gets very large. 

I am not proposing this functionality is removed, maybe just a filter or something in http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php#L524 so one could either adjust the query or perhaps pass an array of meta keys to exclude from the sql query",joehoyle
20223,simulate mysql_real_escape_string when not yet connected to DB,,Database,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-13T09:16:53Z,2012-05-16T19:49:33Z,"Currently wpdb::_real_escape() falls back to addslashes() when you're not yet connected to the database

Instead, have it fall back to a closer mimic of mysql_real_escape_string():

Use this to make patch:
http://pastebin.com/5vMaBhQe

Reference: 
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html
http://www.php.net/manual/en/function.mysql-real-escape-string.php",scottconnerly
21055,Interface for wpdb compatibility,,Database,,normal,normal,Awaiting Review,feature request,new,,2012-06-23T17:30:13Z,2012-08-24T01:40:01Z,"==Summary==

From the wp-includes/wp-db.php file:
{{{
It is possible to replace this class with your own
by setting the $wpdb global variable in wp-content/db.php
file to your class. The wpdb class will still be included,
so you can extend it or simply use your own.
}}}

When one implements a db class that does not extend wpdb, it would be safer that the new class implements an interface. This interface may be called wpdb_compat and would assure that the class has all necessary methods/properties. Of course, wpdb_compat should be supported by wpdb too.

== Design Strategies ==

My patch adds:
* wp-includes/interfaces/wpdb-compat.php

Very small edits to:
* wp-includes/wp-db.php
* wp-includes/load.php
* wp-admin/install.php

At the moment, WordPress does not include any interface; this means that there is not a directory for interfaces.[[BR]]
In my first draft, I put it in wp-includes/interfaces so that - if more interfaces will be added in the future - they will have a logical place.
",santec
21663,Use PDO for MySQL queries when PDO is available,,Database,3.5,normal,normal,Future Release,task (blessed),new,dev-feedback,2012-08-22T21:02:28Z,2013-05-20T22:21:49Z,"the mysql_* functions are officially deprecated for PHP 5.4 and will begin throwing E_DEPRECATED errors in the next version of PHP.
http://marc.info/?l=php-internals&m=131031747409271&w=2

Wordpress should use PDO by default, but fall back to mysql_* when PDO is not present.

See also: #11622 for last year's discussion.",scottconnerly
22194,PHP x64 compatibility issue with date values,,Date/Time,,normal,major,Awaiting Review,defect (bug),new,,2012-10-15T09:39:11Z,2012-10-15T10:36:05Z,"Hi,

seems like WordPress is using the ""0000-00-00 00:00:00"" value as magic value for date values, which aren't set instead of NULL.

This is working fine for any PHP x86 builds, because the magic value is also an invalid date.

But PHP x64 builds support this value. It is no longer invalid. It is now a valid date! This will result in problems, because some functions are expecting that parsing this date will return false, but now on x64 systems they won't get an invalid date, when they are expecting one.

So the problem is, that WordPress is using a valid date as magic value for an invalid date aka default value.

Fixing this issue will require a SQL schema change and to update all the code, checking for ""0000-00-00 00:00:00""...

For references, see ticket #21987 and https://bugs.php.net/bug.php?id=53662",Whissi
23227,Properly reflect date and time formats throughout admin area,,Date/Time,3.5,normal,trivial,Awaiting Review,defect (bug),new,dev-feedback,2013-01-17T19:37:21Z,2013-01-18T14:13:53Z,"I have noticed several places in the admin area where the time & date formats set on the General Settings screen are not reflected. For example, on Page Edit, revisions have a hardcoded date format of `'j F, Y @ G:i'` and ajax autosaves use `'g:i:s a'` to show the ""Draft Saved at"" time (of note is the 24 hour vs 12 hour time). The ""Last Edited By _ on _"" time ''does'' properly use the time & date format options.

I have included a patch for the two examples above (comments/critiques welcomed), but there were a few others I noticed that may be somewhat more involved to fix. These include:
- Dates shown in the ""Date"" column of list tables (both the displayed and title text)
- ""Published on:"" date/time for pages (this may be tricky since editing the published time uses a 24-hour time format)
- ""Uploaded on:"" date/time shown in 'Save' metabox on Media edit screen

And there are probably other places I have missed as well.

Obviously somewhat low priority compared to other issues (and may be enhancement rather than defect), but I figured I'd bring it here and see what others thought.",bananastalktome
23203,Scheduling Posts assumes GMT but UI uses local timezone (creating undesired scheduled posts),,Date/Time,3.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-01-15T15:32:09Z,2013-01-16T13:16:59Z,"I experienced an odd behavior when going to edit a page on a newly created site in a multisite environment. The site uses the New York timezone (GMT-5).

When quick-editing the page, I changed the title and slug, but pressing ""Update"" set the page as ""Scheduled"" rather than leaving it ""Published"". This was very confusing, and took a while to figure out and then explain to the end user. It seems that although the date/time is shown in the UI in the current time zone, once submitted the form interprets the time as if it were in GMT. To the end user, it looks like the page should be published since the time shows what we thought was a 5 minutes ago. In reality, the time in the date field is not recognized as 5 minute ago but 4 hours and 55 minutes in the future.

This is a problem in the full edit form for pages in this newly created site as well. When I go to edit the published time/date, the posted time in my timezone is shown. However, ''even if I hit 'Cancel' the ""Update"" button changes to ""Schedule""''.",bananastalktome
20973,date_i18n() produces invalid output for shorthand formats,,Date/Time,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-06-15T13:39:50Z,2013-04-04T16:36:54Z,"date_i18n() function relies on parsing passed format to make adjustments. However shorthand formats are not handled and produce invalid output.

Example:

{{{
var_dump( date_i18n( 'Y-m-d\TH:i:sP', time() ) ); // 2012-06-15T13:34:03+03:00 << ok
var_dump( date_i18n( DATE_W3C, time() ) ); // 2012-06-15T13:34:03+03:00 << ok
var_dump( date_i18n( 'c', time() ) ); // 2012-06-15T13:34:03+00:00 << broken time zone!
}}}


Hook-level fix:

{{{
add_filter( 'date_i18n', 'fix_c_time_format', 10, 3 );

function fix_c_time_format( $date, $format, $timestamp ) {

    if ( 'c' == $format )
        $date = date_i18n( DATE_W3C, $timestamp );

    return $date;
}
}}}

See [http://wordpress.stackexchange.com/q/54700/847 Why time functions show invalid time zone when using 'c' time format?]

Possibly related (can't say for sure from description) #13538",Rarst
21987,function get_post_time -  if gmt  (unset),,Date/Time,,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-09-24T19:33:18Z,2012-12-05T08:47:55Z,"For no publish items and mode auto-draft = close 

if GMT is unset ('0000-00-00 00:00:00' == $post->post_date_gmt)
at wp-includes/general-template.php function get_post_time effect list table -> date column (Last Modified -> %s hours)

Effect code : wordpress\wp-admin\includes\class-wp-posts-list-table.php
class WP_Posts_List_Table -> function single_row  
Line 579 : $time = get_post_time( 'G', true, $post );


I don't know if it affects something else ...

",soficgr
21653,Introduce current_date(),,Date/Time,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-08-21T19:33:59Z,2013-01-07T09:25:24Z,"WordPress comes with a function called `current_time()` which returns the current time according to the timezone chosen on the General Settings screen. It's used when populating the post date, among other things.

It would be nice to have a date equivalent of this function for outputting the current date according to the timezone setting. Currently if you want to output the current date you need to do this:
{{{
echo date( 'd/m/Y', current_time( 'timestamp' ) );
}}}
I'd like to be able to use this instead:
{{{
echo current_date( 'd/m/Y' );
}}}

Note that just using `date()` doesn't give the desired effect as WordPress sets the default timezone (as used by `date()`) to UTC, not to the timezone chosen on the settings screen.",johnbillion
19813,Keyboard shortcuts for editing posted date,,Date/Time,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-12T09:28:13Z,2012-01-12T17:39:31Z,"In short, I thought it would be a nice feature to be able to use the Up/Down arrow keys to increment or decrement the values within the post published date/time input boxes. I found this stackoverflow post with the basics of how to retrieve keystrokes and alter the value based on which one was pressed. 

http://stackoverflow.com/questions/7742364/incrementing-value-integer-in-an-input-type-field.

I then altered the code to prevent negative numbers and stay within the limits of each field type.

Days get 1-31
Year gets 1900+
Hours get 0-23
Minutes get 0-59

JS could probably be cleaned up a bit and condensed, but I wasn't quite sure how to separate them all out. Maybe someone with more js-fu can help out with that",tw2113
19849,Pass $comment_date to get_comment_time filter,,Date/Time,3.3.1,normal,minor,Awaiting Review,enhancement,new,,2012-01-17T17:50:50Z,2012-01-17T17:50:50Z,"I was writing a function to customize the formatted time to include the timezone in the comment meta data using the get_comment_time filter. In order for me to properly indicate whether daylight savings time was in effect at the time of the comment, I needed to globalize $comment to get the comment_time property. The filter passed the $date variable which is the formatted time part of the timestamp but not the $comment_date variable which contained the entire timestamp from $comment. In the function I developed, the $date string wasn't used at all. I returned the formatted time string from $comment->comment_date directly. 

Since get_comment_time() already establishes $comment_date, why not pass it to the filter as well?",lexhair
15921,date column filter in media list table,,Date/Time,3.1,normal,normal,Future Release,enhancement,new,,2010-12-20T18:25:49Z,2011-03-23T17:08:18Z,"please add a filter for date column in media list table, like posts list table.

in wp-admin\includes\class-wp-media-list-table.php @ line:288
replace:
{{{
<td <?php echo $attributes ?>><?php echo $h_time ?></td>
}}}

with:
{{{
<td <?php echo $attributes ?>><?php echo apply_filters( 'media_date_column_time', $h_time); ?></td>
}}}",gonahkar
23132,wp_timezone_override_offset() has noticeable performance hit,,Date/Time,3.5,normal,minor,Future Release,enhancement,new,has-patch,2013-01-06T22:05:19Z,2013-06-12T20:27:42Z,"While wandering through XHProf generated callgraph of my test stack I came upon `wp_timezone_override_offset()` eating 3.4% of runtime (73 calls). I do not expect noticeable resource consumption from such minor configuration-related function.

The obvious performance aspect is that it creates and discards two objects (`DateTime` and `DateTimeZone` - latter seemingly more heavy) per each call, while calculating same result each run.

The less obvious aspect is that the only use of this function is to pre-filter `gmt_offset` option, and it essentially hijacks option cache for it.

Possible solutions:

 - calculate result once per run and cache in static variable inside function (straightforward, but retains multiple function call)
 - filter `gmt_offset` on set rather than get (more involved)
 - scrap the extra function and/or option altogether? is there still practical need for having two options for timezone information?",Rarst
16478,"""Get Shortlink"" button disappears if you edit the permalink",,Editor,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-07T08:44:02Z,2012-10-08T08:33:15Z,"Go to edit a post and change the permalink. The ""Get Shortlink"" button is overwritten by the AJAX response. I think it's a simple case of moving where the shortlink is added, see patch.",solarissmoke
24369,"""Open link in a new window/tab"" shows the wrong information",,Editor,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-19T23:55:56Z,2013-05-19T23:55:56Z,"I noticed that the ""Open link in a new window/tab"" checkbox in Wordpress' editor sometime shows the wrong information. I can get this consistently by:

1/ writing a post in word, including links inserted in Word

2/ copy the text to WP's editor

3/ links will be converted from Word in clean HTML and will open in the same window by default

4/ select the first link and open ""Insert/Edit Link"" by clicking on the Link button. The first time, the box will be unchecked. That's correct.

5/ change that first link to ""Open link in a new window/tab"". click on Update

6/ go to the next link and open ""Insert/Edit Link"" again. Oh no it shows the ""Open link in a new window/tab"" checked while the HTML code shows that it is NOT targeted to ""_blank"".

Example: WP's editor says that this will open in aa new window: http://screencast.com/t/rxR6oeEjL

Bur the HTML is clear: it's not targeted to ""_blank"": http://screencast.com/t/xDBnYsh9Z

Thank you,",hubertnguyen
21563,"""Save as"" button disappearing on edit/new post screens",,Editor,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-13T15:15:58Z,2013-03-11T22:01:41Z,"When switching ""visibility"" from ""public"" to ""private"", the ""Save as (draft/etc.)"" button disappears. It doesn't come back when switching to ""public"" anymore.

[[Image(http://i.imgur.com/EExwB.png)]]",F J Kaiser
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
20609,"<p> tags  in Editor not working on editing with wp_editor, wenn disabling media_buttons or quicktags",,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-05-03T16:36:01Z,2012-05-05T01:01:57Z,"When disabling the media_buttons or quicktags via the third argument in wp_editor via a settings array, <p> tags are not displayed any more, so there are no line breaks any more in the editor. Only ""      "" is in the source code. The Problem also occurs, when changing 'quicktags' or 'media_buttons' in class-wp-editor.php in the core to false. wpautop is still true.

",julian42
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
22185,Distraction Free Writing mode lacks any controls on touch devices,,Editor,3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-13T22:39:05Z,2013-01-10T00:30:44Z,"Distraction Free Writing mode on touch devices is pretty disastrous. All the controls disappear, meaning you can't apply any formatting and - more importantly - you can't save your content or exit fullscreen mode.

Not sure what would be best:
 1. Don't autohide the controls at all on touch devices.
 2. Autohide the controls but add a toggle button which shows up on touch devices to toggle the controls on again.
",johnbillion
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
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
16116,Hide 'Move to Trash' for auto drafts,,Editor,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-06T05:54:59Z,2013-01-22T16:52:51Z,"The 'Move to Trash' link should not appear for auto-drafts. 

This was the original intent of what [13905] removed, which I want to say was designed to reflect additional scenarios.",nacin
22996,IE8 - Hierarchical Taxonomies with bulk terms cause massive slow-down / freeze,,Editor,,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-12-18T19:18:02Z,2013-01-06T08:07:28Z,"For a project, we have about 550+ terms in a single taxonomy, the other taxonomies have around 10-40 each themselves too. There appears to be an issue when IE8 comes across too many checkboxes on a page, and this recently was exacerbated by an upgrade to WP 3.5. The upgrade itself didn't cause it, but it coincided with the addition of a few new terms (don't know how many were added before the upgrade just yet, will post if I find out more info).

To reproduce, you've gotta have a large amount of terms for your taxonomies, then go into the post editor (for whatever post type you're testing on), and ensure your taxonomies have 'hierarchical' set to true in their definitions. I've seen the issue crop up on save (on subsequent load of the page w/ success message on it), and on open of the edit page itself.

The issue seems to be more severe for IE8 on Windows XP Service Pack <= 1, but I've seen it cause a massive slow-down for newer XP versions, just not freeze up entirely like it did on the XP SP 1 machine I was primarily testing on.

''I'm not really sure'' what the solution is going to have to be here, or if this will serve merely as a paper-trail for the folks searching for information about this.

I did a blanket forceful change for checkbox input to autocomplete on the meta boxes associated to hierarchical taxonomies using the following Gist to resolve the freezing for now:

https://gist.github.com/4330772

Here's the info you'll probably ask for, I went down to the basics to see exactly what the cause was:

1. No plugins activated (except a small plugin that had the Gist in it to resolve the issue for me)

2. Standard Twenty Twelve theme activated

3. Tested and found the issue happening on both WP 3.4.x and WP 3.5

4. Tested on XP SP 1 with IE8, saw the greatest degradation of performance here

5. Tested on XP SP 3 with IE8, saw a noticeable freeze and then slow-down of performance as the page loads here",sc0ttkclark
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
13942,Logged-out notice in post edit page is easily missed,,Editor,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-06-17T11:25:40Z,2012-09-27T15:42:48Z,"When a user gets logged out during post editing, a small warning appears bellow the post editor, next to the word count. This warning states that changes will not be saved until user logs in again - but it's a small notice and is very easily missed.

Since this can be potentially catastrophic for users writing long posts while relying on auto-save, a bigger and more prominent notice probably makes more sense.

=== Repro ===

ENV: WP 3.0

This bug can be reproduced in WordPress 3.0 by opening two tabs – one tab with a blog’s Dashboard, and another tab with the same blog’s New Post page. In the Dashboard, click Logout, then switch to the New Post tab. Here, enter any text in the post’s title, then hit Tab to switch to the editor. This will trigger the permalink preview, which will in turn trigger the notice about being logged out: “ALERT: You are logged out! Could not save draft. Please log in again.”

=== Additional Details ===

The notice comes from wp-admin/admin-ajax.php, in line 36.

Currently behavior was introduced by #7630, where it was already noted ""maybe something more obvious needed""",RanYanivHartstein
23103,Non image caption shortcode lost when switching from text to visual editor and back,,Editor,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-01-02T16:40:25Z,2013-02-13T05:56:05Z,"1. Add the line in text editor 
{{{
[caption caption=""test"" width=""300""]Checkuot this text[/caption]
}}}

2. switch to visual editor 

3. switch back to text and you get 
{{{
<dl class=""wp-caption alignnone"" id="""" style=""width: 310px;""><dt class=""wp-caption-dt"">Checkuot this text</dt><dd class=""wp-caption-dd"">test</dd></dl>
}}}
",mark-k
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
20114,Posts and Pages w. private visibility don't show up in existing content,,Editor,3.3.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2012-02-24T20:58:52Z,2012-03-07T13:12:29Z,"when inserting or editing a link in the editor (post or page) pages & posts with private visibility don't show up in the ""existing content"" section of the ""insert/edit link"" popup. All pages/posts with public visibility are shown. This doesn't make sense as I have all necessary privileges to see and edit these private pages/post. Even the admin doesn't see the private pages. Very annoying.",heinrichgeps
22567,Preview button triggers popup blocker in some browsers if no title is set,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-23T21:41:35Z,2012-12-05T21:31:33Z,"Steps to reproduce:

1. Click on Add New (for a post)
2. DO NOT enter a title.
2. Start typing in the post body.
3. Click Preview

Expected result:

New tab opens with preview.

Actual result:

If popup blocking is disabled, a new window opens with the preview.  On subsequent clicks of the Preview button, it reverts to opening a new tab as it should.

Found in WordPress 3.5-RC1.",miqrogroove
20233,Preview opens in the same window when edit panel was previously another Preview window,,Editor,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-13T23:29:16Z,2013-01-03T05:52:29Z,"Steps to reproduce:

1. Create a new post, save as draft
2. Click ""Preview""
3. Go to the Preview window, and from there use the Admin bar to go back to the Dashboard and start writing a new post
4. Save that new post as draft
5. Hit ""Preview""
  * Expected result: preview opens in a new window
  * Result: preview opens in the same window

Is there some way we could get around that? For people working with multiple tabs, it can be really confusing.",hd-J
14749,Scrollbar position jumping in the Appearance->Editor newcontent textarea,,Editor,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-09-01T01:32:10Z,2012-11-01T05:14:52Z,"As I am editing code in the Appearance Editor main textarea called newcontent, the scrollbar slider will jump upward to a new position moving the current line being edited down.

On a vista machine using ie8 with wp3.0.1 and the 2010 theme, a single character stroke will move the scrollbar up 3 lines.  

On an xp machine using ie8 with wp3.0.1 and a custom theme, a single character stroke will move the scrollbar up 8 lines.  Ocasionally the scrollbar will only move 1 line and every keystroke will bring the down.  Pasting text can and often does bring the line being edited below the visible area of the textarea.

It is very frustrating when it jumps around like this.",Giant Slayer
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
19666,Switching from HTML to Visual editor removes some line breaks inside PRE,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-12-25T21:34:59Z,2013-02-09T12:49:25Z,"All line breaks inside PRE elements used to transmit correctly when switching editor mode from HTML to Visual. Around WP3.1 or so, line breaks started to be removed if they happened to be inside an inline element. The common use case is a single CODE element in a PRE element:
{{{
<pre><code>Line 1
Line 2
Line 3</code></pre>
}}}
The above markup used to be handled correctly when switching between editor modes in either direction, but now the line breaks are converted to spaces when switching from HTML to Visual mode.

Many users have posts with a single CODE inside PRE, as it's semantically correct for source code, and is the convention required to support some syntax highlighters like Chili.",mrclay
21311,"The ""Paste as plain text"" feature in TinyMCE produces double-line breaks between paragraphs.",,Editor,3.4.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-07-19T10:41:13Z,2012-07-20T08:44:55Z,"Mac OSX Lion, Chrome, WordPress 3.4.1

See attached SWF for a screen-video demonstration.

 • In WP-Admin -> Posts -> Add new, with the editor in visual mode, click the ""Pase as plain text"" icon [[BR]][[BR]]
 • Paste your content into the window that pops up and click ""Insert"" [[BR]][[BR]]
 • Note that two paragraphs seem to be double-line breaked. [[BR]][[BR]]
 • Switch to HTML mode and note that there are extra ""&nbsp;"" spaces inserted between paragraphs. [[BR]]

 ",uxtremist
21460,The accesskeys in Quicktags don't work in all browsers,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-03T19:21:56Z,2012-08-03T22:01:43Z,"IE (Alt+letter) works properly. Firefox (Alt+Shift+letter) only focuses the corresponding Quicktags button sometimes. Doesn't perform the action. If the button is hidden, performs the action (this shouldn't happen in Quicktags). Chrome doesn't seem to do anything. Opera works differently: Shift+Esc brings a list of all defined access keys on that page. The Quicktags access keys are not listed there.

",azaozz
21934,Title field on Insert/edit link form shouldn't allow autosuggest,,Editor,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-19T21:10:18Z,2012-09-20T22:37:44Z,"When entering a link through the ""Insert/edit link"" thickbox form, Firefox displays autosuggest dropdowns for both the URL field and the title field.

This would be helpful, except that the javascript keyboard handlers bound on keydown/keyup prevent the browser UI from being accessible.

What happens is:

1. User tries to add link to text through the editor (Visual or HTML).
1. User enters the correct URL into the URL field, and exits that field by hitting ""tab"".
1. User begins typing the link title. Firefox browser UI helpfully suggests some similar titles.
1. User sees a title they'd like to use, and hit the keyboard down arrow, thinking that this will select the correct title for them.
1. What actually happens is that the first link listed below in the link to existing content gets selected. This overwrites what's been entered in the URL and title field.
1. User says, WTF just happened.

Solutions:

- Adding `autocomplete=""off""` to these two form fields would prevent Firefox from displaying its autosuggestions. This might fix the problem, but feels kind of like a bandaid.

- A keydown/keyup handler could be attached to each of the text input fields with event.stopPropagation could stop the ui keyboard behavior when typing into those fields.",goldenapples
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
21853,Unable to Add Whitespace After Hyperlinks,,Editor,3.3.2,normal,major,Awaiting Review,defect (bug),new,,2012-09-09T06:22:43Z,2012-09-09T15:10:02Z,"This bug seems to have developed somewhere after version 3.1.

To reproduce this bug:

1. Start a new post or page.
2. Click the HTML tab.
3. Paste this snippet:

{{{
<ul>
	<li><a href=""http://www.google.com/"">Parent item</a>SPACEME
		<ul>
			<li>Child item</li>
		</ul>
	</li>
</ul>
}}}

4. Click the Visual tab and note how the hyperlink runs up against the word ""SPACEME"".
5. Click the HTML tab.
6. Add a space before ""SPACEME"".
7. Click the Visual tab.
8. Like magic, the space has vanished! :(

Curiously, I am unable to reproduce this behavior if I add the space on the Visual tab rather than the HTML tab.  Very buggy!",miqrogroove
24161,Updating long post quickly could result in post truncation,,Editor,3.5.1,normal,critical,Awaiting Review,defect (bug),new,,2013-04-23T00:45:20Z,2013-04-23T02:30:41Z,"I've observed a bug yesterday when updating a 10,000 word post frequently while testing another feature. The last update ended up eating almost half of the post at the end and went unnoticed until today when it was pointed out by users.

I've examined the update history and indeed found the last update to not contain a good portion of the post - it just cuts off.

The only explanation I have for this behavior is that because the post is so long, the update button was pressed while the textarea field was still loading, which interrupted the loading process and submitted whatever was loaded at the time. This is very dangerous - a race condition like that could demolish long posts or posts on slower connections.

A solution here should be a validation function that makes sure the post was loaded before the Update button is clickable. Perhaps just tie the onload to the Update button so it's disabled until the browser confirms things are loaded. I'm open to other suggestions, but I'm now definitely scared of one of the authors or myself accidentally truncating content.",archon810
24439,WP3.6-beta3 deletes <dd> tags,,Editor,trunk,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-05-28T09:00:42Z,2013-05-28T17:20:17Z,"I just installed nightly WP3.6-beta3 and I activated Twenty Thirteen theme because I wanted to test chat post format.

I pasted the following demo content and all <dd> tags are stripped no matter what I do:

{{{
<dl>
	<dt><cite class=""fn"">M</cite>: </dt>
	<dd>Too many free radicals. That’s your problem.</dd>
	<dt><cite class=""fn"">M</cite>: </dt>
	<dd>Yes. They’re toxins that destroy the body and the brain, caused by eating too much red meat and white bread and too many dry martinis!</dd>
</dl>
}}}
",Looimaster
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
9716,WordPress Theme/Plugin editor adds blank lines,,Editor,2.7.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-05-03T20:32:01Z,2012-04-20T16:29:42Z,"When I edit theme css in theme editor in WP admin
!WordPress reformats my CSS and adds a blank life between entrys in css.
it adds a cr and line break ....
In other words if you have a 100 line css
download with FTP look at in text editor
it is now 200 lines
as WP added blank lines to css
it should not be adding things to the CSS?

It may only do this when it wraps window but I think not it appears to add blank lines.

Imagine the damage to a 1000 line CSS it spaces every entry by 1 line!!!!!!!!!!!!!! It stiil works but it messes it up.

THAT IS COFIRMED ONE EDIT DOUBLE SPACE ENTIRE CSS... VERY BAD 

Here is part of the problem but not the double space in total.
When you down load the file in FTP and it is in windows encoding
the line endings.
So you ftp back and all is fine.
Now you are at the coffee shop and what a quick change, so you login to WP admin and theme editor edit CSS.
Now you get home and download in ftp to continue your work on CSS.
The file is now mac formatted (or thinks it is) so when you edit the line endings do not contain the right line breaks for windows OR WP theme editor as it ignores them. This explains the wierd spacing though not the double spacing .... why is it converting to mac and yet ignores mac?!
weird.. it adds a CR tag
must be bug
again though its still double spacing on edit IN windows line ending though if you down load cSS its tagged mac format...


Use notepad 2 or Note pad plus to see the error.
When ever you edit with !WordPress editor it adds cr and says css is now mac formatted.

FTP download the file and now see all the extra CR's it adds.

So it likes CR only so I convert to CR only and it beaks CSS it wants CR LF to work but if that is the case why does the online editor add CR only????????????????????????? 
",Vistronic
23382,WordPress admin panel lags,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-04T19:02:20Z,2013-05-20T00:01:32Z,"I'm using Windows 7, brand-new laptop with i7 processor, 8GB RAM and 1080p resolution.

I have created a post with 15 1920x1080 images in it and a lot of content (25000 characters). Results:

=== CHROME & CHROME CANARY ===
It's far from being usable at all. It lags that much that cursor doesn't even change from ""default"" to ""pointer"" when I hover over ""Publish"" button