﻿ticket	summary	owner	component	_version	priority	severity	milestone	type	_status	workflow	_created	modified	_description	_reporter
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
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
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
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
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
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
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
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
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
20881	Show code references in inherited localization files		I18N		normal	normal	WordPress.org	defect (bug)	new		2012-06-07T20:01:31Z	2012-06-07T20:10:16Z	"For example string ""Invalid post type"" is used several times - on frontend and also in admin. But this string is only in frontend localization file, because this file is also loaded on admin side. That is correct, no need to duplicate strings in different files. But translators do not see code references related to admin file and it can leads to context problems during translation.

It could be very helpfull to modify makepot.php to add related code references to generated .pot files.

Related example: #20809"	pavelevap
21616	add-textdomain doesn't conform to WP coding standards		I18N		normal	normal	WordPress.org	defect (bug)	reopened		2012-08-17T03:07:19Z	2012-08-17T21:37:50Z	I used add-textdomain.php from http://i18n.svn.wordpress.org/tools/trunk on my plugin code, but it does not include a space before the closing parenthesis of the gettext function call it alters, which violates http://codex.wordpress.org/WordPress_Coding_Standards#Space_Usage	groovecoder
21444	update msgid-bugs-address for plugins in makepot.php		I18N		normal	normal	WordPress.org	defect (bug)	new		2012-08-01T20:09:09Z	2012-08-01T20:16:12Z	"The msgid-bugs-address for plugins in makepot.php is outdated.  References ""/tag/"" instead of ""/support/plugin/""."	convissor
12322	Blog import fails to generate reduced-size images		Import		normal	normal	WordPress.org	defect (bug)	new	close	2010-02-21T17:14:59Z	2012-02-14T16:25:41Z	"I just imported from http://daveabrahams.wordpress.com (go ahead, try it yourself if you like) and chose to ""Import Attachments.""  The only images from the original site that show up in the result are those that were originally displayed with size-full.  The others need to be regenerated by inserting them freshly. "	daveabrahams
21023	Blogger Importer Draft Status not processed correctly		Import	3.4	normal	normal	WordPress.org	defect (bug)	new	has-patch	2012-06-20T09:48:55Z	2012-06-20T14:57:20Z	"The blogger importer is loading all drafts posts as published and/or scheduled.

This is caused by an incorrect schema used in blogger-importer-blogitem.php.

The correct schema is as follows

{{{
define('SIMPLEPIE_NAMESPACE_ATOMPUB', 'http://purl.org/atom/app#');
}}}

Ref:
* http://wordpress.org/support/topic/plugin-blogger-importer-blogger-draft-status-changed-to-published-in-wp
* https://developers.google.com/blogger/docs/1.0/reference#DraftEntries"	Workshopshed
21163	Blogger Importer Invalid Tokens		Import		normal	normal	WordPress.org	defect (bug)	new		2012-07-05T11:53:00Z	2012-10-13T19:30:04Z	"When the users clicks on the authorise button google responds with an invalid token error. This is obviously a bit puzzling for the users.

See http://wordpress.org/support/topic/plugin-blogger-importer-invalid-token

The problem seems to be that the form with the authorise button is actually passing blank tokens.

I can't reproduce the problem but I've reproduced their symptoms by switching the URL in get_oauth_link to a non existant one. This returns blank tokens to the form. If you then submit that form you get the invalid token error.

Although this following patch is not actually a fix, we can report the error properly with a change to get_oauth_link and greet and hence it will be easier to diagnose issues.

{{{
       // Shows the welcome screen and the magic auth link.
        function greet()
        {
            $next_url = get_option('siteurl') . '/wp-admin/index.php?import=blogger&amp;noheader=true';
            $auth_url = $this->get_oauth_link();
            $title = __('Import Blogger', 'blogger-importer');
            $welcome = __('Howdy! This importer allows you to import posts and comments from your Blogger account into your WordPress site.', 'blogger-importer');
            $prereqs = __('To use this importer, you must have a Google account and an upgraded (New, was Beta) blog hosted on blogspot.com or a custom domain (not FTP).', 'blogger-importer');
            $stepone = __('The first thing you need to do is tell Blogger to let WordPress access your account. You will be sent back here after providing authorization.', 'blogger-importer');
            $auth = esc_attr__('Authorize', 'blogger-importer');
            $errormsg = __('Error occurred getting OAuth tokens from Google', 'blogger-importer')

            echo ""
		<div class='wrap'>
		"" . screen_icon() . ""
		<h2>$title</h2>
		<p>$welcome</p><p>$prereqs</p><p>$stepone</p>"";
        
            if (!is_wp_error($auth_url)) {
		    echo ""<form action='{$auth_url['url']}' method='get'>
				<p class='submit' style='text-align:left;'>
					<input type='submit' class='button' value='$auth' />
					<input type='hidden' name='oauth_token' value='{$auth_url['oauth_token']}' />
					<input type='hidden' name='oauth_callback' value='{$auth_url['oauth_callback']}' />
				</p>
			</form>
		</div>\n"";
            }
            else {
                    echo $errormsg;
                    echo '<pre>
                    '.$auth_url->get_error_message().'
                    </pre>' ;
            }
        }

        function get_oauth_link()
        {
            // Establish an Blogger_OAuth consumer
            $base_url = get_option('siteurl') . '/wp-admin';
            $request_token_endpoint = 'https://www.google.com/accounts/OAuthGetRequestToken';
            $authorize_endpoint = 'https://www.google.com/accounts/OAuthAuthorizeToken';

            $test_consumer = new Blogger_OAuthConsumer('anonymous', 'anonymous', null); // anonymous is a google thing to allow non-registered apps to work

            //prepare to get request token
            $sig_method = new Blogger_OAuthSignatureMethod_HMAC_SHA1();
            $parsed = parse_url($request_token_endpoint);
            $params = array('callback' => $base_url, 'scope' => 'http://www.blogger.com/feeds/', 'xoauth_displayname' => 'WordPress');

            $req_req = Blogger_OAuthRequest::from_consumer_and_token($test_consumer, null, ""GET"", $request_token_endpoint, $params);
            $req_req->sign_request($sig_method, $test_consumer, null);

            // go get the request tokens from Google
            $req_response = wp_remote_get($req_req->to_url(), array('sslverify' => false));
            if (is_wp_error($req_response))
            {
                return $req_response;
            }
            $req_token = wp_remote_retrieve_body($req_response);

            // parse the tokens
            parse_str($req_token, $tokens);

            $oauth_token = $tokens['oauth_token'];
            $oauth_token_secret = $tokens['oauth_token_secret'];

            $callback_url = ""$base_url/index.php?import=blogger&noheader=true&token=$oauth_token&token_secret=$oauth_token_secret"";

            return array('url' => $authorize_endpoint, 'oauth_token' => $oauth_token, 'oauth_callback' => $callback_url);
        }
}}}

p.s. Sorry I've still not mastered DIFF!"	Workshopshed
8578	Blogger import incorrectly reports saved user information		Import		normal	normal	WordPress.org	defect (bug)	new		2008-12-11T16:53:52Z	2011-09-16T03:52:31Z	"I installed a fresh copy of WordPress 2.7 and was importing content from a Blogger site.  Before beginning to import, the page claimed that Blogger account information was saved in the database and that I could restart the process.  Even after pressing the ""Clear account information"" button, the message still appeared."	covert215
6369	Blogger importer inefficient handling of data		Import		normal	normal	WordPress.org	defect (bug)	new		2008-03-24T03:58:47Z	2013-04-08T17:04:48Z	If the import dataset is large, the Blogger importer can store huge amounts of data in the blogger_importer option.  It then updates this data over and over throughout the import. If MySQL logging (binary or query) is enabled, this can result in a large amount of data being written to disk, potentially filling up the partition rather quickly.  On WordPress.com, I have seen an import write 100MB of binary logs every 2 min.  Andy's suggestion is that we split up the data from the import rather than store it in one option.  This would allow us to manipulate it more granularly and prevent the huge updates from happening.	barry
15034	DotClear Importer doesn't work with DotClear version 2.2.x		Import		normal	normal	WordPress.org	defect (bug)	new	has-patch	2010-10-05T00:28:01Z	2011-01-13T06:33:10Z	This was reported to me by Benjamin GIGON. He has provided a patch, but I am not able/unsure how to test it.	briancolinger
23482	Fix improper use of comment_exists() in some importers		Import		normal	normal	WordPress.org	defect (bug)	new		2013-02-15T18:49:18Z	2013-02-15T18:49:18Z	"Background: #20494

DotClear Importer and TextPattern Importer treat the returned comment post ID as a comment ID: [[BR]]
http://plugins.trac.wordpress.org/browser/dotclear-importer/trunk/dotclear-importer.php#L416 [[BR]]
http://plugins.trac.wordpress.org/browser/textpattern-importer/trunk/textpattern-importer.php#L429"	SergeyBiryukov
16420	Flawed Blogger import, no details		Import	3.1	normal	normal	WordPress.org	defect (bug)	new		2011-01-31T05:44:08Z	2012-10-13T19:08:52Z	Did a Blogger import, showed as finished when it had imported 625/626 posts and 685/685comments. Did not give any indication as to why one post was not imported, which one it was, anything. Gah. Need to put in a feedback mechanism for this type of situation. 	jane
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
24221	Importer doesn't import properly		Import	3.5	normal	normal	WordPress.org	defect (bug)	new		2013-04-29T12:03:24Z	2013-04-29T12:13:19Z	"This is what [Tools > Export] generated:
{{{
	<item>
		<title>Example</title>
		<link>http://example.com/?page_id=4477</link>
		<pubDate>Sun, 03 Feb 2013 12:10:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		<guid isPermaLink=""false"">http://example.com/?page_id=4477</guid>
		<description></description>
		<content:encoded><![CDATA[something at the beginning

<div class=""container"" style=""padding: 3em 0 0 0; margin: 0 0 3em 0; background-color: rgba(195, 195, 195, 0.15);"">
	<h2>Heading</h2>
	<p>Paragraph</p>
</div>

something in the end]]></content:encoded>
		<excerpt:encoded><![CDATA[]]></excerpt:encoded>
		<wp:post_id>4477</wp:post_id>
		<wp:post_date>2013-02-03 12:10:10</wp:post_date>
		<wp:post_date_gmt>2013-02-03 12:10:10</wp:post_date_gmt>
		<wp:comment_status>closed</wp:comment_status>
		<wp:ping_status>closed</wp:ping_status>
		[...]
	</item>
}}}

And now, when I try to import that (exactly in unmodified form) it strips 

{{{
style=""padding: 3em 0 0 0; margin: 0 0 3em 0; background-color: rgba(195, 195, 195, 0.15);""
}}} 

part in some places but not all (I guess this is important)!

And it doesn't strip it when I go to [Pages > Example] and switch to ""Visual"" editor or update the page. It is imported this way (already wrong).

I'm absolutely sure that this happens, tested several times and I can't find an error or explanation.

Export file: UNIX, UTF-8 w/o BOM.

Importer Version: 0.6
Plugin URL: http://wordpress.org/extend/plugins/wordpress-importer/

I've seen a couple of issues related to ""update_post_meta"" that is stripping quotation marks etc. Maybe this is related.

Installation: WPMU (unfiltered_html is probably disabled because it's non-super-admin blog)."	Looimaster
12036	"Importing from wordpress exported file renders ""Remote file is incorrect size"" because file cache"		Import	2.8.6	normal	normal	WordPress.org	defect (bug)	new	dev-feedback	2010-01-26T14:43:08Z	2010-10-18T16:49:10Z	"Hi,

I haven't confirmed this on other platforms, but my OS X machine seem to have an issue when downloading media content from a third party during an import of an wordpress.xml. And by quickly searching the net it seems other people have the same issue.

I've re-run the same import several times and it seem because the file was not flushed it may not have been updated with the file correct size. So even thought all bytes was written, the filesize($upload['file']) is not the same. When thinking about the issue I found the check ridiculously and removed it. Importing then works and all media images are downloaded properly. Previously maybe 50% received the error.

I've attached my proposed diff."	stelund
9678	Importing of plain RSS looses descriptions with xml:lang		Import	2.7.1	normal	normal	WordPress.org	defect (bug)	new	reporter-feedback	2009-04-29T08:24:49Z	2012-09-09T22:19:29Z	"When importing from a generic RSS feed the import function looses <description> if there is an xml:lang attribute. The imported posts will be empty.

xml:lang is a valid attribute for description to denote the language used in the article."	dr_touch
21007	Importing omits backslashes		Import		normal	normal	WordPress.org	defect (bug)	new	has-patch	2012-06-18T08:11:16Z	2012-06-18T12:10:13Z	If you try to import a previously-exported post containing backslashes, those backslashes will be omitted during the import process.	SeMeKh
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
19764	Invalid JSON in custom fields meta value after export		Import	3.3.1	normal	normal	WordPress.org	defect (bug)	new		2012-01-06T17:13:07Z	2012-09-10T10:12:22Z	"Hey there,

I exported a working copy of my online WordPress site to a local copy and noticed that the code gets changed; The backslash is removed which causes the json format to be invalide.
Original code in the custom fields meta

{{{
{""videos"":{""0"":""<iframe width=\""480\"" height=\""360\"" src=\""http://www.youtube.com/embed/YAozOaxXYx4\"" frameborder=\""0\"" allowfullscreen></iframe>""}}
}}}

Becomes in the local site after import 
 
{{{
{""videos"":{""0"":""<iframe width=""480"" height=""360"" src=""http://www.youtube.com/embed/YAozOaxXYx4"" frameborder=""0"" allowfullscreen></iframe>""}}
}}}
"	abdessamad idrissi
5842	LJ import gets time zone wrong		Import		normal	normal	WordPress.org	defect (bug)	new	close	2008-02-13T18:17:09Z	2011-09-16T03:55:09Z	LJ's export format has all dates in GMT, but the wordpress LJ importer treats them as local time.  	novalis_dt
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
12885	LiveJournal importer uses GMT date/time as local date/time		Import		normal	normal	WordPress.org	defect (bug)	new	has-patch	2010-04-07T02:07:25Z	2011-01-26T10:29:09Z	"The LiveJournal importer takes a comment's date/timestamp, which is in GMT, and inserts it into the database as the comment's local date/timestamp. In my timezone (U.S. Central, DST), a comment posted at 12:00pm local time (5:00pm GMT) will be imported to the database as having been posted at 5:00pm local time (10:00pm GMT).

I've attached a patch that I've successfully tested on Wordpress 2.9.2, and it appears to be easily ported to trunk. One caveat: it appears that there are two timezone settings in the Wordpress database (timezone_string and gmt_offset), but as my database has no value for gmt_offset, I don't know if I need to account for that, nor can I test that."	kurtmckee
16183	MT Importer doesn't honor default article comment settings		Import	3.0.4	normal	normal	WordPress.org	defect (bug)	new		2011-01-10T23:00:38Z	2011-01-11T23:22:45Z	"I have a blog on a network that has '''Allow people to post comments on new articles''' and '''Allow link notifications from other blogs (pingbacks and trackbacks.)''' unchecked in '''wp-admin/options-discussion.php'''. The intent is to disable comments and trackbacks, and I can confirm this is happening for new posts when I do '''Post''' > '''Add New'''.

However, the MT Importer doesn't honor this configuration. All imported MT posts have comments enabled."	novasource
16147	MT Importer truncates double vertical spaces, munging paragraphs together		Import	3.2.1	normal	major	WordPress.org	defect (bug)	reopened		2011-01-07T22:25:47Z	2011-08-24T06:20:05Z	"Movable Type 3.x-era exports don't use '''<p>''' tags. Like TinyMCE (and WordPress), a '''<p>''' in final rendered code is represented by two '''\n'''s in a row.

The importer strips out double '''\n'''s and replaces with a single '''\n'''. This causes paragraphs to lose their distinction upon import.

It does this because the '''$line''' variable was created by '''$line = $this->fgets($handle)''' (line 339). Then '''$line = trim($line)''' (line 340) strips out several characters, including '''\n'''.

Lines 455 and 456 add back the '''\n''' ''except'' on blank lines:
{{{
   if( !empty($line) )
   $line .= ""\n"";
}}}

So if a '''$line''' was nothing but a '''\n''', it's stripped by the '''trim''' function and becomes a 0 character line. Then the '''if( !empty($line) )''' declines to add back a '''\n'''.

Somehow this needs to be altered so that successive '''\n'''s aren't stripped. Otherwise paragraphs get vertically munged together."	novasource
18602	Media Library imported, but all items Unattached		Import	3.2.1	normal	normal	WordPress.org	defect (bug)	new	reporter-feedback	2011-09-06T10:10:18Z	2012-09-10T10:15:41Z	"Export XML file from one site, import into another site. By checking ""Download and import file attachments"", files from wp-content/uploads are downloaded correctly to the new site, and added to Media Library. However all items in the Media Library are now ""Unattached"", and for example posts using [gallery] are broken on the new site. "	awallin
22171	Merge Blogger Importer description strings		Import		normal	normal	WordPress.org	defect (bug)	new	has-patch	2012-10-12T00:47:35Z	2012-10-15T06:37:57Z	"In Blogger Importer 0.4, the description strings were:

* ""Import posts, comments, tags, and attachments from a Blogger blog."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.4/blogger-importer.php#L5
* ""Import posts, comments, and users from a Blogger blog."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.4/blogger-importer.php#L914

In Blogger Importer 0.5:
* ""Import posts, comments and tags from a Blogger blog and migrate authors to Wordpress users."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.5/blogger-importer.php#L5
* ""Import categories, posts and comments then maps users from a Blogger blog."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.5/blogger-importer.php#L1026

The core still says:
* ""Install the Blogger importer to import posts, comments, and users from a Blogger blog."" [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.4.2/wp-admin/import.php#L35

I guess we should merge the strings or at least fix the capital P."	SergeyBiryukov
9820	Multiple newlines stripped from within MT import files		Import	2.7.1	normal	normal	WordPress.org	defect (bug)	new		2009-05-14T11:03:43Z	2012-05-24T22:33:01Z	"When I imported entries from my old MT blog into a new Wordpress install, I expected my multiple newlines to be preserved.  This is because MT uses them to form paragraphs; the Markdown or Text Control plugins can do the same in Wordpress, but either way, if you strip them out, you get a huge bundle of text which is difficult to read.

The problem appears to be in the wp-admin/import/mt.php file, which ignores blank lines regardless of context.  If a newline were added in the event of a blank line when the context was body, comment, extended or excerpt, the newlines would be preserved.  The attached patch fixes this."	IndigoJo
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
10259	Problem with dotclear import		Import	2.8	normal	normal	WordPress.org	defect (bug)	new	reporter-feedback	2009-06-24T09:34:07Z	2011-09-16T03:55:46Z	"To the point translation:

Dotclear categories are imported but not assigned to the posts. 

----

Bonjour,
>
>>
>
>> Ayant souhaité le passage de mon blog dotclear en wordpress, j’ai 
>> donc
>
>> utilisé votre module d’import dans l’interface d’administration.
>
>> J’ai rencontré le problème suivant :
>
>> -          les catégories des mes billets étaient bien importées
>
>> mais n’étaient pas liées à ces derniers.
>
>>
>
>> J’ai donc contacté votre staff par l’intermédiaire de votre site mais
>
>> sans succès.
>
>>
>
>> J’ai du coup développé un petit fichier php pour résoudre mon
>
>> problème.
>> Les versions utilisées pour mon développement :
>
>> -          WORDPRESS 2.8
>
>> -          DOTCLEAR 1.2.7.1

"	latour.alain@…
6269	RSS Import Doesn't Properly Strip CDATA Tags		Import	2.3.3	low	minor	WordPress.org	defect (bug)	new	dev-feedback	2008-03-18T00:58:13Z	2012-09-10T16:37:33Z	"When importing an RSS feed that uses the <description> tag as opposed to <content:encoded>, I noticed that WP's RSS import doesn't strip the CDATA tags as it does for the <content:encoded>.

=========Code Lines (83-87)===============
{{{
if (!$post_content) {
// This is for feeds that put content in description
preg_match('|<description>(.*?)</description>|is', $post, $post_content);
$post_content = $wpdb->escape($this->unhtmlentities(trim($post_content[1])));
}
}}}
=====================================

I tweaked the code to solve the problem (see below)

==========Tweaked Code===============

{{{
if (!$post_content) {
// This is for feeds that put content in description
preg_match('|<description>(.*?)</description>|is', $post, $post_content);
$post_content = str_replace(array ('<![CDATA[', ']]>'), '',$wpdb->escape($this->unhtmlentities(trim($post_content[1]))));
}
}}}

======================================

I'd be happy to submit a patch, except I'm not quite that savvy yet. It would be great it someone could incorporate it. Thanks."	sweetdeal
13313	"WP import: ""Upload file and import"" should be deactivated until a filename is entered"		Import	3.0	low	minor	WordPress.org	defect (bug)	new	has-patch	2010-05-09T22:10:55Z	2012-10-31T16:15:09Z	"WP import: ""Upload file and import"" should be deactivated until a filename is entered

ENV: WP trunk 3.0-beta2-14526 [[br]]
Mac OS / Firefox 3.6.3

== Additional Details ==

Same issue with wp-admin/media-new.php (browser upload)

"	lloydbudd
22082	WordPress Import Tool looses the complete category hierachical structure		Import	3.4.2	normal	normal	WordPress.org	defect (bug)	new		2012-10-03T01:53:05Z	2012-10-05T13:49:54Z	"I have exported from my local laptop wordpress installation the posts I had. They have the following structure with categories:


{{{
language  --> main category, parent
- source language   --> for example AF
-- target language  --> for example AFAR for Africans to Arabics
--- lessons
----- lesson 1      --> up to 100 lessons entries 
-- next target language
}}}

and so on

this complete structure is lost after import - they are all changed to parent categories no single child category.
I will attach the export file."	christian_gnoth
21597	WordPress Importer $base_url index failed		Import	3.4.1	normal	minor	WordPress.org	defect (bug)	new	has-patch	2012-08-15T18:30:11Z	2012-09-10T10:03:12Z	"When XRS file without the site url tag is imported, it throws a notice. This patch allow people to upload hand-made and not-attached-to-any-site XRS file.

I came across creating a XRS file to import names of cities from Portugal to a specific custom taxonomy to some sites. This can reflect the necessity of this patch."	lightningspirit
24373	WordPress Importer - Strict Standards compatibility		Import	trunk	normal	normal	WordPress.org	defect (bug)	new		2013-05-20T19:02:00Z	2013-05-24T15:51:40Z	"I am seeing the following errors on wp-admin/import.php, running 3.6-beta3-24300 and PHP 5.4.7, in my single and multisite test installs:

'''Strict Standards:''' Redefining already defined constructor for class WXR_Parser_Regex in xxxxx\wp-content\plugins\wordpress-importer\parsers.php on line 408

'''Strict Standards:''' Declaration of WP_Import::bump_request_timeout() should be compatible with WP_Importer::bump_request_timeout($val) in xxxxx\wp-content\plugins\wordpress-importer\wordpress-importer.php on line 38
"	kpdesign
16404	WordPress Importer fails to import images		Import	3.0.4	normal	normal	WordPress.org	defect (bug)	new	reporter-feedback	2011-01-29T00:42:28Z	2012-09-10T10:13:44Z	"WordPress Importer fails to import images and update image src urls when download and import file attachments is checked.

WordPress MS with images in a post via Media using WP image mapping, e.g. image url: http://site.domainname.com/files/2011/01/myimage.jpg
Fails to download, import and update image src url. All image src urls remain intact from the old domain name.

If you change the image source to specific directory rather than the WP uploads directory: e.g. image url:
http://site.domainname.com/images/myimage.jpg
Images are downloaded and imported to media but it fails to update image src url in posts. All image src urls in posts remain intact from the old domain name.

I tested this on clean install of WP 3.0.4 MultiSite with TwentyTen theme and no other plugins activated."	wlpdrpat
23276	WordPress Importer: Update existing navs instead of new		Import		normal	normal	WordPress.org	defect (bug)	new	has-patch	2013-01-23T17:00:06Z	2013-01-25T02:41:23Z	"A possible solution (reuses logic present in the code):
{{{
$menu_item_db_id = (int) $item['post_id'];
$original_object = get_post( $menu_item_db_id );
if ( is_null( $original_object ) )  {

	$post_parent = (int) $item['post_parent'];
	if ( $post_parent ) {
		// if we already know the parent, map it to the new local ID
		if ( isset( $this->processed_posts[$post_parent] ) ) {
			$post_parent = $this->processed_posts[$post_parent];
		// otherwise record the parent for later
		} else {
			$this->post_orphans[intval($post['post_id'])] = $post_parent;
			$post_parent = 0;
		}
	}

	// map the post author
	$author = sanitize_user( $item['post_author'], true );
	if ( isset( $this->author_mapping[$author] ) )
		$author = $this->author_mapping[$author];
	else
		$author = (int) get_current_user_id();

	$postdata = array(
		'import_id' => $item['post_id'],
		'post_author' => $author,
		'post_date' => $item['post_date'],
		'post_date_gmt' => $item['post_date_gmt'],
		'post_content' => $item['post_content'],
		'post_excerpt' => $item['post_excerpt'],
		'post_title' => $item['post_title'],
		'post_status' => $item['status'],
		'post_name' => $item['post_name'],
		'comment_status' => $item['comment_status'],
		'ping_status' => $item['ping_status'],
		'guid' => $item['guid'],
		'post_parent' => $post_parent,
		'menu_order' => $item['menu_order'],
		'post_type' => $item['post_type'],
		'post_password' => $item['post_password']
	);
	$menu_item_db_id = wp_insert_post( $postdata, true );

	if ( is_wp_error( $menu_item_db_id ) ) {
		$post_type_object = get_post_type_object( $item['post_type'] );
		printf( __( 'Failed to import %s “%s”', 'wordpress-importer' ),
			$post_type_object->labels->singular_name, esc_html($item['post_title']) );
		if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
			echo ': ' . $post_id->get_error_message();
		echo '<br />';
	}
}

$id = wp_update_nav_menu_item( $menu_id, $menu_item_db_id, $args );
}}}"	WraithKenny
23275	WordPress Importer: line-ending mismatch corrupts serialized meta		Import		normal	normal	WordPress.org	defect (bug)	new	has-patch	2013-01-23T16:56:04Z	2013-01-25T02:36:14Z	"A possible solution:
{{{
if ( $key ) {
	// export gets meta straight from the DB so could have a serialized string
	if ( ! $value )
		$value = maybe_unserialize( $meta['value'] );
	// Occationally, line-endings break unserialize()
	if ( empty( $value ) ) // Try normalizing...
		$value = maybe_unserialize( str_replace( array(""\r\n"", ""\r"", ""\n""), ""\r\n"", $meta['value'] ) );
	if ( empty( $value ) ) // Adjust string length if needed
		$value = maybe_unserialize(
			preg_replace( // e flag deprecated in PHP 5.5.0 I think
				'!s:(\d+):""(.*?)"";!se',
				""'s:'.strlen('$2').':\""$2\"";'"",
				$meta['value']
			)
		);

	add_post_meta( $post_id, $key, $value );
	do_action( 'import_post_meta', $post_id, $key, $value );

	// if the post has a featured image, take note of this in case of remap
	if ( '_thumbnail_id' == $key )
		$this->featured_images[$post_id] = (int) $value;
}
}}}"	WraithKenny
12286	bug and fix when importing from Movable Type		Import		normal	normal	WordPress.org	defect (bug)	new		2010-02-19T13:26:59Z	2010-10-30T18:44:11Z	"I'm running WP Mu 2.9.1.1 and had a problem importing a Movable Type blog to WP and found a fix (sort of).

Symptom: When importing a blog from Movable Type to a blog in WP, you are asked to assign (or map) WP authors to MT authors. But, it turns out that the first author on the list is assigned to all posts. The other authors selected are neglected. Therefore, all of the posts end up belonging to one author.

Fix: I found the problem in wp-admin/import/mt.php. Specifically, ""$mtnames"" is not properly populated with authors from MT. So, I changed the code in function get_authors_from_post() as follows:

function get_authors_from_post() {
$formnames = array ();
$selectnames = array ();
$this->mtnames = $this->get_mt_authors();

I just added the last line shown above and then finally the import properly assings authors as intended.
(There might be a better place to put the last line, however.)
"	leyburn888
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
15586	movabletype-importer, trivial: fix no index upload_type warning		Import	3.1	low	minor	WordPress.org	defect (bug)	new	has-patch	2010-11-26T00:43:46Z	2010-12-11T14:06:54Z	"movabletype-importer, trivial: fix no index upload_type warning

ENV: http://plugins.svn.wordpress.org/movabletype-importer/trunk r315664"	lloydbudd
10260	problem img links after import dotclear		Import	2.8	normal	normal	WordPress.org	defect (bug)	new	reporter-feedback	2009-06-24T09:48:17Z	2012-09-10T09:43:28Z	"J'ai développé un fichier PHP pour changer le chemin des images car dans un billet, le chemin était celui du blog dotclear après l'import dans wordpress

---

Translation:

I wrote a php file that changes the image links in posts after a dotclear import. The posts were imported with references to their dotclear location."	latour.alain@…
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
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
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
21913	Detecting MIME Types in WXR Files		Import	3.4.2	normal	normal	WordPress.org	enhancement	new	dev-feedback	2012-09-17T21:09:07Z	2012-10-10T21:46:11Z	"In the process of creating a service to convert TypePad data to WXR formatted files, we've encountered some unique problems with TypePad data. Namely, many TypePad files are saved without file extensions, which prevents the existing importer from importing those files into the wp-content/uploads folder.

In order to import and rename these otherwise ignored files, we've created a patch for the WordPress importer that does the following:

1. If there is an attachment in the WXR and the importer is not able to determine the file type from the file name (ie missing extension), the patched version will make a light (body-less) request to the web server where the file is hosted for information we can use about the file.  The things we're interested in are file type, size, and filename.

2. If the importer is processing an attachment under the above situation, and it is able to determine the file type, then it will rewrite the local version of the file to have the appropriate file extension.

This is a simple bit of code, but it makes a huge difference as TypePad saves without file extensions quite regularly.

We've attached our patch and a sample WXR file from ragsgupta.com, the Brightcove co-founder's blog."	ReadyMadeWeb
4611	Dotclear importer for WP 2.3: flatimport		Import	2.3	low	minor	WordPress.org	enhancement	new		2007-07-11T13:37:57Z	2011-08-04T10:30:33Z	"This importer import '''posts''' (''users, comments, tags, categories''), '''links''' (''categories'') into WordPress 2.3 from a Dotclear '''export flat file'''. A restart procedure allows the import of big blogs.

It's the importer for a Dotclear 2 blog. It imports also from a Dotclear 1.2.x blog (note that the embedded Dotclear importer imports from Dotclear 1 only).

Download the [http://cvie.free.fr/public/flatimport.zip] ; a tutorial is embedded with the flatimport.php script."	albaran
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
8984	Import ... default author		Import	2.7	normal	normal	WordPress.org	enhancement	new		2009-01-28T23:40:11Z	2012-09-10T10:00:15Z	"Suggest import.html contain an optional default author entry box (numeric or alpha lookup). The entry here would become the default author if a valid post_author is not found in the imported posts. This default author would apply to all posts that are part of the import.

I am told WordPress import does allow for a author during import.  I know RSS does not.

To be determined is if this default author should override valid author data - I would think it would.

An advanced feature would be to allow both a number author_ID or the friendly string-based author name to be entered and import.php would try to determine if the friendly name is unique. If not present a list of friendly names along with their blogs and allow the user to select the specific author. "	oregondean
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
22988	Import blogger site from its exported  XML file		Import		normal	normal	WordPress.org	enhancement	new		2012-12-18T05:45:07Z	2013-01-22T18:52:34Z	I saw that wordpress.com has an option to do that.	mark-k
22041	Importer dies silently when multisite upload limit is reached		Import		normal	normal	WordPress.org	enhancement	new		2012-09-28T17:58:57Z	2012-09-28T18:03:31Z	"The scenario: You're importing a WXR file into a site on a multisite network and the WXR includes a number of large attachments. For whatever reason, the upload capacity for each site is set at 100MB.

If the upload capacity is reached during the import process, the import will look like it's hanging forever. Instead, it would be nice to show an alert that the upload capacity was reached or similar."	danielbachhuber
7061	RSS import should store <description> as excerpt if <content:encoded> is present		Import	2.5.1	normal	normal	WordPress.org	enhancement	new		2008-05-29T11:47:32Z	2012-09-10T09:45:24Z	Currently the <description> tag is only used as content if no <content> tag is found.	koke
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
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
12227	Tags are converted to categories upon importation of content from Blogger		Import	2.9.1	normal	normal	WordPress.org	enhancement	new		2010-02-14T18:24:13Z	2012-05-24T22:32:40Z	When I imported posts from my old blog at Blogger/Blogspot, all the tags used for the Blogger posts were converted to categories in WP.  	dwstultz
8822	Use SWFUpload on importer tools		Import		normal	normal	WordPress.org	enhancement	new		2009-01-08T19:33:36Z	2012-09-10T09:53:41Z	"Attached is a patch that does the following:

 * Enables support for the lj-user tag, and creates a link to that user's homepage (with class=""lj-user"" for styling purposes) - fixes #5840
 * Converts lj-cut tags to <!--more--> tags and removes all but the first one
 * Provides the SWFUploader for the uploading files (impacts Blogware, MovableType/TypePad, RSS and WordPress importers as well)
 * Adds some user-friendly instructions on how to export from LJ properly
 * Removes the use of /e in preg_replace() for {{{livejournal.php}}} as detailed in #8689
 * Adds the title of the post to the output in the RSS importer as well (since all the others do that)

This patch was developed based on r10331"	beaulebens
15219	WordPress importer UX/UI review		Import		normal	normal	WordPress.org	enhancement	new		2010-10-26T09:22:52Z	2012-07-23T19:08:41Z	"The newly improved WordPress WXR importer needs some UX love to improve it further!

A few things that I know need improving:

'''Results and feedback'''
Currently you will either see ""All done. Have fun!"" or a list of errors and ""All done. Have fun!"". Clearly this isn't really enough information. The old importer listed every single item being imported and associated errors, which I thought was too much information for a large import. My thoughts was to do something like show the red error message block if any errors occur and have a JS enabled link in this to show a more detailed list of items that were not imported, followed by a table of results displaying the number of succeses, failures and skips (for content already present) for each of the separate sets of data imported.

'''Error strings'''
These need to be useful, there's not much point in saying something went wrong but not giving enough information to diagnose the real issue. They also need to be displayed well (see above), an example of a weird one is trying to import a WXR 1.0 file with an author with a display name non-[a-zA-Z].

'''Other'''[[BR]]
The fix for #13627 needs to be done properly. The role a new user will be imported as is now being displayed but I don't think it's prominent enough yet. You'll see that it's mentioned on step two when choosing how authors will be imported, but if you're someone like me who often only skims instructions it is pretty easy to miss. Maybe some bold/highlighting and another reminder on the final screen?

Anything else people notice as not clear enough when giving the importer a test."	duck_
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
3398	import data from Geeklog		Import		normal	critical	WordPress.org	enhancement	reopened		2006-11-28T05:19:12Z	2011-10-03T08:16:00Z	"I recently converted my blog from geeklog to wordpress, and wound up converting the existing TextPattern importer to be able to pull data directly from a Geeklog database and import it to Wordpress.

The importer is incomplete, but usable, and currently imports categories, users, posts, and comments.  It pretty much does what I needed it to do, and I'm sure someone else can make use of it, and possibly clean it up better."	justdave
12578	import from movable type doesn't import tags or basename		Import	3.0	normal	normal	WordPress.org	enhancement	assigned	has-patch	2010-03-11T00:58:46Z	2010-10-30T18:44:26Z	The current movable type import script doesn't import tags from movable type and it doesn't import the basename (movable type's version of the post_name, which is necessary for a seemless transition). Adding support for importing these two important bits is not terribly difficult and I'm working on improving the import script to aid in my own upcoming migration. I'll attach a patch against the trunk.	stevecrozz
7695	Blogger Importer Should Allow User Creation on the fly		Import		normal	normal	WordPress.org	feature request	new		2008-09-05T19:30:47Z	2012-07-13T07:01:14Z	See MT importer as an example. Otherwise, users need to be created prior to the import to map to other users other than admin.	technosailor
16460	Category/tag converter should support all public taxonomies		Import	3.0	normal	normal	WordPress.org	feature request	new	has-patch	2011-02-05T04:56:39Z	2013-01-17T17:09:40Z	The category to tag converter should let you convert terms to custom taxonomies, if any are defined. I'm attaching a rewrite of the plugin based on 1.5.2, which included support for post formats.	sillybean
16148	MT Importer should match usernames		Import		normal	normal	WordPress.org	feature request	reopened		2011-01-07T22:27:29Z	2012-09-10T10:21:14Z	If I have a blog that already has a user with ID '''XYZ''', and my Movable Type import has a blog post with author with ID '''XYZ''', then the '''Assign Authors''' page in the import wizard should automatically match them by default.	novasource
13928	WP.org plugin update notifications should consider plugin slug		Plugins		normal	normal	WordPress.org	defect (bug)	new		2010-06-16T21:25:30Z	2013-01-29T22:58:24Z	"I have a plugin named ""Events Calendar.""  The actual plugin file and directory is `filosofo-event-calendar/filosofo-event-calendar.php`.

However, I get update notifications for it for [http://wordpress.org/extend/plugins/events-calendar/ this plugin], even though its file is `events-calendar/events-calendar.php`

Everything else--author name, description, and URL--differs as well.

WP.org update notifications should be smart enough to distinguish between plugins with different file structures, at least."	filosofo
23318	Plugins Admin Showing Details for Wrong Plugin		Plugins		normal	normal	WordPress.org	enhancement	new	dev-feedback	2013-01-29T22:41:54Z	2013-04-05T02:00:19Z	"I just set up a new site with some plugins, none of them activated yet.  The plugins screen says:

""There is a new version of Google XML Sitemaps available. View version 4.1 details or update now.""

I know for a fact there is no such version of this plugin.  When I click details link, it tells me to install some other plugin called page-list?!"	miqrogroove
21763	Add Support To Pass An Array Of Plugins To The Plugin Info API		Plugins	3.4.1	normal	normal	WordPress.org	feature request	new		2012-09-01T03:14:42Z	2012-09-01T11:13:54Z	"https://api.wordpress.org/plugins/info/1.0/
Currently only allows one plugin to be passed in a request to get the relevant information back.

However, the update check API allows an array of plugins to be passed. I'm requesting the same functionality be added to the info API and not just for developer use, but for consistancy."	crypticmauler
14209	"Authentication data check button for ""Post via e-mail"""		Plugins		normal	normal	WordPress.org	feature request	new		2010-07-06T13:05:00Z	2010-10-28T06:36:59Z	"Allowing the user to check the ""Post via e-mail"" POP3 data in Settings->Writing ""on the fly"" seems like a nice enhancement. A simple AJAX button would be a significant improvement compared to the current solution. "	wojtek.szkutnik
21284	Better New Plugin Filtering		Plugins		normal	normal	WordPress.org	feature request	new		2012-07-15T17:24:24Z	2012-07-18T15:04:03Z	"Currently trying to sort through available plugins by searching is quite laborious since there is no way to filter out things you don't want - such as plugins that haven't been tested with your version, haven't been updated in 100+ days, have a really low rating, etc.  I'm constantly surprised at how many plugins i have to go through before i can even find one that is compatible with at least WP two versions ago much less the current one.

You should be able to filter on:  Tested with current version, Rating of X+, Download at least XX, and so on to make it easier to find something you want.

And then column sorting after then by date added, date updated, rating, etc."	cbesett
15514	Category/Tag Converter should include Post Format conversions		Plugins		normal	normal	WordPress.org	feature request	new		2010-11-20T03:13:53Z	2013-01-17T17:10:01Z	"The category/tag converter should include the ability to convert categories or tags to post formats.

The converter in general needs a pretty serious UI or code cleanup, so if anyone wants to own this, that would be awesome, and I will assist."	nacin
22981	Tweets import plugin tracking ticket	PeteMall*	Plugins		high	normal	WordPress.org	task (blessed)	accepted		2012-12-17T18:43:42Z	2013-03-29T14:04:16Z	"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
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
14179	Theme asking to update (theme with same name on WordPress.org)		Themes		normal	normal	WordPress.org	defect (bug)	new		2010-07-03T08:34:02Z	2013-01-29T22:58:53Z	"I have a theme with a certain name, but there is a theme with the same name in the WordPress themes directory. So now my theme keeps showing an update message.

Proposed solutions:

1. Add unique hash to each uploaded theme in the themes directory. This way even if someone has a home-grown theme which happens to have the same name, but are not going to upload it to the themes directory, there won't be a conflict. (You could change the name of the theme, but who is to say someone won't upload a theme that also has that name.)

2. Add more fields to the updater check such as author, and date/ time created. This could mean though that theme authors would always have to add this during theme creation, and know why they are doing this. Possibly adding a extra complicating step in WordPress theme design. Otherwise at some point they or their client could start getting a update message for their theme. 

"	design_dolphin
7625	"""Customize Header"" page visual corrections [patch]"		Themes	2.7	low	minor	WordPress.org	enhancement	new		2008-08-28T10:44:50Z	2011-02-07T12:23:07Z	"I prepare patch which make this page a little bit nicer.
Advanced options are now under colorpicker buttons not ""Update Header"" button.

Visualisation: http://img28.picoodle.com/data/img28/3/8/28/f_TestBlog825m_2edd713.png

Patch tested on WordPress blog (latest rev.)."	Simek
16868	Add WordPress Required Version and Tested Up To Version for themes		Themes	3.1	normal	normal	WordPress.org	enhancement	new	has-patch	2011-03-16T20:04:27Z	2012-07-09T15:47:25Z	"The premise of this idea is for Theme authors to be able to add a reference to the version of WordPress their Theme requires to work correctly; and, the version of WordPress the Theme has been tested up to. This idea comes from the the plugin readme.txt file and some of the data that is expected to be found there.

Once implemented, further enhancements to the Appearance tab in the Administration Panels can be added to better inform end-users on the compatibility of the Theme with their current WordPress installation."	cais
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
23532	Sync Tests Repository on Github		Unit Tests		normal	normal	WordPress.org	enhancement	new		2013-02-19T15:56:53Z	2013-04-18T13:31:26Z	"Like with Wordpress, the tests should be synched as well with a git repository under

    https://github.com/WordPress/

Especially after taking in 

    https://github.com/nb/wordpress-tests"	hakre
23113	Automatic notice of new localized version missing		Upgrade/Install	3.5	normal	major	WordPress.org	defect (bug)	new		2013-01-03T21:47:44Z	2013-02-02T08:19:13Z	There was standard behaviour, that users could upgrade quickly to the latest WordPress version and when localized version was ready and released, notice about new localized version appeared in administration. But some users found that it was changed (in 3.5 or maybe 3.4) and when they upgrade to English version, they are not noticed about new Czech version in the future which is annoying. I tried it on some websites and it is true. I am not sure, if it is wanted change (but does not make sense for me) or bug (regression)?	pavelevap
21293	Add bbPress as a flavor option to WordPress Showcase		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-07-17T08:29:13Z	2012-07-17T12:02:44Z	"First discussed here:
http://bbpress.org/forums/topic/bbpress-content-re-organization/#post-114999

The bbPress 2 plugin is now quite mature and gaining traction. There are some outstanding sites using bbPress 2 well worth showcasing already, such as [http://devpress.com/forums/ devpress.com/forums]. It's high time the WordPress showcase site received a ""bbPress"" flavor to accommodate great looking forum sites."	Sadr
19583	Android honeycomb browser gets detected as old version of Safari	nacin	WordPress.org site	3.3	normal	normal	WordPress.org	defect (bug)	reviewing		2011-12-17T01:30:29Z	2013-03-16T16:55:18Z	"Reported by a friend of mine (see image attachment).

User agent string is:

{{{
Mozilla/5.0 (Linux; U; Android 3.2; en-us; A500 Build/HTJ85B) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
}}}
"	Viper007Bond
22242	Automatically set the email for the trac account after logging in		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-10-21T15:51:07Z	2012-10-21T15:51:07Z	"The trac installs use the credentials from wordpress.org.

However, after you log in, you need to set your email address manually to get notifications from trac.

I think we'd have a lot less tickets with 'reporter-feedback' hanging around if the email address was automatically populated after a user first logged into trac."	scribu
14622	Be more specific with ideas		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2010-08-16T10:46:03Z	2010-08-16T10:54:44Z	"In the current ideas section Ideas often get closed for not being core ideas.  However, there's not really an explicit indication that the ideas should be for WordPress core.  For example, some folk post ideas for WordPress.org (as a site). 

I realise Ideas is due for overhaul anyway, but in the mean time it'd be good to have just a one-liner in the blurb to explain more specifically the purpose of ""Ideas"".  Either that, or add a content section for ideas for ""WordPress.org site"" as we have on here."	mrmist
23335	Bizarre sorting while browsing WordPress themes and plugins		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-01-31T05:01:52Z	2013-04-05T15:21:54Z	"Currently, there's some fuzzy logic while sorting plugins and themes. Sorting by popularity seems to be reset I'm guessing on every major WP version update, which I guess is fair, in which case the problem is just missing the proper description of the sort option. 

However, while sorting by rating, nothing really makes sense of the bizarre sort order there. ( [http://wordpress.org/extend/themes/browse/top-rated Top Rated Themes] ) 

Even while searching for a keyword, and sorting by ""rating,"" the [http://wordpress.org/extend/plugins/search.php?q=slideshow&sort=top-rated bizarre sorting ensues].

WordPress.org should be a shining example of what WordPress can do, and nail it. "	ericlewis
22506	Bogus Last-Modified Header on Forum Feeds		WordPress.org site		normal	major	WordPress.org	defect (bug)	new		2012-11-19T15:45:46Z	2012-11-19T15:59:19Z	"In troubleshooting RSS problems, I found that all of the plugin support feeds are responding with

{{{
Last-Modified: Tue, 16 Oct 2012 14:09:51 GMT
}}}"	miqrogroove
18281	Browse Happy API detection bugs		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new	has-patch	2011-07-28T14:26:52Z	2012-09-28T16:03:01Z	"A few bugs we've noticed with the Browse Happy API so far:

1. Mobile versions need to be labeled as such. Specifically, Mobile Safari, Opera Mini, and the Galaxy tablet, I believe. This should mean that the browser doesn't match with our list of five.

2. For IE, we need to be looking at the Trident version numbers. Problem is, IE9 might be using a compatibility UA, which means it would get identified as IE7. Trident/5.0 is IE9, Trident/4.0 is using IE8.

I think the architecture of the API code needs some love. It served its purpose, but it's a bit inflexible for expansion. (See the Kindle hack and such.)

I'm going to open source this code onto http://code.svn.wordpress.org. It would be fantastic if some people can contribute to it and make it the best possible."	nacin
22523	Can't Open Menu on iPad		WordPress.org site		normal	normal	WordPress.org	defect (bug)	reopened		2012-11-21T09:34:49Z	2012-11-21T11:59:47Z	"To reproduce:
1. Go to http://make.wordpress.org/core/
1. Click ""Get Involved""

What Should Happen:  Menu should open.

What it Does:  Reloads current page.

Found in Safari iOS 6.0.1"	miqrogroove
17595	Cannot subscribe by email to some tags on wp.org	Otto42	WordPress.org site		normal	normal	WordPress.org	defect (bug)	assigned		2011-05-28T04:34:29Z	2011-05-28T05:24:18Z	"To reproduce: 

- Visit http://wordpress.org/tags/disable-comments when logged in
- Click on ""Subscribe to Emails for this Tag""

After reload the link should now read ""Unubscribe to Emails for this Tag"", but it hasn't changed, and the user does not receive emails.

The problem appears to be when people use tags that include a space, i.e., ""disable comments"".
"	solarissmoke
17487	Codepage issue with the wp.org Credits API	westi*	WordPress.org site		normal	normal	WordPress.org	defect (bug)	accepted		2011-05-18T10:28:47Z	2012-11-22T03:34:06Z	"I was playing with my profile page at wp.org and changed the Name field from:

{{{demetris}}}

to:

{{{demetris (Δημήτρης Κίκιζας)}}}

What the API returns for that is:

{{{demetris (???????? ???????)}}}

It seems the API returns its results in ISO 8859-1. Can we change that to UTF-8?

"	demetris
20041	"Disable ""Priority"" and ""Severity"" fields for new users"		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-02-14T13:04:53Z	2012-02-18T19:14:30Z	"When a new user comes to report an issue in trac, they always seem to overestimate the severity of their problem.

I guess this is normal human psychology, but it makes the field less useful for everyone else.

So, I propose that only bug gardeners be allowed to set these fields, similar to how the milestone field works."	scribu
21035	Encoding problem on my profile page?		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-06-21T12:30:42Z	2012-08-10T18:18:31Z	"Please see my profile page: http://profiles.wordpress.org/pavelevap.

I made several plugins with non-English names. And these names are broken on profile page..."	pavelevap
22450	Extend Theme previews doesn't stay on same theme when using IE10 or IE9 in Windows 8		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-11-14T19:29:29Z	2012-11-18T15:19:19Z	"Originally reported in the forums: http://wordpress.org/support/topic/theme-twenty-twelve-single-post-preview-in-ie10

Extend Theme previews doesn't stay on same theme when using IE10 or IE9 in Windows 8, after clicking from index to a single post view.

'''What I expected to happen:'''[[BR]]
To continue previewing the same theme when I click around in the preview.

'''What actually happened:'''[[BR]]
The theme changes to Twenty Eleven after clicking

'''To repeat:'''
1. Open http://wordpress.org/extend/themes/twentytwelve
2. Click green Preview button
3. Once in the preview, click into a single post
4. See the theme change to Twenty Eleven

Notes:
- Breaks in both IE9 and IE10 with Windows 8; does not happen in other browsers like Chrome or Firefox; works fine in IE9 in Windows 7.
- Happens with any theme on Extend (tested with Twenty Twelve and Esquire)
- Example URL: http://wp-themes.com/twentytwelve?TB_iframe=true&width=1033&height=612
- Loading wp-themes.com directly (not in the lightbox) works as expected"	lancewillett
23072	Forums should use title to show a hint about accesskeys for <strong>, <em> etc.		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-28T21:56:47Z	2012-12-28T22:02:10Z	"WordPress.org forums should use the HTML title="""" attribute to give users a hint that there are keyboard shortcuts that will help their writing process. That hint would be displayed when users hover their mouse over the <strong>, <em> and other buttons.

Current HTML for the <strong> button:


{{{
<input id=""ed_strong"" class=""ed_button"" type=""button"" value=""b"" onclick=""edInsertTag(edCanvas, 0);"" accesskey=""b"">
}}}

A more user-friendly alternative:


{{{
<input id=""ed_strong"" class=""ed_button"" type=""button"" value=""b"" onclick=""edInsertTag(edCanvas, 0);"" accesskey=""b"" title=""Hint: Press Alt-Shift-B (and the other variants, Cmd-Shift-B on Macs and what are they)"">
}}}"	Daedalon
21793	Incorrect parsing of readme files for plugins on wordpress.org		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-09-04T22:47:36Z	2012-09-06T23:07:00Z	"When wordpress.org parses plugin readme files, it changes URLs in the form www.site.com to links, and adds http:// to the text displayed.

That's good and proper. However, it's not helpful when this happens in a code block.

For example, see the first and third code block of this readme - http://wordpress.org/extend/plugins/sitepush/installation/

The readme validator shows the same behaviour.

The parser should not do any URL parsing in code blocks."	markauk
23822	Invalid Plugin Contributors JSON from WP.org Plugin API		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-03-19T23:41:46Z	2013-03-20T05:39:59Z	"Under some rare conditions, some plugins can break the plugin API with invalid JSON, specifically in regards to the list of contributors returned. This is likely because of the string encoding used to either parse or store the values returned from the plugin file headers.

Basically though, it results in using a null name for a JSON object member where there absolutely needs to be a string.

For example, the ""Aaaaah Lek Lek"" plugin (aaaaaaah-lek-lek) returns the following JSON:

{{{
{
    ""name"": ""Aaaaah Lek Lek"",
    ""slug"": ""aaaaaaah-lek-lek"",
    ""version"": ""1.0"",
    ""author"": ""<a href=\""http:\/\/valeriosouza.com.br\"">Val&#233;rio Souza<\/a>"",
    ""author_profile"": ""http:\/\/profiles.wordpress.org\/valeriosza"",
    ""contributors"": {
        null: """"
    },
    ""requires"": ""3.0.1"",
    ""tested"": ""3.5.1"",
    ""compatibility"": [
        
    ],
    ""rating"": 0,
    ""num_ratings"": 0,
    ""downloaded"": 20,
    ""last_updated"": ""2013-03-12"",
    ""added"": ""2013-03-12"",
    ""homepage"": ""http:\/\/valeriosouza.com.br"",
    ""sections"": {
        ""description"": ""<p>Coloque a frase da m&#250;sica LekLek em seu WordPress, dentro do painel administrativo.<\/p>"",
        ""installation"": ""<p>Siga para Instalar<\/p>\n\n<ol>\n<li>Fa&#231;a Upload <code>aaaaaaah-lek-lek<\/code> para a pasta <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Ative no menu 'Plugins' no seu WordPress<\/li>\n<\/ol>"",
        ""changelog"": ""<h4>1.0<\/h4>\n\n<ul>\n<li>Lan&#231;ada Vers&#227;o 1.<\/li>\n<\/ul>"",
        ""faq"": ""<h4>What about foo bar?<\/h4>"",
        ""other_notes"": ""<h3>Arbitrary section<\/h3>""
    },
    ""short_description"": ""Coloque o Lek Lek no seu WordPress"",
    ""download_link"": ""http:\/\/downloads.wordpress.org\/plugin\/aaaaaaah-lek-lek.zip"",
    ""tags"": {
        ""frases"": ""frases"",
        ""leklek"": ""leklek""
    }
}
}}}

JSONLint comes back with:

{{{
Parse error on line 7:
...ibutors"": {        null: """"    },    
----------------------^
Expecting 'STRING', '}'
}}}

These plugin details come from these files:
* http://plugins.svn.wordpress.org/aaaaaaah-lek-lek/trunk/readme.txt
* http://plugins.svn.wordpress.org/aaaaaaah-lek-lek/trunk/leklek.php

(it mentions a stable tag, but there are no actual tags)

You might also notice that Extend is unable to display these details correctly either: http://wordpress.org/extend/plugins/aaaaaaah-lek-lek/"	bpetty
17138	Link to plugin URI on plugins on wordpress.org		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2011-04-15T04:44:10Z	2011-08-17T23:23:49Z	"The link to the Plugin URI seems to have disappeared from plugin pages on the WordPress Plugin Directory. The donations link still appears (when present).

Be nice to get it back."	johnbillion
22811	Make WordPress.org's links use http or https by auto-detection		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-07T15:27:04Z	2013-04-15T15:34:43Z	"WordPress.org's links are hardcoded to use the http protocol despite the pages also being viewable using https (which is great). This causes unwanted hassle with eg. bookmarks, showing which pages were or were not visited and so forth.

An example of the steps to reproduce:

1. Go to a https URL (eg. https://wordpress.org/extend/plugins/search.php?q= with the search string appended after the ""="", this being the only way to search on WordPress.org via https as all the forms redirect to http).
2. Type anything in any of the search forms.
 -> A warning is shown that you're being redirected to an unencrypted page.

OR

3. Go to a https URL (eg. https://wordpress.org/extend/plugins/types/ ).
4. Bookmark the page. Imagine a few months happening before the next step.
5. Click the Description tab (when browsing normally you'd click another tab in between but it's not a necessary step here).
6. You're now on a page that you haven't bookmarked. Bookmark it, because you like this page and don't remember having bookmarked a rather identical page months ago.
7. You end up having multiple bookmarks for the same pages.

The fix for all these is rather easy on paper: have all links on wordpress.org that point to wordpress.org automatically use the protocol used for loading the page currently being viewed. Start with having forms' targets use this, then navigational links, and later consider either auto-converting links in page contents (eg. plugin descriptions) or mentioning the possibility of using `://` links for this next to editors."	Daedalon
23379	Make it possible to update localization files through subversion again, or provide a standalone mo/po file download		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-04T04:57:40Z	2013-02-04T08:38:15Z	"Hi,

I wrote a script here a couple years ago to update the core WordPress application through subversion, coz I am tired of tracking my own modifications (if there is any)

https://github.com/timdream/wp-script

However, starting v3.3.1, I am not be able to update mo/po files through wordpress-i18n svn repo. According to the localization site here https://tw.wordpress.org/, I would have to export the files through GlotPress myself.

That leave me two choices with my script:

1. Hack my way through GlotPress, curl the GET requests to download the l10n files. The script would have to figure out 3.5.1 comes from 3.5.x first, and zh_TW -> zh-tw.
2. Download http://tw.wordpress.org/latest-zh_TW.tar.gz, extract and discard everything except the language directory.

Neither approach is optimal. So I would like to propose some possible approaches here:

A. Export the po/mo files back to subversion. I think this must have been discussed somewhere with people against it.
B. Provide latest-zh_TW-language.tar.gz package.

I am not aware of whether (B) is already exist or not, nor I am aware of where the packaging script is being maintained. If the script is somewhere publicly available through subversion, I am more than happy to provide a patch to it.

Until then, I would probably need to find some time to implement (1) in shell script :-/ Thank you for reading the bug report.
"	timdream
22525	Marking duplicates on Trac without a ticket number improperly resolves the ticket	nacin	WordPress.org site		normal	normal	WordPress.org	defect (bug)	assigned		2012-11-21T11:38:50Z	2012-12-02T16:39:39Z	For some reason, the last ticket I submitted closed itself when I tried to reply to it.  Looking for a Trac bug now.	miqrogroove
23256	Mitigate Plugins SVN Exponential Storage Growth		WordPress.org site		normal	major	WordPress.org	defect (bug)	new		2013-01-21T23:41:56Z	2013-02-03T21:02:40Z	"We all know Subversion is terribly inefficient with storage compared to most modern version control systems, however I've noticed a pretty serious problem that goes way beyond this in the plugins SVN repo. Please forgive me if some details are slightly off as obviously anything running WP.org infrastructure is mostly a black box that no-one outside of Automattic or Audrey has any insight into (and I'm lucky to have found this problem in the first place).

If you take a look at the attached graph, you can see that the plugins repository is growing exponentially by disk usage regardless of what rate commits are coming in (but that has always been growing too, making this worse). I am assuming the repository is using FSFS, though this is actually still a problem if it were using BDB. All SVN repositories suffer from this weakness if used the same way the plugins SVN repo is being used.

The problem is that every SVN commit stores off node IDs of every sibling node of every parent node of all nodes that have changed in that revision. This means that a single commit to `/myplugin/trunk/readme.txt` contains references to all files and directories (and their related revision) in the `/myplugin/trunk` directory, the references to the `branches`, `tags`, and `trunk` nodes in `/myplugin`, and finally references to every directory in the root node (`/`) which means every single plugin in the repository.

Since the root node is related to any changed node in every single commit, and the list of plugins is constantly growing, this means that even though the repository is somewhere around 450GB right now, the actual data in the repo, including the full history, is only about 30GB. You can confirm with a simple dump of the repository. The other 420GB or so is entirely wasted space by SVN overhead.

If nothing is done in the next two years, the SVN repository is expected to double in size to about 900GB, and it’s performance will quickly degrade as the server takes longer to read revisions and the filesystem cache can no longer be used (which I suspect is already the case now). Another four years, and we could be looking at a 2TB Subversion repository with every single commit being required to write about 8MB to disk even if it's a one line change.

I know that any solution to this is going to take years to fully implement mostly because I believe this is going to require plugin SVN URLs to change during a migration at some point most likely. However, at the least, we should be heading up this problem by getting new plugin submissions started in their own repository rather than creating new directories for them in the current plugins SVN repo. This would at least stop the exponential growth of the plugins repository, extending it's lifespan significantly."	bpetty
23712	My browser is NOT out of date		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2013-03-07T15:42:29Z	2013-03-09T23:36:13Z	"Hello.
I'm running Win7 64bit with Firefox 19.0. When I log in my wordpress site admin panel an orange box pops up saying I should update my browser.
The operating system and the browser are completely updated."	assenoff
16524	No documentation (not possible?) to add plugins to Trac		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-02-10T19:58:05Z	2012-09-13T20:21:30Z	"When developing a plugin, it's normal to set up a bug-tracker of some sort. I have found no documentation on how to do this using THIS bug tracker: trac.  I've noticed that SOME plugins have support here, but nobody I've talked to knows how to get their custom plugins added to this bug tracker, which means that most of the plugins in the repository have no official bug tracking in place.  That's a huge disservice to the community because only a fraction of those developers have the wherewithal to set up their own bug trackers.

This ticket is to request:
1. Access to trac for all plugin developers
2. Thorough documentation on how to get this set up for any new plugin authored
3. Ideally, incorporate this in a standardized way for all plugins so the authors don't have to do any extra footwork."	fireproofsocks
19635	Non-ASCII chars in user name changed to question marks after sending new plugin request		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-12-21T13:52:47Z	2012-08-10T18:12:55Z	"I have just sent request to add new plugin to repository, and found that some chars in my name were changed to question marks:

{{{
WordPress Plugins » Requests
user-ranks from Daniel Fru?y?ski (sirzooro) [plugin]
}}}

Should be:

{{{
WordPress Plugins » Requests
user-ranks from Daniel Frużyński (sirzooro) [plugin]
}}}"	sirzooro
18231	Opera Mini being reported as out of date	nacin	WordPress.org site	3.2.1	normal	normal	WordPress.org	defect (bug)	assigned		2011-07-24T05:14:23Z	2012-09-28T16:05:28Z	"From http://wordpress.org/support/topic/latest-opera-mini-flagged-as-old-version-of-opera?replies=1


I use the latest Opera Mini for Symbian v 6.1.25570 for access to my WordPress.org blogs from my mobile phone. It works well for comment moderation, minor edits to posts and upgrading plugins.

Since upgrading to WP 3.2.1 I've been seeing ""It looks like you're using an old version of Opera.."" on my Dashboard.

This message is incorrect as I AM running the latest version of Opera Mini. It's only a minor annoyance but it would be nice if it was fixed."	Ipstenu
22533	Plugin Rating stars is incorrect		WordPress.org site		low	minor	WordPress.org	defect (bug)	new		2012-11-21T23:04:07Z	2012-11-21T23:27:52Z	"The stars rating doesn't reflect the average rating correctly. 

For example:
http://wordpress.org/extend/plugins/automatic-updater/

At the time of reporting, there were 13 ratings: 9*5, 3*4, 1*1, for an average of 4.46, shown correctly in the text as ""4.5 out of 5 stars"".

The star rating doesn't seem to be using the same number, however - it should be 89.2% (or 90%, if it uses the rounded up ""4.5"" as the rating), but is showing as 82%."	pento
21550	Plugin changelog truncation can break WordPress.org site layout		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-08-11T16:32:59Z	2012-08-11T16:35:41Z	"WordPress.org appears to truncate plugin changelogs after a certain number of characters. However, if the truncation occurs in an inconvenient place -- such as the middle of an HTML tag -- it can cause browser rendering issues in other parts of the page.

For example, on the [http://wordpress.org/extend/plugins/seo-ultimate/changelog/ changelog page] for my plugin SEO Ultimate, the plugin page sidebar is currently showing up below the changelog ([http://img405.imageshack.us/img405/7557/brokenchangelogscreen.png screenshot]). This is because the changelog is being truncated in the middle of an <li> tag, apparently leading my browser (Chrome) to fail to recognize a </div> closing tag:

{{{
<l</div><!-- block-content--></div>
}}}

I would suggest that the easiest and perhaps best solution would be simply to stop truncating plugin changelogs. Layout breakage possibilities aside, I would prefer it if my plugin's changelog were not cut off after a certain point."	JohnLamansky
23411	Plugin images are sent with wrong Content-Type		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-07T09:26:46Z	2013-02-07T10:01:38Z	"Some images are sent with the Content-Type `application/octet-stream`.

Example: http://s-plugins.wordpress.org/buddypress/assets/screenshot-1.gif?rev=626668


{{{
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/octet-stream
Date: Thu, 07 Feb 2013 09:18:48 GMT
ETag: ""626668//buddypress/assets/screenshot-1.gif""
Last-Modified: Sun, 18 Nov 2012 17:27:41 GMT
Server: ECS (fcn/419A)
X-Cache: HIT
Content-Length: 11248
}}}

Linked from http://wordpress.org/extend/plugins/buddypress/screenshots/

Each time I want to load the pure image I get a download dialog in my browser."	toscho
22288	Plugin package is old version when upgrading plugin shortly after release		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-10-26T15:39:49Z	2012-11-14T11:16:13Z	"The past few times I have done plugin releases, I have noticed an issue with the wrong plugin package being downloaded.

For example, I release a new version of a plugin via SVN. The plugin update appears on .org, and the download link downloads the new version. 

The update also appears in a WordPress install shortly after (assuming transients are deleted for the fastest way to get the update to show). If I then Upgrade the plugin from the, WordPress install the Upgrader Skin does the usual Downloading Plugin... and the package (zip) that is shown to be downloading is the previous version. Of course, it does download the previous version and again shows an update is available.

After about 5-10 minutes this usually fixes it's self.

I don't know how the .org side of things work, is it possible that the updated version will show up, but whatever is responsible for getting the latest package is relying on a different cache or something?

"	joehoyle
17709	RTL for the Support Forum theme on the international sites		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-06-06T15:57:51Z	2011-09-07T00:06:17Z	"The RTL styles for the support forums are incomplete. I don't have access to the original files to make a patch, but these fixes should be all that's needed:

{{{
#pages a:after, #pages span:after { content: &amp;quot;\200F&amp;quot;; }
#pagebody table.widefat th { text-align: right; }
#pagebody ol#thread { list-style: none; }
#footer iframe, #footer p { float: left; }
#footer h6 { float: right; }
}}}

"	RanYanivHartstein
20179	Redirect visitors from plugin admin URL to plugin URL if user not admin		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-03-05T17:58:47Z	2012-04-05T18:33:02Z	"The WordPress plugin directory features an ""admin/"" path relative to each plugin. If I am logged-in to WordPress.org and associated with the plugin slug I'll see a few helpful links and utilities. If I have no mapped relationship to the plugin I see the plugin homepage. I'd like to redirect visitors to ""extend/plugins/{slug}/admin/"" to ""extend/plugins/{slug}/"" if they do not have an admin relationship to the given plugin.

Example: I visit a plugin page either logged out or logged in without any association with the plugin.
http://wordpress.org/extend/plugins/akismet/admin/

Response should be a redirect to:
http://wordpress.org/extend/plugins/akismet/

Right now the response is the same content as the plugin homepage."	niallkennedy
22106	SVN Notify emails don't support UTF-8		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2012-10-05T06:30:42Z	2012-10-05T06:38:07Z	"If there are UTF-8 characters in the changelog, they are shown as UTF-8 numerical codes, instead of the appropriate character.

For example, see this change:

http://plugins.trac.wordpress.org/changeset/608203/automatic-updater

Compared to the attached email screenshot."	pento
23410	Screenshots behaviour not same between /assets and /tags/xxx		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-07T06:04:23Z	2013-02-17T04:32:27Z	"Plugins screenshots have differing behaviour whether stored in /assets or /tags/xxxx folders in plugin SVN repository.

* /tags/xxxx => scaled images with links to source images
* /assets => scaled images without links

Also, when loading a plugin for the first time recently, the screenshots didn't appear until after I added them to the /assets folder. I suspect something has changed there, as I had read that screenshots should fallback to stable tag/trunk folder.

Examples:
* [http://wordpress.org/extend/plugins/gravity-forms-dps-pxpay/screenshots/ Gravity Forms DPS PxPay] has /assets folder, screenshots don't link
* [http://wordpress.org/extend/plugins/gravityforms-eway/screenshots/ Gravity Forms eWAY] has no /assets folder, screenshots link to source images"	webaware
22809	Support Pale Moon browser in out-of-date dashboard widget		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-07T14:28:40Z	2012-12-08T12:44:00Z	"The ""Your browser is out of date!"" notification in WordPress dashboard is shown erroneusly for Pale Moon users.

Pale Moon is the most popular optimized version of Firefox, and its version numbering scheme runs a bit different from the mainstream Firefox. The current version of Pale Moon http://www.palemoon.org/ is 15.3.2, which is just as up-to-date as Firefox 17.0.1.

Summary of the issues:

1. The version check should be done against Pale Moon version number instead of Firefox version number.

2. The text and links should refer to update Pale Moon instead of Firefox."	Daedalon
19011	Support forum topics with Cyrillic titles cannot be found via Google		WordPress.org site		normal	major	WordPress.org	defect (bug)	new		2011-10-20T02:22:19Z	2011-12-23T04:25:14Z	"None of the topics with Cyrillic titles on ru.forums.wordpress.org can be found via Google. Topics with Latin slugs are indexed properly. Same for the other forums in Cyrillic (bg.forums.wordpress.org and sr.forums.wordpress.org).

This wasn't a big issue three years ago when there were just a few posts, but now that more and more questions are asked and answered each day, it's hard for users to find previous topics and solutions.

[http://lists.automattic.com/pipermail/wp-forums/2011-February/006773.html According to Otto], there's no `robots.txt` or anything else blocking Google from indexing them.

This is probably a Google bug, but I've tried to ask on their Help forum, and no one replied.

My guess is this has to do with 4th-level domains currently used for localized support forums. In this case, wouldn't it be possible to switch from `ru.forums.wordpress.org` to `ru.wordpress.org/support/`, similarly to English support forums?"	SergeyBiryukov
23485	Theme Preview on Extend starts in the middle of the page		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-02-16T10:39:50Z	2013-03-05T16:02:50Z	"The theme preview iframe is positioned at 50% from top, the lower 50% are invisible. Tested in Chrome, Firefox and Opera, all up-to-date.

Clicking ''Inspect Element'' in any of these browsers makes the iframe jump to the correct position, so I cannot provide more details, sorry.
"	toscho
18097	Themes update-check should check parent/child		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2011-07-13T10:19:33Z	2011-07-21T02:49:14Z	"A child theme by the name of Commune gets served the updates of a parent theme.

We should only serve an update to a theme if it's a child or parent, appropriately. For child themes, we should also confirm the parent."	nacin
22770	Tweak Browse Happy so it doesn't jump the gun with out-of-date browser messages		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-12-06T01:28:44Z	2012-12-06T06:44:20Z	"Browse Happy is a useful tool for encouraging WordPress users to keep their browsers current. 

However, sometimes Browse Happy jumps the gun.

For instance, on GNU/Linux distributions like Ubuntu, users can choose to install Chromium directly from the repository (as opposed to downloading Chrome from Google's site). 

Chromium, when installed this way, is kept up to date by the operating system's package management tool, not manually. Users receive notifications from their operating system prompting them to upgrade when new versions of the browser are available. 

It makes no sense to show a Chromium user a ""your browser is out of date"" message when their browser is, in fact, up to date - as provided by their distribution. 

Unfortunately, that is what it happening now. 

Similarly, Microsoft has not yet released Internet Explorer 10 for Windows 7, so it is not appropriate to tell users of IE9 that their browser is out of date. IE10 is available for Windows 7, but only as a release preview - similar to a WordPress release candidate. We wouldn't prompt users to upgrade their production WordPress installations to a release candidate, so why is Browse Happy telling Windows 7 IE users to upgrade to IE10 when the final version of IE10 has yet to be released?

Browse Happy should be tweaked so it does not jump the gun with out-of-date browser messages before browsers are really out of date. Users should only get a prompt to upgrade if there is in fact a newer version of their web browser available to them that is out of beta and suitable for production use."	avcascade
20615	Unknown error when running plugins_api() with invalid slug		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-05-05T14:59:07Z	2012-05-05T15:40:35Z	"Input:

{{{
$api = plugins_api( 'plugin_information', array( 'slug' => 'doesnt-exist' ) );

var_dump( $api );
}}}

Expected result:

{{{
WP_Error Object
(
    [errors] => Array
        (
            [invalid_slug] => Array
                (
                    [0] => Invalid plugin slug.
                )

        )

    [error_data] => Array
        (
            [invalid_slug] => 404;
        )
)
}}}

Actual result:

{{{
WP_Error Object
(
    [errors] => Array
        (
            [plugins_api_failed] => Array
                (
                    [0] => An unknown error occurred during the API request.
                )

        )

    [error_data] => Array
        (
            [plugins_api_failed] => N;
        )
)
}}}

PS: I have no idea what that 'N' is supposed to represent."	scribu
21991	Username input placeholder text cut off		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-09-25T08:18:21Z	2012-09-25T08:18:21Z	"On wordpress.org I'm invited to log in using my ""Username or em""."	johnbillion
21542	WP.org notifications don't support UTF-8		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2012-08-10T18:10:09Z	2012-08-10T18:12:51Z	See the screenshot.	SergeyBiryukov
23989	Wonky download button on plugin support forums		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-04-08T15:27:57Z	2013-04-08T18:21:06Z	"On the 'Support' tab for any plugin in the wordpress.org plugin repo, the Download button is a bit wonky.

[[Image(http://i.imgur.com/5gctAEO.png)]]"	johnbillion
15366	WordPress Development Blog feed can't redirect		WordPress.org site		high	normal	WordPress.org	defect (bug)	reopened		2010-11-09T21:13:42Z	2011-02-17T22:39:16Z	"The RSS feed doesn't know to follow the redirects.

We'll need to restore a feed at /development/feed/ -- rewrite instead of redirect."	nacin
24005	WordPress.org search field looks broken in Opera		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2013-04-09T13:07:58Z	2013-04-09T13:13:08Z	This is how it looks in Opera 12.15, Win8, x64 (see attach)	seezer
18773	Wordpress codex pass word problems		WordPress.org site	3.3	normal	normal	WordPress.org	defect (bug)	new		2011-09-25T21:55:07Z	2011-09-26T10:14:38Z	"Ok this is the third time I've tried to post this here- I've split the pass word up because I thought that some bit may be preventing this from being posted thinking that I'm revealing sensitive data.

I set my pass word to a strong one with brackets, double quotes and a semicolon in it. This worked for the forums and the trac but not for the codex (wouldn't let me in).

"	volcanicpixels
19432	[SITE] Belguim IP shows only French version?		WordPress.org site		normal	minor	WordPress.org	defect (bug)	new		2011-12-03T10:59:37Z	2011-12-04T10:46:52Z	"When a Belgium IP address goes to the English version of the WP.org site I shows that WordPress is also in French. But we have also Dutch & German in this country. So I was thinking: why not display the message as follows: 

'click here if you want WordPress in another language' and this takes you to a page where all languages are listed. That way a user that is at holidays in China easily find his French or German version."	jonezjea
18981	erroneous pie graph in plugins repository		WordPress.org site	3.2.1	normal	normal	WordPress.org	defect (bug)	new		2011-10-18T06:43:00Z	2012-06-21T12:26:06Z	"In plugins repository of wordpress.org:
Since more than a week, pie graph of statistic are erroneous... Only one part, very old version targeted !
What happens ?

one example in our seven list and other more : http://wordpress.org/extend/plugins/xili-language/stats/

"	michelwppi
17095	format or validate author url from api.wordpress.org		WordPress.org site		normal	normal	WordPress.org	defect (bug)	reopened		2011-04-09T16:44:13Z	2011-04-09T18:04:56Z	"The author url from api.wordpress.org does not seem to do full format checking. Not apparent in browsers since they will understand malformed urls but is a problem when outputting elsewhere.

Example: 
{{{
<author type=""string""><![CDATA[<a href=""http:www.artificium.sk"">Stanislav Gunčaga</a>]]></author> 
}}}


 "	wycks
23958	http://wordpress.org/showcase/ is broken for retina		WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2013-04-06T12:19:26Z	2013-04-06T12:19:26Z	"First time I do see an image but when whole page is loaded the image is ""File not found"". Only Quartz is showing up in the slider."	markoheijnen
11905	trac spam	ryan	WordPress.org site		normal	normal	WordPress.org	defect (bug)	reopened		2010-01-15T13:05:08Z	2013-04-21T09:15:45Z	http://core.trac.wordpress.org/ticket/9534#comment:7	scribu
23034	wordpress-sources is not up to date	nacin	WordPress.org site		normal	normal	WordPress.org	defect (bug)	assigned		2012-12-21T08:16:31Z	2013-01-10T06:55:04Z	"It would be nice if you could include as part of your standard release workflow a step that ensures that http://code.trac.wordpress.org/browser/wordpress-sources is up-to-date.

For instance WP 3.5 ships JQuery 1.8.3 but the above repository only contains the source for version 1.8.1. JQuery UI is at 1.9.2 while the above repository only contains 1.8.23."	rhertzog
13576	wordpress.org themes list, sidebar broken in IE7	ryan	WordPress.org site		normal	normal	WordPress.org	defect (bug)	new		2010-05-27T14:49:20Z	2012-08-10T18:25:26Z	"wordpress.org themes list
the sidebar in IE7/IE8 is displayed AFTER the themes, Firefox ok."	maurizio04
22440	"Add ""app"" to the .org intro paragraph."		WordPress.org site		normal	minor	WordPress.org	enhancement	new	dev-feedback	2012-11-14T11:26:45Z	2013-03-20T13:58:18Z	"I'd like to propose that we change the .org intro paragraph from:

{{{
WordPress is web software you can use to create a beautiful website or blog. We like to say that WordPress is both free and priceless at the same time.
}}}

To:

{{{
WordPress is web software you can use to create a beautiful app, website or blog. We like to say that WordPress is both free and priceless at the same time.
}}}

WordPress is being used to build web apps, see [http://wordpress.tv/2012/08/06/matt-mullenweg-state-of-the-word-2012/ Matt's WPSF 2012 keynote].

I also spoke to @matt about this at WPCS, he seemed to liked the idea."	willmot
23704	Add a field onto WordPress.org support forums for plugin version number		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-03-06T06:17:31Z	2013-03-14T00:57:15Z	"WordPress.org support forums ask the user to specify the version of WordPress they are using.

In plugin-specific support forums such as http://wordpress.org/support/plugin/events-manager there should also be a field for the plugin version number. Like the WordPress version number, this should be a dropdown list, for which the values should be available in the WordPress.org database.

This way plugin authors don't need to ask the user for that version, which speeds up the resolution of support tickets and saves the plugin authors' time, letting them concentrate more on creating and improving the plugins."	Daedalon
12696	Add ordering support to plugins_api() when filtered on tag or search term	ryan	WordPress.org site		normal	normal	WordPress.org	enhancement	new		2010-03-24T23:05:09Z	2011-06-07T14:49:00Z	"It would be awesome if you could pass an ordering parameter to plugins_api() that would allow you to return a list of filtered plugins in a specific order.

I'd love to be able to use the API to return a list of the most popular / newest / recently updated plugins on the repo that contain the tag ""buddypress"".

Something like this would be awesome:

{{{
$plugins = plugins_api( 'query_plugins', array( 'tag' => 'buddypress', 'page' => 1, 'order' => 'popular' );
}}}

Even better, also allow search filtering:

{{{
$plugins = plugins_api( 'query_plugins', array( 'tag' => 'buddypress', 'search' => 'album', 'page' => 1, 'order' => 'popular' );
}}}

I'd be happy to implement this if I can get access to the API source on WordPress.org."	apeatling
22297	Add support to request topics through the WordPress API		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-10-27T20:39:24Z	2012-10-27T20:39:24Z	There is a RSS feed for getting the latest topics but that's not really handy since you have no clue what the information is behind it like if the topic has been resolved. What can be handy if you want to have an overview of all the not resolved topics of all your plugins	markoheijnen
22416	Add updated time to Plugin API		WordPress.org site		normal	normal	WordPress.org	enhancement	new	dev-feedback	2012-11-12T00:21:27Z	2012-11-12T09:50:22Z	"This ticket is directed at @Otto42

Per recent discussion (Nov 6), a separate '''last_updated_time''' field should get added to the plugin API.

Having a separate field, instead of appending time to the existing ""last_updated"" date, would prevent possible compatibility issues.

Example API response: http://api.wordpress.org/plugins/info/1.0/akismet.json"	logikal16
24295	Allow ReadMe to support in-document links		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-05-09T10:30:34Z	2013-05-11T17:20:35Z	"The current Plugin [http://wordpress.org/extend/plugins/about/readme.txt ReadMe files] use MarkDown syntax and over time these can contain a great deal of information for users, for example in the FAQs.

The length of these sections sometimes makes finding the part you need a case of trawling through the entire document or searching for words in the browser window and hoping you are using the same vocabulary as the ReadMe author.

I think a useful enhancement would be to add the capability to define in-document links to allow for things like a table of contents at the top of the FAQ section. Currently you can create a link in such a table like this:

{{{
[FAQ 1](#1)
}}}

But I cannot find a way to create the linked section later in the document as any HTML, name or id parameters seem to get stripped out.

If this is already possible, please can you tell me how to accomplish this and accept my apologies from opening a ticket."	MattyRob
21628	Attach image(s) to WordPress.org support topics/replies		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-08-18T22:27:29Z	2012-08-19T22:28:27Z	The ability to upload images to a support reply or topic would assist in describing issues and solutions. Sure, a user could link to an externally sourced image, however that's another step in the process.	ericlewis
23160	Better 404 page for WordPress.org		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2013-01-09T20:10:23Z	2013-01-09T20:13:01Z	"Right now, if you get a 404 on wp.org, there isn't really much.

example:  [http://wordpress.org/howabouta404]

I'd suggest at the minimum changing the wording away from 'no posts' to 'no pages', and potentially adding links to commonly accessed areas, such as 'Were you looking for a plugin, theme, blah blah?'

In the side bar, there is also a 'Categories' section, that always displays 'No categories', maybe remove that as well?"	bradparbs
24145	Confirm page close when writing on WordPress.org forums		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-04-20T20:03:15Z	2013-04-20T22:28:18Z	"When writing on WordPress.org forums, sometimes long and well thought-out replies are lost due to accidental page closing. This causes countless amounts of work lost within the WordPress community.

There should be a confirmation dialog to prevent accidental page closing after user has entered something in the new post form."	Daedalon
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
16779	Ignore capitalization during login		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2011-03-06T21:07:43Z	2011-07-22T09:16:23Z	"The login box at wp.org seems to be case sensitive. In my case if I type ""bandonrandon"" it returns with ""user not registered"" but if I type ""BandonRandon"" I am able to login. However, it seems that ""bandonrandon"" is also connected to my account and isn't available for registration. 

My thoughts on this are to maybe ignore the case of the user when they login to the site. The same can be said for plugins. If my name is ""bandonrandon"" in the plugin readme my gravatar is not shown but if it's ""BandonRandon"" my gravatar is shown.  

"	bandonrandon
20318	Introduce a Usage section to the Plugins API		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-03-29T07:05:20Z	2012-03-29T13:25:50Z	"I quite often find a need for a 'Usage' section in my plugin's readme file. I usually place this within the 'Installation' section ([http://wordpress.org/extend/plugins/user-switching/installation/ example]), but I've seen other plugins that include full usage instructions in the main description, in the FAQs, or in the 'Other Notes' section.

It would be nice if there was a top level readme section for Usage which showed up as a tab on the WordPress.org Plugin Directory."	johnbillion
15783	JavaScript Coding Standards	koopersmith	WordPress.org site		normal	trivial	WordPress.org	enhancement	assigned		2010-12-12T10:56:05Z	2013-04-11T13:36:22Z	"Following up on scribu's and azaozz's comments in #15650, would a JavaScript Coding Standards page on the Codex (equivalent to http://codex.wordpress.org/WordPress_Coding_Standards and http://codex.wordpress.org/CSS_Coding_Standards) be useful?

It would not only include the usual code formatting, whitespace, brace position, semi-colon requirements etc, but also clarify on which code patterns are preferable for performance, both for the specific dependency library, and those that will give the smallest file when minified.

Another idea might be to introduce a file docblock that outlines which JS library or other file dependencies the current file has.

Some references:
 * http://javascript.crockford.com/code.html
 * http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
 * http://drupal.org/node/172169
"	GamajoTech
18682	"Make ""WordPress is also available in..."" string translatable"	nacin*	WordPress.org site		normal	normal	WordPress.org	enhancement	accepted		2011-09-16T10:34:02Z	2013-05-25T16:45:50Z	"Currently the links to local sites displayed on !WordPress.org for international visitors are partly English, partly translated:

 !WordPress is also available in Русский.[[BR]]
 !WordPress support forums are also available in Русский.

For better user experience, we should allow l10n teams to translate these strings in Rosetta. Due to different grammatical cases, the language name would probably need a separate context for these links."	SergeyBiryukov
22343	Make some better theme preview test data		WordPress.org site		normal	trivial	WordPress.org	enhancement	new		2012-11-02T01:19:46Z	2013-04-06T19:04:22Z	"[[http://i.imgur.com/Vdb8y.jpg]]

Surely something '''new''' can be done here."	wycks
23002	Maybe a little styling?		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-12-19T11:25:29Z	2012-12-19T11:49:23Z	"Hi,

The  fields in registration page http://wordpress.org/support/register.php are without style.

Maybe a little styling for the fields? Now not are very nice..."	j.conti
11898	Pagination For Browse Source in Plugin Trac	ryan	WordPress.org site		normal	normal	WordPress.org	enhancement	new		2010-01-14T23:42:38Z	2010-01-15T16:53:59Z	"When you view Browse Source in Plugin Trac it lists 7,000 plugins. This take a long time to load and isn't readable. This page needs pagination or something else.[[BR]]
[[BR]]
Related: http://trac.edgewall.org/ticket/6101[[BR]]
[[BR]]
This was talked about breifly during the dev meeting on January 14th, 2010: https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2010-01-14#m56068"	dancole
17917	Profile pages should include activity on local forums as well		WordPress.org site	3.2	normal	normal	WordPress.org	enhancement	reopened		2011-06-28T07:43:21Z	2012-12-07T10:18:46Z	"Since WordPress 3.2 is going to show a link to the profile pages of the various contributors and translators, it seems only fair for that profile page to reflect the activity of those translators on the local forums as well. 

Currently if you go to my profile page for example http://profiles.wordpress.org/users/DeFries/ you will only see some forum activity on the international forum. Most of my activity is done however on the Dutch Forum ( http://nl.forums.wordpress.org ). Something you can see on the profile page of the Dutch forum itself: http://nl.forums.wordpress.org/profile/defries 

For starters, it would be a better suit if the first mentioned profile url shows all of the users activity on the forums, but having both reflect the same would be a warm welcome. Having the two merged could even be a better solution. I'll leave that up to you guys."	defries
24165	Re-skinning Trac 1.0		WordPress.org site		high	minor	WordPress.org	enhancement	new		2013-04-23T15:50:47Z	2013-05-17T01:06:13Z	"As part of a datacenter migration, Trac was updated to 1.0, which has a new UI featuring rounded corners, gradients, drop shadows; and fieldsets with rounded corners, gradients, and drop shadows.

Let's update http://wordpress.org/style/trac/wp-trac.css?2 to replace all of the ugly and to fix some of our custom styling broken with the upgrade.

We went from Trac 0.12.4 to 1.0. Here's a diff of the relevant CSS/JS/images: http://trac.edgewall.org/changeset?old_path=%2Ftags%2Ftrac-0.12.4%2Ftrac%2Fhtdocs&old=11784&new_path=%2Ftags%2Ftrac-1.0%2Ftrac%2Fhtdocs&new=11784"	nacin
23346	Remove rate limiting for plugin authors on their own support topics		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2013-01-31T18:46:41Z	2013-02-05T01:42:56Z	I frequently get the 'slow down' message on the support forums when responding to support threads for my plugin - can the limit not be lifted when posting to topics tagged with a plugin that I am author of.	volcanicpixels
18915	Reverse priority colors in Trac		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-10-12T12:53:01Z	2012-09-02T17:05:06Z	Each ticket on list has assigned color - from red for ones with lowest priority, to blue for ones with highest priority. This is a bit unintuitive, because red color usually means warning or something bad. Please change these colors to follow that common approach.	sirzooro
15417	Search by Author on Install Plugins - requires inside knowledge		WordPress.org site	3.0.1	normal	normal	WordPress.org	enhancement	new		2010-11-13T17:07:49Z	2011-02-19T01:19:08Z	"If you search for plugins to install by author -
say for example - Justin Tadlock - or - Tadlock - you get no results.

If you are aware that ""GreenShady"" is Justin Tadlock - you get a long list of plugins (as you should) all listed as by ""Justin Tadlock""

This seems broken.
"	transom
22424	Search support threads for a particular theme/plugin		WordPress.org site		normal	major	WordPress.org	enhancement	new		2012-11-12T19:09:45Z	2012-11-12T19:12:55Z	"A lot of duplicate support threads for themes/plugins could be avoided if users had a way to search through existing threads only for that particular theme/plugin.

For example, when I'm on http://wordpress.org/support/theme/p2 there could be a search box at the top that would only look through those topics."	scribu
14087	Set up team to evaluate web-hosting providers for WP.org recommendations		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2010-06-25T13:47:32Z	2010-07-17T14:39:18Z	"The problem is simple to describe:

When setting up a CMS-based website, two of the most critical—if not the two most critical—decisions are:

 *  publishing platform
 *  web host
 
For the first you can pick at random among the best-known offerings and you won’t go much wrong.  (Or you can pick the most popular one, and, in most cases, you will have made the best choice! :-D)

But the second is different — or so my little experience tells me:  Fame and familiarity do not seem to be directly correlated with quality in the case of shared web-hosting, which is the best type of hosting for the majority of WP users.

And that’s unfortunate, because bad web hosting can ruin the experience of web publishing.

In addition, evaluting web hosts is not easy for a single individual, even for individuals who have the technical understanding, because it takes time and also money.

We, the people involved with WordPress development, are in a better position to offer some insight into the problem:  We are many, we have collective knowledge, and also collective experience.  So, here is my idea:

 *  Set up a team
 *  Set up a set of criteria
 *  Start evaluating services for a period of two or three months
 *  Publish the final recommendations on the WP.org page (along with the criteria used)
 
What do you think?"	demetris
20284	"Show ""Bug Reporting Tips"" when people post in plugin forums"		WordPress.org site		normal	minor	WordPress.org	enhancement	new		2012-03-22T20:49:43Z	2012-03-22T21:25:35Z	"The vast majority of forum posts to plugin forums are bug reports, and most are from people who aren't very familiar with what information is required to actually deal with such a report reasonably.

I had to laugh when I started opening this ticket, because I am presented with what I'd love to see on wordpress.org!

I tweaked it a little to make sense for the situation:

--------------

REPORTING BUGS

    Are you using the latest release of the plugin, or the latest development/trunk version? If neither, please stop here and update first.

    What steps should be taken to consistently reproduce the problem?

    In case it's relevant to the issue, what is the expected output? What did you see instead?

    Does the problem occur even when you deactivate all plugins and use the default theme?

    Please provide any additional information that you think we'd find useful. (OS and browser for UI defects, server environment for crashes, etc.)
"	MadtownLems
16880	Suggestion: login links on all pages		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-03-17T19:25:47Z	2011-03-18T20:05:47Z	"My wife is (finally) getting to work with WordPress at her job. As a relative newcomer to *really* digging into WP, she's hitting on a couple of things that I tend to just gloss over and ignore. One of them was this:

She wanted to log in to wordpress.org, but had forgotten her password. She did a password reset, and of course, afterward, she wanted to go back and manually reset her password to something she'd remember. So she went to the main wordpress.org homepage, only to find that there's no login link or any other indication of where one might go to change your password.

Of course, *we* know that you can get those links from the Support forum or the Extend area, but for her, it was not immediately obvious.

I just thought I'd suggest that the login block should appear on all pages of the site, not just on a few select ones."	dougal
17505	Trac is too liberal in sending out e-mail updates on issues		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-05-19T09:25:43Z	2011-05-19T14:06:04Z	Something relatively minor that's been bugging me for a long time: Commenting on a Trac issue or adding oneself to the CC list should not send an e-mail to that user, or at least not by default. Suppressing such e-mail for self-made changes is the default on other bug reporting systems (e.g. JIRA), and it would be great if we could make it the default for WP Trac as well.	sbressler
20002	Update plugins_api to accept multiple slugs when querying 'plugin_information'		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2012-02-09T18:06:35Z	2012-11-14T11:12:07Z	"When querying plugins_api() with 'plugin_information', the second argument takes a parameter 'slug' on which to find the plugin. Please may the API be updated to optionally accept an array of slugs, so that you can query for multiple plugins in the same HTTP request?
"	DJPaul
24066	Version field in Trac's New Ticket form inappropriate for WordPress.org site tickets		WordPress.org site		normal	minor	WordPress.org	enhancement	new	close	2013-04-12T18:29:32Z	2013-05-24T16:00:04Z	"WordPress.org site bugs are not related to WordPress versions.

After selecting ""WordPress.org site"" as a component on the Create New Ticket form in Trac, the version field should be either hidden or disabled."	Daedalon
18033	WordPress.org Support Forums Mobile Theme		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-07-08T05:57:50Z	2011-07-08T13:45:42Z	"I mentioned this on Twitter earlier today and Nacin replied that if I coded something up he'd be happy to deploy it.

So here is a ticket to discuss the possible mobile theme for the support forums. Theme could be released later on as well with bbPress possibly?"	JarretC
16425	automatically search for similar tickets		WordPress.org site		normal	normal	WordPress.org	enhancement	new		2011-01-31T19:47:20Z	2011-02-16T08:18:10Z	"I just submitted my first bug report to jQuery today. They use trac too, but they added a couple of things to the ticket creation page which I think would be pretty useful here too:

 * ~~big red notice: ""Are you in the right place?""~~
 * automatically search for similar tickets before pressing submit

See http://bugs.jquery.com/newticket"	scribu
23764	"Add ""works for this version"" to the plugin review form"		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-03-14T00:56:30Z	2013-04-04T04:49:05Z	"It would be nice if users could select whether a plugin ""works"" for their selected !WordPress version in the plugin review form.

Obviously, the main ""Does it work? form"" would stay on the main areas of the plugin page, but this would, I think, help balance the reviews:works stats for many plugins.

This would also be related to #23704."	DrewAPicture
21387	Add a CodeURI field to plugin file header		WordPress.org site		normal	trivial	WordPress.org	feature request	new		2012-07-25T19:33:28Z	2012-07-25T19:38:48Z	"I would like to make it easier for developers not associated with a plugin to contribute modified versions.

The plugins SVN has grown to a size where it's no longer possible for a member of the WordPress community to create a new ticket and select a plugin from ""component"" to patch and improve software. Some plugins manage code on a site such as GitHub and commit a release into the plugins SVN.

I might use [http://wordpress.org/extend/plugins/wp-super-cache/ WP Super Cache] in my WordPress installation, one of 3.5 million installs using the plugin. I modify the plugin and would like to share my changes.

1. Try creating a [http://plugins.trac.wordpress.org/newticket new ticket in Plugins Trac]. The plugin is not listed as an available component.
1. Find the Plugin URI. If not WordPress.org look around on the author's site for links to another repo.
1. Search GitHub for the developer(s) and/or project
1. Email the developer(s) if they have a contact email listed

Give up?

File header currently includes a [http://codex.wordpress.org/File_Header#Plugin Plugin URI] which commonly points to the WP.org plugin page for the plugin or sometimes to a webpage on the developer's site. I could overload ""Donate"" to encourage code donations instead of monetary donations but that could be confusing.

I'd like to provide a explicit code URI field to encourage outside contributions of modifications in the GPL spirit."	niallkennedy
23982	Add array of screenshots to the Plugins API		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-04-07T20:31:16Z	2013-04-07T20:31:16Z	The response to the `plugin_information` method of the Plugins API includes a formatted list (in a `<ol>` tag) of the plugin's screenshots. It'd be good if the response also included an element containing a plain array of the screenshot URLs.	johnbillion
23981	Add donate link to the Plugins API		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-04-07T20:28:46Z	2013-04-08T01:29:16Z	The response to the `plugin_information' method of the Plugins API doesn't include an element for the donate link. It'd be good to get this in there for completeness.	johnbillion
24065	Allow previewing posts in WordPress.org support forums		WordPress.org site		normal	normal	WordPress.org	feature request	new		2013-04-12T18:17:31Z	2013-04-12T20:47:26Z	"WordPress allows previewing posts before publishing everywhere else except on WordPress.org support forums. Preview functionality should be added there as well.

Ideally the preview would be shown next to the editor so users can spot and correct mistakes without reloading the page, just like when commenting here in Trac."	Daedalon
16589	Localized version stats	nacin*	WordPress.org site		normal	normal	WordPress.org	feature request	accepted		2011-02-18T08:52:48Z	2012-04-29T15:57:20Z	"There have been some discussions on localized version stats:

* http://lists.automattic.com/pipermail/wp-polyglots/2009-November/003812.html
* http://lists.automattic.com/pipermail/wp-polyglots/2009-December/003868.html
* http://lists.automattic.com/pipermail/wp-polyglots/2010-July/004859.html
* http://wppolyglots.wordpress.com/2010/12/01/ive-found-some-discussions-about-local-2/
* http://wppolyglots.wordpress.com/2010/08/18/i-am-having-some-problems-with-site-stat/ (related)

Many translators would agree that it would be nice to have them back."	SergeyBiryukov
23720	Make it obvious that by default support for plugin and themes in the repository is not guaranteed		WordPress.org site		normal	minor	WordPress.org	feature request	new		2013-03-08T07:10:13Z	2013-03-08T15:24:09Z	"Or even better, people should assume it doesn't exist.

This follows the discussion here http://tommcfarlin.com/upgrade-wordpress/

I know it is possible to add a text to that effect in the readme.txt file, but it is not the same, and you can't expect plugin authors to release new versions just to reflect the change in their available time.

Alternatively support policy should have a tab of its own on the plugin's page.

In addition, there should be a way to contact someone that will provide paid support for the plugin. By default it should be the plugin's author, but it might be a good idea for other people to be able to provide this kind of service as well."	mark-k
12475	Method to prune/leave feedback in Kvetch	ryan	WordPress.org site		normal	normal	WordPress.org	feature request	new		2010-03-02T17:12:25Z	2010-03-02T17:12:25Z	"I just saw two items about how it would be nice if upgrades were easier and if there was an automatic upgrader, and it got me thinking that there's no way to leave feedback or flag it if you're logged in.

It would be nice if there was some way to either leave feedback for when a Kvetch is no longer ""valid"" (for lack of a better term) because something has been implemented to address it, or to flag it for someone else to look at it and decide that it should be removed.

This could also be useful if a spam item was displayed, or if an offensive message was left."	ninjaWR
22736	Outdated plugins marked as 'Works' for the current version should show in search results		WordPress.org site		normal	normal	WordPress.org	feature request	new		2012-12-04T18:11:57Z	2013-01-06T02:35:09Z	"When a plugin hasn't been updated in over 2 years, it gets the ""this is outdated"" message on WP.org and it no longer shows up in plugin search results from the Dashboard.

But if the plugin is marked as ""Works"" for the current version - even though it hasn't been updated in 2 years - we should make it so it shows up in search results."	DrewAPicture
19884	Unable to sort themes by language		WordPress.org site		normal	major	WordPress.org	feature request	reopened		2012-01-24T13:21:34Z	2012-03-06T19:23:33Z	"I can't filter themes by language in themes site.
If I want theme in Hebrew (and rtl) I can't search its in the site.

So I had to look for it on other websites that may contain malicious code.
read: http://n2b.org/archives/2316 (Hebrew)."	hatul
12336	WP.org Profiles - Trac Replies are not reported	ryan	WordPress.org site		normal	normal	WordPress.org	feature request	new		2010-02-22T19:02:51Z	2010-02-22T19:08:48Z	Since WP.org Profiles already has forum post creations and replies, and Trac ticket creations, it makes sense to add the Trac replies as well.	archon810
12313	WP.org Profiles should add an RSS feed	ryan	WordPress.org site		normal	normal	WordPress.org	feature request	new		2010-02-21T01:01:52Z	2010-02-22T19:09:21Z	"I'm not sure where to report feature requests for WP.org Profiles so I'll do it here.

Considering the Profiles page http://profiles.wordpress.org/archon810 includes the Trac activity (unlike http://wordpress.org/support/profile/276841 which doesn't, though, it's also useful because it does include replies by others to my favorite topics), it'd be awesome to have an RSS feed for this Profile activity so that it can be used in someone's RSS reader or in my FriendFeed or Lifestream.

This may be a BuddyPress request, but since WP.org uses it, I'd say this ticket has merit either way."	archon810
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
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
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
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
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
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
13972	Add new category link - capability check needed		Administration	3.0	normal	minor	Future Release	defect (bug)	new	has-patch	2010-06-18T09:01:43Z	2012-06-29T18:18:58Z	"/wp-admin/link-add.php

If user doesn´t have ""manage_categories"" capability, add new link page, will show ""add new category"" link and form, 
it should be hidden.
"	wjm
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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-01-03T05:59:29Z	"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
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
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
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
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
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
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
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
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
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
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
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@…
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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-04-06T23:33:11Z	We should support retina custom headers. Not sure how — ideas welcome.	nacin
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
14458	Create rel_canonical filter		Canonical	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-29T21:48:34Z	2011-05-06T14:18:54Z	"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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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-02-05T05:10:21Z	"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
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
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
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
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
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	2012-12-16T00:07:37Z	"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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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-05-14T15:57:57Z	"Per an IRC discussion and long-considered changes:

 * In wp_scheduled_delete(), look for expired transients and purge them.

 * On DB upgrade, purge all transients, regardless of expiration. (This should probably happen on auto-update as well, but let's let that part slide for now, as DB upgrade will run on all major releases these days.)

We should only do this if ! $_wp_using_ext_object_cache."	nacin
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
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
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
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
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
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
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
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
20328	get_date_from_gmt assumes current gmt_offset is appropriate	nacin	Date/Time		normal	normal	Future Release	defect (bug)	reopened	has-patch	2012-03-29T22:02:24Z	2013-05-14T13:22:54Z	"For locations that have daylight savings time, the gmt_offset changes over time. Yet get_date_from_gmt assumes the offset that is in effect now is always the right offset. But I might be trying to display date/times that are in a different timezone transition than the current one.

Proposed fix is to use timezone_transitions_get() as wp-admin/options-general.php does in order to translate those date/times accurately."	scottconnerly
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
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
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
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
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
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
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
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
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
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
14808	Add Editor Documentation Functions URL for theme-defined functions		Editor		normal	normal	Future Release	enhancement	new	has-patch	2010-09-08T00:57:20Z	2011-08-25T00:15:44Z	"Currently, functions that are called within template files shown on the editor are included in the list of functions that you can try and lookup documentation for.

(The $ignore_functions array only seems to be for functions defined, not called, in a file.)

As the http://api.wordpress.org/core/handbook/1.0/?function=... seems to be hard-coded in, it's not possible for themes to overwrite it for functions they've defined.

Is it possible to allow themes to define where the documentation lookup should be for their own functions?"	GamajoTech
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
11268	Allow Image Map in KSES		Editor	2.9	low	minor	Future Release	enhancement	new	has-patch	2009-11-26T00:12:31Z	2010-03-31T08:50:20Z	Add image maps in allowed post tags.	mtdewvirus
15631	Custom fields auto-focus		Editor	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-12-01T19:02:16Z	2013-01-22T15:23:25Z	When you are on the post editor (page editor, whatever), if you want to create a new custom field and click on Create New, it should auto-focus on the text input field that appears. 	jane
20186	Default font in the Visual Editor doesn't work well in all languages		Editor		normal	normal	Future Release	enhancement	new		2012-03-06T20:41:53Z	2012-05-02T20:25:57Z	As the title. This is somewhat unnoticed as most themes seem set the fonts there with editor-style.css. However we would need a default that works well for themes that don't set that.	azaozz
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
14640	"Feature Requst:  Add Action Hook ""post_submitbox_end"""		Editor	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-08-18T21:09:53Z	2013-01-10T02:55:26Z	I'd like to add a button UNDER the Publish button on an edit post page.  There is an action for adding a button (or other elements) BEFORE the Publish button (post_submitbox_start), but I'd like one at the end.  I know that I can address this w/ CSS if necessary, but it would be nice to be able to position my button in the HTML as well.	ancawonka
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
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
18306	Make sample permalink clickable		Editor	3.2	normal	normal	Future Release	enhancement	new	has-patch	2011-07-31T14:41:39Z	2012-11-01T20:02:13Z	"Following the lead from #17282, the ""View Post"" button next to the sample permalink is also just a link to another screen.

I propose we get rid of it and make the sample permalink itself clickable"	scribu
18245	Make the visual editor KSES filter/user capabilities aware		Editor		normal	normal	Future Release	enhancement	new		2011-07-25T18:11:21Z	2011-08-23T20:16:45Z	"Currently the visual editor assumes ""unlimited html"" for all users. This can result in some surprises when a user doesn't have that capability.

We can make a function that translates the KSES allowed tags and attributes into TinyMCE format and sets the editor accordingly."	azaozz
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
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
23630	Simplify the DFW implementation		Editor		normal	normal	Future Release	enhancement	new	early	2013-02-26T16:44:57Z	2013-03-06T20:04:42Z	"I was sad to see that distraction free writing [http://make.wordpress.org/core/2013/01/08/wordpress-3-6-distraction-free-writing-improvements/#comment-7469 didn't get picked up] for 3.6.  I decided to play around with a rough proof of concept to see how difficult it would be to use the existing TinyMCE instance for DFW.

Benefits of handling it this way include:

- It eliminates the need (and complexity) of juggling multiple instances of TinyMCE
- We'll be able to remove a bunch of the old DFW code
- It makes the transition between regular mode and DFW mode much more smooth
- It can be as fully featured as we want it to be"	lessbloat
15139	Texteditor: link button always enabled		Editor		normal	normal	Future Release	enhancement	assigned		2010-10-17T08:27:06Z	2012-01-06T01:32:10Z	"When you make a link you are forced to write the text in the editor and select the text before the link button is usable. I have seen users fail to understad this and getting stuck at creating links.

It might be better if the link button was enabled as default and if no text was selected a textfield with the link text appeared in the insert/edit link.

Another alternative is that the link text textfield (just mentioned) is visible all times but if text is selected it's written there by default. Otherwise it's left blank."	olalindberg
11319	oEmbed should be integrated into Add ... from URL experiences		Editor	2.9	normal	normal	Future Release	enhancement	new		2009-12-03T22:55:05Z	2010-10-28T08:50:33Z	"oEmbed should be integrated into Add ... from URL experiences

enhancement, ENV: WP 2.9-beta-2 ++ (trunk r12320)

For WP 2.9 we removed oEmbed from the UI, #11288.

The ""Embed"" field did not validate the oEmbed, that is part of the reason I recommended not incorporating UI for WP 2.9 -- I think JS based validation is essential to a good experience.

If you use the ""Insert an image from another web site"", once you input a URL, WordPress should automatically check if it is an oEmbed link and adjust and populate the fields as appropriate.

ADDITIONAL DETAILS

If JS is disabled, I see little benefit to including a oEmbed form. The ability just to include oEmbeds on their own line in the content seems like a good balance."	lloydbudd
6619	permalink field misleading in page editor: it displays the erroneous values		Editor	2.5	normal	normal	Future Release	enhancement	new		2008-04-06T14:48:15Z	2009-11-20T20:32:33Z	"if you create a sub-page, the permalink field should display the proper permalink.

currently, if you have:

site.com/page/

and when you create:

site.com/page/subpage/

the permalink shows:

site.com/subpage/

until it gets saved

the expected behavior would be for it to show the correct permalink.

the same remark applies when you then change the permalink. if the parent is no longer page, but rather page-2, then the permalink should update accordingly."	Denis-de-Bernardy
11489	iTouch useability in the editor out of the box		Editor	2.9	low	minor	Future Release	feature request	new	dev-feedback	2009-12-19T03:47:58Z	2013-02-01T11:37:40Z	"I have tried to write a post in 2.9 in iPod Touch and the text zone has some problems:

* When you write the title, if you want to write the post the keyboard doesn't appear. You must move to another text-editable zone and go back to the main text zone to have the keyboard. 

* Once you have the keyboard, you have capslock activated and cannot deactivate it (you can deactivate letter-per-letter). 

I have tried in 2 different iTouchs with the same result. 

I put it as low because WordPress has an iPhone/iTouch app and don't know if happens the same in other mobile platforms. "	bi0xid
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
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
14759	Improve the way oEmbed deals with caching		Embeds	3.0.1	normal	normal	Future Release	enhancement	new		2010-09-01T23:47:30Z	2013-03-15T07:57:59Z	"As Matt pointed to me today, caching oEmbed results to post meta is kinda lame.

I originally did this because I didn't want the HTML in old posts changing on it's own, say for example if the oEmbed provider got compromised. However I think that's extremely unlikely since we only whitelist major websites that can be trusted.

Perhaps instead we should use transients to cache this data. That way when embed HTML is updated, posts will eventually be updated too due to expiring caches. I'm thinking a cache time of a week would be good, but with some random +/- to make sure multiple caches don't all expire at once.

A good example of this is Vimeo. Anyone who embedded a Vimeo embed in their post before a few weeks ago got `<object>`-based embeds. However now Vimeo gives out `<iframe>` based ones. The only way currently to update the old embeds to the new HTML (without using a few lines of code) is to edit all of the posts and re-save them to trigger a cache update. That's painful.

Alternate suggestions welcome though."	Viper007Bond
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
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
19307	"Need ability to export ""All content"" but limited to date range"		Export	3.1	normal	normal	Future Release	enhancement	new	early	2011-11-20T23:19:43Z	2012-07-11T07:39:18Z	"Need ability to export ""All content"" but limited to date range

==== ENV ====

 WP 3.3-beta3-19254 (trunk r19367)

==== Additional Details ====

For a larger site is a common scenario to need to export all content, but because of resource limitations or time constraints it cannot be done in a single export.

Exporting individual post types is not a work around, further you lose attachments on posts when exporting just ""posts"", and that breaks features including Featured Images.

==== Also Consider ====

Another common scenario for media and enterprise customer is wanting to export a period of time to further analysis that content, or stage it in their development environment for debugging an issue, or developing new designs and features."	lloydbudd
14888	PHPMailer class uses wrong/no sender for mail envelope		External Libraries	3.0	normal	normal	Future Release	defect (bug)	new	close	2010-09-17T07:50:38Z	2013-02-07T01:53:01Z	"As an result following SMTP envelope and ""Return-Path"" email address can occur:

{{{apache@localhost.localdomain}}}

This will lead some mail servers to reject mails because of the not valid fqdn ""localhost.localdomain"".

Correctly the defined FROM address should be used, usually:

{{{'wordpress@'.$_SERVER['SERVER_NAME']}}}

In PHPMailer::CreateHeader() it is checked for

{{{if($this->Sender == '')}}}

The following will set the ""Return-Path"" in the mail headers, but NOT the envelope email address used in the SMTP handshake:

{{{$result .= $this->HeaderLine('Return-Path', trim($this->From));}}}

I fixed it by adding the following line after the mentioned one, setting the ""Return-Path"" in the mail header:
{{{$this->Sender = $this->From;}}}

So my condition looks like:
{{{
    if($this->Sender == '') {
      $result .= $this->HeaderLine('Return-Path', trim($this->From));
      $this->Sender = $this->From;
    } else {
      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
    }
}}}"	gkusardi
18909	Bundled jQuery UI should have CSS		External Libraries	3.3	normal	normal	Future Release	enhancement	assigned	has-patch	2011-10-11T18:53:57Z	2013-05-13T16:14:29Z	"Now that all of jQuery UI is in core, matching CSS should also be included for use in the admin in both color schemes.

Related: #17952"	helen
21769	Can we remove un-minified versions of all external libraries?		External Libraries	3.5	normal	normal	Future Release	enhancement	new	dev-feedback	2012-09-02T09:32:35Z	2012-10-24T20:50:12Z	"With [21646] and [21648] we had removed the un-minified versions of Jcrop and jQuery Color.

A quick search through the plugin repo shows that there is only one plugin which includes the script directly:

Pie Register: http://plugins.trac.wordpress.org/browser/pie-register/trunk/pie-register.php#L1444

Should we be consistent and remove the un-minified versions of other external libraries too? These would be:

* colorpicker.js
* hoverIntent.js
* jquery.imgareaselect.js
* cropper.js (not used in core anymore and no minified version exists)
* json2.js
* tw-sack.js"	ocean90
19489	Consider updating jquery.hotkeys plugin		External Libraries	3.3	normal	normal	Future Release	enhancement	reopened		2011-12-09T18:50:05Z	2013-01-22T19:40:32Z	"The current version of the jquery.hotkeys plugin in trunk is ""(beta)(0.0.3)"", where as the [https://github.com/tzuryby/jquery.hotkeys/blob/master/jquery.hotkeys.js latest version] (as linked to from the credits screen) is 0.8.

Incidentally, this 0.8 version from tzuryby is credited as being authored by John Resig (and indeed, he appears to have his own [https://github.com/jeresig/jquery.hotkeys repo] for it."	GaryJ
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
10955	Replace ThickBox		External Libraries	2.9	normal	normal	Future Release	enhancement	new	dev-feedback	2009-10-14T14:37:42Z	2013-02-01T15:59:30Z	"Have you thought about replacing ThickBox?  It is no longer under development (as their site says) and it doesn't conform to standard jQuery plugin practices.  For example, I'm trying to use it for a plugin of mine and I'm wanting to tie into the ""onClose"" event for ThickBox which isn't too easily done.  I know I could just include one of the other plugins, like colorbox, with my plugin but I think it'd be a great service to other developers if you included a more flexible library.


(I would have assigned this to 3.0+ but the option isn't available.)"	aaron_guitar
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
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
14363	Atom feed is broken when WordPress is served as application/xhtml+xml		Feeds	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-07-20T14:57:52Z	2011-05-10T18:54:37Z	"Atom feed is broken when WordPress is served as application/xhtml+xml because of the difference in html_type_rss().

The patch attached also deprecates the_excerpt_rss() with a new function called 'the_excerpt_feed'."	peaceablewhale
15610	Comments on attachments don't appear in site-wide comments RSS feed		Feeds	3.1	normal	minor	Future Release	defect (bug)	new		2010-11-29T21:05:37Z	2010-12-11T14:00:22Z	"Tested against r16950.

Comments that are entered against an attachment do not appear in the site-wide comments RSS feed (e.g., http://sitename.com/comments/feed/).

To test:

 1. Add an attachment of any kind (usually image), then View the attachment.
 2. Post a comment on the attachment page.
 3. Check the site's comments RSS feed - the comment will not appear."	markel
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
10511	Enclosure Custom Fields are automatically deleted		Feeds	2.8	high	major	Future Release	defect (bug)	reopened	has-patch	2009-07-29T14:20:16Z	2012-02-02T16:36:06Z	"This bug was introduced by Ticket [http://core.trac.wordpress.org/ticket/6840 6840].  I and many other people only wanted specific fields added as an enclosure (like media files for podcasting) and have added those enclosures as custom fields.  Now any time we edit those hundreds of posts, or create a new post, those custom fields are deleted by this ""bug fix"" and there is no way around it without changing code in the functions.php file and then having to redo it anytime an update comes out.

Was there no thought put into the great idea of ""let's delete any enclosure field that doesn't have a link in the body of a post""?  Wasn't the whole idea of custom fields originally for things like enclosures?"	animepulse
10984	If content uses the nextpage tag then only the first page is shown in feeds		Feeds	2.8.4	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-10-20T11:03:11Z	2012-08-27T17:40:40Z	"If content uses the nextpage tag then only the first page is shown in feeds if the ""full text"" option is selected in ""Settings > Reading > Show Full Text (in feed)"". 

No links are displayed to read the full content and no indication is given in the feed that it isn't the full content.

I think the behaviour should be to ignore pagination in feeds which are set to ""full text"".

I have attached a patch which alters the behaviour of the_content() so that if it is used in the context of a feed it concatenates the pages to form the full content and returns that."	simonwheatley
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
10713	Output encoding not set in fetch_feed		Feeds	2.8.4	low	normal	Future Release	defect (bug)	new	dev-feedback	2009-09-01T15:56:15Z	2012-12-13T20:30:56Z	"If using WP Super Cache (or a similar plugin) on a blog with a non-UTF-8 charset that has an RSS widget then the charset is incorrectly changed to UTF-8 by SimplePie.

The fix is to explictly set the encoding in fetch_feed before SimplePie sends any headers (which it only does if WP Super Cache is being used, since it checks if any headers have already been sent).

{{{
*** live/wp-includes/feed.php      2009-05-25 11:13:48.000000000 +0200
--- dev/wp-includes/feed.php       2009-09-01 17:40:19.000000000 +0200
***************
*** 552,557 ****
--- 552,558 ----
        $feed->set_file_class('WP_SimplePie_File');
        $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200));
        $feed->init();
+       $feed->set_output_encoding(get_option('blog_charset'));
        $feed->handle_content_type();
  
        if ( $feed->error() )
}}}

I've put this as low priority since I guess most blogs use UTF-8 and don't use WP Super Cache."	iansealy
9993	Rss and atom feeds are dropping some characters		Feeds	2.7.1	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2009-05-31T23:54:40Z	2012-10-17T19:40:12Z	"Blog post with title:

{{{
& > test <
}}}

has the less than ( < ) is stripped from the atom and rss feed.

"	pm24601
15110	Useless MIME type served for rss feeds		Feeds	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-10-13T14:16:54Z	2012-06-05T08:37:39Z	"Both /feed/, /feed/rss2/, and /feed/rss/ are served using the very undescriptive and generally useless ""text/xml"" MIME type.  ATOM and RDF feeds are served with their proper MIME types.  It looks like the MIME types for RSS are in feed.php, but for some reason there is a special ""rss-http"" type that returns the useless type?  Changing the first line in feed-rss.php and feed-rss2.php to use the rss and rss2 type instead of rss-http fixed it on my site."	singpolyma
13049	Wordpress should not generate feeds for 404 pages		Feeds	3.0	low	normal	Future Release	defect (bug)	reopened	dev-feedback	2010-04-19T11:32:20Z	2010-12-05T22:04:49Z	"Say I try to visit: `http://my.blog.tld/non-existent-slug/`, (where non-existent-slug is not a valid slug) I get a the normal 404 template.

However, if I try to visit `http://my.blog.tld/non-existent-slug/feed/`, then the response is a bit weird. A 404 response header is sent but the content is nonetheless sent through the feed template. And so you get something like this:

{{{
<?xml version=""1.0"" encoding=""UTF-8""?><rss version=""0.92"">
<channel>
  <title>A Sandbox &#187; Page not found</title>
  <link>http://my.blog.tld</link>
  <description>Just another WordPress weblog</description>
  <lastBuildDate>Mon, 19 Apr 2010 11:17:05 +0000</lastBuildDate>
  <docs>http://backend.userland.com/rss092</docs>
  <language>en</language>
  <!-- generator=""WordPress/3.0-beta1"" -->
</channel>
</rss>
}}}

Assuming this isn't intentional (I can't think why it would be), this should be changed so that the content is the normal 404 template."	solarissmoke
3260	XML output (rss, atom, rdf ...) should always use UTF-8 or CDATA for user input		Feeds	2.8.2	normal	normal	Future Release	defect (bug)	new	has-patch	2006-10-18T02:33:58Z	2009-11-20T15:32:29Z	"If none UTF-8 is used, user generated text like titles or categories may contain unallowed entities. The elements <title>, <tagline>, <dc:subject>, <category> (there may be more) are not protected width <![[CDATA ]]>.

The conversion can be done width the PHP MulitByte function. If MB is not available, the <![[CDATA should be used instead.

Please contact me for development help."	deremder
9134	cannot remove the link to comments in feeds		Feeds	2.7	lowest	trivial	Future Release	defect (bug)	new	has-patch	2009-02-15T03:24:36Z	2011-03-20T18:49:34Z	"In feed-rss2.php, '''etc.''' there is no easy to turn off the comments link, for blogs that
have no, and don't allow, comments. So the link
{{{
<comments><?php comments_link(); ?></comments>
}}}
is just a waste. Same with
{{{
<wfw:commentRss><?php echo get_post_comments_feed_link(); ?></wfw:commentRss>
}}}
Yes. I can turn off comments, and remove all comments, but I cannot
remove ''the link'' to comments (without hacking the core.)
"	jidanni
4253	Category feeds don't indicate they are category feeds		Feeds		normal	normal	Future Release	enhancement	new		2007-05-13T04:35:10Z	2009-06-14T13:43:40Z	"Okay guys, here is a patch for WordPress that properly titles and describes category RSS/Atom feeds.  I didn't know how to set the URL for the feed to the URL of the category, so what I'm doing is just leaving the bloginfo URL as it is, but I hope you can whip that out from your fabulous hacking heads.

This patch makes sense because of several reasons.  My personal reason is that I'm running a magazine with different sections (using categories as the section) at rudd-o.com, and I'm encouraging subscriptions to the section feeds instead of the whole magazine, but the feeds themselves don't say which category they're from.  Now with this patch they do.

Another thing that I'm not sure about, and I'd like a response in the form of a comment here (I'm tracking this bug via RSS): do I have to htmlspecialchars() before doing the print's ""..."" in this patch?  The question, more properly phrased, is: if I print a get_category_name(), should I print it htmlspecialchar()red, or should I just print it out, and trust that the WordPress category administrator won't let people type random HTML?  Another way of posing the question would be: if I type an ampersand (&amp;) in the category name, what should the theme display, ""&amp;"" or ""&""?  This is keeping me up at night, need some sleep, please help =).

"	RuddO
11053	Conditional Tags should work in feeds as well		Feeds	2.8.5	normal	normal	Future Release	enhancement	new		2009-10-31T14:56:17Z	2010-01-17T14:20:19Z	"I try to get the following to work:

{{{
function xxx_filter_cat()
{
	if (is_author()) query_posts(""cat=4"");
	if (is_front_page()) query_posts(""cat=2,3"");
}

add_action('rss2_head', 'xxx_filter_cat');
}}}

It should alter the rss2 feed, depending if it should get generated for the general homepage, or for a single author.

But: It doesn't work at all - is_author and all the other is_* functions I tried always trigger false. is_feed works, but well, doesn't help me very much.

It would be easy to manipulate the generated feeds if wp would support the already built-in conditional tags in the feeds as well."	pampfelimetten
9611	Make comment feeds fail with an error code when comments are closed		Feeds	2.8	normal	minor	Future Release	enhancement	new	dev-feedback	2009-04-21T14:12:42Z	2011-01-12T12:40:06Z	"This is mostly a suggestion as an enhancement.

When you close a post's comments and pings, it should no longer output an rss feed. Instead, it should return a not found (404) or gone (410) error and die.

Likewise, if all posts and pages on a site disallow comments and pings, the comments feeds should not be broadcast, and should return the same error code.

Thoughts?"	Denis-de-Bernardy
9510	Multiple feed fixes and enhancements		Feeds	2.7.1	high	major	Future Release	enhancement	new	has-patch	2009-04-11T09:36:47Z	2009-11-17T20:28:06Z	Currently, the feed always returns the same subtitle, self link, alternate link and replies link no matter what the page type is. I think they should be different for each page type.	peaceablewhale
13867	New filter for comment RSS feed's title		Feeds	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-12T21:53:07Z	2010-10-28T12:18:31Z	"I'd like to be able to customize comments titles in RSS feed.

Currently it's hardcoded and has no way to be changed, so I added 2 new filters so that plugins can edit them.

I've tested and patch is working for me."	shidouhikari
16983	Pass $sep to 'wp_title_rss' filter		Feeds		normal	normal	Future Release	enhancement	new	commit	2011-03-27T21:11:14Z	2011-03-27T21:11:14Z	Same for 'get_wp_title_rss'.	scribu
7092	Should support separate setting for limiting comments feed		Feeds	2.9	normal	normal	Future Release	enhancement	reopened	has-patch	2008-06-04T15:48:34Z	2010-05-14T13:07:07Z	"Right now the comments feeds are throttled by the same limiting number the user chooses for ""posts feeds"" (posts_per_rss).

It makes sense that a blog owner would want to set a higher threshold for comments than for posts, for these reasons:

- Readers who subscribe to comment feeds are fewer in number and less likely to burden the system in aggregate.

- Comments are typically shorter per entry than posts are.

- Comments are liable to expand much more quickly than posts, making it difficult for readers to ""keep up"" without wrapping past the limit.

For instance in my blog I limit post feeds to 10 entries, but I'd like to offer a much larger limit for comments subscribers.

Establishing a ""comments_per_feed"" variable that is used in place of the ""posts_per_rss"" would accomplish this.

"	redsweater
8828	Tags and Categories are undifferentiable in Atom and RSS feeds		Feeds	2.7	normal	normal	Future Release	enhancement	new	needs-review	2009-01-09T11:48:18Z	2009-11-23T19:48:49Z	"In RSS feeds this can be achieved using the 'domain' attributes of the category element. This is already done in Wordpress export through the wxr_post_taxonomy function, so we just have to do the same in RSS feeds. 

In Atom feeds this can be achieved using the 'scheme' attributes of the category element. The Atom standard is not explicit about what to put in this scheme attributes. There is [http://edward.oconnor.cx/2007/02/representing-tags-in-atom an interesting topic on Edward O’Connor blog]. In my proposed patch, i decided to use the 1st representation and i also considered seriously the 2nd.

In the patch, i'm also adding the 'label' attribute to the atom category element and changed the 'term' attribute to be the tag slug. Seems this are currently the best practices in the Atom community."	znarfor
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
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
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
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
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
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
10823	Bad handling of ampersand in post titles		Formatting	2.8.4	normal	minor	Future Release	defect (bug)	new	has-patch	2009-09-21T10:59:50Z	2013-01-23T22:12:06Z	"Titles with ampersand (&amp;) are not correctly handled:[[BR]]

1/ the_title_attribute() doesn't transform & to &amp; causing XHTML validation errors[[BR]]

2/ titles with & followed by ; generate truncated post name (slug)
e.g. ""Test this & believe ; what ?"" => ""test-this-what"""	Commeuneimage
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
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
14674	HR destroys HTML		Formatting	3.0.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-08-23T15:03:15Z	2012-09-14T22:57:46Z	"if you add <hr /> to the post (via HTML editor, or via enhanced TinyMCE editor) followed by normal text id do not add the <p> for that paragraph, but add the finishing </p>

so it than looks like

<p>some text</p>
<hr>some other text</p>

it can be solved by adding extra line break after <hr> but after reediting the post, the linebreak disapears and must be added again. "	thomask
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
15006	Invalid Content Markup		Formatting	3.0	normal	minor	Future Release	defect (bug)	new		2010-10-01T13:48:12Z	2011-01-13T06:29:30Z	"I have a page post that starts like this:

{{{
<p style=""text-align: right;"">Text Here</p>
<p style=""text-align: right;""></p>
More Text Here
}}}

The HTML source saves correctly, but the page output omits the closing tag for the second P element, causing the rest of the page to be invalid.

If you have any trouble reproducing this I will be happy to debug it on my server."	miqrogroove
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
8775	Numbers in quotation marks get wrong smart quotes		Formatting	2.8	normal	normal	Future Release	defect (bug)	reopened	needs-unit-tests	2009-01-01T18:05:14Z	2013-05-01T15:41:31Z	"Have a number in quotation marks, such as {{{""12345""}}} or {{{'12345'}}} and {{{wptexturize}}} converts the right quotation mark to double-prime and prime marks, respectively.

Patch fixes."	filosofo
14491	Quotation mark broken after ciphers		Formatting	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-07-31T09:26:39Z	2010-11-28T03:26:14Z	"As a default bug in Wordpress, quotation marks like the following ones don't work if they are positioned after ciphers/digits:
{{{
&#8242;
}}}
{{{
&#8217;
}}}
The problem is that after the digits the HTML special chars are actually '''not''' like the ones posted above. After ciphers/digits, the following source code shows us:


{{{
&#8220;2010&#8242;
}}}

{{{
&#8217;2011&#8242;
}}}

'''''Here's the solution like it should be in the source code:'''''

{{{
&#8220;2010&#8221;
}}}

{{{
&#8217;2011&#8217;
}}}"	Dannny
12690	Square brackets breaking links that contain square brackets		Formatting		normal	normal	Future Release	defect (bug)	reviewing	dev-feedback	2010-03-24T19:16:50Z	2012-09-19T22:40:34Z	"In the editor, wrapping square brackets around an anchor with a URL that contains square brackets, like so

{{{
[photos by <a href=""http://www.etsy.com/view_listing.php?listing_id=42936748&amp;ref=sr_gallery_7&amp;&amp;ga_search_query=keep+calm+and+carry+on&amp;ga_search_type=handmade&amp;ga_page=13&amp;includes[]=tags&amp;includes[]=title"">KeepCalmPosters</a> ]
}}}

converts the last double prime in the href attribute to the character code for the right double quotation mark, like so

{{{
[photos by <a href=""http://www.etsy.com/view_listing.php?listing_id=42936748&amp;ref=sr_gallery_7&amp;&amp;ga_search_query=keep+calm+and+carry+on&amp;ga_search_type=handmade&amp;ga_page=13&amp;includes[]=tags&amp;includes[]=title&#8221;>KeepCalmPosters</a> ]
}}}"	iandstewart
20304	Strikethrough does not work for multiple paragraphs in the post editor		Formatting	3.4	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2012-03-25T20:13:00Z	2012-05-24T07:32:15Z	"'''Overview'''

If you have multiple paragraphs of text in the text editor and select all of them and push the strikethrough button, the text appears to be striked through; however, upon publishing/updating, only the first paragraph of text retains the strikethrough.

'''Steps to Reproduce'''

1) In a new post write screen add two paragraphs of text.

2) Select all of the text

3) Click the strikethrough button

4) Viewing the HTML of the rich text editor through web inspector (note that I am not toggling the visual/html tabs) shows:


{{{
<del>
	<p>text</p>
	<p>text</p>
</del>
}}}


5) Save post 

6) The text in the textarea only has strikeout for the first paragraph.

7) When viewing the source of the content on the front end, you get the following HTML:


{{{
<p>
	<del>text
</p>
<p>text</p>
<p>
	</del>
</p>
}}}


'''Other Information'''

I have tried these same steps on a clean install of 3.3.1. The strikethrough works as expected, and produces in all scenarios:


{{{
<p>
	<del>text</del>
</p>
<p>
	<del>text</del>
</p>
}}}

		
I first had this issue crop up for a .com client approximately 3-4 weeks ago, so this issue may have been introduced with a more recent patch."	tollmanz
22823	Texturize should handle apostrophes before primes		Formatting	3.4.2	normal	minor	Future Release	defect (bug)	new	has-patch	2012-12-08T04:48:06Z	2013-02-26T07:14:59Z	"Not sure if anyone else noticed this, but my recent post on make/core exhibited an odd bug in wptexturize() —

{{{
The new target for WordPress 3.5′s release is Monday
}}}

Note how that's a prime — `&#8242;` — rather than an apostrophe, `&#8217;`.

Switching the rules seems to work without breaking any unit tests."	nacin
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
10645	auto_p and forms		Formatting		low	normal	Future Release	defect (bug)	new		2009-08-18T16:53:40Z	2010-11-13T01:38:14Z	"auto_p will errantly injects paragraph and linebreak tags in certain circumstances within forms:

`<div>
<label for=""select_element"">This is a select box placed <select name=""select_element""><option value=""1"">inline</option</select> with the label.</label>
</div>`

becomes:

`<div>
<label for=""select_element"">This is a select box that is pla­ced<br />
<select name=""select_element""><option value=""1"">inline</option><option value=""2"">inside</option><option value=""3"">within</option></select>

<p>inline with the label.</label>
</div>`

linebreak and paragraph tags should never be inserted inside a label. In this case they are not even properly paired.  It would be nice if the surrounding div was identified and no tags were inserted, although if a paragraph tag wrapped the whole thing, it would not be the end of the world.
"	kingjeffrey
11202	automatic line breaks in comments		Formatting	2.8.5	low	normal	Future Release	defect (bug)	new		2009-11-20T18:47:50Z	2010-04-02T07:34:29Z	"WordPress 2.8.6 has got a Problem with the automatic line break. [[BR]]
Example:[[BR]]
Type the following comment in a WordPress Blog. 
{{{
Thank you for your comment!<blockquote>this is a small quote</blockquote> Next Text 
}}}
Then you have to save the comment. If you validate the your publish, you will see, that the sentence ""Thank you for your comment!"" will be put into the following absurd tags: [[BR]]

{{{
p>Thank you for your comment!<br />
}}}

If you write a comment with the following code (hit return after the word ''comment! ''),[[BR]]

{{{
Thank you for your comment! 
<blockquote>this is a small quote</blockquote> Next Text 
}}}
you will get the right codeform when you validate your comment:
{{{
<p>Thank you for your comment!</p> 
}}}

The same Problem exists when you type [[BR]]

{{{
test 2 <p> break </p> next text
}}}
After the word ''test 2'' you will miss the </p>. [[BR]]

WordPress has got this bug with every single elements like these one: 

{{{
<p>, <ul>, <ol>, <li>, <h1> bis <h6>, <div>, <blockquote> etc.
}}}

When you make manuell a new line in front of these elements, you won't find any problem, so WordPress must put an automatic line break in front of these elements and it doesen't do it. Please fix this nerved bug!!

regards, Dunkelangst from http://www.dunkelangst.org/ "	Dunkelangst
17571	bad double quote replacement  in wp_texturize		Formatting		normal	minor	Future Release	defect (bug)	new	dev-feedback	2011-05-26T09:18:08Z	2012-04-30T12:49:51Z	"Bug seen in  Wordpress 3.1.2. with buddypress 1.2.8

Some database fields that contain a string like this 'a string with \""escaped double quotes\""' are displayed this way : 'a string with >>escaped double quotes>> ' instead of 'a string with <<escaped double quotes>>'

The bug come from wp_texturize function in wp-includes/formatting.php .

I join a patch to resolve this issue.


"	csanquer
10041	like_escape() should escape backslashes too		Formatting	2.8	high	normal	Future Release	defect (bug)	reopened	has-patch	2009-06-05T11:18:16Z	2013-04-16T17:04:06Z	"The like_escape() function doesn't escape backslashes.

source:trunk/wp-includes/formatting.php@11518#L2260
{{{
	return str_replace(array(""%"", ""_""), array(""\\%"", ""\\_""), $text);
}}}
should be ...
{{{
	return str_replace(array(""\\"", ""%"", ""_""), array(""\\\\"", ""\\%"", ""\\_""), $text);
}}}
or simply ...
{{{
	return addcslashes($text, '%_');
}}}

Considering multi-byte characters ...
{{{
	if (function_exists('mb_ereg_replace')) {
		$text = mb_ereg_replace('\\\\', '\\\\', $text);
		$text = mb_ereg_replace('%', '\\%', $text);
		$text = mb_ereg_replace('_', '\\_', $text);
		return $text;
	} else {
		return addcslashes($text, '%_');
	}
}}}"	miau_jp
14050	shortcode_unautop() should also remove the <br /> added after shortcodes		Formatting	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-06-22T18:15:27Z	2013-01-19T08:38:00Z	"Currently `wpautop()` wraps a shortcode in `<p>` tags as well as adding a `<br />` tag after the shortcode. We then use `shortcode_unautop()` to remove the `<p>` tags, but the `<br />` stays.

To replicate, just drop a few caption shortcodes into a post and set them all to align left or right. You'll see that even though they all float (assuming that's how your theme handles them) they stair step down because of the extra `<br />`

I'm not a regex expert so someone should probably double check my patch, but it seems to work for me."	aaroncampbell
15657	wp_strip_all_tags causes paragraphs to run together		Formatting	2.9	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2010-12-03T06:05:40Z	2011-12-27T20:49:30Z	"If a post contains HTML like ""foo<p>bar"", the RSS feed ends up with the text ""foobar"" instead of the more appropriate ""foo bar"" or even ""foo\n\nbar"".

Here is a simple patch to wp-includes/formatting.php that fixes this: basically, convert <p>, <br> and certain similar tags to newlines before calling the PHP-builtin strip_tags() function.
"	jwz
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
2833	wpautop breaks style and script tags		Formatting	2.0.3	low	normal	Future Release	defect (bug)	reopened	needs-unit-tests	2006-06-17T20:36:00Z	2012-09-09T21:01:21Z	"When I create a post in which I want to include Javascript or some styles, WordPress 'breaks'when showing those posts, because all newlines in the SCRIPT and STYLE tag are converted into BR tags.

Example:
{{{
<style type=""text/css>
.matt { color: #FFFFFF; }
</style>
}}}
Becomes:
{{{
<style type=""text/css><br />
.matt { color: #FFFFFF; }<br />
</style><br />
}}}

And:
{{{
<script type=""text/javascript""><!--
google_ad_client = ""xxxxxxxx"";
google_ad_width = 120;
google_ad_height = 60;
google_ad_format = ""120x60_as_rimg"";
google_cpa_choice = ""CAAQ2eOZzgEaCD4zuVkdzt_CKI-293M"";
//--></script>
}}}
Becomes
{{{
<script type=""text/javascript""><!--<br />
google_ad_client = ""xxxxxxxx"";<br />
google_ad_width = 120;<br />
google_ad_height = 60;<br />
google_ad_format = ""120x60_as_rimg"";<br />
google_cpa_choice = ""CAAQ2eOZzgEaCD4zuVkdzt_CKI-293M"";<br />
//--></script><br />
}}}

This happens because wpautop adds those BR tags to the post. (As it should, just not within STYLE or SCRIPT tags.)

I've made a (temporary?) workaround for this by creating a pre and post event for wpautop, which substitute the necessary newlines by a temporary value in the pre event and placing them back in the post event. Although I think this should be incorporated in wpautop itself.

See also: http://wordpress.org/support/topic/76433 and http://wordpress.org/support/topic/76297

While searching trac I also found ticket #2346, which is about the same problem, but which was for 2.0 and self-closed by the submitter?

P.S. I have TinyMCE turned of."	Nazgul
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
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
6984	wpautop() formats the the contents of shortcodes		Formatting	2.6	low	trivial	Future Release	defect (bug)	new		2008-05-17T10:34:02Z	2009-11-28T07:20:24Z	"`wpautop()`, the bane of my existence as a plugin developer, is at it again.

Here's an example of some PHP wrapped in a valid shortcode in a post of mine:

{{{
[code lang=""php""]$text = str_replace( array('<p><p>', '</p></p>'), array('<p>', '</p>'), $text);[/code]
}}}

The content that gets passed to my shortcode function is this:

{{{
$text = str_replace( array('
<p>', '</p>

</p>
<p>'), array('
<p>', '</p>
<p>'), $text);
}}}

Expected result: it shouldn't touch the insides of valid shortcodes (like adding line breaks or anything as it is doing now)."	Viper007Bond
5250	wpautop() issue with lists		Formatting	2.3	normal	normal	Future Release	defect (bug)	new		2007-10-24T00:32:38Z	2011-07-30T15:34:50Z	"First of all, my sincere apologies if this is a duplicate.


The problem, in short: WordPress inserted a number of unclosed `<p>` tags into my post. It should either insert correctly closed tags, or none at all. I honestly would prefer the former.


In detail: I had HTML code very similar to this:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul>more text</li>
</ul>


This was automatically converted to:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul><p>more text</li>
</ul>

Note the extra `<p>` tag in the above, which is unclosed (making the W3C validator choke on my website).

Also note, I was not using the WYSIWYG editor (turning it off was the first thing I did), so it's unlikely to be due to that.


As a workaround, manually inserting properly closed `<p>` tags works just fine:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul><p>more text</p></li>
</ul>

Since this workaround exists, the bug is not very prioritary, but it should also (hopefully) be easy to fix."	Narc0tiq
10033	wptexturize and wpautop problems with html comments and object tags		Formatting	2.8	normal	minor	Future Release	defect (bug)	new		2009-06-04T12:06:35Z	2010-11-23T05:43:55Z	"Bumped into this one when upgrading my mediacaster plugin to use swfobject 2.1 (which is not 1.5 compatible), as documented here:

http://code.google.com/p/swfobject/wiki/documentation

I take it I'm not the only one who is going to need to upgrade a plugin. It's minor, since I'll just move the filter further down in the queue, but it's still worth reporting:

{{{
<object id=""m544cf9700db147f751dc34ea1241d8bd"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" width=""320"" height=""260"">
<param name=""movie"" value=""http://www.youtube.com/v/_nkZ3eHeXlc"" />
<!--[if !IE]>-->

<object type=""application/x-shockwave-flash"" data=""http://www.youtube.com/v/_nkZ3eHeXlc"" width=""320"" height=""260"">
<!--<![endif]-->
<p><a href=""http://www.macromedia.com/go/getflashplayer"">Get Flash 9.0</a> to see this player.</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
<script type=""text/javascript"">
//swfobject.registerObject(""m544cf9700db147f751dc34ea1241d8bd"", ""9.0.0"");
</script>

}}}

Gets turned into the following mess:

{{{
<object id=""m544cf9700db147f751dc34ea1241d8bd"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" width=""320"" height=""260""><param name=""movie"" value=""http://www.youtube.com/v/_nkZ3eHeXlc"" /><!--[if !IE]>&#8211;><br />
<object type=""application/x-shockwave-flash"" data=""http://www.youtube.com/v/_nkZ3eHeXlc"" width=""320"" height=""260""><br />
<!--<![endif]--></p>
<p><a href=""http://www.macromedia.com/go/getflashplayer"">Get Flash 9.0</a> to see this player.</p>
<p><!--[if !IE]>&#8211;><br />
</object><br />

<!--<![endif]--><br />
</object><br />
<script type=""text/javascript"">
//swfobject.registerObject(""m544cf9700db147f751dc34ea1241d8bd"", ""9.0.0"");
</script>
}}}

So, two/three issues:

 - wpautop should also ignore double object tags, and html comments
 - wptexturize should ignore html comments"	Denis-de-Bernardy
8912	wptexturize malforms HTML comments that contain HTML tags		Formatting	2.7	normal	normal	Future Release	defect (bug)	reopened	needs-unit-tests	2009-01-21T20:16:08Z	2013-03-18T15:01:17Z	"Because it's replacing -- with #8211, a comment like <!-- whatever --> put into the HTML part of a post gets broken.

This makes it difficult for people writing special HTML in posts (like people putting in object tags, or javascript, or whatever) to do that sort of thing.

What is needed is to recognize --> as different from -- and not replace it with the en dash in that case.
"	Otto42
10269	wysiwyg bug with shortcodes		Formatting	2.8	low	minor	Future Release	defect (bug)	reopened	close	2009-06-25T11:29:42Z	2012-10-01T17:40:41Z	"When inserting two consecutive shortcodes on separate lines, the wysiwyg editor will change the post's contents on save.

{{{
[caption /]

[caption /]
}}}

gets turned into:

{{{
[caption /] [caption /]
}}}

the odd thing is that only genuine shortcodes get changed, too. the following is left alone:

{{{
[notashortcode /]

[notashortcode /]
}}}

"	Denis-de-Bernardy
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
14102	Additional CSS class in wp_list_pages when a page has children		Formatting	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-26T13:28:23Z	2010-12-06T20:35:17Z	"A great addition to the wp_list_pages function would be to add an extra CSS class of 'page_has_children' (or similar) to a list item for when it has child pages.

This would enable theme authors to style the list items with CSS to differentiate between those pages that have child pages, and those that don't at whatever depth you are viewing in really simple CSS.

Here is how it could be implemented in the WP3.0 codebase. I have simply amended the 'start_el' function as shown below.

'''FILE: wp-includes/classes.php - from line 1173'''

{{{

/**
 * @see Walker::start_el()
 * @since 2.1.0
 *
 * @param string $output Passed by reference. Used to append additional content.
 * @param object $page Page data object.
 * @param int $depth Depth of page. Used for padding.
 * @param int $current_page Page ID.
 * @param array $args
 */
function start_el(&$output, $page, $depth, $args, $current_page) {
	if ( $depth )
		$indent = str_repeat(""\t"", $depth);
	else
		$indent = '';

	extract($args, EXTR_SKIP);
	$css_class = array('page_item', 'page-item-'.$page->ID);
	
	//JA ADDITION START 1 of 2 - DETECT IF PAGE HAS CHILDREN START
	$has_children = wp_list_pages('&child_of='.$page->ID.'&echo=0');
	//JA ADDITION END 1 of 2 - DETECT IF PAGE HAS CHILDREN
	
	if ( !empty($current_page) ) {
		$_current_page = get_page( $current_page );
		if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) )
			$css_class[] = 'current_page_ancestor';
		if ( $page->ID == $current_page )
			$css_class[] = 'current_page_item';

		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN START
		if ( !empty($has_children) )
			$css_class[] = 'page_has_children';
		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN END

		elseif ( $_current_page && $page->ID == $_current_page->post_parent )
			$css_class[] = 'current_page_parent';
	} elseif ( $page->ID == get_option('page_for_posts') ) {
		$css_class[] = 'current_page_parent';
	}

	$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page));

	$output .= $indent . '<li class=""' . $css_class . '""><a href=""' . get_page_link($page->ID) . '"" title=""' . esc_attr( wp_strip_all_tags( apply_filters( 'the_title', $page->post_title, $page->ID ) ) ) . '"">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>';

	if ( !empty($show_date) ) {
		if ( 'modified' == $show_date )
			$time = $page->post_modified;
		else
			$time = $page->post_date;

		$output .= "" "" . mysql2date($date_format, $time);
	}
}

}}}
"	Jonnyauk
9306	Additional smart quote suggestion		Formatting		low	trivial	Future Release	enhancement	new	close	2009-03-09T05:09:36Z	2011-02-05T11:04:09Z	"If a user writes a post that contains a quotation inside parentheses, the open quote mark is not used. I suggest that when a quotation mark (double or single) is used after an open parenthesis, it should be a left-quote “ instead of a right quote ”. In order to be as complete as possible, it would probably be best to ensure that this is only done in the event that white space is used prior to the open parenthesis so as to prevent it printing the wrong one if, say, a sad-face smiley is used inside a quotation, like so:

'''''She told me, ""Aw, you make me a sad panda now. :(""'''''

If it's done so that it will only open the quote correctly after white space \s or a carriage return, I think that will cover the vast majority, if not all, of the situations where it would need to be used."	cloak42
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
16496	Make $sample_permalink_html human-readable on Edit Post screen		Formatting		normal	normal	Future Release	enhancement	new	has-patch	2011-02-08T19:40:23Z	2011-11-06T12:00:31Z	"If the permalink contains words with non-latin characters (for example the permalink structure is /%category%/%postname%/ and the assigned category is non-English) the $sample_permalink_html, which is echoed by [http://core.trac.wordpress.org/browser/branches/3.1/wp-admin/edit-form-advanced.php#L260 edit-form-advanced.php], is not human readable on Edit Post screen (below the title). The editable part of the permalink (the one that comes from the title of the post) ''is'' readable.

$sample_permalink_html should be urldecoded at some stage before echoed.

Screenshot attached."	linuxologos
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
11616	Text copied form visual editor don't store font color		Formatting	2.9	normal	minor	Future Release	enhancement	new	close	2009-12-25T09:14:51Z	2011-03-26T18:56:14Z	"if i copy something out of the post editing tool, and if i paste it into another, the color is not copied too.
Just the ""bold / underline ect...""

i have to ajust the color every time myself :(
"	warsheep
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
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
12084	allow preserving HTML in the_excerpt (specify allowed tags for strip_tags in wp_trim_excerpt)		Formatting	3.0	normal	minor	Future Release	enhancement	new	has-patch	2010-01-29T22:36:40Z	2012-08-13T12:48:48Z	Right now, `wp_trim_excerpt` is destructive. You can filter it, but once tags are stripped, you can't get them back without recreating the excerpt from the raw input. It would be nice if theme developers had an option to preserve at least some of the HTML formatting when using excerpts as post teasers (see #9260). 	sillybean
10792	ampersands and slashes stripped out of slugs		Formatting		low	trivial	Future Release	enhancement	new	has-patch	2009-09-15T22:56:00Z	2012-01-05T06:42:43Z	"In slugs for taxonomies or post permalinks, slashes (/\) and ampersands (&) are stripped out. More useful URLs would be created by turning slashes into hyphens, and ampersands into the word ""and"".

e.g.:

""songs by Lennon/McCartney""[[BR]]
expected slug: ""songs-by-lennon-mccartney""[[BR]]
actual slug: ""songs-by-lennonmccartney""

""Us & Them""[[BR]]
expected slug: ""us-and-them""[[BR]]
actual slug: ""us-them"""	alxndr
5161	balance_tags option should not be in the user interface		Formatting	2.3	normal	normal	Future Release	enhancement	new	dev-feedback	2007-10-08T08:02:49Z	2013-01-22T01:19:58Z	"In the WP Admin → Options → Writing ({{{options-writing.php}}}), there is an option ""!WordPress should correct invalidly nested XHTML automatically"" which controls whether {{{balance_tags()}}} is run on post content or not.

I'm fully supportive of this feature — I think it's important to ensure the HTML that is output to browsers is valid. There have been a few situations where users needed to turn this off, e.g. bugs in the function, or a plugin misbehaves with it on (if I remember correctly, runPHP).

However, this is a KDE-style option where it is put there for a niche case. In 99% of cases, you will want it on.

A few people on the mailing lists have stated a number of times that we should take a GNOME-like approach to these sort of features, and let them be controlled only by plugins. This option is left over from the dark ages of !WordPress, and I don't think the cases for turning it off are big enough to warrant its inclusion in the user interface.

If a plugin has a problem with balancing tags (e.g. runPHP), the offending plugin can simply remove the filter.

{{{
remove_filter('content_save_pre', 'balance_tags);
}}}

(...or whatever the code would be.)

The new canonical redirect feature has far more many problems, and far more justification for it to be turned off, yet I don't see a checkbox ""Redirect links to their canonical URL"" anywhere in the user interface. If anything should have a checkbox, it's the canonical redirect feature — but, it doesn't have any such thing. So, we should remove this checkbox as well."	JeremyVisser
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
5689	smilies should not wrap on line-break		Formatting		low	minor	Future Release	enhancement	new	has-patch	2008-01-19T10:49:42Z	2010-07-15T01:44:30Z	When smilies are not converted to images they still should not wrap on line-break.	gpoul
13340	wpautop breaks inline MathMl		Formatting	2.9.2	normal	normal	Future Release	enhancement	new	needs-unit-tests	2010-05-11T14:04:58Z	2012-04-07T01:41:16Z	"wpautop treats inline &lt;math&gt; tags as block; they in fact may be placed block or inline, with their flow model dependent on the mode or CSS display property.

Trivial to fix; just needs someone to commit the change. Remove ""|math"" from $allblocks in file wp-includes/formatting.php. math tags on their own will be wrapped in a paragraph, which is fine.

As a very convenient enhancement, please replace on line 210:

{{{
     if ($br) {
-        $pee = preg_replace_callback('/<(script|style). ....
+        $pee = preg_replace_callback('/<(script|style|math) ...
}}}

to prevent MathML being polluted with breaks (current required workaround people are using is to have the whole block on one line, which is very messy to edit)."	nicholaswilson
9437	Allow the use of inline SVG in posts		Formatting	2.5	normal	normal	Future Release	feature request	reopened		2009-04-01T13:39:25Z	2011-03-31T07:18:17Z	"My WordPress 2.5 install serves the application/xhtml+xml MIME type (true XHTML) for the purposes of inlining SVG which I've done on my 'blog chrome'.  However, if I try to inline SVG in the contents of a post as follows:

<svg xmlns=""http://www.w3.org/2000/svg"">
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue"">
    <animateTransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/>
  </circle>
</svg>

WordPress mangles it into:

<svg xmlns=""http://www.w3.org/2000/svg""><br />
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue""><br />
    <animatetransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/><br />
  </circle><br />
</svg>

There are two problems with this:

1) WordPress converts the <animateTransform> element into a <animatetransform> element.  WordPress should at least preserve the case of the element (whether this is on a whitelist of SVG elements or all elements I don't care).  List of SVG elements are here: http://www.w3.org/TR/SVG11/eltindex.html

2) The extra <br /> elements.  These are forgivable since the elements are simply ignored by the browser's SVG parser.

Can someone confirm the behavior in WordPress 2.7.x?"	codedread
11023	Gallery Category Doesn't change with article		Gallery		normal	normal	Future Release	defect (bug)	new		2009-10-24T01:49:09Z	2009-12-08T00:56:23Z	Lets say I have a default category setup called Drafts that all articles go into at first by default. Then on completing the article before posting it live, I movie it to another category called News (no longer having the draft category ticked also). If I've added an image with that article that I click to view a bigger picture of in the gallery page (image.php). It still shows it as being listed under the Drafts category, while the article itself is listed under just News category.	mrgtb
14819	Gallery shortcode output does not validate.		Gallery	3.0.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-09T14:17:28Z	2012-09-17T05:30:04Z	"I was validating a sites markup when I realized that the gallery shortcode output does not validate where know ""caption"" exists due to the lack of an associated value. Basically a <dt> must be followed by at least one <dd>.

Not sure if dl is the best tag to use for outputting galleries since I imagine lot's of people exclude captions from their galleries. Not sure what the best solution is at the moment.

Thoughts?

This is my first submission so be gentle."	jameslaws
13429	Updating Link URL on image within Admin with Gallery		Gallery	2.9.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-05-18T01:43:42Z	2013-01-02T13:11:27Z	"Image insertion no longer allows url to off site resource within Gallery.

When inserting a gallery you are unable to specify the Link URL. It keep reverting back to the default."	vshoward
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
11101	Gallery column width calculation needs more granularity		Gallery		normal	minor	Future Release	enhancement	new	has-patch	2009-11-08T07:36:13Z	2011-02-23T10:12:06Z	"In line 712 of wp-includes/media.php where the column width is calculated for the gallery css snippet:


{{{
$columns = intval($columns);
        $itemwidth = $columns > 0 ? floor(100/$columns) : 100;

        $selector = ""gallery-{$instance}"";

        $output = apply_filters('gallery_style', ""
                <style type='text/css'>
                        #{$selector} {
                                margin: auto;
                        }
                        #{$selector} .gallery-item {
                                float: left;
                                margin-top: 10px;
                                text-align: center;
                                width: {$itemwidth}%;                   }
}}}


itemwidth should be calculated as 

{{{
$itemwidth = $columns > 0 ? round(100/$columns,1) : 100;
}}}

This gives the width better precision. I've read that IE ignores the decimal, but it works on at least Firefox, so there is no reason not to let it have a decimal value. You could even increase the number of decimal points."	akozak
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
10489	UI Improvements for the gallery tab (edit post)		Gallery	2.8.1	normal	normal	Future Release	enhancement	new		2009-07-26T11:52:10Z	2010-10-28T08:48:06Z	"It would be nice to ever display the ""Gallery Settings"" Section on the gallery tab, even if only one image exists. That would help if you talk via phone and explain someone something. Often from-sections are helpfull to validate wether or not the other is on the same page as you are while explaining something.
"	hakre
11725	Add start and count attributes to gallery shortcode		Gallery	2.9.1	normal	normal	Future Release	feature request	new	has-patch	2010-01-05T15:00:27Z	2012-08-05T22:58:23Z	"Add shotcodes COUNT for views full gallery after click on MORE. Home

Modify files ./wp-includes/media.php
Lines 699 (add COUNT => '-1')
Lines 767-798 (add ForEach ... )

Use in WP:

[gallery] ... show standard gallery

OR

[gallery count=3] ... show images 1-3
- more -
[gallery count=3+] ... show images 4-n"	frymi
12799	Allow gallery shortcode to accept a maximum number of items		Gallery	2.9.2	normal	normal	Future Release	feature request	new	has-patch	2010-04-01T17:55:55Z	2012-08-27T21:59:51Z	"A ""would be nice"" feature of the gallery would be to allow for a maximum number of items to be displayed.

The main use of this feature would be to allow a page to show a ""preview"" of some of the images contained within one or more subpages, eg:

* Some event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""164""]
* Some other event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""200""]

"	dtorbert
16164	"""You are not allowed to delete this post."" - While Deleting a Media Library Item"		General	3.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-09T13:39:10Z	2012-06-30T20:14:21Z	"While deleteing 999 media library items, the request timed out. Resending the same request triggered an error message:

> You are not allowed to delete this post.

For me as a programmer, I know that those library items are technically a post, but for communicating with the user, the error message is misleading."	hakre
2877	A Slash too much @ get_pagenum_link()		General	2.0.3	normal	normal	Future Release	defect (bug)	reopened	has-patch	2006-06-29T17:47:30Z	2011-11-05T17:38:23Z	" * File: template-functions-links.php
 * Function: get_pagenum_link()

The following code is at the end of the function:

{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

If you work with the mod_rewrite style, you will get this URL for the first page:

http://www.example.com/wordpress/index.php/
This wont work (/ at the end).

Correx:
{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('/page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

Notes:

 * sry for my bad english...
 * i've downloaded a german translation of wordpress 2.0.3, so maybe its just in this version... ?!
"	dave@…
13926	Adding 'page-attributes' to a custom post type slows down edit screen in the admin		General	3.0	normal	normal	Future Release	defect (bug)	new		2010-06-16T20:01:17Z	2010-10-28T01:52:55Z	"When I add 'page-attributes' to a custom post type it takes roughly 1.5 to 2 min for the edit screen to load...  When I remove 'page-attributes' edit screen load is extremely fast.

Under the post type i created I have 5000+ entries."	granulr
16230	Category slugs not cut at 200 characters as it should under some conditions		General	3.1	normal	normal	Future Release	defect (bug)	new		2011-01-14T14:10:23Z	2011-07-17T02:21:27Z	"When a category name is longer than 200 characters, it is cut to 200 and so is the slug automatically created upon category creation.

Now, if you edit the category name or slug afterwards, again trying to set a name longer than 200 characters it is cut again.

But, if you edit the name or slug and use a very long string like this one:

%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8/%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%81%d0%bb%d0%b0%d0%b4%d0%ba%d0%b8%d1%88%d0%b8-%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%/

Then the slug ends up being longer than the 200 chars limit.

Now if on the Categories list dashboard page you have more categories than visible on one page, and the category you edited above is not on page 1, the page it is on will appear empty (while successive pages will be all right if they contain regular categories)

This has been reproduced on 3.1-RC2-17283"	paolal
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
23862	Clean up old WP->public_query_vars and WP->private_query_vars		General		normal	trivial	Future Release	defect (bug)	new	has-patch	2013-03-25T19:20:07Z	2013-05-20T12:03:20Z	"There are some old non-working public_query_vars still in the WP class that should be cleaned up.

* posts - broken 10 years ago http://core.trac.wordpress.org/changeset/182/trunk/blog.header.php
* search - hasn’t done anything since wp_query was created
* calendar - don’t see support since ‘b2’
* pb - don’t see support since ‘b2’
* static - only used in determining if is_page, though it no longer works correctly, added http://core.trac.wordpress.org/changeset/1527/trunk, but functionality was partially changed the next commit

Also, since 'post_type' is now a public_query_var, it can be removed from the private_query_vars.
"	prettyboymp
14268	Comments editor HTML tag		General	3.0	normal	normal	Future Release	defect (bug)	new		2010-07-10T19:16:16Z	2010-11-22T18:22:42Z	"With a vanilla (2.8.4 -> 3.0) installation, if you go and edit the comment from Mr Wordpress, you will see that in the editor you can find the HTML code of the apostrophe for ""post's"".

{{{
Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.
}}}

The problem comes with a production env with European languages where comments are full of accented letters that make the reading almost impossible."	pkirk
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
16949	Custom post types: error on page if query contains multiple post types		General	3.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-03-23T17:19:22Z	2011-10-18T19:53:06Z	"I'm using custom post types, and I modified the $query to include multiple post types. This works quite well, until I enter a URL to a non-existant post (modifying the last part, i.e. the post's slug).

{{{

// some HOWTO linked from the Codex suggests this,
// can't find the link right now

function add_posttypes_to_query($query)
{
	if (!is_admin() && !$query->query_vars['suppress_filters'])
	{
		if (!is_home())
			$post_type = array('video', 'post');

		$query->set('post_type', $post_type);
	}

	return $query;
}

add_filter('pre_get_posts', 'add_posttypes_to_query');
}}}

The error I get is: “Warning: Illegal offset type in isset or empty in /home/lxg/www/shops.supreme.de/supremeshops/branches/private_wp3/wp-includes/post.php on line 811”.

It appears that the function {{{get_post_type_object}}} gets the array passed if no posts were found.

Also, I realized that custom post single pages don't issue a HTTP 404 status on errors. But this may be due to local modifications. I am currently not able to set up an environment where I isolate this problem."	mastermind
16009	Define z-index on the new admin bar		General	3.1	normal	normal	Future Release	defect (bug)	reopened		2010-12-28T15:41:24Z	2011-01-06T12:08:20Z	"Proposal for z-index to be defined on the new admin bar (so that it will work in harmony with browser toolbar --> Web Develoepr Toolbar's ""Display Element Information"" Feature)

When the new admin toolbar is showing,
crucial information from the Web Developer Toolbar's 
""Display Element Information"" balloon becomes hidden.

Specifying a z-index for the admin toolbar seems to resolve this problem.

ie.
I changed line 92 of class-wp-admin-bar.php, 
FROM:

{{{
<div id=""wpadminbar"">
}}}

TO:

{{{
<div id=""wpadminbar"" style=""z-index:1000;"">
}}}


It seems that the z-index value is somewhat arbitrary to getting these two toolbars to work in harmony... as I've tried values ranging from 0 to 1000, and they all worked."	BlueKachina
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
19555	Deprecate url_is_accessable_via_ssl()		General		normal	normal	Future Release	defect (bug)	new	has-patch	2011-12-14T22:56:31Z	2012-04-27T16:10:44Z	We can convert it to use wp_remote_get() when we do, or just stub it.	nacin
10902	Display problem with exclude option in wp_list_pages		General	2.8.4	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2009-10-04T19:45:38Z	2011-04-02T11:50:55Z	"Create pages A,B,C and D, A parent of B, B of C and C of D[[BR]]
A[[BR]]
-B[[BR]]
--C[[BR]]
---D[[BR]]

call in a template 
<?php wp_list_pages(""exclude=6""); ?>
(6 is the ID of page B)

I get this display :[[BR]]
* A[[BR]]
* C[[BR]]
* D[[BR]]

when I expect :[[BR]]
* A[[BR]]
* C[[BR]]
-* D[[BR]]"	toutantic
15963	Don't try to add orphaned pages' parents' slugs to the page URL		General	3.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-12-23T11:08:55Z	2012-09-19T22:31:20Z	"If a page becomes orphaned---in other words, if a page points to a parent object that doesn't exist any more---`get_page_uri()` doesn't sanity check that the parent object actually exists.

Patch does the check without any extra work, by moving stuff around."	filosofo
18002	Entering page number for spam comments takes you to page 1		General	3.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-07-06T11:27:25Z	2011-11-22T17:17:15Z	When browsing through spam comments, I attempt to view pages in the middle of the set (e.g. page 9 of 13) using the number-entry feature (at the top right) introduced in WP 3.1. Unfortunately, in WP 3.2 this feature has been broken, and when I press Enter, it substitutes '1' for the page number I enter, and then takes me to page 1. I have tried this when browsing posts or normal comments, and it doesn't happen; it only happens when viewing spam comments. I have tried it on Chrome in Linux and Safari on Mac OS X and the same thing happens.	IndigoJo
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
19268	Even if .htaccess isn't writable, WP shouldn't prompt if there are no changes.		General		normal	normal	Future Release	defect (bug)	new	reporter-feedback	2011-11-16T21:36:20Z	2011-11-17T16:39:33Z	When you visit the permalinks settings screen, and .htaccess isn't writable, it prompts you to manually update. But it does that even if the current rules it is suggesting are already present. It should only prompt if the rules it is suggesting are different from what you have.	markjaquith
16167	FORCE_ADMIN_SSL broken if site runs on port different from 80		General	3.0.4	normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-09T15:49:44Z	2011-10-17T23:37:51Z	"I'm running a wordpress site (http://yoush.homelinux.org:8079/) hosted at my home server. Unfortunately mu ISP blocks incoming connections on port 80, so I have to use non-standard port.

With unmodified wordpress 3.0.4, I was unable to use FORCE_ADMIN_SSL, because it caused URLs starting with

http://yoush.homelinux.org:8079/

to be converted to

https://yoush.homelinux.org:8079/

Which is definitly broken since it is impossible to serve both http and https on the same port.

To fix this, I propose removing ':port' from URL when converting http url to https.
I've created a patch for this, that seems to work for me on my site."	yoush
15619	General Settings Tab Not Allowing trailing URL slash to be stored in Site & WordPress address (URL)		General	3.0.1	normal	normal	Future Release	defect (bug)	reopened	dev-feedback	2010-12-01T02:35:11Z	2011-01-21T10:15:11Z	"**Thank you for all of the efforts you've made regarding plugins easier to maintain - I deeply appreciate it.** 

When WordPress is installed in a subfolder, attempts to add the trailing slash currently will not save properly. From this URL:
http://www.domain.com/wordpressinstalledinfolder/wp-admin/options-general.php

The General Settings Tab - WordPress address (URL)
The General Settings Tab - Site address (URL)

Want to enter ""http://www.domain.com/wordpressinstalledinfolder/""
***it won't let me enter a trailing slash on the end like it will in other URL fields on the site.***

Request: Please tweak this field to allow storage of folder trailing slash.




"	dsquared
2691	HTML comments in posts aren't handled properly.		General	2.8.5	normal	normal	Future Release	defect (bug)	reopened		2006-04-25T03:16:37Z	2011-02-28T06:45:22Z	"When an HTML comment is added in a post, autop adds paragraph ( <p> ) tags around the comment and for multi-line comments line breaks ( <br /> ) are added after every line.  This should not happen in HTML comments.

This ticket is similar to #712 which was closed with wontfix.  I would like to know why this isn't seen as an issue?  It prevents the addition of RDF and other metadata, not to mention just plain old HTML comments in posts."	gord
7267	Infinite recursion in get_category_parents() and _children()		General		normal	normal	Future Release	defect (bug)	reopened	has-patch	2008-07-09T04:54:21Z	2010-12-07T18:41:17Z	"These two functions can get stuck in a recursion loop if there's an indirect category hierarchy loop like A -> B -> C -> A.

The patch keeps track of traversed IDs and prevents repetition - there's a name for the algorithm but it escapes me.  It increases memory usage but probably not too much - certainly less than infinite recursion does.


"	tellyworth
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
11697	Keep private posts in the admin area / Was: Make private posts a canonical plugin		General	2.9	normal	normal	Future Release	defect (bug)	assigned	has-patch	2010-01-02T21:33:21Z	2011-04-11T23:15:01Z	"Said Matt:
> Also, a lot of the complexity of private posts could be avoided by a relatively simple change: saying they're only viewable in the dashboard. (Which I think is close to how people use them already.)

----

There are quite a few tickets related to private posts that can be viewed by users who should, and even more tickets related to private comments that can be viewed by users who aren't authorized to view the post.

There also is at least one ticket that highlights a performance issue related to private posts.

http://core.trac.wordpress.org/search?q=private

Would it be an option to turn this into a canonical plugin and begone with the problems?"	Denis-de-Bernardy
17491	Make is_email() compliant with RFC2822		General	3.1.2	normal	minor	Future Release	defect (bug)	reopened	dev-feedback	2011-05-18T14:48:52Z	2013-01-10T11:02:05Z	is_email('toto.@toto.com') returns true	arena
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
13078	Make wp_register_style and wp_enqueue_style consistent		General	3.0	normal	minor	Future Release	defect (bug)	new	has-patch	2010-04-22T01:08:39Z	2013-03-31T05:06:56Z	"When fixing #13056, I noticed that wp_register_style and wp_enqueue_style had a few odd differences.

1. Enqueue truncates the $handle variable after the first '?' while register (and all other wp_style functions) accept any string.

2. Register set the default for $media to 'all', while enqueue set it to false. (fixed in the #13056 patch).

Moreover, since the two functions are practically the same, I've grouped them together in a private _wp_register_style function with an additional $enqueue boolean. Both enqueue and register call _wp_register_style.

I've omitted the truncate behavior mentioned above. If there's any reason for it in one, and not the other, or in both, feel free to correct me.

We could also just remove the truncate behavior from enqueue. It's a minor patch, and comes down to coding style."	koopersmith
16584	Media Gallery sorts images by two columns despite get_posts not supporting this properly		General	2.6	normal	normal	Future Release	defect (bug)	new		2011-02-17T22:25:55Z	2011-02-20T17:08:05Z	"In the get_media_items function in wp-admin/includes/media.php, attachments are sorted first by menu order, then by post ID by the following line:

{{{
$attachments = get_children( array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC') );
}}}

However, the get_posts in wp-admin/includes/query.php function does not properly support this. It splits up orderby by spaces, and then throws out 'ASC,' as it does not match a valid value. Due to a lucky coincidence, it turns into ORDER BY menu_order, ID DESC which still works in the same way.

I often want to display the first x uploaded images to a post, but allow changing which images are considered the first x via menu_order. If I solely order by ID ASC, that won't work. If I solely order by menu_order ASC, that won't work either, since the ones at the top of the list (latest uploaded) become first in the menu order. The only way to get it to work is to sort by menu_order DESC, ID ASC - but using 

{{'orderby' => 'menu_order DESC, ID', 'order' => 'ASC'}}

doesn't not work since the 'DESC,' gets ignored.

There are two possible interpretations of this bug:

a) Remove 'ASC,' in the line I mentioned since it's not valid according to the current rules for get_posts

b) Make get_posts properly support the above method by not having it throw out the extra order condition.
"	smerriman
15732	Media Settings page description is unclear		General		normal	trivial	Future Release	defect (bug)	new	has-patch	2010-12-08T15:26:37Z	2010-12-11T13:41:51Z	"This is pretty trivial, but it's an easy fix, so I thought I'd throw it out there.

Currently the Media Settings page reads, ""The sizes listed below determine the maximum dimensions in pixels to use when inserting an image into the body of a post.""

That isn't true, it should probably read ""The sizes listed below determine the maximum dimensions in pixels to use when adding an image to the Media Library.""

The only reason this came up, is a client of mine was confused when she changed the large dimensions to ""434x434"" and the image she had uploaded previously w/ the dimensions of 800x732 did not give her the ""Large"" option.

I'm not sure anyone else in the world has ever had this problem. So the severity is definitely trivial."	layotte
14581	No magic numbers		General		normal	normal	Future Release	defect (bug)	new		2010-08-10T15:57:59Z	2010-11-26T21:54:49Z	Add defines for the numeric user_status and comment_status values.	ryan
11235	"Pages whose ancestors are not all ""published"" cannot be used as parents for other pages."		General	2.9	normal	normal	Future Release	defect (bug)	new		2009-11-23T01:04:01Z	2009-11-23T15:27:55Z	Pages with trashed parents cannot be used as parents for other pages (they do not appear on the list).	caesarsgrunt
16555	Post format metabox shows duplicate 'standard' format		General	3.1	low	normal	Future Release	defect (bug)	new	has-patch	2011-02-13T23:01:55Z	2011-02-20T17:38:15Z	"Having 'standard' within add_theme_support makes the standard option show up twice within the post format metabox on the write/edit screen.

{{{add_theme_support( 'post-formats', array( 'standard', 'aside', 'chat', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio' ) );}}}

Patch fixes this by skiping over standard since it's hardcoded in the metabox."	ptahdunbar
21520	Prevent recursive script dependencies in wp_enqueue_script		General		normal	normal	Future Release	defect (bug)	new		2012-08-08T17:21:43Z	2012-10-23T20:32:51Z	"If a script sets itself as a dependency, we should catch that, strip out the dependency, and throw a {{{_doing_it_wrong}}}:

{{{wp_enqueue_script( 'my-script', '/path/to/file.js', array( 'my-script' ) );}}}

This may need to be done at the lowest level possible, i.e. {{{_WP_Dependency}}}"	batmoo
15424	Refresh post count when a post is deleted		General	3.1	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-11-14T16:02:47Z	2012-03-24T14:15:48Z	"Hi Guys,

I am reporting a bug in the system. I have various users in WPMU. They have their posts and i am tracking their no of posts.

Now if i delete a post from users account post count isnt getting updated. It remains at what it was previously.

eg. If a user has 4 posts in his account and he deleted his one post still the ""post_count"" field in ""wp_options"" table remains 4 only. Its not getting updated to 3.

Is there any patch for this ??

Awaiting eagerly for response.

Samir"	chouxpastry2002
14745	Renaming a Link-Category Resets Link Widget Options of that Category		General		low	normal	Future Release	defect (bug)	new		2010-08-31T13:21:50Z	2010-12-27T17:42:30Z	"When renaming the name of a Link Category that is used as well in a Link Widget, the Link Widget stops working.

Step to Reproduce:

 1. Create a Link Category ""Test Start"".
 2. Add 10 Links into the Category ""Test Start"".
 3. Go to the Widgets Screen and add a new Link Widget to a sidebar.
 4. Select that Link-Widget and set it from ""All-Links"" to the Category ""Test Start"".
 5. Visit your Frontpage so proof that the Widget displays.
 6. Go to the Link Cagegory Editor and quick-edit the ""Test Start"" Category.
 7. Rename it to ""Test End"".
 8. Save Changes.
 9. Visit your Frontpage.

''=>>'' The Widget has disappeared.

'''Expected behavior:''' Widget displaying with the (renamed) link category.

"	hakre
15833	Script concatenation fails to take external dependencies into account.		General	3.0	normal	normal	Future Release	defect (bug)	new		2010-12-15T17:35:17Z	2011-01-16T02:19:59Z	"Script concatenation places the concatenated script include first, before any scripts loaded separately.  If one of the scripts in the concatenation relies on a script outside the concatenation the dependency order is ignored.

When the dependencies are all internal to the concatenation things work fine (for example script4 relies on script3):

* concat=script1,script2,script3,script4,script5

But when script3 is loaded externally, script4 will break:

* concat=script1,script2,script4,script5
* external-script3

This becomes apparent if jQuery is loaded from a non-standard location (via a plugin or the [http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_a_default_WordPress_script_from_a_non-default_location code from the Codex]) in that the visual editor fails to function correctly because source:/trunk/wp-admin/js/editor.js uses jQuery (which it fails to register as a dependency, see ticket:15830, but when I fixed that locally the results were the same).

I'm working around this in [http://wordpress.org/extend/plugins/use-google-libraries/ Use Google Libraries] by globally disabling concatenation, but it would be nice if this was fixed.


If possible, it would be nice if the loader was smart enough to do something like:

* concat=script1,script2
* external-script3
* concat=script4,script5

Or at least flagged the script with the dependency as unsafe for concatenation:

* concat=script1,script2,script5
* external-script3
* script4
  


"	jczorkmid
11414	Sidebar Calendar Widget broken		General	2.9	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2009-12-12T22:33:24Z	2010-11-13T07:31:07Z	"I'm giving 2.9 beta a test drive for theme development purposes. On my test installation, I currently have the two default themes and a very simple theme of my own that I developed via a tutorial.

After I upgraded to 2.9 beta, the sidebar calendar started displaying rather oddly. It looks okay when the main page first loads, but when I click the <<Nov link, the calendar rows are way out of whack. When click on <<Oct, it's not as bad, but still incorrect. Then, when I go forward again and hit December, even that is a little bit off.

This happens whether I use the Calendar widget or just the theme's own sidebar, and it happens in all three installed themes.

My test site is at http://bleeder.faltarego.com
or http://faltarego.com/bleeder

Many thanks."	faltarego
14169	Slashes not removed when $_SERVER in process_conditionals()		General	3.0	normal	normal	Future Release	defect (bug)	new	commit	2010-07-01T20:40:28Z	2011-01-06T23:42:37Z	Since [1964] (now after [12732] in {{{wp-includes/load.php}}}) slashes are added to all values of {{{$_SERVER}}}. If then {{{$_SERVER}}} is accessed, slashes must be removed again otherwise things might not work as intended, e.g. comparing and parsing strings.	hakre
13418	Smaller Bits of Code Improvement		General	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-05-17T02:44:52Z	2012-12-07T21:18:42Z	"This ticket is for smaller bits of code-improvements all over trunk whenever something pops into sight.

Descriptions are put in the Description field of the attachment. Feel free to add your own so this won't clutter up tac too much.

Discussion in IRC and/or wp-hackers."	hakre
15965	Streamline exit call syntax		General	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-23T13:20:09Z	2010-12-23T14:45:11Z	"After review of patches in #15518 it came to my attention that {{{exit}}} is sometimes called with and sometime w/o paranthesis.

As #15518 makes use of the {{{exit;}}} variant, all occurences of {{{exit();}}} can be replaced with it."	hakre
18322	The Road to Magic Quotes Sanity		General	3.2.1	normal	normal	Future Release	defect (bug)	new		2011-08-03T20:26:25Z	2013-04-22T01:18:34Z	For back compat reasons, wp_magic_quotes() performs addslashes() on GPCS data.  This is a pain, especially given that some core API expects slashes and some doesn't.  In hopes of someday losing the automatic GPCS slashing, let's introduce a flag to turn off the slashing as well as slash and unslash functions that consult the flag.  If slashing is on, these functions add and strip slashes.  If slashing is off, they return data unchanged.  Plugin authors can start using these functions and testing their code with GPCS slashing turned off and on.  Eventually, GPCS slashing would default to off and all calls to the slash and unslash functions could be removed from core.	ryan
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
15030	Unserialize deep when returning arrays of metadata		General		normal	normal	Future Release	defect (bug)	new		2010-10-04T11:05:52Z	2010-12-08T19:34:06Z	"Currently when retrieving an array of metadata values for an object (no meta key specialized), they are retrieved as serialized. Only when meta key is specified do we unserialize.

We should array_map( 'maybe_unserialize' ) on what we plan to return instead of forcing plugins to call that themselves."	nacin
20569	We need addslashes_deep()		General	3.4	normal	major	Future Release	defect (bug)	new	has-patch	2012-04-29T08:08:28Z	2012-09-02T03:15:55Z	"
I don't imagine anyone still feels that having `update_metadata()` call `stripslashes_deep()` is still the Right Thing to do, but I understand why removing it is basically impossible for backward compatibility reasons.

That said, !WordPress as a platform does not currently provide a way for this data to be stored accurately as a meta value:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', $data);
}}}

I'm not saying that this is a great deal better from a code purity standpoint:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', addslashes_deep($data));
}}}

but it's at least explainable.

Telling people they have to do something like this:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
$slashed_data = array();
foreach ($data as $item) {
	$slashed_data[] = addslashes($item);
}
update_post_meta($post->ID, 'my_key', $slashed_data);
}}}

or this:

{{{
if (!function_exists('addslashes_deep')) {
/**
 * Navigates through an array and adds slashes to the values.
 *
 * If an array is passed, the array_map() function causes a callback to pass the
 * value back to the function. Slashes will be added to this value.
 *
 * @since 3.4.0? (oh please, oh please, oh please)
 *
 * @param array|string $value The array or string to be slashed.
 * @return array|string Slashed array (or string in the callback).
 */
function addslashes_deep($value) {
	if ( is_array($value) ) {
		$value = array_map('addslashes_deep', $value);
	} elseif ( is_object($value) ) {
		$vars = get_object_vars( $value );
		foreach ($vars as $key=>$data) {
			$value->{$key} = addslashes_deep( $data );
		}
	} else {
		$value = addslashes($value);
	}

	return $value;
}
}

$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', addslashes_deep($data));
}}}

is just indefensible.

FWIW, @rboren created this function as [http://core.trac.wordpress.org/attachment/ticket/12402/12402.2.diff part of a patch] a couple of years back (#12402), but it hasn't landed yet. Pretty please can we get just this bit in for 3.4?"	alexkingorg
15769	"WordPress ships with copyrighted ""Hello, Dolly!"" lyrics which could potentially terminate the GNU GPL of the package"		General	3.0.2	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-12-11T02:35:59Z	2012-02-15T22:27:02Z	"It is an industry standard practice to show licensing details when using someone else's copyrighted content. I can't find anything substantiating that WordPress has been granted a license to use the copyright Hello, Dolly! lyrics, so the ''prima facie'' appearance is that WordPress is infringing copyright of Jerry Herman, the song's composer.

Unless WordPress indemnifies users, Hello Dolly plugin users may be vulnerable to legal problems due to unauthorized use of Jerry Herman's intellectual property.

Please clarify WordPress's license of this copyrighted material in the module's source code or at wordpress.org."	novasource
14754	add_query_arg() refactoring		General		normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2010-09-01T16:32:20Z	2011-03-23T19:34:24Z	"The function add_query_arg() looks like that it could benefit from a refactoring. Especially the handling of optional parameters (did introduce PHP 4 that language feature?) can benefit by a sligh touch-up.

Attached patch reflects only the first few lines of the function."	hakre
17923	add_query_arg() should encode values		General	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-28T22:55:50Z	2013-02-26T14:08:52Z	"One (or me at least) would expect that the result of

{{{
add_query_arg( 'foobar', 'this&that', 'index.php' )
}}}

would be

{{{
index.php?foobar=this%26that
}}}

since the whole purpose of the function is to build a URL. However the actual result is

{{{
index.php?foobar=this&that
}}}

You're asking to the function to create a URL in which `foobar` is `this&that` but instead it creates a URL in which `foobar` is set to only `this`. You shouldn't have to pre-encode values -- the function should take care of it for you.

The function to ""blame"" for this is our `build_query()` which for some reason does not encode by default.

Semi-related: #16943"	Viper007Bond
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
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
12016	get_calendar can output a calendar when there are no posts		General	3.0	normal	normal	Future Release	defect (bug)	reviewing	dev-feedback	2010-01-25T17:54:31Z	2010-11-13T09:06:16Z	"If a site doesn't have any posts, get_calendar isn't supposed to display a calendar. You can visit a page or have a static home page, and a calendar is displayed. The get_calendar function is looking at global $posts to determine if the site has posts but this variable can contain data from other post_types.

r12821"	mtdewvirus
23881	get_transient() could delete transient timeout options in an unexpected way		General	2.8	normal	minor	Future Release	defect (bug)	new	needs-unit-tests	2013-03-28T11:02:07Z	2013-04-22T21:17:24Z	"get_transient() could delete transient timeout options if a given transient name has the ""timeout_"" prefix.

To reproduce:
{{{
set_transient( 'test', 'test', 60*60 );
get_transient( 'timeout_test' ); // will delete the _transient_timeout_test option
}}}

Solution:

Check if get_option( $transient_timeout ) is not returning false.
{{{
if ( false !== get_option( $transient_timeout ) && get_option( $transient_timeout ) < time() ) {
}}}
"	tenpura
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
10458	lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php		General	2.8	normal	normal	Future Release	defect (bug)	reopened	has-patch	2009-07-21T14:10:36Z	2010-05-10T08:50:09Z	"lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php, this in turn disabled any action in the switch statement breaking the ability to logout.

Symtoms of this bug are: clicking logout in wordpress 2.8 and going to the login page but not really logging out.  Clicking logout in wordpress 2.3 and being redirected right back to the /wp-admin page.

adding this code to wp-login.php, fixes the behavior and re-enables all features in wp-login.php.

I don't know the wordpress code but if there is a section which deals with idiosyncrasies of web servers that lighttpd be detected and this code be run to deal with it. 

//
// Main
//


if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false)
{
$_lighty_url = $base_url.$_SERVER['REQUEST_URI'];
$_lighty_url = @parse_url($_lighty_url);
$_SERVER['QUERY_STRING'] = $_lighty_url['query'];
parse_str($_lighty_url['query'], $_lighty_query);
foreach ($_lighty_query as $key => $val)
$_GET[$key] = $_REQUEST[$key] = $val;
}
"	myrond
12264	links truncated: link_url column in wp_links table -- datatype too small		General	2.9.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-02-17T20:27:25Z	2011-08-03T19:55:37Z	"Here is my original post about the issue:  [http://wordpress.org/support/topic/365540?replies=3]

In short, the link_url column in the wp_links table has a datatype of VARCHAR(255).  As far as I know, there is no pre-defined limit to the length of a URL.  However, browsers typically enforce their own practical limits, the shortest of which is much larger than the 255 character limit that WP is enforcing.  Entering urls longer than 255 characters causes them to be truncated.

I tried altering the table so that link_url has a datatype of VARCHAR(1024).  This allowed me to use much larger links without them being cut off.  Therefore, I believe that the limiting factor is the DB and not some other code within WP.
"	goto10
15946	post_date_gmt ignored in wp_insert_post()		General	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-22T00:41:40Z	2010-12-26T22:46:25Z	If a post is inserted with `post_date_gmt` set and `post_date` not, `post_date` defaults to the current date/time, rather than being generated from `post_date_gmt`	kawauso
22781	setUserSetting cannot handle hyphens		General	2.7	normal	normal	Future Release	defect (bug)	new	early	2012-12-06T06:18:39Z	2012-12-06T18:25:43Z	"sanitize_key() can, setUserSetting should be able to as well. It's not that sanitize_key() plays a role, but it sets expectations for what is allowed in keys across core. Both keys and values should be able to accept a hyphen.

The post-thumbnail image size cannot be remembered, for example, if it is added to image_size_names_choose."	nacin
16472	set_query_var() / get_query_var() does not work for NULL values		General		normal	normal	Future Release	defect (bug)	new	has-patch	2011-02-06T16:08:06Z	2011-02-09T16:54:38Z	"Setting a query var to NULL will convert it into an empty string:

{{{
$name = 'test';
$value = NULL;
set_query_var($name, $value);
$get = get_query_var($name);
echo $value === $get ? 'same' : 'different';
var_dump($get);
}}}

This will output ""different"" and showing that the query var now is an empty string."	hakre
13208	shared code in get_mu_plugins() and get_dropins()		General		normal	normal	Future Release	defect (bug)	new	has-patch	2010-05-02T03:22:40Z	2010-11-13T07:56:26Z	"Aka code buplication.


FYI closedir() is not necessary in PHP. It only consumes runtime and memory if you use it especially with the @ operator."	hakre
12056	"target=""_blank"" being stripped from Profile Bio and Category Description"		General	2.9.2	normal	normal	Future Release	defect (bug)	new		2010-01-27T16:50:00Z	2011-05-31T19:32:07Z	"Many apologies if this is a duplicate. I have searched but did not find it yet posted.

I noticed that target=""_blank"" is being stripped from my ""a href"" tags my profile ""Biographical Info"" field even though the ""a href"" with the URL and closing tag still remain. It happens every time I save my profile. 

This was independently verified.

It is a regular wordpress install running 2.9.1 (not wordpressmu, etc.).

My original thread can be found here:
http://wordpress.org/support/topic/355388?replies=1"	lovewpmu
14938	title of add_settings_section and add_settings_field		General		normal	normal	Future Release	defect (bug)	new		2010-09-22T16:44:40Z	2011-01-16T17:10:15Z	"When the title of both these functions is left blank, they echo 
<h3></h3> and <table><th>.... on to the page. 

When the title is left blank, they shouldn't add the blank tags."	gandham
11734	trackback_rdf() for IDN (xn--) Domains produces invalid HTML		General	3.1	normal	normal	Future Release	defect (bug)	new	close	2010-01-06T01:10:55Z	2012-02-20T12:22:02Z	"Hello

The trackback_rdf() function from wp-includes/comment-template.php wraps the ""<rdf:RDF>...</rdf:RDF>"" output inside ""<!-- ... -->"" HTML comments, probably to be safe as not all Browsers understand them.

When using Wordpress 2.9.1 on a site with an international domain name [1] that contains special characters like German ""Umlauts"" like äöü, this domain name is written as e.g. xn--tst-qla.de for täst.de.

Now the output of trackback_rdf() suddenly gets a ""--"" which is the SGML/HTML comment separator mark [2]. Firefox 3.5.6 e.g. sees this as the end of the comment and therefore shows the final ""-->"" as text to the user.

As the whole RDF tag is supposed to be invisible for the user, it's a bug in Wordpress :-(

Here is an real world example output:

{{{
                     <p class=""post-tags"">

                      </p>
				  <p class=""post-info"">
					  				  </p>
				  <!--
				    <rdf:RDF xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#""
				xmlns:dc=""http://purl.org/dc/elements/1.1/""
				xmlns:trackback=""http://madskills.com/public/xml/rss/module/trackback/"">
			<rdf:Description rdf:about=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/""
    dc:identifier=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/""
    dc:title=""Wortlieblinge""
    trackback:ping=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/trackback/"" />
</rdf:RDF>				  -->
			  </div>
}}}


Sadly I have not yet come up with a solution. PHPs urlencode() does not escape a double dash - which is ok as its usually perfectly valid. Maybe someone with RDF experience has a good idea.

bye,

-christian-


[1] http://en.wikipedia.org/wiki/Internationalized_domain_name#Example_of_IDNA_encoding

[2] http://htmlhelp.com/reference/wilbur/misc/comment.html



"	lathspell
11683	update_metadata() passes only the first meta_id		General	2.9	normal	normal	Future Release	defect (bug)	new	has-patch	2010-01-01T18:04:39Z	2013-05-14T13:18:38Z	"Code to reproduce:

{{{
function update_metadata_action_test($meta_id) {
	var_dump($meta_id);
}
add_action('update_post_meta', 'update_metadata_action_test');

add_metadata('post', 1, 'mykey', 'value1');
add_metadata('post', 1, 'mykey', 'value2');

update_metadata('post', 1, 'mykey', 'new value');
}}}

Expected result:

{{{
Array ( [0] => 101 [1] => 102 )
}}}

Actual result:

{{{
string(3) ""101""
}}}
"	scribu
10770	wp-cron uses excesive CPU cycles		General	2.9	normal	critical	Future Release	defect (bug)	new	reporter-feedback	2009-09-12T11:49:09Z	2010-02-20T18:37:21Z	"Users are suddenly finding their accounts suspended because of excessive CPU cycles. However after investigating it appears the web hosting companies are properly configured and no hacks have occured. It seems that wp-cron is looping and consuming huge amounts of cpu cycles.

'''Versions:'''
This occurs across the past several versions on fully updated versions.

'''The effect:'''
Excessive CPU cycles with resulting suspension of a users account.

'''Plugins and Theme:'''
I detect no relationship to plugins and themes. I am presently running only 8 plugins.

'''Frequency:'''
Sadly, this is an intermittent issue. But a check of the Wordpress.org forum will show regular questions about this problem.

'''Server Environment:'''
Host is [http://www.inmotionhosting.com]. Fully updated and seemingly well maintained.

'''Additional:'''
There is a link from a 2.6 problem at [http://trinity777.wordpress.com/2008/10/28/wordpress-26-the-issue-of-wp-cronphp/]. Although it refers to an old version I think the issue is still unresolved and his work might prove useful to you.

Thanks
"	jbevans
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
16059	wp_kses_split2() is private, no need to create a function with the sole purpose to call a function.		General	3.1	lowest	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-01T17:06:19Z	2011-01-01T21:41:01Z	"In the effort to remove create_function() constructs from the file (#10623, #7363) the last one was removed in 16313 / #14424.

While the analysis in the last ticket was right that create_function() is not needed, the resolution to introduce a named function was not.

Infact the anonymous callback function has been replaced with a named callback function without taking into account, that a named callback function already exists. So a function whith its sole purpose to call another function has been introduced by the google summer of code student.

The existing functions name is wp_kses_split2(), having the needed properties. The function is marked as private and not used anywhere else in the file kses.php nor the whole core php code.

It can be safely adopted to fulfill the requirements of the callback function signature.

This saves the overhead of a function call per callback call.

Additionally passing the data needs only one entry in the symbol table by using an array."	hakre
15667	wp_list_pages, if it finds no pages to display, shows random child pages instead because of a bug in get_pages()		General	3.0.2	normal	critical	Future Release	defect (bug)	new		2010-12-03T19:12:46Z	2011-01-16T05:09:28Z	"How to reproduce:[[BR]]
- About page is published
- additionally, there is a number of parent pages[[BR]]
- these each have a number of children[[BR]]
- when calling wp_list_pages(), the ""exclude"" attr excludes all parent pages, and display only the About page.

This works as long as there is at least 1 other page published that is not in the list of excluded IDs. In this example, as soon as the About page is set to ""draft"", wp_list_pages stops working correctly.

So... with no other pages besides the excluded ones published, we do this:

1) wp_list_pages('title_li=&depth=1&exclude=3,5,7');
=> wp_list_pages SHOULD return nothing, but instead it displays all child pages of the first parent page ID in the ""exclude"" attr (here: 3).

Now we now add the ""exclude_tree"" attr just for fun:

2) wp_list_pages('title_li=&depth=1&exclude=3,5,7&exclude_tree=3,5,7');
=> should again return nothing, but instead, it displays the first-ever published child page globally (here: a child page of 5).

It looked like random behavior at first but I've been able to identify the above pattern. I'm guessing it's a failing condition somewhere in the function."	bobsoap
13575	wp_max_upload_size() is not taking memory limit into account		General	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-05-27T12:38:41Z	2011-03-08T15:14:43Z	"wp_max_upload_size() is not taking a memory limit into account while checking for the maximum upload size.

according to the official php documentation the memory limit is limiting file uploads as well (and post form operations).


> post_max_size - integer [[BR]][[BR]]
> Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.

[http://www.php.net/manual/en/ini.core.php#ini.post-max-size Source]"	hakre
12657	wp_signon() adds one filter per call		General	3.0	normal	normal	Future Release	defect (bug)	new		2010-03-20T11:52:10Z	2010-10-02T00:35:56Z	"If wp_signon() is called multiple times, the filter will be added multiple times. Next to this a lot of the function seems to be just typed in in the wish that it does work instead of doing things properly. See quote: ""ugly hack to pass this to wp_authenticate_cookie"" or leftover TODO markings and the like.

Should be put in order prior to next release."	hakre
16686	$user argument of get_edit_profile_url() should be optional		General	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-02-27T05:40:21Z	2011-02-27T09:54:36Z	It should default to the current user.	nacin
22325	Abstract GPCS away from the superglobals		General		normal	minor	Future Release	enhancement	new		2012-10-30T21:15:41Z	2013-03-21T00:27:16Z	"As discussed at #wpcs, it looks like we want to move away from directly using the GPCS superglobals. This gives us a way to handle slashing backwards compatibility moving forward.

This is still a heap of versions away, but this is a way to keep any notes central."	rmccue
23471	Abstraction of post format parameters (wp_update_post(), XML-RPC, template tags)		General	trunk	normal	normal	Future Release	enhancement	new		2013-02-13T19:55:58Z	2013-05-16T12:07:38Z	"#19570 is introducing a UI for post formats. Correspondingly, various post meta fields will be introduced to store the extended data that's used in some post formats (eg. the URL field for a link or the source field for a quote).

Anything that interacts with the XML-RPC API and wants to support post formats (eg. future versions of the [http://wordpress.org/extend/mobile/ WordPress mobile apps]) will therefore need to:

 1. Send the various post format meta fields in its requests, and
 2. Receive the various post format meta fields in responses.

There should be some abstraction available at all levels of saving and fetching posts, don't we have to deal with the post meta fields directly. We should:

 1. Introduce a new parameter to the `wp.newPost` and `wp.editPost` XML-RPC methods for specifying the values of the extended post format fields when saving posts,
 2. Introduce a new parameter to the `wp.getPost` and `wp.getPosts` XML-RPC methods for returning the values of the extended post format fields when fetching posts,
 3. Introduce a new parameter to `wp_update_post()` for specifying the values of the extended post format fields when saving posts, and
 4. Introduce template tags for displaying/returning the values of the extended post format fields.

Point number 4 may be being covered somewhere else. I know it's been mentioned in IRC but I couldn't find mention of it on Trac.

The end result of this is that extended post format data is abstracted from its storage method.

Consideration: Which of these fields will be required and which are optional (on a per-post-format basis).

Thoughts? I'm happy to volunteer a first patch (or patches)."	johnbillion
21488	Add Default Callback Functions for add_settings_field()		General		normal	normal	Future Release	enhancement	reopened	dev-feedback	2012-08-05T23:22:00Z	2013-02-24T04:57:58Z	"By default, when creating options in plugins and themes, every developer is required to create custom callback functions for rendering their option's HTML. The HTML for most options is nothing more than a standard INPUT field, a SELECT field, TEXTAREA field, etc, so there's really no reason there shouldn't be default callback options in place.

For example, if I have a plugin that registers one text field option in the General settings page, it really doesn't make sense that I should be forced to create a callback function, especially not when probably 99% of all text fields are outputted in exactly the same way: 

{{{
<input name=""FIELD NAME"" id=""FIELD ID"" value=""FIELD VALUE"" class=""regular-text""/>
<div class=""description"">The description of the field (if present)</div>
}}}

With default field callbacks available, developers can do this:


{{{
function pw_register_settings() {
	register_setting( 'general', 'pw_sample_option', 'esc_attr' );
	add_settings_section( 'pw_sample_section', 'This is a Sample Section', 'pw_sample_section_cb', 'general');
	add_settings_field( 'pw_sample_option', 'A Sample Setting', 'text', 'general', 'pw_sample_section', array( 'description' => 'The field description' ) );
}
add_action('admin_init', 'pw_test_settings');

function pw_sample_section_cb() {
	// this is the section HTML (if you want it)
}
}}}

This is much simpler than also having to write the callback function to render the HTML for the option.

The patch attached adds the following default callbacks:

* text
* textarea
* select
* radio
* checkbox
* checkbox_group

For select, radio, and checkbox groups, the options are passed as an array of ""choices"" in the last, optional $args parameter for add_settings_field():

{{{
$options = array( 
	'one' => 'The Choice Name',
	'two' => 'The Second name', 
	'three' => 'The Third option'
);
add_settings_field( 'pw_sample_option', 'A Sample Setting', 'select', 'general', 'pw_sample_section', array( 'choices' => $options, 'description' => 'This is a select' ) );

}}}

When a user wants to create a custom callback function, this is still allowed as call_user_func() is the default in the `$field['callback']` switch statement for the do_settings_fields() function."	mordauk
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
14541	Add boolean at remove_meta_box action		General	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-08-05T09:09:51Z	2010-11-18T10:09:59Z	"Add the possibility of getting the status of the remove_meta_box action by boolean.
Can be useful if you want to add/remove other metaboxes if one other is present or not."	Rahe
11581	Add category description to wp_list_bookmarks()		General	2.9	normal	normal	Future Release	enhancement	new	has-patch	2009-12-23T20:09:22Z	2010-07-15T09:02:13Z	Add a parameter to display the link category description under the category title in wp_list_bookmarks() in bookmark-template.php. Setting a link category description is an option in the manager panel but there is not a good way to display it without modifying the core function itself a la http://www.brainshitting.com/index.php/archives/241	nedsferatu
11212	Add filter to wp_parse_args()		General	2.9	lowest	normal	Future Release	enhancement	reopened		2009-11-21T05:23:01Z	2011-02-02T09:23:16Z	"This will allow for some l33t hackery (basically being able to modify a wide variety of functions).

Think we could squeeze it into 2.9 since it's just a filter?"	Viper007Bond
10946	Add set_post_field()		General		normal	normal	Future Release	enhancement	new	has-patch	2009-10-12T16:58:43Z	2009-11-17T15:05:33Z	"get_post_field() should have a matching function that updates a certain field.

Very useful both for Core and for plugins."	scribu
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
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
21466	Allow post password cookie expiry to be customized		General	3.4.1	lowest	minor	Future Release	enhancement	new	has-patch	2012-08-04T20:52:35Z	2013-04-16T11:23:29Z	"It'd be nice if you could customize the expiry time for the post password cookie that is set in `wp-login.php?action=postpass`.

The only solution right now is [https://gist.github.com/3259814 pretty ugly]."	Viper007Bond
12721	Allow post_type's _edit_link to be outside of the admin.		General		normal	normal	Future Release	enhancement	new	has-patch	2010-03-26T13:07:49Z	2010-05-15T10:06:36Z	get_edit_post_link runs the post_type's _edit_link through admin_url() always forcing the edit page to be within wp-admin.  There are times where this isn't desired.  I'm submitting a patch to check that the url of the _edit_link doesn't begin with http(s?): before running it through admin_url 	prettyboymp
12494	Allow selectable value in Walker_*Dropdown classes		General		normal	normal	Future Release	enhancement	new	dev-feedback	2010-03-03T06:17:50Z	2010-03-26T03:04:47Z	I think we should be able to select either term_id or term_slug as the output value for Walker_CategoryDropdown class and likewise either ID or post_name for Walker_PageDropdown class.	jfarthing84
14804	Allow the_title_attribute() to accept a post ID		General		normal	normal	Future Release	enhancement	new	has-patch	2010-09-07T15:41:38Z	2011-01-14T03:48:09Z	"`the_title_attribute()` does not currently accept being passed a post object/ID and therefore, via its call to `get_the_title()` without an argument, always assumes the current post.  By simply allowing its `$args` array to accept and use a ""post"" value, then the function can be used to generate an attribute-friendly post title for any specified post.

Attached is the patch enabling this.  The `$args` array is amended with a ""post"" element, default of 0 (which maintains current default behavior).  Since `get_post()`, by way of `get_the_title()`, accepts a post ID or post object, either type can be assigned as value for the ""post"" element.
"	coffee2code
17526	Allow themes and plugins to disable options in the admin		General		normal	normal	Future Release	enhancement	new		2011-05-20T20:19:50Z	2011-05-20T22:09:04Z	"I frequently set options in functions.php by hooking 'pre_option_*', thus whatever the user does in the admin interface they can't change it.

There should be a filter to make the option obviously disabled to the user (it should probably also set the disabled attribute on the form fields) and perhaps add a short message saying for instance ""This option was changed by $plugin_name, visit $link to change it."" or ""This option has been set by the '$theme_name' theme. It cannot be changed."""	holizz
11642	Allow to define upload path and url in wp-config.php		General	2.9	normal	normal	Future Release	enhancement	new		2009-12-27T11:11:35Z	2012-09-28T11:44:33Z	When someone wants to move default directories elsewhere, he/she must do work in two places: add defines to wp-config.php and change upload path on settings page. I think it will be good to introduce two new defines: UPLOAD_PATH and UPLOAD_URL_PATH. When they will be defined, WordPress should use them and do not allow to change these on settings page - similarly to home and site url options.	sirzooro
21521	Audit use of set_time_limit()		General	3.4.1	normal	normal	Future Release	enhancement	new		2012-08-08T17:28:21Z	2012-10-18T13:07:12Z	Core calls this half a dozen times. The call in wp_get_http() interferes with unit tests. Unit tests will terminate 60 seconds after wp_get_http() is called. Let's justify each use of set_time_limit() and remove what we can.	ryan
18954	Automatically whitelist screen options added via add_screen_option()		General		normal	normal	Future Release	enhancement	new	early	2011-10-14T22:54:08Z	2011-11-25T19:27:18Z	"{{{set_screen_options()}}} currently maintains a hardcoded whitelist of screens that can set options.

The list is extendable via the filter:

{{{
apply_filters('set-screen-option', false, $option, $value);
}}}

but that's sort of a pain.  If a plugin calls {{{add_screen_option()}}}, it should be added to the whitelist automatically.

Also note that {{{set_screen_options()}}} is called so early, there's no convenient place for plugins to add to the {{{set-screen-option}}} filter.  The best workaround I've been able to come up with is to manually call {{{set_screen_options()}}} again inside the page's {{{load-$hook}}}.

Example naive plugin code that does not work in <=3.3.

{{{
# Inside a menu page's load-$hook
// Display per-page settings in screen options
add_screen_option( 'per_page', array( 'label' => __( 'Things' ) ) );
}}}"	mdawaffe
16185	Bulk Actions Dropdown Box JS Sync Ajax-Tables		General	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-01-11T11:15:33Z	2012-07-26T19:25:41Z	"It would be an increase in usability - if JS is enabled - to sync the changes between the bulk-action-drop-down on top of the table with the one below the table.

In my scenario I increased the amount of entries to over 100. So you need to scroll. So to set the bulk action on top and then you might think twice, need to check something, scroll down to the list to check the last entry and you want to press the bulk submit down below.

That combo box is still on the default value right now. To spare additional clicks, it would be nice that it got synched with the one on top.

Related: #14579; #15580"	hakre
13504	Create cookie name hash option		General		normal	normal	Future Release	enhancement	new		2010-05-23T16:45:47Z	2010-05-23T16:46:10Z	"I put this on future release but we should do it early in 3.1. Currently, by default,

an upgraded MU install has an empty string as a cookie name hash

a single WP site uses the siteurl option as the seed for a MD5 hash

a WP -> WP 3.0 network uses the main site's siteurl option + '/' as the seed for a MD5 hash

We should move these to a common more appropriately name option/site option and give the super admin(s) the ability to change it and/or generate a new one."	wpmuguru
15930	Deleted page bin view?		General	3.0.3	normal	normal	Future Release	enhancement	new	dev-feedback	2010-12-21T10:32:30Z	2010-12-26T22:43:21Z	"I hoped I was able to see the pages which I delete (in the trashbin) but the all stay dark... So I can't view them!

I think it would be a good feature to see them to see if somebody didn't delete the wrong page! Or when you need something form a deleted page that you can still get it without restoring it first"	JonezJeA
16982	Deprecate post_permalink()		General		normal	minor	Future Release	enhancement	new	has-patch	2011-03-27T20:18:43Z	2011-03-28T06:10:47Z	"post_permalink() does nothing but call get_permalink() and already has a deprecated argument.

Let's deprecate it completely, since it's useless."	scribu
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
14078	Don't send notifications for comments too early		General	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-24T19:22:26Z	2010-06-24T19:35:03Z	"Not sure if this classes as a bug or enhancement, will call it an enhancement for now. 

In  wp_set_comment_status the notifications are currently sent out before the work is done, and there is potential for the subsequent work to fail (due to database issue etc.)  

Attached patch (attempts to) move the notification so it is only sent after the work is done. "	mrmist
22405	Easier expression of file sizes and other data amounts		General	3.5	normal	normal	Future Release	enhancement	new	has-patch	2012-11-10T08:42:05Z	2012-11-18T11:10:49Z	"In the spirit of #20987 writing {{{64 * 1024 * 1024 * 1024 * 1024}}} isn't very readable and cool.

Here is a patch, which adds a couple of constants like {{{KB_IN_BYTES}}}, {{{MB_IN_BYTES}}}, etc."	nbachiyski
18391	Expand WP_DEBUG_LOG and make WP_DEBUG_DISPLAY work as expected		General		normal	normal	Future Release	enhancement	reopened		2011-08-13T05:45:21Z	2011-10-25T05:20:06Z	"== WP_DEBUG_LOG ==

WP_DEBUG_LOG currently creates wp-content/error.log. We should expand this to allow a path.

To do this, if WP_DEBUG_LOG is !== true, != 1, != 'true', (anything else?) and 0 === validate_file(), we should treat it as a path.

== WP_DEBUG_DISPLAY ==

Setting WP_DEBUG_DISPLAY to false does not set display_errors to false. Instead, it prevents display_errors from being set to on. This forces a call to ini_set to turn off display_errors, assuming your php.ini is set to On, as expected for a development environment configuration.

Instead, setting WP_DEBUG_DISPLAY to false should set display_errors to false. I've been thinking about this for months now, and the only situation I can come up with that this would be a compatibility issue would be when you deliberately have a production php.ini on production and a development php.ini in development. In this situation, WP_DEBUG_DISPLAY = false would screw up your development environment only -- the only breakage would be showing less errors, rather than more.

WP_DEBUG_DISPLAY === null can remain a passthrough.

Patch forthcoming."	nacin
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
16973	Introduce get_multipage_link()		General		normal	normal	Future Release	enhancement	new	has-patch	2011-03-26T16:11:43Z	2012-09-15T14:25:39Z	"There currently is no function for retrieving the URL to a multipage part (a page with {{{<!--nextpage-->}}}).

The code is burried in a private helper function.

Let's bring it to light."	scribu
23169	Introduce register_post_status_for_object_type		General		normal	normal	Future Release	enhancement	new		2013-01-10T08:35:46Z	2013-05-10T12:37:39Z	Similar to what `register_taxonomy_for_object_type` does with taxonomies.	kovshenin
23168	Introduce remove_post_status		General		normal	normal	Future Release	enhancement	new		2013-01-10T08:32:49Z	2013-05-10T12:37:37Z	Plugins and themes should be able to remove the default post statuses defined by core.	kovshenin
19200	Introduce themes_url() and upload_url()		General		normal	normal	Future Release	enhancement	new	has-patch	2011-11-07T21:01:46Z	2012-09-22T14:26:12Z	"WordPress has some very usefull '''url tempalate tags''' in the ''wp-includes/link-template.php'' file, functions like:

{{{
home_url()      =>  ../
site_url()      =>  ../
admin_url()     =>  ../wp-admin/
includes_url()  =>  ../wp-includes/
content_url()   =>  ../wp-content/
plugins_url()   =>  ../wp-content/plugins/
}}}

we need 2 more functions:

{{{
themes_url()    =>  ../wp-content/themes/
upload_url()    =>  ../wp-content/upload/
}}}

they will make developers life easier."	ramiy
11438	Make relative links absolute in feed		General	2.9	normal	major	Future Release	enhancement	new	close	2009-12-14T23:21:21Z	2011-04-06T04:23:47Z	Relative links should be made absolute for the feed, because {{{/}}} means nothing in a feed reader.	caesarsgrunt
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
18003	On the Credits page, add Male/Female tags for each person, for use in translation		General		normal	normal	Future Release	enhancement	new		2011-07-06T12:20:16Z	2011-07-06T18:16:56Z	"The Credits page mentions contributors along with their role in the project: ""Lead Developer"", ""Guest Committer"", etc.

When translating to certain languages (for e.g., Hebrew), these roles are translated differently when the person is male or female. For example, in Hebrew there would be a different translation for male lead developers (מפתח ראשי) and female lead developers (מפתחת ראשית).

This doesn't cause an issue with translation at the moment, since the only woman on the credits page that has her role mentioned in Jane, and she's the only ""User Experience Lead"". So in translation, we can translate everything else as male and only translate that string as female.

In the interest of future proofing the credits page, I suggest we add two different strings for each role - male and female. In English and other languages will use both the same way, but languages that are not gender-neutral will be able to translate them correctly. This would obviously require that we know the gender of all the people mentioned.

I tried very hard to ignore all the political aspects of this issue - I hope we can get through this without having to discuss them :)"	RanYanivHartstein
14946	Only enforce OEmbed whitelisting for dangerous types		General	3.0.1	normal	normal	Future Release	enhancement	new	dev-feedback	2010-09-23T08:23:48Z	2010-11-23T21:14:44Z	Of the four OEmbed response types, only two (video and rich) are potentially dangerous. We should be able to allow all photo and link responses, without a whitelist.	markjaquith
13412	Parent parameter returns no results in get_pages()		General		normal	normal	Future Release	enhancement	new		2010-05-16T16:53:40Z	2010-05-16T17:03:13Z	"The get_pages() function in post.php returns no results when parent != 0, rather than returning the pages that are children of the immediate page. 

Given page ID 30, which has 3 child pages, calling get_pages('parent=30') will return nothing.

The problem is in the following lines (line ~2600 at the time of writing):
if ( $child_of || $hierarchical )
	$pages = & get_page_children($child_of, $pages);

Hierarchical, by default, is set to true, this this conditional will typically be true. When it does so, it filters out all of the pages retrieved up to this point and, by the time it returns, there are no pages left.

The quick work-around I'm currently using is to call the following instead:
get_pages('parent=0&hierarchical=0'), overriding the default value so that conditional doesn't execute.

The one exception to this is that calling get_pages('parent=0') should function even with this bug."	jda10487
13937	Pass named arguments to add_meta_box()		General		normal	minor	Future Release	enhancement	new	has-patch	2010-06-17T06:18:33Z	2012-10-04T16:04:18Z	"add_meta_box() currently takes 7 arguments!

It should accept an associative array of arguments instead. Advantages:

 * more readable code
 * easier to deprecate arguments in the future"	scribu
9763	Please include IdeaWebServer in $is_apache (in wp-includes/vars.php)		General	2.7.1	low	normal	Future Release	enhancement	new		2009-05-08T22:22:45Z	2013-01-06T09:04:39Z	"IdeaWebServer is a web server software developed an used in largest polish ISP server farm. This software handles over 205972 domains (according to http://top100.pl/). I hope its worth including support for IdeaWebServer in Wordpress.

Installing Wordpress on IdeaWebServer is easy (as it is mostly apache compatible), but two tweaks need to be done.

Tweak 1st: include IdeaWebServer in $is_apache

Tweak 2nd: use only ""http://host/redirect"" redirections (no ""Location: /somewere"", only ""Location: http://host/somewere"")

Here comes the patch (against r11244):
{{{
Index: wp-includes/vars.php
===================================================================
--- wp-includes/vars.php	(wersja 11244)
+++ wp-includes/vars.php	(kopia robocza)
@@ -65,7 +65,9 @@
  * Whether the server software is Apache or something else
  * @global bool $is_apache
  */
-$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) || (strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false)) ? true : false;
+$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) ||
+(strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false) ||
+(strpos($_SERVER['SERVER_SOFTWARE'], 'IdeaWebServer') !== false)) ? true : false;
 
 /**
  * Whether the server software is IIS or something else
Index: wp-includes/pluggable.php
===================================================================
--- wp-includes/pluggable.php	(wersja 11244)
+++ wp-includes/pluggable.php	(kopia robocza)
@@ -857,6 +857,9 @@
 
 	$location = wp_sanitize_redirect($location);
 
+	if ($location[0] == '/')
+		$location = get_bloginfo('url') . $location;
+
 	if ( $is_IIS ) {
 		header(""Refresh: 0;url=$location"");
 	} else {
}}}

[http://www.burghardt.pl/2008/03/wordpress-na-serwerze-ideawebserver-w-homepl/ More about this issues (in Polish).]"	burghardt
7745	Private posts cannot have unpublished or pending review status		General	2.6.1	low	minor	Future Release	enhancement	new		2008-09-15T16:32:19Z	2013-01-22T16:46:33Z	"Posts with private ticked are immediately set to published, and cannot be reverted to unpublished or pending review while private is ticked. Given the default use of private posts, this behavior is understandable, but it seems far simpler if the behavior remained consistent with public posts.

In our particular case, we are using Role Manager to allow subscribers to read private posts. A simple solution that suits our particular needs well. But we really need the full draft/review process, just as with public posts."	nyoungman
22400	Remove all, or at least most, uses of extract() within WordPress		General	3.4.2	normal	normal	Future Release	enhancement	new	early	2012-11-09T22:47:37Z	2013-03-13T15:19:56Z	"`extract()` is a terrible function that makes code harder to debug and harder to understand. We should discourage it's use and remove all of our uses of it.

Joseph Scott has [http://josephscott.org/archives/2009/02/i-dont-like-phps-extract-function/ a good write-up of why it's bad]."	Viper007Bond
14657	Resync Boolean Type Case		General		normal	trivial	Future Release	enhancement	assigned	has-patch	2010-08-20T15:09:54Z	2012-06-28T13:44:30Z	"TRUE to true and FALSE to false.

It seems patches weren't inline with the lowercase usage of the boolean type. Depends on programmer preference."	jacobsantos
11113	Return 410 Gone HTTP response for deleted posts/pages		General	2.9	normal	normal	Future Release	enhancement	new		2009-11-10T03:46:06Z	2011-01-20T06:24:15Z	"Deleted content should be treated differently from content that never existed. WordPress could be enhanced by returning a 410 Gone response to requests for posts or pages that have been deleted.

As I currently envision the solution, bits of old content (like a slug) would have to remain in the database after deletion.

Using WordPress 2.8.5; could not find any references to this in pre-existing Trac tickets in Core."	voyagerfan5761
13169	Return Dynamic Sidebars with get_dynamic_sidebar		General		normal	normal	Future Release	enhancement	new		2010-04-28T18:07:28Z	2010-04-28T18:15:02Z	"Currently there is no available function to return the contents of a dynamic sidebar. The following code enables developers to return and assign the contents of a dynamic sidebar to a variable within their code.

{{{
function get_dynamic_sidebar($index = 1) 
{
	$sidebar_contents = """";
	ob_start();
	dynamic_sidebar($index);
	$sidebar_contents = ob_get_contents();
	ob_end_clean();
	return $sidebar_contents;
}
}}}
"	w3prodigy
20066	SImplify the functionality of script_concat_settings() and remove the globals		General		normal	normal	Future Release	enhancement	new		2012-02-18T06:53:01Z	2012-04-18T20:47:02Z	As discussed in the comments on #20055, script_concat_settings() should be split into couple of simple functions that only check the constants and the 'can_compress_scripts' server option.	azaozz
9785	Search Enhancements -- consolidated ticket		General	2.8	normal	normal	Future Release	enhancement	new		2009-05-10T23:54:34Z	2012-06-25T01:47:24Z	"Closing the following as dups, pending ""the big search overhaul"" that may never come:

 - #5149 -- search everywhere (with committed patch)
 - #9230 -- search in post and pages and both
 - #5525 -- also search for posts with search query as terms (tags, cats, ...)
 - #5054 -- allow to negate keyword on search
 - #7394 -- assign greater weight to posts with search query in title
 - #7647 -- search in attachment descriptions"	Denis-de-Bernardy
7394	Search: order results by relevance		General	2.6	normal	normal	Future Release	enhancement	assigned	has-patch	2008-07-24T02:54:18Z	2013-05-14T12:42:59Z	"I have 35 pages in my WordPress install.  My ""About"" page is on '''the second page of results''' when I search for ""about""

We should put hits on the title first in the results list.

I'm open to suggestions for possible technical implementations."	markjaquith
15811	Self-referrent links should be made avoidable in wp_list_pages / wp_page_menu		General		normal	normal	Future Release	enhancement	new	has-patch	2010-12-14T14:43:43Z	2011-01-15T04:55:31Z	"Having a page that links to itself is a well-recognized usability and accessibility problem.

Currently, wp_list_pages and wp_page_menu don't offer an option to avoid self-referrent links.

The patch attached to this report adds a ""self_link"" parameter to these two functions (defaulting to the current behaviour); when that parameter is set to false, the markup produced by these functions don't include a link to the current page.

Someone proposed a plugin to that effect:
http://clockinfo.com/posts/168
but it sounds like something that the core Wordpress should support."	lewebmobile
14366	Standardize e-mail, email text		General	3.0	normal	minor	Future Release	enhancement	new	needs-refresh	2010-07-20T19:19:02Z	2012-12-15T12:53:35Z	"!WordPress uses ""e-mail"" and ""email"" pretty interchangeably for site text, comments, and mail messages. In some cases both forms of the electronic-mail term are used on the same error message!

This patch replaces all instances of ""email"" in !WordPress text with ""e-mail"" instead. The electronic-mail abbreviation of ""e-mail"" is the current [http://www.apstylebook.com/ AP Stylebook] recommendation. Electronic-mail translates well."	niallkennedy
18321	Stop minimizing CSS files and add a simple regexp in load-scripts.php to remove comments when concatenating		General		normal	normal	Future Release	enhancement	new		2011-08-03T17:31:18Z	2011-08-08T09:01:05Z	As the title, differences in gzipped .dev.css and .css files are minimal. If we remove comments on the fly in load-scripts.php (has to be very fast regexp) we wouldn't need to pre-minimize css files.	azaozz
16118	Support for wp_enqueue_style with negative conditional comments		General	3.0.4	normal	normal	Future Release	enhancement	new	dev-feedback	2011-01-06T06:18:40Z	2012-12-13T21:38:49Z	"Please refer to #10891. It refers to the support for conditional comments using the global variable, wp_styles.

I have noticed that if you pass a negative conditional comment, however, this breaks. E.g. Let's say you have a lot of CSS3 rules, which don't apply to IE. You would not include that CSS:

{{{
<!--[if !IE]>-->
<link rel=""stylesheet"" id=""my-handle-css"" href=""http://my.url.com/css3.css"" type=""text/css"" media=""all""/>
<!--<![endif]-->
}}}

I know that IE9 supports CSS3, but I am using the above for illustrative purposes. One would expect that to include the conditional comment above you would do this between the register and the enqueue commands:

{{{
$GLOBALS['wp_styles']->add_data('my-handle', 'conditional', '!IE');
}}}

If you add a conditional tag to wp_styles, however, the generated markup is incorrect:

{{{
<!--[if !IE]>
<link rel='stylesheet' id='my-handle-css'  href='http://my.url.com/css3.css' type='text/css' media='all' />
<![endif]-->
}}}

Note the missing --> after [if !IE]>, and <!-- before <![endif]. This has the effect of hiding the CSS from all browsers, which wasn't the original intention. So probably a separate handling approach is required for ""show"" type of conditional comments than for ""hide""."	sayontan
5031	Tag Cloud styles are hardcoded		General	2.3	normal	normal	Future Release	enhancement	reopened	dev-feedback	2007-09-21T14:41:04Z	2011-04-30T08:47:36Z	"We should provide a way for tag cloud styles to be set somewhere other than in the core code. Really should be the job of a theme, not the core. Yet, we are setting font-size manually. Why?

This has already come up as a problem prior to the 2.3 release. Suggest we at minimum make the styling hookable, and at most, give a css class that has relative meaning for the tag cloud.

Specifically, this would enable folks to have colored tag clouding as opposed to just font size."	technosailor
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
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
14108	Unify registration between single site and network configurations		General	3.0	normal	normal	Future Release	enhancement	new		2010-06-26T22:14:40Z	2010-10-28T05:32:20Z	"The registration processes in 3.0 differ between single site registration and network signup. We should look at unifying the registration process. One way we could do this is

- keep the existing registration process for single sites
- in a network, users register first using the same process as single sites
- in a network, once registration is complete, direct the new user to the site creation page (which could be somewhere in the dashboard) where they could create their site

There are also several open tickets related to issues with the network signup process:

#13827
#12022
#12030
#12032

(There may be more.) We could clean up/eliminate these in process. I'd like to see this included in the discussions once we get closer to the 3.1 dev cycle.

"	wpmuguru
18893	Update and enhance the basic browser detection to include smart phones and tablets/pads		General		normal	normal	Future Release	enhancement	new		2011-10-09T19:26:19Z	2011-10-10T17:00:05Z	As the title. We need to keep the basic $is_this, $is_that globals for back-compat but can introduce another global that would hold all needed info about the current web browser, device, versions, etc.	azaozz
12267	Upgrade loop objects to provide identical presentational interfaces		General		normal	normal	Future Release	enhancement	new		2010-02-18T00:19:24Z	2012-07-19T08:47:14Z	"Usually wpdb returns rows as stdClass objects. We are used to getting properties from these objects, e.g. $post->ID or $comment->comment_ID, but this class has no methods. As used, the stdClass object is only a syntactic alternative to the array.

As long as we're already using objects, let's have some more useful classes. I propose post and comment classes that implement common interfaces, and classes that extend these for special post_types and comment_types, and filters to allow plugins to use their own classes at instantiation time.

Without actually using PHP5 interface syntax, the idea is to have identical methods to get things from objects in the loop. For example, one common method would be ```url()```. The same method would work on every kind of compatible object, be it a post, page, attachment, comment, trackback, or pingback, although the underlying logic for getting the URL may differ for each.

```<a href=""<?php print esc_attr($post->url()); ?>"">```

It would simplify templates while allowing various object types in loops, not just posts, and give us an opportunity to clean up a lot of the underlying template tag logic (e.g. global $authordata), and give plugins and themes new ways to modify output.

This stemmed from my work on search. I wanted a way to keep the template simple while adding support for different object types in the loop. I figured that it wouldn't hurt anything to upgrade the classes because the way of accessing properties would be unchanged."	andy
15508	Use !is_user_logged_in instead of !$user->ID		General	3.0.1	normal	major	Future Release	enhancement	new	reporter-feedback	2010-11-19T23:15:07Z	2011-01-05T06:04:09Z	"The subject line pretty much says all. I'm kind of integrating a user system of my own to allow comments into wordpress posts as if logged in amongst other few minor changes like session sharing. I've managed to do so as a plugin, until I got stuck with this.

The fact that many places in the wordpress code checks for the user id, instead of using the is_user_looged_in renders the purpose of that function useless for plugins."	Eteq
17780	Use PHP native double encoding prevention in htmlspecialchars()		General		low	minor	Future Release	enhancement	new		2011-06-13T08:03:13Z	2011-06-13T08:03:13Z	"Since PHP 5.2.3 the {{{htmlspecialchars()}}} function has an optional {{{$double_encode}}} parameter, which we could use. This can save us a few expensive kses/html decoding calls.

We need to make sure it works the same way as our implementation."	nbachiyski
22234	Use access modifiers in classes, not the var keyword		General	1.5	normal	normal	Future Release	enhancement	new	has-patch	2012-10-20T21:23:39Z	2013-05-14T13:48:15Z	"The minimum required PHP version is 5.2.4. The {{{var}}} keyword is a relic of PHP 4. Let us open our hymnals to php.net:

  Note: The PHP 4 method of declaring a variable with the var keyword is still supported for compatibility reasons (as a synonym for the public keyword). In PHP 5 before 5.1.3, its usage would generate an E_STRICT warning.

PHP 5 has much better support for OO features like access modifiers in classes. WP also has a history of including PHPDoc blocks with code and using the {{{@access}}} tag. However, the tag is meaningless if it doesn't match the supplied access modifier.

PHPDoc blocks are present 1) for inline documentation, sure but mainly 2) to allow automatic generation of documentation when used with a command-line tool like phpDocumentor or (IMO, the far superior) ApiGen.

If I specify the following:

{{{
/**
 * @access private
 */
var $prop;
}}}

{{{$prop}}} will appear in the documentation as {{{public}}} because {{{var}}} means {{{public}}}. 

I have modified class properties throughout the codebase to use access modifiers instead of var. 

* If no PHPDoc was present, I made the property public, which it already was. 
* If the {{{@access}}} tag was present, I used its value for the property. 
* I then ran Unit Tests which produced some immediate fatal errors do to existing core code that was trying to access properties in a public way that had {{{@access}}} set to private. 
* I altered those properties to indeed be public and updated the PHPDoc"	wonderboymusic
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
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
16867	Where is it appropriate to use filter_var		General	3.2	normal	normal	Future Release	enhancement	reopened		2011-03-16T16:47:13Z	2012-02-08T14:22:28Z	"Now that we require PHP 5.2 we have access to a whole plethora of new functions.  One of those is [http://php.net/filter_var/ filter_var].  It seems like this could be useful for things like validating and filtering E-Mail addresses, URLs, IPs, etc. (there are plenty of [php.net/manual/en/filter.filters.php filters]).

This was brought up in #15379 where nacin said:
  Those can be buggy. We could potentially leverage it internally but we need to watch out for vulnerabilities and what not across PHP versions.

I mostly wanted this to be the place where we decide what could benefit from it and what shouldn't."	aaroncampbell
13436	Wordpress class_exists() conflicts with __autoload() and php_auto_prepend		General	3.1	normal	minor	Future Release	enhancement	reopened		2010-05-18T15:51:26Z	2010-12-14T17:42:54Z	"== Issue ==

Wordpress core (and many plugins) use class_exists().

http://php.net/manual/en/function.class-exists.php

When Wordpress is integrated with custom/third party applications that use php_auto_prepend and autoload() to include/require files based on the $class_name parameter this generates errors as class_exists() triggers the autoload() and the files cannot be found.

== To reproduce ==

Using php_auto_prepend specify a file to include before every page request that contains the following PHP code:

{{{
<?php
function __autoload($class) {
    include($class.'.php');
}
?>
}}}

Visit any front-end or back-end Wordpress page.

== Solution ==

As there is no autoload() function defined in Wordpress core the class_exists() should implement the second class_exists() parameter:

{{{
<?php
if (!class_exists('ExampleClass', false)) {
    ...
}
?>
}}}

This stops calls to __autoload() and would fix the errors seen when integrating Wordpress with apps that implement this.

I have implemented this and tested it and Wordpress works fine, but I can't find out where the SVN repo is for Wordpress 3 Beta 2 (the SVN page on the site takes me to 2.x).

If someone could supply a link for SVN CO of WP3 I can provide the patch."	galbus
11598	code improvements in wp_:dashboard_plugins_output()		General	2.9	normal	normal	Future Release	enhancement	new	has-patch	2009-12-24T14:19:54Z	2010-10-28T11:36:02Z	"Smaller code changes to improve the function. Stumbeled over this while digging into #11597 and #11518.

"	hakre
10975	comment form nonce		General		normal	normal	Future Release	enhancement	new		2009-10-19T06:49:16Z	2010-10-06T20:09:02Z	"This adds a nonce to public comment forms, via the comment_form action.
"	tellyworth
22300	enhance urlencode_deep()		General	3.4	normal	normal	Future Release	enhancement	new	has-patch	2012-10-28T14:53:43Z	2012-11-13T01:13:53Z	It would be handy if urlencode_deep() handled objects as well as arrays. Patch includes corresponding urldecode_deep()	wpmuguru
13771	get_the_date() to accept optional $post argument		General	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-06-07T17:24:33Z	2012-10-10T21:14:09Z	Currently the get_the_date() function only utilizes the global $post.  Allowing this function to accept an optional $post object as an argument would be beneficial for getting the formatted date of any post.	bigdawggi
18035	ignore_sticky_posts fails to remove sticky class		General	3.2	normal	minor	Future Release	enhancement	new	commit	2011-07-08T10:03:44Z	2012-04-25T10:38:10Z	"When setting the query_posts parameter:

ignore_sticky_posts = 1

all sticky posts are returned as normal posts and placed accordingly in the flow. However the sticky posts keep their sticky class, which means that an additional filtering of post_class is necessary to avoid any css rules defined for the .sticky selector taking effect.

is this intended, or could it be considered an enhancement if it was patched?
"	mikkelbreum
16375	is_tax() and get_taxonomy_template() support for post formats		General		normal	normal	Future Release	enhancement	new	dev-feedback	2011-01-26T12:03:03Z	2011-02-03T14:38:29Z	"Two things it seemed we forgot.

Currently you'd need to use is_tax() as a conditional tag for post formats. This is ugly, as it looks like this:

`is_tax('post_format', 'post-format-aside');`

Ideally, that slug should be internal. So we need a `is_post_format()` conditional tag. That's probably a lame name (most is_* functions are ambigious), and perhaps someone has a better idea.

Additionally, get_taxonomy_template() currently looks for `taxonomy-$taxonomy-$term.php`. That turns into `taxonomy-post_format-post-format-aside.php`. A simple check can allow us to instead (or in addition to) look for `taxonomy-post_format-aside.php`."	nacin
16938	list_files() refactoring		General	3.1	low	normal	Future Release	enhancement	reviewing	close	2011-03-22T21:08:35Z	2011-03-23T19:34:13Z	I was taking a look into list_files(). I've seen that older code (Related: #16937) that's handling false and then false again and so on which can be just reduced + some clean-ups.	hakre
10296	scheduled unpublishing / post expiration		General		low	minor	Future Release	enhancement	new		2009-06-29T06:02:33Z	2010-12-21T11:40:21Z	Is there any particular blog-philosophical reason why this isn't yet possible in the core version while scheduled publishing has been a longstanding feature? As usual with such issues, client requested WP, but wants features that aren't easily supported in WP. There's a plugin called post-expirator (http://homeworker-directory.com/blog/how-to-make-your-wordpress-posts-and-wordpress-pages-auto-expire-on-a-chosen-time-or-date-with-post-expirator/) that does this in a way, but given WP's apparent increased use as a CMS I think this should be a core feature.	youngmicroserf
13592	script_loader_src and style_loader_tag filters		General		normal	normal	Future Release	enhancement	new	has-patch	2010-05-28T09:40:07Z	2013-02-07T21:53:06Z	"i'm trying to build a scripts and styles minifier.
( i don't like the way wp-minify does it ... )

thanks to the style_loader_tag filters, i'm pretty proud of my work for stylesheets.

but why don't we have a script_loader_tag ?

something like this in class.wp-scripts.php : 
{{{
   $src .= apply_filters( 'script_loader_tag', ""<script type='text/javascript' src='$src'></script>\n"", $handle );
}}}


ok i'll try to submit a real patch.
"	olivM
14670	sunrise.php in single site installations		General		normal	normal	Future Release	enhancement	reopened	close	2010-08-22T19:17:54Z	2012-02-21T02:18:29Z	Let's make sunrise.php work regardless of is_multisite().	nacin
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
14157	wp-includes references should be wiped off		General		lowest	minor	Future Release	enhancement	new	dev-feedback	2010-06-30T14:54:49Z	2011-06-25T10:16:45Z	"I think all references to wp-includes should be wiped off and use the WPINC WP constant. This may allow for a future renaming of the wp-includes folder if needed.

E.g in script-loader.php:

$scripts->add( 'jquery-ui-core', '/wp-includes/js/jquery/ui.core.js', array('jquery'), '1.7.1' );

To:

$scripts->add( 'jquery-ui-core', '/' . WPINC. '/js/jquery/ui.core.js', array('jquery'), '1.7.1' );


"	steak
14760	wp_get_shortlink not working on pages		General	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-09-02T11:07:42Z	2011-08-16T18:46:32Z	"wp_get_shortlink doesn't return anything on pages.

reason:


{{{
2196   if ( isset($post->post_type) && 'post' == $post->post_type )
2197         $shortlink = home_url('?p=' . $post->ID);
}}}
"	mattsay
16895	wp_list_pluck cannot be used with arrays of references		General	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-03-19T11:47:37Z	2011-03-22T16:54:44Z	"Example code:

{{{
$one = array('num' => 1);
$two = array('num' => 2);
$input = array( &$one, &$two );

$nums = wp_list_pluck($input, 'num');

var_dump($nums, $input);
}}}

Example output:
{{{
array
  0 => &int 1
  1 => &int 2
array
  0 => &int 1
  1 => &int 2
}}}
Expected output:
{{{
array
  0 => int 1
  1 => int 2
array
  0 => &
    array
      'num' => int 1
  1 => &
    array
      'num' => int 2
}}}

This is caused by wp_list_pluck using the same variable name for the input array, and then overwriting it for the return.

One such real life example, is $wp_query->comments

See patch"	dd32
14364	"""Now"" button for current date in update post published date and time"		General	3.0	normal	normal	Future Release	feature request	new		2010-07-20T15:16:00Z	2010-10-28T10:05:40Z	"It would be very convenient to have a button called ""Now"" in ""Edit post"" window in ""Published on: date @ time"" section. 

Google likes to know when old posts gets updated. So it is recommended to update post ""published on:"" date when post content is updated. When a user wants to update publishing time and date of a post, he must click ""Edit"", then manually enter year, month, day, hour and minute of current date and time and then click ""Update post"". It is quite slow and dull process but it could be automated easily with a new button.

It would be very nice to have a button called ""Now"" which should automatically fill in year, month, day, hour and minute fields with values of current date and time. 

Whenever a user updates post publishing date and time, the date and time that he/she usually enters is current date and time. The ""Now"" button would be a big time saver for users who update their posts."	dovydas
12400	Add a wp_loaded hook, an ob_start hook, and an front end ajax hook		General	3.0	normal	normal	Future Release	feature request	reopened	dev-feedback	2010-02-27T01:08:08Z	2013-01-22T09:36:26Z	"Requests for some kind of wp_loaded hook have crept up here and there in trac over the years.

Typically, the requester is looking into doing front-end ajax requests and the like. There are other use cases, such as wanting to catch specific URIs -- e.g. a trailing /print/ to the url, which the permalink API is incapable of catching.

They all got rejected on grounds that there is the init hook that can be used just as well for ajax. Or the template_redirect hook in place of an ob_start hook. The list goes on.

When you want WP and plugins to be loaded '''and''' fully initialized, instantiated and ready to go, setting a priority to obscene levels on the init hook works (I typically use 1000000)... but it always feels like you're working around a crippled API.

Starting output buffers on template_redirect with a priority -1000000 feels equally clunky.

Then, there is the front-end ajax. Yes, admin-ajax.php can be used unauthenticated... But the fact of the matter is, you can end up with SSL turned on when it's not useful, and the lack of an wp-ajax.php file makes many a plugin dev wonder where in the bloody hell he should catch his own requests.

It would be sweet if this all got fixed in WP 3.0.

The argument that goes ""a hook already exists"" seems extremely invalid to me. There are many places in WP where two hooks (and oftentimes many more) can be used to achieve the same result. Think wp_headers and send_headers, for instance. What they have in common is some kind of before/after flow, which init and template_redirect are currently lacking.

One could argue that parse_request is nearby init, and that wp is nearby template_redirect, so they'd be good enough. But the first of these parses expensive regular expressions before firing, and both are only known to WP junkies.

Suggested hooks for WP 3.0:

 - a wp-ajax.php file built similarly to admin-ajax.php.
 - an wp_loaded hook at the very end of wp-settings.php, with a commentary that tells plugin authors that init should be used to instantiate, wp_loaded should be used to act once everything is instantiated, and that wp-ajax.php has hooks that are specific to ajax requests.
 - an ob_start (or pre_load_template, or whatever...) hook at the very beginning of template-loader.php, with a commentary that tells plugin authors that the new hook should be used to instantiate such as output buffering once WP is fully loaded, while the second is traditionally used to pick an arbitrary template."	Denis-de-Bernardy
12955	Add get_post filter		General		normal	normal	Future Release	feature request	new	has-patch	2010-04-10T13:50:07Z	2011-12-01T19:18:07Z	This patch filters the return value of the get_post() function. I would find this very helpful for a plugin I'm developing.	JohnLamansky
10846	"Automatically add XFN and rel=""external"" to post/page/comment links"		General	2.8.4	normal	minor	Future Release	feature request	new		2009-09-24T20:07:11Z	2010-01-04T13:02:11Z	"Links created in ""Links"" in the admin should have their XFN data appended in a rel attribute. Kinda like the [http://wordpress.org/extend/plugins/auto-xfn-ify/ Auto XFN-ify] plugin.

But more importantly (and simpler), if a link goes out to a domain different from the one hosting wordpress, rel=""external"" should be added."	prometh
12865	Better support for beta/staging		General		normal	normal	Future Release	feature request	reopened		2010-04-06T06:40:40Z	2011-08-07T21:17:00Z	Currently it is very difficult to maintain a beta / staging version of your wordpress site. As wordpress grows in popularity and is used on websites that would like to minimize downtime a beta/staging setup in addition to a production or main setup would be ideal. If one tries to do this now, you can attempt to copy the whole database over to the beta or staging setup which will result in links on the beta/staging version going to the production/main url's. This makes it relatively unusable. Ideally there would be some solution where developers can decide for their beta/staging site to download data from their production/main server every day or at will which will allow them to keep things updated and allow for them to test with their most recent content which can be useful. If this synchronization can occur without the previous problems and other problems that occur with simply copying the entire production database that would be wonderful!	mnolin
11549	Enable loading of the WordPress environment from external php script		General		normal	minor	Future Release	feature request	new	close	2009-12-21T19:54:33Z	2009-12-28T12:26:44Z	"For some integration projects, it is useful to load the WordPress environment from an external php script. This can be done by including wp-load.php
Afterwards all the WordPress functions can be used.

This is only possible if wp-load.php is included from the global scope. If it is included from inside a function, it will fail. This limitation makes it difficult to integrate WordPress with other projects.

wp-load.php fails because of the use of global objects and assign by reference. A simple solution would be to declare $wpdb, $wp_widget_factory, $_wp_deprecated_widgets_callbacks for global in wp-settings.php
The creation of WP_Widget_Factory in wp-settings.php needs to be changed from
$wp_widget_factory =& new WP_Widget_Factory();
to
$wp_widget_factory = new WP_Widget_Factory();

The syntax for creation of WP_Widget_Factory should be conditioned by the PHP version, to maintain backwards compatibility with PHP 4.
"	mp2300
14373	In-editor image downsizing uses HTML resizing instead of actual resize		General		normal	normal	Future Release	feature request	new		2010-07-21T05:30:44Z	2010-10-28T10:06:47Z	"This comes as a suggestion from Google, who wants to help publishing platforms deliver content faster.

When you use the in-editor image downsizing functionality (the percentage slider), it does an HTML downsize. This can lead to bigger image requests than are necessary. An actual resize for local images would result in a more efficient load."	markjaquith
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
14653	Log IP address un UserMeta when account is created		General		normal	normal	Future Release	feature request	new	dev-feedback	2010-08-20T01:41:24Z	2010-10-28T10:18:48Z	"As WordPress becomes more and more a CMS for everything, not just blogs, managing users becoms more important.  With MultiSite and user registration more open, WordPress should have a built in way to record the IP address of a user.

So at registration, log the IP in usermeta. Done, easy.  List it on the user page.

At comments, obviously, it's already logged, so nothing needs be done there.  Also, since you can already click on an IP and list all comments made from that address, there wouldn't be much else that needs to be done."	Ipstenu
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
11229	Theme & Plugin Search Box		General		normal	normal	Future Release	feature request	new		2009-11-22T19:59:40Z	2010-01-14T00:36:07Z	"One thing I think would reduce mouse clicks is the ability to search for a new theme from the ""Manage Themes"" page. It could be a quick search, as the ""Add new themes"" page gives you better control and various parameters to search.

This is also relevant in the plugins area, you can search for existing plugins from the ""Manage Plugins"" page but you cannot do a quick search for ""NEW"" plugins. Again, useful and minimizes a mouse click."	dremeda
13040	author.php doesn't recognize custom_post_type posts written by user		General		normal	normal	Future Release	feature request	new		2010-04-18T04:01:46Z	2010-04-24T00:22:30Z	"Working on nightly WP3.0. - custom theme, but, tested with TwentyTen as well and got same result. Not entirely sure if this is a bug or if it is intended behavior, but, the author template does not recognize posts of a custom post type. It will return a 404 if there are no ""post"" post_types and only ""custom"" post_types available to load. I thought it might be worth mentioning as well that I feel really strongly that there should be an archivalish-""post_type"" template along with the single-""post_type"" template. I have been struggling with the lack of one and have had to fall back on creating a page template that pulls in an archival type list via custom post type query, but, we all know how the paging issue is with that, and it seems like it would just plug right in to the logic of archive.php, or even index.php pulling in all ""post"" type posts by default. Why not let custom post types have their own ""index.php""? that pulls in all of it's post types by default by simply making a file called ""post_type"".php. I made that sound way easier than it probably would be, but, you get the point. Just a thought."	10sexyapples
10676	current-cat-ancestor in wp_list_categories		General	2.8.5	normal	normal	Future Release	feature request	new		2009-08-24T14:37:40Z	2009-11-20T06:36:49Z	The wp_list_categories should apply current-cat-ancestor like wp_list_pages not just current-cat-parent to the closest parent	spathon
16158	3.0.4 Upgrade failed on localhost testbed, successful on public site		HTTP	3.0.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-08T21:03:55Z	2011-01-09T14:15:17Z	"Running: 3.0.1, Ubuntu, Apache

I'm still looking at this but wanted to report it while I have a break.

I got the holiday notice to upgrade to 3.0.4.  When I did an auto-upgrade on my local testbed (http://localhost:9090/wp/wp-admin/update-core.php), WP reported that I have latest version.  Plugin upgrades work fine.  The auto upgrade was successful on my public sites.  I have WP_DEBUG, etc. on for my local testbed and no errors were reported.  I have upgraded my local testbed this way in the past, definitely for 3.0.1.

Below is a debug dump I hack in the WP_HTTP->request call coming from wp_version_check.  I pasted the URL use into the browser bar it returned the correct information.  Called from wordpress localhost, api.wordpress.com returns a HTML document with the <title>Page not found</title> and a bunch of info about wordpress.


{{{
[08-Jan-2011 20:42:48] URL='http://api.wordpress.org/core/version-check/1.5/?version=3.0.1&php=5.3.2-1ubuntu4.5&locale=en_US&mysql=5.0.83&local_package=&blogs=1&users=2&multisite_enabled=0'
[08-Jan-2011 20:42:48] r=array (
  'method' => 'GET',
  'timeout' => 3,
  'redirection' => 5,
  'httpversion' => '1.0',
  'user-agent' => 'WordPress/3.0.1; http://localhost:9090/wp/',
  'blocking' => true,
  'headers' => 
  array (
    'wp_install' => 'http://localhost:9090/wp/',
    'wp_blog' => 'http://localhost:9090/wp/',
    'Accept-Encoding' => 'deflate;q=1.0, compress;q=0.5',
  ),
  'cookies' => 
  array (
  ),
  'body' => NULL,
  'compress' => false,
  'decompress' => true,
  'sslverify' => true,
  'ssl' => false,
  'local' => false,
)
}}}


So two problems:

1) If the local site core check fails, it assumes what it is running is the most current.  There is no indication that the core check failed.  It seems like the ""Page Not Found"" page returned from api.wordpress.org should be displayed. See #16156, #16094 for similar issues.

2) What in the request is causing the HTTP get to fail?  I think it must something in the header information.  BUT, it USED to work.  Is the server behaving differently?"	dturvene
13909	HTTP redirect should return a hypertext fragment		HTTP	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-06-15T19:15:36Z	2010-06-26T02:55:59Z	"When !WordPress redirects via the API ({{{wp_redirect}}}), a useragent which does not automatically redirect (e.g. configuration because of usability or security considerations), get's a blank page delivered (which is of no use for the user). This is because only HTTP headers are set for the redirect, but not a HTTP body. Normally Webservers and Webapplications deliver a body as well.

'''Example: Redirect on the google.com domain'''

Command: {{{curl -i http://google.com/}}}

Output:
{{{
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Tue, 15 Jun 2010 18:11:12 GMT
Expires: Thu, 15 Jul 2010 18:11:12 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block

<HTML><HEAD><meta http-equiv=""content-type"" content=""text/html;charset=utf-8"">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF=""http://www.google.com/"">here</A>.
</BODY></HTML>
}}}

Redirect of google.com to www.google.com; next to the headers a body is returned (some simple HTML containing the link to the redirected page).

This method is often used as a fall-back for automatic methods — if the visitor's browser does not support the automatic redirect method, the visitor can still reach the target document by following the link. [http://en.wikipedia.org/wiki/URL_redirection#Manual_redirect URL redirection (From Wikipedia, the free encyclopedia)]

'''Example: Redirect on a wordpress domain'''

This is against a trunk version wordpress setup. I made a setup with a domain www.webroot.loc and webroot.loc. The blog is w/o the www. so www.webroot.loc get's redirected to webroot.loc:

Command: {{{curl -i http://www.webroot.loc/wordpress/}}}

Output:
{{{
HTTP/1.1 301 Moved Permanently
Date: Tue, 15 Jun 2010 18:12:38 GMT
Server: Apache
X-Pingback: http://webroot.loc/wordpress/xmlrpc.php
Location: http://webroot.loc/wordpress/
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
}}}

There is no http body in the response.

To increase the overall usability of wordpress a body should returned as well."	hakre
13841	Some HTTP Transports do not respect transfer timeouts		HTTP	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-06-11T04:48:30Z	2012-08-03T01:30:39Z	"While doing some testing I found that fopen, fsockopen and streams do not respect transfer timeouts.

Out fopen transport cannot support a transfer timeout properly because we do not pass the 3rd optional parameter to fopen for stream context.  We don't do this on purpose because the 3rd parameter was not added until php 5, and that is partially what the streams transport is designed to cover.  So in short, unless we want to conditionally use the streams context here for php versions > 5, we cannot reliably use transfer timeouts.

The streams timeout was missing the context for timeout, which does support ""microtime"".  However, unsure at this point why, but the timeout needs to be divided by 2, so that the timeout happens requested timeout.

With fsockopen, we need to actually test for the timeout during the while loop, because the stream_set_timeout applies to each pass of fread and not the total process."	sivel
11888	The streams & fopen HTTP transport arn't sending headers that are passed to it		HTTP	2.9.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-01-13T20:01:41Z	2012-06-05T13:09:20Z	"In particular, cookie headers. Related php bugs:

http://bugs.php.net/bug.php?id=41051

http://bugs.php.net/bug.php?id=45092

Based on the second PHP ticket, this would affect systems up to PHP 5.2.9.

I tried to replace $strHeaders with an $arrHeaders array based on the discussions in the second ticket, but it didn't make the slightest difference.

I'm running out of ideas, too..."	Denis-de-Bernardy
23463	WP_HTTP  HTTP/1.1 needs to send Connection Close + support Transfer-encoding better		HTTP		normal	normal	Future Release	defect (bug)	new	has-patch	2013-02-13T06:15:45Z	2013-02-13T06:15:45Z	"WP_HTTP accepts a 'httpversion' argument, and supports some functions of it (such as Transfer-encoding).

However, there are 2 things which are rather broken
1. It doesn't send a `Connection: close` header, so the connection is held open and WP_HTTP never returns
1. Transfer-Encoding: chunked appears to be rather broken, causing it to returning the end of the document rather than the decoded document.

The attached patch goes some of the way towards making that work better, but is mostly untested, and could do with a unit test or two."	dd32
16606	WP_Http_Streams::test doesn't check enough to confirm if it can do HTTPS		HTTP	3.0.5	high	major	Future Release	defect (bug)	new	has-patch	2011-02-21T08:16:44Z	2013-01-20T20:44:55Z	"The WP_Http_Streams doesn't check for all it's prerequisites before saying it can process HTTPS request.

It seems to be common for the openssl extension to no be loaded.

Example Warnings:

{{{
[21-Feb-2011 08:06:48] PHP Warning:  fopen() [<a href='function.fopen'>function.fopen</a>]: Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP? in .../wp-includes/class-http.php on line 1063
[21-Feb-2011 08:06:48] PHP Warning:  fopen(https://example.com/feed/) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in .../wp-includes/class-http.php on line 1063
}}}

We need to at least check: {{{extension_loaded( 'openssl' )}}}
"	westi
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
9072	New Socket HTTP transport to use stream_socket_client		HTTP		normal	normal	Future Release	enhancement	assigned	has-patch	2009-02-09T05:45:50Z	2012-06-28T13:43:20Z	"Steams use of stream_socket_client:
 * Support SSL.
 * Better support for non-blocking.
 * Damn sexy."	jacobsantos
16870	consider disabling HTTP transport after multiple failed requests		HTTP	2.9	normal	normal	Future Release	enhancement	new	dev-feedback	2011-03-16T23:18:45Z	2011-07-16T23:31:02Z	"There has been a number of reports over the lifespan of the cURL HTTP transport failing with an error during upgrades:
{{{
WP HTTP Error: name lookup timed out
}}}

This is a common error from cURL on badly configured installations (specifically, IIRC it lacks DNS Resolving in cURL, sometimes it just required an extended amount of time to resolve, others, it simply can't resolve)

Like we do with fsockopen() I think it'd be worth disabling the cURL transport for x hours when it hits this particular error condition..

Related threads: http://wordpress.org/support/topic/dashboard-issues-rss-error-wp-http-error-name-lookup-timed-out and http://wordpress.org/support/topic/plugins-update-failure  Both old threads, so this may only affect a PHP4 version of cURL.. For tracking purposes, I've finally created this ticket."	dd32
23163	3.6 Network Admin Help Text		Help/About		low	normal	Future Release	enhancement	new	has-patch	2013-01-09T23:35:35Z	2013-03-09T03:19:18Z	"One of the [http://make.wordpress.org/docs Doc team's] action items for 3.6 is to work on overhauling the Network Admin help tabs, many of which contain outdated and, well, unhelpful information. 

Our goals:
* Focus on writing action vs description-based help text
* Aim for a consistent voice
* Pave the way for future Help UI changes in how we structure the information

Any Network Admin screen is fair game but by no means do we intend to change strings just for the sake of change. It was the consensus of the team to focus on this effort earlier in the release cycle than usual so that translators will have plenty of time to work on new strings and provide feedback.

Following some [https://twitter.com/DrewAPicture/status/295248525699190785 feedback] from @nacin, @markjaquith, and @aaroncampbell, it was decided the best format for concatenating help tabs strings should follow this format going forward:

{{{
$example_string = '<p>' . __( 'This is some help text' ) . '</p>';
$example_string .= '<p>' . __( 'This is some more help text' ) . '</p>';
 
get_current_screen()->add_help_tab( array(
'id'	=> 'example',
'title'	=> __( 'Example' ),
'content'	=> $example_string
) );
}}}"	DrewAPicture
21523	Add additional escaping to credit.php		Help/About	3.4.1	normal	normal	Future Release	enhancement	new	has-patch	2012-08-09T01:13:41Z	2012-11-07T20:16:49Z	"`/wp-admin/credits.php` doesn't fully escape all of the data that it displays. It should be properly escaped like any other third party data.

What if WordPress.org were somehow compromised?"	Viper007Bond
21273	Automatically open help panel		Help/About		normal	trivial	Future Release	enhancement	new	has-patch	2012-07-14T19:04:20Z	2012-10-30T17:32:36Z	"The help screen is highly inaccessible. Developers are not able to link to content in the help panels if you need to point users to specific directions for your plugin.

This patch is a quick stab at it to see if it's worth while.

What it does it allow direct links to the help panel. Upon pageload, it'll automagically open up to the correct panel.

Usage:
1. Install the patch
2. Click http://wordpress.dev/wp-admin/index.php#tab-panel-help-layout

Again, this is a quick stab. The concept could definitely be improve/abstracted and DRYed up.

Let me know your thoughts :-)"	ptahdunbar
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
21583	Improve discoverability and visual design of Screen Options and Help Panels		Help/About		normal	normal	Future Release	enhancement	new	early	2012-08-14T22:34:05Z	2012-11-03T05:36:33Z	"The Screen Options and Help panels are not very discoverable and, in part because of this, aren't very helpful to our users.

Here are the problems with them right now:

* Most users are blind to these tabs.
* The labels and positioning give little indication as to what these tabs actually do.
* For a lot of users, Help is not that helpful.
*They’re position in the admin creates yet another point of navigation for users to be aware of (and per #1, most of them aren’t).
* The very wide container for text makes a lot of the help text difficult to read.

Here are some proposals to improve the design and discoverability of these tabs (related images and mockups are here: http://make.wordpress.org/ui/2012/08/06/we-did-some-brainstorming-at-dev-day-today/) :
* Adding icons to these tabs would (hopefully) both make these tabs more visible and give a better indication as to what these tabs too.
* Moving these to the right side of the toolbar would give even more context to what these do, as they would be grouped with other user-specific settings.
* (6) The toolbar dropdown would allow for a slimmer content area for better readability.
* (7) The slimmer content area would let us make screen options read like a list for better scannability.
* (4/5) Putting the gear on the upper right would standardise with several other web apps (Twitter, etc).

Related: #21326"	chexee
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
16271	Better handling of translating comments notification		I18N	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-17T17:26:03Z	2011-02-16T06:22:49Z	"Comments...


{{{
Author :
E-mail :
URL    :
Whois  :
Excerpt:
}}}

Pingback...


{{{
Website:
URL    :
}}}

It is not possible to manage translation with the same length of ""Excerpt"" and ""Website"" to have ""URL"" with the same number of spaces (required for ""URL"" which is the same for both types)...

BTW, Why it is ""Excerpt"" when there is the whole text of every comment in notification email?"	pavelevap
15677	It is not possible to install multiple variants of the same language		I18N	3.1	normal	normal	Future Release	defect (bug)	new		2010-12-04T15:07:28Z	2011-06-04T10:21:10Z	"Because of the way {{{mu_dropdown_languages()}}} and {{{format_code_lang()}}} work, it is impossible to have multiple variants of the same language installed. The list of languages returned by {{{mu_dropdown_languages()}}} only includes one variant of each language (the one with the country code which comes last when sorted alphabetically).

For example, if .mo files for es_ES and es_PE are both installed, then only es_PE will be shown.

Furthermore, whatever variant of the language is installed, the name will be the same, not indicating the correct language variant. In the example above, the language name will be ""Spanish; Castillian"", even for the es_PE localisation. This is highly misleading.

A final problem is that the langauge names are not localised themselves, with the exception of ""English"".

The cause of these problems is the fact that {{{format_code_lang()}}} ignores the country code and only considers the language code when choosing the name to return. Furthermore, it returns hardcoded language names rather than translated names.

Since {{{mu_dropdown_languages()}}} uses the return value of {{{format_code_lang()}}} as the key for its internal {{{$output}}} array, this means that later language variants overwrite earlier ones."	caesarsgrunt
7837	Localization of numbers should be supported		I18N		low	minor	Future Release	defect (bug)	new		2008-10-06T16:46:16Z	2009-11-23T15:21:12Z	I'm new to WordPress so please bear with me: I believe localization of numbers should be added to WordPress features. This means that, if you install WordPress and use (for example) Arabic language packs, numbers should be shown using Arabic digits, not English digits.	huji
19980	Localized oEmbed providers		I18N		normal	normal	Future Release	defect (bug)	new		2012-02-06T23:27:32Z	2012-05-02T19:26:03Z	"Follow-up from #19601.

Some localizations might want to add their own oEmbed provider, perhaps a service widely used by users in their country or those who speak their language, despite us never hearing of it.

Right now, Bulgarian and Chinese add some, and Russian would consider it. [http://core.trac.wordpress.org/ticket/19601#comment:11 ref] Others, if shown the opportunity, will also likely want to add some.

We need to come up with a decent solution for handling these. Perhaps it is a switch() on get_locale() in WP_oEmbed."	nacin
22302	Multisite administration - default date format		I18N	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-10-29T15:11:58Z	2012-11-07T18:17:39Z	"1) There is default non-translatable format for dates in multisite administration:

Sites - All sites (columns Last Updated and Registered)

Users - All users (column Registered)

Please see attached patch, I used existing localization format.

2) Sites - All sites - Edit any site. There are also Registered and Last Updated values in default date format, but I am not sure how to solve this issue..."	pavelevap
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
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
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
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
19950	Support the Uyghur translation		I18N		lowest	normal	Future Release	defect (bug)	new		2012-02-02T23:23:02Z	2012-06-15T04:17:25Z	"The Uyghur translation (ug_CN) bends over backwards to be compatible with WordPress. Because there is so much going on here, I need to pull it out into its own ticket.

Given the complexities here (I will post a diff shortly), and because they compose about 1/10th of one percent of non-English downloads, I don't see this happening for 3.4."	nacin
14981	Two i18n misses		I18N	3.3.1	normal	normal	Future Release	defect (bug)	new		2010-09-27T23:21:29Z	2012-02-07T22:40:08Z	"1) /wp-admin/nav-menus.php: the ""Most Recent"" string (/wp-admin/includes/nav-menu.php:645) should be separated between the Pages context and the Articles context, since they can take different forms according to the language (i.e.: in French, ""Articles"" is masculine, ""Pages"" is feminine.

2) /wp-admin/edit.php: Same contextual need for ""All"", ""Published"", ""Scheduled"" and the rest of the per-status selector, for posts and articles (and others...). "	xibe
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
20813	_get_plugin_data_markup_translate fails to load plugin translations		I18N	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2012-06-01T21:22:17Z	2013-05-08T00:49:29Z	"Example Plugin:

{{{
Plugin Name: XYZ
Text Domain: zzz
Domain Path: /lang
}}}

For showing the translated description, _get_plugin_data_markup_translate() will be called.


{{{
function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) {

  // Translate fields
  if ( $translate ) {
    if ( $textdomain = $plugin_data['TextDomain'] ) {
      if ( $plugin_data['DomainPath'] )
        load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) . $plugin_data['DomainPath'] );
}}}

This will call (replaced vars with values):
{{{
load_plugin_textdomain( 'zzz', false, ""/full/path/to/plugin/dir/"" . ""lang"" );
}}}

But load_plugin_textdomain only accepts the subdirectory ""lang"" as the third argument, leading to an incorrect path since WP_PLUGIN_DIR will be put in front.

The fix is to use basename(dirname()) to only get the plugin directory  instead of the full path."	arnee
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
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
23311	Enable internationalization in PHPMailer		I18N	3.5	normal	minor	Future Release	enhancement	new	has-patch	2013-01-28T16:37:06Z	2013-05-16T12:12:28Z	Per the discussion in #23291, we should enable PHPMailer's internationalization feature so that any error messages returned by it and displayed to the user will be translated.	iandunn
20739	Improve Excerpt generation for non-english locales		I18N	3.4	normal	normal	Future Release	enhancement	new		2012-05-23T21:09:45Z	2012-05-30T13:58:18Z	"This is a follow on from #16079 to further improve the code.

While we improved it in 3.4 we can do a better job to more fully support the customisation for all different locales.

For known issues see the comments on the previous ticket."	westi
20738	Improve Javascript Word Counting for TinyMCE		I18N	3.4	normal	normal	Future Release	enhancement	new		2012-05-23T21:07:54Z	2012-05-30T13:57:17Z	"This is a follow on from #8759 to further improve the code.

While we improved it in 3.4 we can do a better job to more fully support the customisation for all different locales.

For know issues see the comments on the previous ticket."	westi
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
7098	Multiple entity codes in POT file for the same character		I18N	2.5.1	normal	normal	Future Release	enhancement	new	has-patch	2008-06-05T11:33:12Z	2012-01-07T03:27:15Z	"In the wordpress.pot file, two characters are represented by both their numbered and lettered HTML entities.  These are:

'''Em-dash:''' the POT file contains both &#8212; and &mdash;

'''Right angle quote:''' the POT file contains both &#187; and &raquo;

I'm not sure if it matters but it certainly is a little inconsistent.

"	leuce
17128	POMO library performance considerations		I18N		normal	normal	Future Release	enhancement	new	has-patch	2011-04-13T20:21:18Z	2012-11-10T07:57:38Z	"Profiling a localized WordPress instance with WPLANG defined as 'de_DE' on my testbed shows that loading the .PO files for WP core and TwentyTen increases the frontend runtime by about 45 percent and the backend runtime by about 30 percent.

This is the profiling environment:

* WordPress 3.2-bleeding r17633
* TwentyTen 1.1
* No active Plugins
* Idling webserver on localhost
* Apache 2.2.9
* PHP 5.2.6
* MySQL 5.0.67
* Xdebug 2.1.1
* webgrind 1.1
* Windows 7 SP1

Without WPLANG defined, runtimes for various code paths are as follows:

* Front page with 10 simple posts: 2300 ms
* Admin Dashboard: 3000 ms
* RSS XML feed output: 1130 ms

With the de_DE l10n in effect, runtimes increase as such:

* Front page with 10 simple posts: 4300 ms
* Admin Dashboard: 4280 ms
* RSS XML feed output: 2950 ms

I wonder whether anyone is able to reproduce this grave performance degradation. A sample output from webgrind showing various POMO functions as the top offenders is attached.
"	wet
22229	Plurals in JavaScript	nbachiyski*	I18N		low	normal	Future Release	enhancement	accepted	has-patch	2012-10-19T19:25:40Z	2013-03-16T17:20:14Z	This is something koopersmith needs in the media modal, and I've seen a few other recent use cases.	nacin
16876	"Separate msgid ""Post"" from wp-includes/post.php:1154 for the administration menu and custom menu creation screen"		I18N	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-03-17T15:56:51Z	2011-11-15T00:34:32Z	"Hey! It seems that both the custom menu creation screen and the administration menu bar are using the same translation. Could you please separate them? Here's the relevant bit of tags/3.1/wordpress.pot:


{{{
 2700 #: wp-includes/post.php:1154
 2701 msgctxt ""post type singular name""
 2702 msgid ""Post""
 2703 msgstr """"
 2704 
 2705 #: wp-includes/post.php:1154
 2706 msgctxt ""post type singular name""
 2707 msgid ""Page""
 2708 msgstr """"
}}}



Cheers!
WJ"	waclawjacek
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
23794	load_plugin_textdomain fails if plugin is loaded from mu-plugins		I18N	3.5.1	normal	minor	Future Release	enhancement	reopened		2013-03-16T09:48:38Z	2013-05-23T10:20:00Z	"load_plugin_textdomain is realative to WP_PLUGIN_DIR, so it fails to load localization files if plugin keeps them in its directory. 

The function should check if is called from mu-plugins and use WP_MUPLUGIN_DIR in that case.

I can fix this in my own plugin by adding '../mu-lugins/' like this:

{{{

  load_plugin_textdomain( 'tiny_tribuna', false, '../mu-plugins/'.dirname( plugin_basename( __FILE__ ) ) . '/languages/');
}}}
 

but this is not a good option for other plugins.
"	ideag
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
17120	Class WP_Importer references STDIN which is not available in Web Environments		Import	3.0	low	minor	Future Release	defect (bug)	new		2011-04-13T09:58:12Z	2011-04-13T09:58:12Z	"STDERR is not defined in web environments (only certain CLI environments), you can call fopen('php://stderr'); directly, however this is not delivered to browsers.

Since this is in the Multisite code, CLI imports might be more common, but it's not a given that multisite imports will not be run from the web either.

Code ref:
http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-importer.php#L128
{{{
126	                        $blog = 'http://' . preg_replace( '#^https?://#', '', $blog_id );
127	                        if ( ( !$parsed = parse_url( $blog ) ) || empty( $parsed['host'] ) ) {
128	                                fwrite( STDERR, ""Error: can not determine blog_id from $blog_id\n"" );
129	                                exit();
130	                        }
131	                        if ( empty( $parsed['path'] ) )
132	                                $parsed['path'] = '/';
133	                        $blog = get_blog_details( array( 'domain' => $parsed['host'], 'path' => $parsed['path'] ) );
134	                        if ( !$blog ) {
135	                                fwrite( STDERR, ""Error: Could not find blog\n"" );
136	                                exit();
137	                        }
}}}

I'm unsure of the best way to tackle this, Ideally in a CLI environment we want the error outputs going to STDERR, but since that's not available or visible to web browsers, wp_die() would be a better choice.

One potential method would be to direct wp_die() to STDERR in CLI environments - That might cause problems with the test suite however (I'm unsure)"	dd32
16445	Fix incompatibilities with IDs greater than 2^31		Import	3.1	normal	normal	Future Release	defect (bug)	new		2011-02-03T01:03:24Z	2012-12-10T12:57:11Z	"For various reasons, things go bad when you get a post ID greater than 2^31^. When we're importing content and there's an existing ID, I suggest we ignore it if possible if it's too big.

Tumblr2WordPress for example maintains the Tumblr IDs and causes problems in WordPress."	Viper007Bond
6393	Export & import blogroll with categories		Import		normal	normal	Future Release	enhancement	new		2008-03-26T17:01:38Z	2012-08-17T09:04:11Z	"I have attached a patch which will export Blogroll OPML file having a category attribute in it. It is valid to have a category attribute in outline tag. Generated OPML file by wp-links-opml.php has been validated by http://validator.opml.org/.

I have also updated link-import.php and link-parse-opml.php files in wp-admin to parse category attribute and create link_category in database if it does not exist and assign link to that category.

This enhancement will automatically export and import link-categories with links."	jayminkapish
3632	Export gzip support		Import	2.1	normal	normal	Future Release	enhancement	new	dev-feedback	2007-01-22T13:11:42Z	2011-02-07T06:51:22Z	"The ticket may be similar to #3178, but it is not, because we control the WordPress process.[[BR]]

Importing a wordpress.xml file to another wordpress may fail due to an upload_max_filesize and post_max_size directives in php.ini. You know that many web hosts allow only an upload_max_filesize of 2 MB. Though, compression is a great help.

A simple solution is, on one side, offering an ''option'' to compress in GZ format the xml file when exporting, and, on the other side, the WordPress importer will accept the compressed file.

And, when possible, WordPress importer should accept compressed files from other formats and blogs.[[BR]]
Just say you only accept one compression format (gz, zip, etc) and the user will comply."	PozHonks
20495	Update phpDoc to reflect post id or object is valid		Inline Docs	3.3.1	normal	trivial	Future Release	defect (bug)	new		2012-04-20T14:48:38Z	2013-05-14T13:24:11Z	"Many functions use `get_post()` and do so by simply passing along one of their own arguments (typically a post ID). Since `get_post()` accepts either a post ID or a post object, those functions therefore can (and do) also accept either type of value for the argument.

The phpDoc for many of the functions simply indicate a post ID is valid. The attached patch amends the `@param` doc entry for the relevant arguments to indicate either a post ID or post object is valid. (There are places where `get_post()` is used but the int arg is otherwise used in the function as an int -- I've skipped those since they don't really accept a post object.)



"	coffee2code
11338	Custom Walker initialize error		Inline Docs	2.9	normal	normal	Future Release	enhancement	reopened		2009-12-05T17:24:42Z	2010-10-28T09:40:46Z	"While I was delvoping a customer walker for my wp_list_pages, I was having trouble getting it to read my customer extended class of Walker_Page. I was talking with DD32 last night and he came up with the solution..

{{{
wp_list_pages(array('walker' => 'new Walker_Page_Rabbit', 'title_li' => '', 'depth' => '1')); 
}}}

...instead of...

{{{
wp_list_pages(array('walker' => 'Walker_Page_Rabbit', 'title_li' => '', 'depth' => '1')); 
}}}

Clearly the reason for including the ""new"" was because in the 'category-template.php' and 'post-template.php' had...

{{{
 	if ( empty($r['walker']) )
 		$walker = new Walker_Page;
 	else
		$walker = $r['walker'];
}}}

I found out that having 'new' in the 
{{{
$r['walker']
}}}
..caused a mismatched argument in the...

{{{
return call_user_func_array(array(&$walker, 'walk'), $args);
}}}

'new' would be passed on. Once I changed the code in the 'core' to include the new and I would define just 'Walker_Page_Rabbit' in the 'wp_list_page' and it worked perfectly.

{{{
 	if ( empty($r['walker']) )
 		$walker = new Walker_Page;
 	else
		$walker = new $r['walker'];
}}}

This is a major blocker for any people who are working on customer walkers. Attached is a patch that does work.
				"	ShaneF
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
23122	inline doc improvements in WP_Filesystem_Direct and WP_List_Table		Inline Docs	3.5	normal	trivial	Future Release	enhancement	new	has-patch	2013-01-04T17:49:42Z	2013-05-16T12:07:16Z	A pass over `WP_Filesystem_Direct` and `WP_List_Table` classes to improve inline docs. Any suggestions/improvements/critiques are welcomed.	bananastalktome
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
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
14356	Better string for onbeforeunload event dialog		JavaScript		lowest	normal	Future Release	enhancement	new		2010-07-19T18:53:15Z	2010-11-18T10:57:46Z	"The WP string for this now is:

''The changes you made will be lost if you navigate away from this page.''

The resulting dialog is:

''Are you sure you want to navigate away from this page?

''The changes you made will be lost if you navigate away from this page.

''Press OK to continue, or Cancel to stay on the current page.

''[OK] [Cancel]

Which is repetitive and, it seems to me, confusing.

I was thinking we could change our string to something not repetitive that complements better the default strings.  E.g.:

''You have unsaved changes that will be lost!

Patch available upon request."	demetris
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
3372	Consolidated JavaScript/CSS Plugin API		JavaScript	2.1	lowest	normal	Future Release	feature request	reopened	dev-feedback	2006-11-19T04:39:22Z	2013-02-07T21:56:46Z	"WordPress plugins are great, they really are.  One problem with them is they often include their own styles and scripts.  The problem here is that several plugins with useful features mean a browser needs to download 10+ javascripts and stylesheets.  This isn't good for page load.  It's awful.  See:
http://www.die.net/musings/page_load_time/

My suggestion would be an API that allows all plugin/css to be included in 1 PHP generated CSS and Javascript.  This would drastically consolidate requests.  For performance reasons it should ideally be cached so that it's only regenerated when a plugin is loaded/reloaded.

This is becoming a bigger issue as plugins become more common and useful.  I hope a solution is found that gives plugin authors the freedom they need, and blog owners the performance they want, without having to sacrifice features.  I think channeling all the requests into 1 JS and 1 CSS file would achieve that.  They could use a numerical ranking system to calculate position in the file (to avoid conflicts) similar to how (iirc) filter work."	robertaccettura
15281	Arin whois link is borked		Mail		lowest	normal	Future Release	defect (bug)	new	has-patch	2010-11-01T21:33:14Z	2011-03-18T20:33:11Z	"http://ws.arin.net/cgi-bin/whois.pl?queryinput=72.233.56.138

I am tempted to propose an api.wordpress.org service, that way these links will never break, but more importantly because arin.net is one of like 7 services based on global regions, and requesting an Asian IP through arin.net doesn't work.

An IP/geo lookup in core would be prohibitive, but if we still want to keep a link (beyond the IP), then we could do this.

On the other hand, IP addresses are becoming less meaningful. Should we just kill the link?"	nacin
12584	Emails from WordPress Admin are html encoded		Mail	2.9.2	normal	normal	Future Release	defect (bug)	new	has-patch	2010-03-11T16:41:17Z	2012-07-03T16:55:00Z	"When a comment form is filled out that contains characters that are candidate for html encoding in the display of the comment on the web site, those comments are also html encoded in the display of the notification email send to the author.

Example comment left on my WordPress install:
Ampersand: &
Quote: ""
Registered: ®

Resulting email notification:
{{{
New comment on your post #168 ""Prevent iTunes from creating unnecessary clutter and cruft""
Author : --
E-mail : --
URL    : 
Whois  : --
Comment: 
Ampersand: &amp;
Quote: ""
Registered: ®
}}}

You can see all comments on this post here: 
http://example.com/prevent-itunes-from-unnecessary-clutter-and-cruft/#comments

Delete it: http://example.com/wp-admin/comment.php?action=cdc&c=xxxx
Spam it: http://example.com/wp-admin/comment.php?action=cdc&dt=spam&c=xxxx

It appears that only the ampersand has this issue.  I am not sure if it also applies to the subject of the email, but can confirm it applies to the body of the email.

The email headers show it was sent as plain text:
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=""UTF-8"""	hexley
6829	FromName causing emails not to send using Windows		Mail	2.5	normal	normal	Future Release	defect (bug)	new		2008-04-23T17:57:25Z	2010-05-24T07:52:50Z	"I have a fresh install of 2.5, but was not getting any user/password related emails.  I tracked this down to line 352 of pluggable.php which sets the FromName on the $phpmailer object.  When this value is set, it causes email to be lost.  When this value is set to null, then the email sends correctly.

php.ini is setup to use a remote SMTP server:

{{{
[mail function]
; For Win32 only.
SMTP = 127.0.0.1
smtp_port = 25
}}}

Here is the modified code:


{{{
// Set the from name and email
  $phpmailer->From = apply_filters( 'wp_mail_from', $from_email );
  $phpmailer->FromName = null; // <== this line changed
}}}


"	mrtwice99
21738	PHPMailer fourth argument '-oi' does not work with some hosts with safe_mode off		Mail	3.4.1	normal	minor	Future Release	defect (bug)	new		2012-08-30T13:56:54Z	2012-09-19T21:15:58Z	"See also #20970

Some hosts (e.g. TransIP) do not accept the '-oi' parameter in the fourth argument for mail() even when safe_mode is off.
The result is that no mail can be sent through !WordPress on these hosts.

Changeset [21129] provides a partial fix when either safe_mode is off, or no sender is defined.

The parameter seems to be unnecessary, therefore it is recommended to remove this parameter. In version 3.4 and 3.4.1, it is in lines 740 and 742 of file wp-includes/class-phpmailer.php
"	Keeslavin
10587	POP3 class does not differentiate between 0 messages and failure to login		Mail	2.9	normal	normal	Future Release	defect (bug)	new	close	2009-08-11T15:41:20Z	2011-04-07T13:51:40Z	"The login function in wp-includes/class-pop3.php states that it returns false on failure, but it also returns false if there are no messages. These should be 2 different scenarios. I have fixed the problem. Here is an svn diff:

{{{
$ svn diff ../../../wp-includes/class-pop3.php
Index: ../../../wp-includes/class-pop3.php
===================================================================
--- ../../../wp-includes/class-pop3.php (revision 11572)
+++ ../../../wp-includes/class-pop3.php (working copy)
@@ -212,7 +212,8 @@
                 return false;
             } else {
                 $count = $this->pass($pass);
-                if( (!$count) || ($count == -1) ) {
+                if( ($count===false) || ($count == -1) ) {
+                echo ""count=$count\n"";
                     //  Preserve the error generated by last() and pass()
                     return false;
                 } else
}}}


"	robfelty
22837	"WP Needs to Set ""Sender"" and ""Reply-To"" or DKIM/DMARC will not work using wp-mail (via PHPMailer)"		Mail	3.4.2	normal	normal	Future Release	defect (bug)	new		2012-12-09T17:23:48Z	2013-01-24T03:58:25Z	"I notice that for DKIM to function (while using DMARC) correctly for outgoing mail the PHPMailer object needs to make sure the Sender and Reply-To fields match the ""From"" field otherwise the ""Return-Path"" header uses the server it is sending from causing a mismatch.  When this happens DKIM fails authentication on the receiver side because it is not added to outgoing mail.

I tried adding the reply-to and sender header manually to wp_mail() but it did not work.  One had to do the following:

Right now i have to manually modify the /wp-includes/pluggable.php file in the wp_mail() function to include:

{{{
	if (strlen($phpmailer->Sender)==0)
	{
		$phpmailer->Sender = $phpmailer->From;
		$phpmailer->AddReplyTo($phpmailer->From);
	}
}}}

This resolves the problem and DKIM works again.
"	kellogg9
15539	wp_mail() should allow using PHPmailer's SMTP feature		Mail	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-11-22T16:51:55Z	2011-02-11T05:46:09Z	"{{{wp_mail()}}} is able to use an already existing instance of PHPmailer. Unfortunately, all settings from the existing instance are then reset.


While this makes sense for things like addresses and subject, it is very bad that {{{$phpmailer->IsMail()}}} is called.

This makes it impossible to create and configure an own instance for usage with a remote MTA.

Possible solutions:

1. Simply omit the call to {{{$phpmailer->IsMail()}}}, as {{{'mail'}}} is already the default value.

2. Move the call of {{{$phpmailer->IsMail()}}} into the {{{if}}} statement at the beginning of the {{{wp_mail()}}} function, so it will only be set if the instance is not set.

3. Add a parameter to the signature of {{{wp_mail()}}} which allows to set the desired MTA backend.
"	mastermind
16995	wp_notify_postauthor() pluggable behavior problem		Mail		normal	normal	Future Release	defect (bug)	new	has-patch	2011-03-29T18:29:05Z	2011-03-31T04:25:05Z	"In my application  a notification must be issued even when an author comments on their own post; this is not allowed by the default WordPress implementation. Lines 1015 - 1025 in function wp_notify_postauthor reject the author's comments and moderations.
Since wp_notify_postauthor is a pluggable function, I can change this behavior by implementing my own function and replacing the default.

However, there is also a redundant test of post authorship in wp-includes/comment.php, function wp_new_comment, around lines 1344 - 1348. This means that my custom wp_notify_postauthor is never called. My specific problem can be solved by commenting out a line of code:

{{{
// $post = &get_post($commentdata['comment_post_ID']); // Don't notify if it's your own comment
}}}

A real fix for this problem should move all of the user_id validation rules out of wp_new_comment and put them in wp_notify_postauthor where they can be modified as needed.
"	dglingren
15534	Add more info to moderation emails		Mail	3.0	normal	minor	Future Release	enhancement	new	has-patch	2010-11-21T23:43:41Z	2011-01-09T07:07:35Z	"When comments have been approved, include who approved it in the email that gets sent to admin saying there's a new comment. I.e.:

""Ryan approved this comment:
[current comment info in email]"""	jane
7244	Disable POP auth when APOP fail		Mail	2.3	normal	normal	Future Release	enhancement	new	reporter-feedback	2008-07-04T23:50:50Z	2009-06-13T17:47:33Z	"If APOP authentication is failed, class-pop3.php tries normal POP auth (USER/PASS).
When a server only accepts APOP authentication, the second process should be fail for sure.
It is nonsence and harmful, because the error message of first process (APOP) is over-written by second try (POP).

To solve the desmiss of APOP fail message, it is neccesary to disable normal POP authentication.
I propose a new class variable $ALLOWLOGIN to decide it.

Additonaly, $ALLOWAPOP is useless because it is no problem to fix it TRUE. (Removing this variable is not included in the patch)"	lilyfan
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
17678	Improved email validator		Mail	3.2	low	minor	Future Release	enhancement	new		2011-06-03T20:33:10Z	2011-06-03T20:36:46Z	"Ran into this while looking for a C library to do the same. The project seems to have some activity and traction, in case there's any interest:

http://code.google.com/p/isemail/ (BSD-licensed and unit-tested)"	Denis-de-Bernardy
18926	Provide with the ability to monitor emailing failures		Mail	3.2.1	normal	minor	Future Release	enhancement	new	has-patch	2011-10-12T21:11:28Z	2012-02-27T16:18:09Z	"Add an action hook in 'wp-mail' function on catching 'phpmailerException' and before returning 'false'.


This way, a plugin may track all email sending failures."	npetetin
15594	"make pluggable the multisite/""wpmu"" mails"		Mail	3.1	normal	minor	Future Release	enhancement	new		2010-11-27T11:45:35Z	2011-01-13T03:29:18Z	"such as the one that is generated in the first lines of

wp-admin/user-new.php"	arena
7845	suggested wp-mail.php improvements		Mail		normal	normal	Future Release	enhancement	new		2008-10-08T04:22:44Z	2009-08-19T12:15:06Z	"wp-mail.php is kind lacking in a bit of well, everything right now.

I don't know when if there are any currently open tickets or any planned improvements, but I just wanted to chip in two cents here. I've had a bit of a nightmare experience after trying to use it with a client. It was a large headache, to say the least. 

For some reason, it's displaying odd characters between words and some odd symbols (notably a mixture of = signs and random numbers) are also showing up. There is no option to strip HTML formatting, so that displays in posts too. It doesn't make use of the pseudo-cron. You have to either manually load wp-mail.php, use a cron, or load a frame onto the front page. Posts sent through the system are instantly approved and there's no option to hold it in the moderation queue. There's pretty much no options at all.

I really wouldn't mind working on this and submitting a patch if someone wanted me to. I was searching through trac and (I could be wrong) but this hasn't been touched since 2006 or earlier.
"	anthonycole
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
11376	wp_mail should run MsgHTML for HTML emails		Mail		normal	normal	Future Release	feature request	new	dev-feedback	2009-12-09T22:47:15Z	2010-03-31T03:47:02Z	"PHPMailer has a function called [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-phpmailer.php#L1720 MsgHTML] that sets the email as isHTML and automatically adds HTML and plain text versions of the message to the email.

wp_mail should run this function if $content_type is set to text/html to allow for max compatibility with email clients. 

Should note: WordPress doesn't currently send HTML emails so this is more of a benefit for plugins. But if we go down the road for HTML emails with core, this will be useful...

This is a quick fix, so I can patch it up."	batmoo
13502	Ajax deletion of media broken due to Trashing remains		Media	2.9	normal	normal	Future Release	defect (bug)	reviewing		2010-05-23T10:41:48Z	2011-11-26T10:39:21Z	"To reproduce:
 1. Upload a file
 2. Expand to view file details
 3. Click Delete, Follow through.

Result: Page reloads and deletes the object

Expected Result: At some point here, Ajax deletion is supposed to kick in.

{{{prepareMediaItemInit()}}} in swfupload handlers.dev.js contains some Ajax trash/undo code, which is never hit, It looks like it was never removed when the Media trashing code was striped out."	dd32
19858	Close comments on attached images		Media	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2012-01-19T16:03:03Z	2012-08-01T12:46:32Z	"In posts, for gallery images and individual images which open in an attachment page when clicked, the image attachment page does not close comments after the designated xx days as the original post does. 

This creates a pile of spam to manage for users that rely on closed comments after xx days and post lots of images.

You can replicate the problem with these steps:
1) In Discussion Settings: set comments to close after 1 day. 'Automatically close comments on articles older than 1 days'

2)Create a post with publish date 2 days ago. Insert an image or gallery which opens in in an attachment page, not just as the image file.

3) The post will have comments closed.

4) The image attachment page will still have comments open.


Here's a test post of mine. Notice the comments closed on the post but still open for the images.
http://hackhappy.wordpress.com/2012/01/17/image-attachment-comment-test/

Bottom Line: Comments should also close after xx days for image attachments, just as the post does. Users reasonably expect this.

Check the post type for image attachment page. It may be marked as a regular page as pages are not controlled by this setting. 

"	dohman
19730	"Death ""Add Media"" link after permanently deleting media items."		Media	3.3	normal	minor	Future Release	defect (bug)	new	has-patch	2012-01-04T10:30:13Z	2012-05-01T13:27:10Z	"After deleting a media item permanently and try to directly add a new one via the 'title-menu-link' (the button-link near the ""Media"" title in the admin screen) will result in a death link (""Invalid post type"").

Follow these steps to reproduce the death link(s):

If you have no '''unattachted''' media in your library, first do this:
- Media > Add New
- From the 'title' menu ""Add New"" (Button near ""Media Library"" at the top)
- Add a random image/file and press ""Save changes""
- You'll get redirected back to the overview of all your media.

If you already have one or more '''unattached''' media items in the library:
- Click on the ""Delete Permanently"" link of the file you just uploaded (the unattached file) (and press oke in the alert dialog)
- This is where something goes wrong: You'r now redirected to the edit.php page where you can read: ""Item permanently deleted."". Now click again on the ""Add New"" link in the title-menu near the title ""Media""
- You're now redirected to an invalid page: ""Invalid post type"".
"	Jordi-Fun
16891	Deleting all attachments from post under 'Gallery' tab shows 'From Computer' tab sans uploader		Media	3.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-03-18T17:33:26Z	2012-07-04T14:12:42Z	"'''Steps to Reproduce:'''
1. Attach images to post using 'Add an Image' dialog
1. '''Save post'''
1. Go to Gallery tab under dialog
1. Delete images
1. View changes to 'From Computer' tab with only empty table from Gallery tab"	kawauso
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
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
15807	Featured image doesn't attach to post		Media	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-12-14T11:57:23Z	2010-12-26T23:09:57Z	"When you use an image as featured, it doesn't attach to the post. 

Possibly related with #14390 (post image (thumbnail) in [gallery])

Tests:

• If the image is already attached, it doesn't reattach ✔

• If the image is uploaded while writing the post, it attaches like another image, even if you are not using it in the post. ✔

• If an image is in the media library, not attached, and you use it in your post, it automatically attaches to the post. ✔

• If the image is in the media library, not attached, and you use it as featured image in a post, it doesn't attach ✘
"	bi0xid
13425	Image Gallery of Private Post is publicly displayed		Media	3.0	normal	normal	Future Release	defect (bug)	new		2010-05-17T20:12:20Z	2010-05-21T13:21:01Z	"Might have been forgotten only, I just ran over this inconsistency while beta-testing:

'''Description:'''

The Image Gallery of a Private Post is displayed (in another post via the Shorttag with id parameter) whereas, when clicking on the images to go to the attachment page, you get a 404 not found.

'''Example:'''

[http://hakre.wordpress.com/2010/05/17/cui-utils-rev2/#more-1184 Post with Gallery][[BR]]
[http://hakre.wordpress.com/2010/05/17/cui-utils-gnu-tools-fur-windows-32-with-a-simple-setup/gnu-win-cui-util-00-setup/ Attachment of that Gallery]

'''Steps to reproduce'''

Create a new Post, set a title and the Status to private.

Save as Draft.

Preview it, to get the ID easily from URL.

Upload a Bunch of Images.

Insert the Gallery Shorttag inside that Post Body.

Publish the Post.

Create a second new Post

Give it a Title and Insert the Gallery Shortcode with the ID from the last Post.

Publish.

View.

Copy the URL.

Open another Browser so to have a new User-Session.

Visit that URL.

'''Expected Behaviour'''

You should not see a gallery.

'''Behaviour'''

You see a gallery.

When clicking on a gallery link you get a 404 page.


'''Feedback'''

I see an inconsitency here but have no Idea how to deal with it.

So either the gallery should not be found as well (not found as in 404 but in this case: not output) or the attachment pages should be able to call as well.

Related: #11697"	hakre
11325	Image cropping doesn't work for small areas		Media	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-12-04T19:46:08Z	2011-02-03T14:22:23Z	"Image cropping works for JPEG images, but not for PNGs. The crop button is disabled.

Rev.179738"	caesarsgrunt
12097	Inserting image captions sometimes results in malformed HTML		Media	2.9.1	normal	normal	Future Release	defect (bug)	new		2010-01-31T13:30:55Z	2011-08-13T11:11:31Z	"When adding an image with a caption to an HTML post, WP generates invalid HTML. In at least the case identified below, WP generates a DIV tag inside a P tag, which violates HTML standards and which results in undefined behavior depending on the browser being used.

For background: http://wordpress.org/support/topic/291591

To reproduce:

  * install stock WP 2.9.1 from scratch. No changes (eg. no themes and no plugins).
  * edit the default first post
  *  switch to HTML editor view
  * upload an image at the beginning of the post, using the same text for the image title, alternate text and caption
  * insert the image into the post as a thumbnail
  * save the post

The text inside the editor should look like the following when you are done:

{{{
[caption id=""attachment_3"" align=""alignnone"" width=""100"" caption=
""Blurred TV Icon""]<a href=""http://wptesty.nfshost.com/wp-conten
t/uploads/BlurredTVIcon.png""><img class=""size-full wp-image-3
"" title=""Blurred TV Icon"" src=""http://wptesty.nfshost.com/wp-con
tent/uploads/BlurredTVIcon.png"" alt=""Blurred TV Icon"" width=""100
"" height=""100"" /></a>[/caption]Welcome to WordPress. This is your
 first post. Edit or delete it, then start blogging!
}}}

The resulting HTML generated by WP is:

{{{
<div class=""entry"">
<p><div id=""attachment_3"" class=""wp-caption alignnone"" style=""wi
dth: 110px""><a href=""http://wptesty.nfshost.com/wp-content/u
ploads/BlurredTVIcon.png""><img class=""size-full wp-image-3"" titl
e=""Blurred TV Icon"" src=""http://wptesty.nfshost.com/wp-conten
t/uploads/BlurredTVIcon.png"" alt=""Blurred TV Icon"" width=""100"" h
eight=""100"" /></a><p class=""wp-caption-text"">Blurred TV Icon<
/p></div>Welcome to WordPress. This is your first post. Edit or del
ete it, then start blogging!</p>
</div>
}}}

For a live example, see http://wptesty.nfshost.com.

NOTE: I am hosting this site myself and I may not leave it up for very long, so if you want to see the bug without having to set up WP yourself, please visit this URL sooner rather than later."	essday
23847	"Media Manager default ""link to"" setting overriding custom setting"		Media	2.7	normal	minor	Future Release	defect (bug)	new		2013-03-22T17:58:40Z	2013-04-04T03:18:58Z	"http://core.trac.wordpress.org/browser/trunk/wp-includes/js/media-views.js#L444

The line I'm looking at is this:

{{{
  link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' )
}}}

{{{getUserSetting( 'urlbutton', 'file' )}}} returns the correct value that I set in the theme on 'init' with {{{set_user_setting( 'urlbutton', 'none' )}}} but that value is not saved on this line because defaultProps.link has already been set to 'file'.

I can't figure out why it tests for a default setting before a user setting, and not the other way around"	joshkadis
10055	Media filters are very wrong...		Media	2.8	normal	normal	Future Release	defect (bug)	new		2009-06-07T01:47:31Z	2009-11-20T07:31:52Z	"e.g.:

{{{
apply_filters($callback, call_user_func($callback));

...

$html = apply_filters('audio_send_to_editor_url', $html, $href, $title);
}}}

so, basically, we get to add fields over on the type_url_form_audio form, but they're not available as filters in the audio_send_to_editor_url filter."	Denis-de-Bernardy
22648	No error reporting for failed upload of background image in theme customizer		Media	3.4	normal	normal	Future Release	defect (bug)	new		2012-11-30T00:54:48Z	2013-01-24T22:27:49Z	"I tried uploading a background image using the theme cusomizer in 3.5 RC2 but nothing happened. After a few more tries I worked out that there was a problem uploading the file but WordPress didn't inform me of this, which it should.

It was only once I'd looked at the response from async-upload.php that I realised there even was a problem.

{{{
filename: ""Screen Shot 2012-11-28 at 17.50.55.png""
message: ""Unable to create directory wp-content/uploads/2012/11. Is its parent directory writable by the server?""
success: false
}}}

"	WPsites
22663	Performing a non-square rotate() with Imagick, then cropping, can result in incorrect Image		Media	3.5	normal	minor	Future Release	defect (bug)	new	commit	2012-11-30T22:49:42Z	2013-05-07T20:38:29Z	"Note:  This is only for *some* recent versions of ImageMagick.  Older ones seem to be a bit more sane, and work fine without any patch whatsoever.

When ImageMagick performs certain operations, it sets its virtual page's x/y origin values to non-zero numbers and leaves them there, which can break some further operations that depend on the virtual page.

In this case, when rotating in non 90 degree increments, Imagick doesn't set the x/y, which means that core doesn't run into this bug, since the built-in image editor only allows for 90 degree rotates in either direction.

However, if you're a user of the API, and perform a ""non-square"" rotate, then a crop, you could end up with an image result that differs from what you'll get from GD.

There are two ways of fixing this:
- Update the virtual page with each update_size()
- Update the virtual page immediately after a rotate() only

The first is what I think we should land on eventually, because it will prevent plugins' methods from breaking core's accidentally (if they do not reset the page's values).  However, that would require an additional error message to be added, which means a new string.

The second would fix the bug for anything core's APIs would do, but would depend on plugins handling resetting the page values appropriately in their own methods.  It is, however, a bit safer (and wouldn't require a string change), if this is something that might land for 3.5.

I've attached patches for each method."	DH-Shredder
13461	Preserve GIF transparency/alpha during thumbnail creation		Media	2.9.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-05-20T13:23:30Z	2012-12-19T23:22:40Z	"GIF images with transparent backgrounds get thumbnails with black backgrounds. 

It was a similar ticket for PNG images in: http://core.trac.wordpress.org/ticket/2805"	javitxu123
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
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
11477	Unable to Crop Images in RC1		Media	2.9	normal	major	Future Release	defect (bug)	reopened		2009-12-17T23:45:56Z	2012-11-06T22:50:32Z	"There appear to be several bugs in the Image Crop input fields.  I'll let you decide which of these symptoms are valid.

1. Go to the Edit Media screen for an image.

2. Click & Drag to highlight an area of the image.

3. Enter an Aspect ratio of 4:3.  '''The image selection changes but the Selection fields are not updated.'''

4. Attempt to change the Aspect ratio to 4:7.  '''Input is erased as soon as I type it in.'''  This makes no sense at first, but appears to be some kind of boundary feedback?

5. Attempt to change the Aspect ratio to 10:11.  '''Input is impossible unless the second field is empty.'''

6. Change the Aspect ratio to 7:8 and then change it to 7.9:8.  '''Nothing happens.'''

7. In common graphics vocabulary, ""Selection"" always refers to a pair of rectangular coordinates.  '''Using the word ""Selection"" where ""Size"" is what you meant''' to say is confusing.

8. Scale Image is collapsed by default, with no indiciation that it can be expanded except for a slight difference in text color, and the cursor changes on mouse over.  This is inconsistent with the Image Crop area, which is '''not collapsible'''.

9. There is '''no way to enter a decimal coefficient''' for the Aspect ratio.  Even 1.67:1 doesn't work.  Unless the user wants to always use 1:1, 16:9, 8:5, 5:4, or 4:3, the existing Aspect Ratio fields will be useless.  The interface would make more sense with a limited set of radio options.

10. '''The original image Aspect Ratio is not displayed.'''  If my image has an Aspect of 1.39847, and I want to ""lock it in"" while cropping, there is no obvious way to do it.

11. '''The new image Aspect Ratio is not displayed.'''  If I crop by click & drag, or by typing in the Selection fields, there is no way to know the resulting Aspect Ratio without pulling out a calculator.

12. The original image '''dimensions are not displayed''', unless the Scale Image area has been expanded.  Cropping is just that much more awkward as a result."	miqrogroove
14244	Upload file types should be checked BEFORE uploading.		Media		normal	normal	Future Release	defect (bug)	new		2010-07-09T01:06:36Z	2013-04-08T15:12:57Z	"Wanna get frustrated? Try uploading a 50 meg video and realizing you forgot to set your Upload file types to allow m4v.

Is there any way this can be checked BEFORE the file gets uploaded? As it stands today, you upload THEN it checks and deletes. Arg :)"	ipstenu
10752	Uploading new media to existing posts/pages backdates file location		Media	2.8.4	normal	minor	Future Release	defect (bug)	new		2009-09-08T20:35:20Z	2012-08-28T20:57:35Z	"Using WP 2.8.4, when uploading new media files to a page or post that has already been published, the new file is added in the /UPLOAD_DIR/year/month/ directory that corresponds to the original page/post publication date, rather than the file upload date.

Also, the correct file-upload-date-based directory is created (if it does not already exist), but the file is still placed in the older incorrect directory.

Example: Assume the following...

On /wp-admin/options-misc.php:
  * ""Store uploads in this folder"" (referred to above as UPLOAD_DIR) is set to ""wp-content/uploads"" or any other location, such as ""files""
  * ""Organize my uploads into month- and year-based folders"" is checked

On an existing Page:
  * Page has a published date of 3/1/2008
  * File a_test_file.jpg is uploaded on 9/1/2009
  * UPLOAD_DIR is set to ""wp-content/uploads"", has 777 permissions, and contains no subdirectories or files

WordPress 2.6.x and below would have created the following:
  * /wp-content/uploads/2009/09/a_test_file.jpg

However, WP 2.8.4 is creating:
  * /wp-content/uploads/2008/03/a_test_file.jpg
  * /wp-content/uploads/2009/09


This issue was previously mentioned on the wordpress.org forums as being a known issue with WP 2.7.1: http://wordpress.org/support/topic/254786"	dpie
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
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-03-31T16:26:12Z	"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
16330	media_sideload_image() broken with filenames containing strange characters (e.g., +, %)		Media	3.1	normal	major	Future Release	defect (bug)	reopened	needs-unit-tests	2011-01-21T13:56:19Z	2013-03-17T10:31:55Z	"I'm using the {{{media_sideload_image()}}} method in the upcoming version of my [http://wordpress.org/extend/plugins/e107-importer/ e107 Importer script] (see: http://github.com/kdeldycke/e107-importer/blob/b7925fdac6aa43db4be5b7925265a83d95fc62ad/e107-importer.php#L277 ) to upload remote images into WordPress.

This method work as expected with lots of images from a lot of different sources, but fail on URLs containing spaces.

Let me illustrate this bug with an example.

When trying to upload the image located at
{{{
http://home.nordnet.fr/francois.jankowski/pochette avant thumb.jpg
}}}
the result looks like this on the file system: http://twitpic.com/3s0dk7 . As you can see, image file names are clean. But in the Media Manager, here is what you have: http://twitpic.com/3s0e5d . No thumbnails seems to have been created.

Now, trying to fix this, I modified the original URL before calling {{{media_sideload_image()}}} with the following code:
{{{
  $img_url = str_replace(' ', '%20', html_entity_decode($img_url));
  $new_tag = media_sideload_image($img_url, $post_id);
}}}
With this patch, here is the result on the filesystem: http://twitpic.com/3s0ets . I was surprised by WordPress not sanitizing URLs. Is that normal ?

But the most surprising stuff is in the Media Manager: http://twitpic.com/3s0hup . It looks like thanks to this hack, WordPress somehow succeeded downloading the remote file but messed with filesystem naming. What let me think this ? The Media Manager, get the right image thumbnail dimensions but not the binary payload of the thumbnail (contrary to the case above were no binary nor dimensions are available about the thumbnail).

All of this was tested in WordPress 3.1-RC2.

As for the idea of the patch above, it come from a very old version of my plugin (v0.9) that was based on WordPress 2.3.2. There, I somehow found the root cause of the problem, [http://github.com/kdeldycke/e107-importer/blob/e107-importer-0.9/e107.php#L410 according the comment I wrote 3 years ago]:
{{{
 // The fopen() function in wp_remote_fopen() don't like URLs with space chars not translated to html entities
}}}

I should have posted this bug report sooner, as now I've forgotten everything about this issue... :("	Coolkevman
12855	Add 2 filters on get_media_item(s) functions		Media		low	normal	Future Release	enhancement	new	has-patch	2010-04-05T11:04:08Z	2010-04-05T14:17:37Z	Allow plugin to add some content on media functions.	momo360modena
13568	Add filters to media uploader		Media	3.0	low	minor	Future Release	enhancement	new		2010-05-27T01:02:56Z	2011-12-30T13:12:12Z	"In wp-admin > includes > media.php:

There should be a ""gallery_fields_to_edit"" filter similar to the ""attachment_fields_to_edit filter"", allowing gallery options to be filtered out. (Begins line #1749)

Additionally, it should be possible to disable the ""Insert into Post"" button below each image (I believe it's line #1239 of the current build).

I'm sorry, but my PHP knowledge is insufficient to write a working patch."	nudnik
16251	Change attachment image uploads to have post_date corresponding to EXIF created date		Media		normal	normal	Future Release	enhancement	new	dev-feedback	2011-01-15T23:03:15Z	2011-07-23T15:30:02Z	"General idea is that if an image has EXIF data about its creation time, we should use that as the post_date in the attachment post, since the attachment post is the representation in WordPress of the attachment file.

Advantages: The posts will show their proper dates of creation by simply using the_date and similar functions.

This code will do it as a plugin. A patch would be much simpler and more generally beneficial.

{{{
add_filter('wp_update_attachment_metadata','attachment_redater',10,2);
function attachment_redater($data, $id) {
	if (!empty($data['image_meta']['created_timestamp'])) {
		$post=get_post($id);
		$post->post_date = gmdate('Y-m-d H:i:s', $data['image_meta']['created_timestamp']);
		wp_update_post($post);
	}
	return $data;
}

}}}
"	Otto42
17247	Crop tool is automatically selected when editing an image		Media		normal	normal	Future Release	enhancement	new		2011-04-27T00:17:31Z	2011-04-27T09:34:31Z	"The crop tool is automatically selected when editing an image with the built-in tools. This can be confusing as the crop button is greyed out and inactive by default.

To reproduce:
1. Create a new post or page
2. Upload an image
3. Click the Gallery tab
4. For the image you uploaded click ""Edit Image""

The crop tool will be automatically selected. If you drag the mouse over the image it will select an area to crop.

A more intuitive behavior would be to have none of the editing tools selected by default.

Currently, the next step is presumed when you click ""Edit Image."" It would be better to leave the next step up to each user so that clicking ""Edit Image"" didn't imply a default action."	andrewspittle
22768	EXIF/IPTC captions should populate caption/post_excerpt on upload, not description/post_content		Media	2.5	normal	normal	Future Release	enhancement	new	early	2012-12-06T00:24:39Z	2012-12-15T20:10:37Z	"It's been this way forever, but it is dumping data into the wrong field. Two schools of thought on this:

 * Plugins have used the description field, so we should not change this.

 * Users continue to struggle with moving *captions* from the description field to the caption field, so we should change this.

I am in the latter school of thought. A plugin can remain compatible by ensuring it checks either description or caption before falling back to the other."	nacin
10501	Enhancements to media upload rules and/or delete media confirm dialog		Media		low	minor	Future Release	enhancement	new	dev-feedback	2009-07-28T13:21:09Z	2009-11-23T19:53:18Z	"Now only some file types has required ""Name"" field, rest don't requires typing name for file. After upload if name field was empty file get name in media library from original uploaded file for example: ""doc234"" if uploaded file was named ""doc234.txt"".

Now user can Edit uploaded to library file and delete name. In library view file is called ""(no title)"", but when user try to delete in confirmation box are only empty quotes without name.

There are two possibilities to fix this.

First: require ""Name"" value for every file, not only for few types.
Second: add function which show uploaded file name as ""Name"" in confirmation box, when this name is empty."	Simek
14110	Expose height and width attributes to 'wp_get_attachment_image_attributes' filter		Media	3.0	normal	minor	Future Release	enhancement	new	dev-feedback	2010-06-27T00:54:46Z	2013-02-04T19:51:35Z	"The filter 'wp_get_attachment_image_attributes' allows you to alter the attributes of embedded images. However the height and width attributes aren't passed to this filter. These would be useful to have – I'm making a theme with a fluid layout where I have to remove all height and width attributes to ensure that the browser maintains the attribute of images when they're resized.

I've attached a patch with a fix. In it I've also changed the function 'get_image_tag' so that I could remove the immensely pointless 'hwstring' function."	divinenephron
21569	Filter gallery styles with access to $attr		Media	3.5	normal	normal	Future Release	enhancement	new	has-patch	2012-08-13T21:18:25Z	2013-05-24T19:55:39Z	"Currently you can replace the entire output, but that's all or nothing — if you decide to do that, you also need to parse the attributes array, decide on good defaults, etc. You can also filter the styles, but you don't have access to the attributes array.

Use case: In my theme, I'd like to use the number of columns as more of a suggestion. I could set min-width to what `$itemwidth` is currently and it would be more responsive. If the page shrinks too small, it would only load 1 image per line instead of being locked into the right number of columns."	betzster
12120	Force Media Image Generation (for thumbnails)		Media		normal	normal	Future Release	enhancement	new	has-patch	2010-02-03T17:53:32Z	2010-03-07T08:19:33Z	"It would be very useful to force the generation of a thumbnail images for uploaded files. With content being syndicated to feeds, e-readers, and mobile devices, the ability to have a working thumbnail is more important.

For example, if the original image has dimensions of 250x50, and the default thumbnail size in WP is 150x150, a thumbnail will not be generated because the 50 height is smaller than the 150 pixel minimum.

The fix would be to include an additional parameter to the image_resize_dimensions to allow the function the dimensions. A filter could be applied to allow the user to set which images should force the generation of a resized image (i.e. to exclude a medium and large image from being generated for a 250x50 image) by passing in the original width/height and max width/height.

in wp-includes/media.php

========

function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {

...

$force = apply_filters('image_resize_dimensions_force', $orig_w, $orig_h, $max_w, $max_h);
$dims = image_resize_dimensions($orig_w, $orig_h, $max_w, $max_h, $crop, $force);

========

function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = false, $force = false) {
...

// if the resulting image would be the same size or larger we don't want to resize it
	if ( $new_w >= $orig_w && $new_h >= $orig_h && !$force )
		return false;
"	atow
23331	Gmagick support		Media		normal	normal	Future Release	enhancement	new	has-patch	2013-01-30T22:33:53Z	2013-04-25T20:50:14Z	In 3.5 we added Imagick support. It would be great to also include Gmagick. Since Graphicmagick is just more awesome then ImageMagick.	markoheijnen
19393	Image crop position		Media	3.3	normal	normal	Future Release	enhancement	new		2011-11-29T18:46:06Z	2013-04-08T13:26:54Z	"In WP, images are cropped to center horizontally and vertically. Setting a different crop position is very painful and a bit of hack using filters/hooks (see [https://gist.github.com/1405838]). The small attached patch enhances the `$crop` parameter of `add_image_size`, allowing an array to be passed in containing the crop position.  For example,

{{{
add_image_size( 'product-screenshot', 300, 300, array( 'left', 'top' ) );
}}}

The `$crop` parameter still accepts true/false values and the patch should be fully backward compatible. Syntax is borrowed from CSS' `background-position` property, so it should be familiar to designers/developers."	bradt
13392	Image editor UX could be more straightforward		Media	3.0	normal	normal	Future Release	enhancement	new	close	2010-05-14T13:54:06Z	2013-02-08T17:15:27Z	"The image editor introduced in v2.9 (?) is pretty handy, but I believe the UI needs to be straightforward. Here's some issues which I see, as a starter for discussion, and hopefully later I'll be able to make some quick wireframes to suggest improvements and so everyone can have something to get hating.

The overarching issue is that the UI seems confused when it comes to committing the action you've just taken, for example:

 * To scale an image, you commit the action with a button labelled ""Scale"".
 * To commit a crop you have to click the crop icon button, which looks like a tool selection button (ala Photoshop) rather than something which commits the change.
 * The Save button is disabled most of the time, for reasons which are unclear, but it's not super obviously styled as disabled.

Separately from the problems of committing actions, the ""Apply changes to"" panel is kind of stuck down to the right and it's not clear at which points it's having an effect.

There are no messages back to the user to confirm whether actions have or haven't been taken.
"	simonwheatley
21810	Improve intermediate image size handling		Media	3.5	normal	normal	Future Release	enhancement	new		2012-09-05T20:28:14Z	2013-01-15T20:29:29Z	"When discussing the new media workflows on #21390, the need to improve our image size API became apparent.

A quick overview of the improvements that should be made:

* All image attachments have an original, or ""golden master"", which is never altered.

* An image size creates a new image and stores all transformations applied to the image as metadata. Transformations are described relative to the golden master. An image size has a unique slug (which means a set of dimensions does *not* have to be unique).

* Image attachments have a ""master"" image size, which is used to create any automatically generated image sizes.

* Automatically generated image sizes can be overridden with manual transformations.

Would love for someone to step up on this ticket, as the media modal editing UI will benefit greatly from these improvements."	koopersmith
10161	Insert button in Media Uploader		Media	2.8	normal	minor	Future Release	enhancement	new		2009-06-14T19:33:08Z	2010-01-10T06:17:16Z	"Hi, in the Media Uploader, the third and forth tabs, could we have a link/button to insert media instead of clicking SHOW and then INSERT INTO EDITOR.
The options are saved, so some of us do not really need check the options before inserting media into post, this helps a lot with slow browser.

Thanks"	link2caro
12238	Introduce a function to return image attributes of a specific attachment		Media		normal	normal	Future Release	enhancement	new	dev-feedback	2010-02-15T11:47:02Z	2012-09-22T20:05:57Z	"It's useful to get all the data relating to an image via one source:
{{{
/**
* returns an array containing attributes for an image stored in the database
 * $image_id : id of the image to query
 * $size : size of the image, can be 'thumbnail', 'medium', 'large' or 'full'
 */	
function get_image_by_id($image_id, $size) {
	$image = get_post($image_id);

	$imageObj = array();
	$imagearray = wp_get_attachment_image_src($image->ID, $size, false);
	$imageObj['src'] = $imagearray[0];
	$imageObj['width'] = $imagearray[1];
	$imageObj['height'] = $imagearray[2];
	$imageObj['id'] = $image->ID;
	$imageObj['title'] = $image->post_title;
	$imageObj['caption'] = $image->post_excerpt;
	$imageObj['description'] = $image->post_content;
	$imageObj['alt'] = get_post_meta($image->ID, '_wp_attachment_image_alt', true);

	return $imageObj;
}
}}}"	jredfern
11078	"Media Library tab in post editor should have ""Unattached"" and ""Trash"" filter options"		Media	2.9	normal	minor	Future Release	enhancement	new		2009-11-05T04:16:04Z	2010-01-06T03:45:50Z	"The master Media Library admin page has options for viewing attachments based on their status, not just type—but the post editor media management only allows sorting based on type.

Having at least the ability to filter for unattached media items would be useful when editing a post. Occasionally users could have older media that is not yet attached to a post and could get buried in the media pages by newer items."	markel
22744	Media search doesn't include file name		Media	3.0	normal	normal	Future Release	enhancement	new		2012-12-04T22:56:45Z	2012-12-29T10:37:30Z	"Upload a file called `foo.png` and then do a search for `foo.png` (either on the Media screen or in the new media modal) and it won't find the file.

Probably existed since forever. Marking as 3.0."	johnbillion
13014	Missing Thumbnail Size		Media		normal	trivial	Future Release	enhancement	new		2010-04-15T12:13:02Z	2013-04-08T15:03:10Z	"If I add an image size i.e.:
add_image_size('big', 960, 240, true);
then I'm uploading an image with 960x320px, the this new 'thumbnail' won't be generated.

So if the third parameter is true he should be compare the width and the height of the source image."	Horttcore
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
15606	Remove Hardcoded Image Extensions		Media		normal	normal	Future Release	enhancement	new		2010-11-29T12:54:47Z	2011-01-14T16:00:08Z	"Hi,

As the web changes, browsers support more image extensions. Part of what I'm doing is write plugins that extend Wordpress's ability to thumbnail beyond the norm (PDFs for example).

In order to extend functionality and provide the most support to existing themes, one way is to override functions like `wp_attachment_is_image()`. Rather than full overriding, it would be better still to change the data their logic is based on. However, these functions do make some unfortunate hard-coded assumptions.

This function, in wp-includes/post.php includes the code:
{{{
$image_exts = array('jpg', 'jpeg', 'gif', 'png');
}}}

I believe that should refer to a global array. This is not in object scope, so where would be best to place it?

Best,
Leo"	acumensystems
13052	Return the URL of the next adjacent image in a gallery		Media		normal	normal	Future Release	enhancement	new		2010-04-19T20:32:33Z	2010-04-20T07:54:37Z	"A function that returned the URL of the next adjacent image for an attachment in a gallery post, or the URL of the parent post if there isn't an adjacent image, would be a really useful enhancement for attachment templates.

Attached is a diff of media.php with the custom function I rolled from adjacent_image_link() to do just that."	iandstewart
13372	Separate Image sizes for different post types		Media		normal	normal	Future Release	enhancement	new	close	2010-05-13T07:59:07Z	2013-01-03T16:14:23Z	Would be nice, especially moving forward with custom post types to have the ability to set different image sizes using an additional parameter of `add_image_size()` for different post types: Page, Post, and Custom.	brandondove
13235	Simplify and add filtering to call to display author for media		Media	3.0	normal	normal	Future Release	enhancement	new	commit	2010-05-03T19:13:35Z	2011-04-25T16:03:53Z	The author displayed on the media page (upload.php) is not filterable in any way currently. This patch adds a filter for the author ('media_author'). Perhaps more filters should be added for other fields, but at the least I would like to add this filter.	sbressler
22100	Treat built-in image sizes the same as custom image sizes		Media		normal	normal	Future Release	enhancement	new	has-patch	2012-10-04T15:39:44Z	2013-05-14T13:50:34Z	"Goals:

0. Have a solid API for working with intermediate image size definitions.

1. Don't hardcode default image sizes; register them like any other.

2. ~~Introduce a 'pregenerate' arg, which will allow defining an image size that will not be automatically generated right after upload.~~

Related tickets: #15311, #21810"	scribu
15309	Updating Attachments will always set post_modified[_gmt] to the post_date[_gmt]		Media		normal	normal	Future Release	enhancement	new	has-patch	2010-11-03T17:40:31Z	2012-04-20T05:31:51Z	"When updating an attachment the post_modified and post_modified_gmt are always set to post_date and post_date_gmt respectively. 

Is there a specific reason for this or can we allow attachments to properly set a modified time?

Attached is a proposed patch (which just copies code directly from `wp_insert_post`)."	shawnparker
21819	Use an image size for custom headers instead of duplicating an attachment		Media	3.5	normal	normal	Future Release	enhancement	assigned		2012-09-05T21:19:51Z	2012-11-07T20:40:58Z	The improvements in #21810 will allow us to use an image size for custom headers, and we definitely should — it results in fewer attachments, allows the user to recrop the header, and allows us to make intelligent decisions regarding how to treat custom headers when the theme is changed.	koopersmith
10390	attachments should store the WP uploads path that was configured when they were uploaded		Media	2.8.1	normal	normal	Future Release	enhancement	new		2009-07-12T10:34:51Z	2010-05-13T08:52:54Z	"When you upload an image, currently, the uploads path (defaults to wp-content/uploads) is not stored.

If you change this later on to something else, previously inserted galleries no longer work, among multitudes of other problems."	Denis-de-Bernardy
15311	dynamic image resize (on the fly) using already available functions		Media	3.1	normal	normal	Future Release	enhancement	new	dev-feedback	2010-11-03T20:18:44Z	2013-05-11T16:00:11Z	"The lack of a dynamic resize function in WordPress forces theme developers to register lots of image sizes for their themes to use.

One of the problems with this approach is that the server becomes full of image files that will be never used.

Another problem is that when someone changes their theme the image sizes simply doesn't match, forcing people to use a plugin to regenerate all image files, and once again lots of those files will never be used.

So theme developers right now are using some sort of image resizing script like timthumb that works outside of wp. I think it has many drawbacks comparing to a native implementation.

So I made a function that uses WordPress native image handling capabilities to resize and save those resized images for future use.

I use this for attached images as well as standalone files such as custom fields and other images.

What I want here is just to share my solution, and maybe we can someday put something like this into core (actually something better then this):

{{{
/*
 * Resize images dynamically using wp built in functions
 * Victor Teixeira
 *
 * php 5.2+
 *
 * Exemple use:
 * 
 * <?php 
 * $thumb = get_post_thumbnail_id(); 
 * $image = vt_resize( $thumb,'' , 140, 110, true );
 * ?>
 * <img src=""<?php echo $image[url]; ?>"" width=""<?php echo $image[width]; ?>"" height=""<?php echo $image[height]; ?>"" />
 *
 * @param int $attach_id
 * @param string $img_url
 * @param int $width
 * @param int $height
 * @param bool $crop
 * @return array
 */
function vt_resize( $attach_id = null, $img_url = null, $width, $height, $crop = false ) {

	// this is an attachment, so we have the ID
	if ( $attach_id ) {
	
		$image_src = wp_get_attachment_image_src( $attach_id, 'full' );
		$file_path = get_attached_file( $attach_id );
	
	// this is not an attachment, let's use the image url
	} else if ( $img_url ) {
		
		$file_path = parse_url( $img_url );
		$file_path = ltrim( $file_path['path'], '/' );
		//$file_path = rtrim( ABSPATH, '/' ).$file_path['path'];
		
		$orig_size = getimagesize( $file_path );
		
		$image_src[0] = $img_url;
		$image_src[1] = $orig_size[0];
		$image_src[2] = $orig_size[1];
	}
	
	$file_info = pathinfo( $file_path );
	$extension = '.'. $file_info['extension'];

	// the image path without the extension
	$no_ext_path = $file_info['dirname'].'/'.$file_info['filename'];

	$cropped_img_path = $no_ext_path.'-'.$width.'x'.$height.$extension;

	// checking if the file size is larger than the target size
	// if it is smaller or the same size, stop right here and return
	if ( $image_src[1] > $width || $image_src[2] > $height ) {

		// the file is larger, check if the resized version already exists (for crop = true but will also work for crop = false if the sizes match)
		if ( file_exists( $cropped_img_path ) ) {

			$cropped_img_url = str_replace( basename( $image_src[0] ), basename( $cropped_img_path ), $image_src[0] );
			
			$vt_image = array (
				'url' => $cropped_img_url,
				'width' => $width,
				'height' => $height
			);
			
			return $vt_image;
		}

		// crop = false
		if ( $crop == false ) {
		
			// calculate the size proportionaly
			$proportional_size = wp_constrain_dimensions( $image_src[1], $image_src[2], $width, $height );
			$resized_img_path = $no_ext_path.'-'.$proportional_size[0].'x'.$proportional_size[1].$extension;			

			// checking if the file already exists
			if ( file_exists( $resized_img_path ) ) {
			
				$resized_img_url = str_replace( basename( $image_src[0] ), basename( $resized_img_path ), $image_src[0] );

				$vt_image = array (
					'url' => $resized_img_url,
					'width' => $new_img_size[0],
					'height' => $new_img_size[1]
				);
				
				return $vt_image;
			}
		}

		// no cached files - let's finally resize it
		$new_img_path = image_resize( $file_path, $width, $height, $crop );
		$new_img_size = getimagesize( $new_img_path );
		$new_img = str_replace( basename( $image_src[0] ), basename( $new_img_path ), $image_src[0] );

		// resized output
		$vt_image = array (
			'url' => $new_img,
			'width' => $new_img_size[0],
			'height' => $new_img_size[1]
		);
		
		return $vt_image;
	}

	// default output - without resizing
	$vt_image = array (
		'url' => $image_src[0],
		'width' => $image_src[1],
		'height' => $image_src[2]
	);
	
	return $vt_image;
}
}}}



"	vteixeira
19629	return option for media_sideload_image		Media	3.3	normal	minor	Future Release	enhancement	new	has-patch	2011-12-21T09:14:50Z	2012-11-12T21:10:09Z	"An optional parameter to return the attachment id opposed to the html would be beneficial to those attempting to make use of this functionality outside of press this.

Ticket: #11993 has an enhancement suggestion to allow adding thumbnails from URL.  I have written a solution for this enhancement, and the result duplicates the functionality of media_sideload_image() setting the post thumbnail opposed to returning the image html markup."	slbmeh
21811	Add image editing UI to the media modal		Media	3.5	normal	normal	Future Release	feature request	new		2012-09-05T20:33:10Z	2013-04-08T14:00:02Z	"The media modal should contain a way to edit a given image size. This should include the capability to crop, resize, rotate, and flip (as all are currently possible).

The core of this UI should be capable to serve as both the crop step in a workflow like choosing a custom header, or in editing a given image size to include within a post.

This UI will benefit greatly from (and heavily relies upon) improvements on #21810, and should probably wait until work on that ticket is underway."	koopersmith
11895	Allow more specific image size editing		Media		normal	normal	Future Release	feature request	new	has-patch	2010-01-14T15:12:28Z	2013-05-07T11:54:00Z	"Instead of allowing only some combinations of 'thumbnail', 'medium', 'large', 'full' I would like to have the ability to select which of these I would like to crop. So for example, only 'thumbnail' and 'medium'. With the current trunk this is not possible. I created a patch that adds this ability by changing the radio boxes of ""apply changes to"" in the image-edit page to checkboxes for each of the 4 possible sizes."	frankgroeneveld
10950	Download external files to Media Library		Media		normal	normal	Future Release	feature request	new		2009-10-13T15:48:43Z	2011-08-04T19:11:02Z	"The media uploader currently allows you to upload a file from your local computer or link to an external URL. 

However, when linking to an external URL (in particular for an image), you don't get the same options as you would have when actually adding a resource to your site's media library.

It would be nice to be able to fetch a file from an external source, and add it to the library, just as with a regular file upload. Then the file could be included in a gallery, you could use the image editor to crop/resize, etc.

Primary use-case would be to fetch an external image into the library without having the extra steps of saving to your local computer, then re-uploading it to your WP site. However, it should work with any allowed content-type (audio, video, pdf, etc).

It may also be useful to save the original URL as attachment metadata.
"	dougal
19845	Drag and drop files into the Visual Editor		Media		normal	normal	Future Release	feature request	new		2012-01-16T17:05:26Z	2013-02-13T19:59:13Z	"Hi there!

I recently thought that it would be nice if we could insert images into posts and pages, simply by dragging and dropping them into the editor. This could be a real time saver when composing. I made a really simple video to demonstrate how this might work, of course really really draft. I hope that we can consider this as proof of concept. I think that with this little upgrade we might fill in a hole in UX as when people are used to drag and drop in their text and document editors, like Google Docs, Microsoft Word and so on.

There are quite a lot of decisions to be made though, like what would be the size of the dropped image, how will the UI look to show upload progress, are multiple files allowed, how error messages are shown and so on.

I'll attach a little (very poorly written) plugin that does this together with a small patch to plupload, if you'd like to give it a spin. Please let me know your thoughts!

Thanks,
Konstantin

Idea: http://wordpress.org/extend/ideas/topic/drag-and-drop-files-into-the-visual-editor
Video: http://www.youtube.com/watch?v=Mqs4_g-7SCU
Ref: http://kovshenin.com/2012/01/dear-wordpress-i-want-to-drop-files-here-in-the-visual-editor-3790/"	kovshenin
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
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
15860	White Icon visibility in Media Library		Media	3.0.3	normal	normal	Future Release	feature request	new		2010-12-17T09:38:34Z	2011-01-06T13:48:12Z	"'''Problem''': If a graphic file is white in color AND has transparent background, as often a case with PNG and GIF files, there is no chance for it to be visible as icon in Media Library. It will always be white on white (like a polar bear in Arctica)

'''Possible solution''': assign off-white color to td.media-icon like this
{{{
.media-icon {background-color: #ccc;}
}}}
or introduce
{{{
.media-icon:hover{background-color:#ccc;}
}}}
so that icons are visible at least on mouseover."	ABTOP
16382	"Menus adds ""current_page_parent"" class to the blog page when viewing a custom post type entry"		Menus	3.0.5	normal	normal	Future Release	defect (bug)	new	close	2011-01-26T22:37:36Z	2013-02-15T17:10:13Z	"Here is an example: http://www.flowermag.com/article/love-rocks/

This entry is in the custom post type ""article"", but the navigation item ""blog"" is getting the class ""current_page_parent"" even though an article is not a blog post. 

This is a problem since if you're using ""current_page_parent"" for navigation highlighting, this would render an incorrect display."	tammyhart
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-04-20T04:36:54Z	"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
14439	Unable to get a post associated menu items for a specific menu		Menus	3.1	normal	major	Future Release	defect (bug)	new	has-patch	2010-07-28T03:32:06Z	2011-01-15T01:23:21Z	"Hello,

The actual wp_get_associated_nav_menu_items function works well but gets menu items associated with an object from ANY menu. So a parameter needs to be added to specify a specific menu to get menu items associated with an object from a specific menu.

Patch is attached. The use of get_term() is needed because of the bug #14438"	DreadLox
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
17821	wp_get_nav_menu_object() doesn't check when passing to get_term()		Menus	3.1.4	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-17T00:02:14Z	2012-05-01T13:27:40Z	`wp_get_nav_menu_object()` initially passes the menu string to `get_term()` to see if it's an ID. However, `get_term()` expects an integer or object and type-casts any non-objects passed into integers. This results in a menu name i.e. '10-ton elephant' being reduced to '10', which it then uses as a term ID, potentially producing unexpected results.	kawauso
13694	Add $args parameter to wp_create_nav_menu()		Menus	3.0	normal	normal	Future Release	enhancement	new	dev-feedback	2010-06-02T06:55:23Z	2010-06-03T00:22:35Z	"The attached patch adds an $args parameter to wp_create_nav_menu() which simply gets passed to wp_insert_term().  This would not be used during the standard case but is important for use when a plugin uses the menu system as a building block for enhanced functionality and needs to either set a specific slug or a specific parent.

I don't need for much (any) testing so I hoping this can make it in 3.0 so I can get rid of the ugly hack in the ""Microsite Editor"" plugin I'm working on.  Thanks. :-)"	mikeschinkel
14884	Add a filter inside admin-ajax.php for walker		Menus	3.0.1	normal	normal	Future Release	enhancement	new		2010-09-16T14:01:31Z	2010-11-18T09:19:16Z	"I'm trying to extend the Wordpress menu system and i can't get the things working from start because inside admin-ajax.php on line 841, there is no filter. I'm talking about this piece of code

{{{
if ( ! empty( $menu_items ) ) {
		$args = array(
			'after' => '',
			'before' => '',
			'link_after' => '',
			'link_before' => '',
			'walker' => new Walker_Nav_Menu_Edit,
		);
		echo walk_nav_menu_tree( $menu_items, 0, (object) $args );
	}
}}}

The Walker_Nav_Menu_Edit class is applied by default.
If someone can add a filter, it would be great for all developers."	dmad
15214	Add class for menu items containing a sub-menu		Menus	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-10-25T20:51:40Z	2013-04-23T02:12:41Z	"I wanted to add a class to the menu item LI elements for navigation menus that have sub menus. This would allow me to do some specific styling such as using a background that shows that a sub menu is available on hover.

I found that adding this support for both the wp_nav_menu and wp_list_pages functions was quite simple. So, I put together a patch in case it might be a good candidate for core.

The new classes are menu-item-with-sub-menu and page_item_with_children for wp_nav_menu and wp_list_pages, respectively. These class names were chosen to closely match the existing navigation classes of menu-item, sub-menu, page_item, and children.

I should note that while making this modification I found that the display_element method of the Walker class doesn't set has_children when $args is an object, just when it is an array. The patch also handles fixing this shortcoming of the Walker API."	chrisbliss18
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
13147	Add-menu-item boxes should slide on expand/collapse		Menus	3.0	lowest	minor	Future Release	enhancement	assigned		2010-04-27T15:54:23Z	2012-05-01T14:05:29Z	Self-descriptive. This part of a #13134 patch wasn't being cooperative, so I moved it here.	koopersmith
17221	Adopt a selected page hierarchy to a custom menu		Menus	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-04-23T11:14:12Z	2011-05-26T15:40:33Z	"I don't know if this is a bug or a FR but I think it would be handy to have a option that when you make a costum menu that the parent and child pages stay in order. In other words: when you made a game page as parent and WoW as childpage that when you add those two pages at the costum menu editior that is automatic orderend as the parent child page

ps: sorry for bad english"	JonezJeA
13273	"Allow ""'non-clickable"" menu items"		Menus		normal	minor	Future Release	enhancement	new		2010-05-06T10:58:50Z	2010-10-28T09:26:20Z	"In the new menu generator I'm missing the option to create ""non-clickable"" menu items. 

What I'm after is that I want to create for example a main menu item with the title ""Links"" which is non-clickable (no url attached to it) and basically only acts as an umbrella item for the actual links I want to locate as subitems of the item ""Links"".

- Home
- Something else
- Links (this one should be non-clickable)
  - external link 1
  - external link 2
  - etc

I think that an optional tickbox in the add link section will do the trick. Basically, all it has to do is to ""disable"" the check whether or not a valid URL format has been submitted and, of course, it has to trigger some modified html output.

Hope you guys can add this in the 3.0 release because this would basically complete the menu generator :)

Keep up the good work and I'm really looking forward to the 3.0 release!"	stgoos
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
18588	"Auto-select ""Primary Menu "" when switching themes"		Menus		normal	normal	Future Release	enhancement	new		2011-09-04T18:08:03Z	2013-03-12T09:40:48Z	"Now that we have auto-matching of sidebars when switching themes, it's time to do the same for at least the Primary Menu. This would improve the UX quite a bit.

While testing the widgets/sidebars had to switch themes many times and since my test install has few hundred pages, each time I've ended up with a huge menu on the front end. That of course looks completely broken.

Further to keeping the setting for Primary Menu on theme switching IMHO we should auto-set it as soon as a menu is created. This would fix the most unfriendly experience with the menus screen."	azaozz
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
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
12900	Enhance Nav_Menu to use the older menu functions		Menus		normal	normal	Future Release	enhancement	reopened		2010-04-07T16:42:23Z	2011-09-12T20:14:27Z	"Concerning wp_list_pages, wp_page_menu, and/or wp_list_categories functions:

Since these functions exists and developers are comfortable with them, and they'd add much functionality if they were included in the new wp_nav_menu function.

Could the wp_nav_menu utilize these established functions in itself to allow ""dynamic"" listing of pages with the useful options available in those functions?

New ""widgets"" on the left among the ""Add Existing Page"" and ""Add an Existing Category"" (perhaps ""Add Dynamic Page List"" or the like) that would essentially be a UI interface for the args that the wp_list_pages, wp_page_menu, or wp_list_categories functions already accept. The wp_nav_menu would then pass those args to the appropriate function and create items in the appropriate place in the nav menu. (I have no idea how easy/hard that'd be.)

This wouldn't replace the ""Add Existing Page"" or ""Add an Existing Category"" as starting at zero and adding individual items is different and also very useful.

This treatment might be appropriate for any function listed in ""Related"" http://codex.wordpress.org/Template_Tags/wp_list_pages#Related or maybe only wp_page_menu or wp_list_pages. I think it warrants discussion.

P.S. This is well above my ability in PHP. I don't think I can't do a working patch on this :-("	WraithKenny
13998	Inconsistency in arguments when wp_nav_menu falls back to wp_page_menu		Menus	3.0	normal	normal	Future Release	enhancement	new		2010-06-19T15:22:58Z	2010-12-09T14:02:29Z	"[http://codex.wordpress.org/Function_Reference/wp_nav_menu wp_nav_menu]'s 'menu_class' parameter applies the class to the <ul>. 

The default fallback function [http://codex.wordpress.org/Template_Tags/wp_page_menu wp_page_menu] however, applies 'menu_class' to the <div> enclosing the <ul>.

This can cause inconsistent styles if the style is applied to ul.<menu class>"	Utkarsh
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
14325	"No possibillity to add a ""Home""-link to the nav_menu when there are no Pages"		Menus	3.0	normal	normal	Future Release	enhancement	new	dev-feedback	2010-07-15T22:36:13Z	2012-03-07T20:10:38Z	"If you want to add a ""Home"" link to the new nav_menu in Wordpress 3.0 you can't do so, if there is no Page created yet. If there is no Page, there is also no ""View All""-Button in the Pages-Section to view the ""Home""-Link.

In my opinion the ""Home-Link"" in the Pages-Section is very hidden anyway."	lundj
13222	Private Page Not in Menu		Menus	3.0	normal	normal	Future Release	enhancement	assigned		2010-05-03T03:59:31Z	2011-02-25T17:21:02Z	According to me, there should be a option of Adding private Pages to the Wordpress Menu System. Adding them as a link is a problem as non-logged in members see it as a 404 link. So if Wordpress Menus allow Private Pages to be added in such a way so that the menu item appears only when you are logged in would be awesome.	navjotjsingh
13335	The menu's + tab should be to the right of the menu navigator		Menus	3.0	low	minor	Future Release	enhancement	new	dev-feedback	2010-05-11T09:43:53Z	2010-11-15T20:25:27Z	"If you create enough menus to occupy the full width of the screen and beyond, you end up with navigator tools that allow to scroll left/right in order to navigate the menus you've created.

The last menu item is the + tab is the last available item. Would it not make more sense for it to always be visible?"	Denis-de-Bernardy
14331	Tweaks to menu setup page		Menus	3.0	normal	normal	Future Release	enhancement	new		2010-07-16T21:30:45Z	2012-08-07T10:47:34Z	"It would be great if you could select a parent Page and ""Automatically add children"" to the menu.  

In a similar fashion, it would be great if the Menu could then automatically add any new children Pages created under that Parent."	mrmist
16594	inconsistency in wp_nav_menu_items		Menus	3.0	normal	normal	Future Release	enhancement	new	has-patch	2011-02-19T10:43:12Z	2012-06-28T04:29:51Z	"Not sure if it is a bug: when I create a menu, e.g.
wp_nav_menu(array( 'theme_location' => 'footer' ));
and put there a menu (E.g. named ""My menu"") using nav-menu.php editor and then try to call wp_nav_menu_items filter to see all arguments, e.g.
{{{
add_filter('wp_nav_menu_items','my_test', 10, 2);
function my_test($items, $args) {
print_r ($args);
}
}}}
the resulting object is

{{{
(
    [menu] => 
    [container] => div
    [container_class] => 
    [container_id] => 
    [menu_class] => menu
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] => <ul id=""%1$s"" class=""%2$s"">%3$s</ul> 
    [depth] => 0
    [walker] => 
    [theme_location] => menu
)
}}}

But if I put the same ""My menu"" to the same place using widget, I got object with extended 'menu'

{{{
    [menu] => stdClass Object
        (
            [term_id] => 4
            [name] => My menu
            [slug] => my-menu
            [term_group] => 0
            [term_taxonomy_id] => 4
            [taxonomy] => nav_menu
            [description] => 
            [parent] => 0
            [count] => 3
        )
 
    [container] => div
    [container_class] => 
    [container_id] => 
    [menu_class] => menu
    [menu_id] => 
    [echo] => 1
    [fallback_cb] => 
    [before] => 
    [after] => 
    [link_before] => 
    [link_after] => 
    [items_wrap] => <ul id=""%1$s"" class=""%2$s"">%3$s</ul> 
    [depth] => 0
    [walker] => 
    [theme_location] =>
}}}

I guess that they should be the same (except 'theme_location') - the problem is, that using the first scenario, i got no way to find ""My menu"" details - id, name, slug ... of the menu, so i even cannot filter by them in my functions (e.g. apply filter just for a specific menu)."	thomask
14969	"menu element ""all (direct) child pages"""		Menus	3.0.1	normal	normal	Future Release	enhancement	new		2010-09-26T20:16:39Z	2010-10-28T08:25:22Z	One of the things I am missing in the current menu-system is the ability to assign parts of the page tree to, say, a sub-menu, so, say, all child pages of a parent will be listed instead of having to add them manually to the submenu once the menu has been created.	youngmicroserf
16301	set limits to nesting of menus		Menus		normal	normal	Future Release	enhancement	new	dev-feedback	2011-01-19T16:21:10Z	2011-01-20T20:12:38Z	It would be great to be able to limit/control the nesting depth of menus. I'm using menus to let my editors control where posts show up in various spots in our theme, and don't want them to accidentally nest a link deeper than it should be.	alxndr
14687	"Add ""collapsible"" class to menu items that have children"		Menus	3.0.1	normal	normal	Future Release	feature request	new	has-patch	2010-08-24T21:50:25Z	2012-03-07T15:49:30Z	"Items from custom menus in WP 3 have classes like:

{{{
menu-item
menu-item-type-TYPE
menu-item-ID
}}}


and if the current menu item is active, also:

{{{
current-menu-item
}}}

or

{{{
current-menu-ancestor
}}}

It would useful for theme developers if you also added another class on menu items that have children, like ""collapsible"", or ""menu-with-children"" :)

this will allow designers to add things like arrows in menus easier, without having to resort to javascript hacks to check if the list element has children..."	digitalnature
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
13728	Custom menus - adding links to pages needs checkbox for 'show subpages'		Menus	3.0	normal	normal	Future Release	feature request	new		2010-06-04T14:29:13Z	2010-06-04T14:34:33Z	A simple checkbox under the configuration for each link that is a page to 'show subpages' located under that page would make custom menus much more useful.	adambundy
13910	Get Menu name with wp_nav_menu()		Menus	3.0	normal	normal	Future Release	feature request	new	dev-feedback	2010-06-15T19:17:20Z	2012-04-18T17:11:08Z	"There is no way to get the actual ""Menu name"" in wp_nav_menu()

For example if you want to create a left sidebar menu you want a header to go with it. In previous versions you could do use wp_list_pages() with ""title_li"".

With wp_nav_menu() you have to hard code <h3>Static menu name</h3> into the template before calling the function.

If you could get the ""Menu name"" as defined in backend interface from the wp_nav_menu() it would create the menu title automatically.
"	jowo
18242	Changing domain for a network blog make faulty changes in database		Multisite	3.0	normal	major	Future Release	defect (bug)	new	dev-feedback	2011-07-25T11:33:51Z	2012-11-20T11:49:53Z	"When changing the domain for a network blog, if the network is set up on a subdomain and using sub-folder options for blogs, the save to the database is faulty, saving wrong urls.

The network main site uses eg http://my.blog.com and the blogs has http://my.blog.com/blog1

When changing the domain for blog1 in ""Network admin -> All Sites -> Edit blog1"" and choose to also update ""home and siteurl"" the new url for home and site become http://blog.com/blog1/my

Happens in both Firefox 5 and Safari 5.1"	darkwhispering
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
18186	Default registration assumptions in WP Multisite		Multisite	3.2.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-07-20T18:43:06Z	2013-05-20T11:58:53Z	"By default, when you create a new site, it does not set the ""registration"" site meta key.  However, in wp-signup.php by default it assumes it to ""all"" and allows users and sites to be created (line 381): 

{{{
// Main
$active_signup = get_site_option( 'registration' );
if ( !$active_signup )
        $active_signup = 'all';
}}}

However, in the network settings page, by default it sets it to none (line 75):

{{{
if ( !get_site_option( 'registration' ) )
        update_site_option( 'registration', 'none' );
}}}

With the new simple flow from a standalone to multi-site installation, new blogs should likely have it set to none by default or it should be an option during set up.

Props to leenewton for discovery."	terryjsmith
15855	Dropdown isn't shown when doing a user 'removal'		Multisite		normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-16T23:38:12Z	2012-04-27T18:14:51Z	"Steps to reproduce:

0. Have a MultiSite install
1. Go to wp-admin/users.php and delete a user
2. A confirmation screen appears, with only a ""Confirm"" button.

Expected behaviour:

The user dropdown is shown, asking to assing the user's posts to a different user.

Currently, you end up with authorless posts."	scribu
20774	Flag an user as spam with any rol become a sub site flagged as spam (Multisite)		Multisite	3.0	normal	major	Future Release	defect (bug)	new	has-patch	2012-05-29T12:25:52Z	2012-11-08T21:02:31Z	"Hi,

Since many weeks, many WangGuard users were contacting me because they say WangGuard were flagging the sub sites as spam.

Thats not a WangGuard bug, is a WordPress issue.

Steps:

- Create a Subsite, you can add the Super Admin like site admin.
- Add a user like subscriber.
- Flag that user as spam in /network/users.php

That site will be flagged as spam although the owner were the Super Admin.

I think WordPress has to look for the user rol and only flag the sub site as spam if the rol is Administrator.



This issue is in WP 3.3.1 and 3.4"	j.conti
14873	HTTPS related issue with ms-settings.php		Multisite	2.9	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-09-14T18:23:26Z	2012-09-13T23:13:22Z	"ms-settings.php hard-codes ""http://"" in a few places.  This didn't impact me, but I can see that it might impact someone.  

Hopefully, a developer can take a look at the code and verify that, in fact, it has to change.  Seems like it does since hard-coding ""http:"" isn't a good practice, but I don't want to claim it since I haven't seen the need for it personally.

Here's the updated code that needs to replace the code in ms-settings.php starting at line 83 and ending at line 105:
{{{
        $protocol = is_ssl() ? 'https://' : 'http://';

        if ( ! defined( 'WP_INSTALLING' ) && is_subdomain_install() && ! is_object( $current_blog ) ) {
                if ( defined( 'NOBLOGREDIRECT' ) ) {
                        $destination = NOBLOGREDIRECT;
                        if ( '%siteurl%' == $destination )
                                $destination = $protocol . $current_site->domain . $current_site->path;
                } else {
                        $destination = $protocol . $current_site->domain . $current_site->path . 'wp-signup.php?new=' . str_replace( '.' . $current_site->domain, '', $domain );
                }
                header( 'Location: ' . $destination );
                die();
        }

        if ( ! defined( 'WP_INSTALLING' ) ) {
                if ( $current_site && ! $current_blog ) {
                        if ( $current_site->domain != $_SERVER[ 'HTTP_HOST' ] ) {
                                header( 'Location: ' . $protocol . $current_site->domain . $current_site->path );
                                exit;
                        }
                        $current_blog = get_blog_details( array( 'domain' => $current_site->domain, 'path' => $current_site->path ), false );
                }
                if ( ! $current_blog || ! $current_site )
                        ms_not_installed();
        }
}}} "	mareck
14867	HTTPS related issues in ms-blogs.php (with fix)		Multisite		normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-09-14T15:09:14Z	2011-10-13T19:18:53Z	"Two functions in ms-blogs.php have issues due to hard-coding ""http://"" versus using the is_ssl() check. I have corrected them below. Just copy and paste these over the ones in your ms-blogs.php.


function get_blogaddress_by_id( $blog_id ) {
        $protocol = is_ssl() ? 'https://' : 'http://';

        $bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details!
        return esc_url( $protocol . $bloginfo->domain . $bloginfo->path );
}

function get_blogaddress_by_domain( $domain, $path ){

        $protocol = is_ssl() ? 'https://' : 'http://';

        if ( is_subdomain_install() ) {
                $url = $protocol.$domain.$path;
        } else {
                if ( $domain != $_SERVER['HTTP_HOST'] ) {
                        $blogname = substr( $domain, 0, strpos( $domain, '.' ) );

                        $url = $protocol . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path;

                        // we're not installing the main blog
                        if ( $blogname != 'www.' )
                                $url .= $blogname . '/';
                } else { // main blog
                        $url = $protocol . $domain . $path;
                }
        }
        return esc_url( $url );
}"	mareck
15936	IPv6 literal support in multisite broken		Multisite	3.0.3	normal	major	Future Release	defect (bug)	new	dev-feedback	2010-12-21T16:00:25Z	2013-02-02T06:32:22Z	"The logic for handling explicit port numbers in wp-includes/ms-settings.php is confused by IPv6 literal addresses in URLs as defined by RFC 2732.
It tries to handle the URL as it as if there were a port appended, but then fails to strip it off. Incidentally the error message here: 'Multisite only works without the port number in the URL.' is untrue, since ports are handled (but for only two particular cases, port 80 and 443).

The attached patch, against Wordpress 3.0.3, fixes both these issues, and allows ports other than 80 and 443 to be used with Wordpress, by just stripping off the trailing port rather than special-casing the two well-known ports, and not incorrectly detecting IPv6 literals as URLs with ports in. It also has the advantage of being much more compact.

It may be worth someone thinking through whether the substitution is strictly correct with reference to the URL standards, but I'm pretty sure that this is an improvement on the current code.

Thanks,
Dominic."	jmdh
16293	In multisite installs, users with id 1 or 2 can't be deleted		Multisite	3.1	normal	normal	Future Release	defect (bug)	reopened	dev-feedback	2011-01-19T00:21:34Z	2013-04-25T15:15:19Z	"You can't delete a user with user id of 1 or 2. 
See: source:trunk/wp-admin/network/edit.php@17326#L359"	PeteMall
20204	Incorrect links to SSL sites in Multisite		Multisite	3.0	low	normal	Future Release	defect (bug)	new	has-patch	2012-03-08T16:05:19Z	2012-11-08T00:00:19Z	"If I create a site in Multisite that has an SSL URL then a few links in Network Admin incorrectly use a non-SSL URL for the site.

Opening this ticket so I don't forget about it. Patch coming up when I have some time."	johnbillion
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
17376	Multisite Subfolders and bunk /wp-admin areas		Multisite		normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-11T15:07:38Z	2012-04-19T01:37:52Z	"On a multisite installation with subfolders, navigating to:

www.mysite.com/i-dont-exist/wp-admin

loads a dashboard and maintains the i-dont-exist in the url.  That part exists if i navigate to themes and/or plugin pages.  However, I'm actually altering the base site.
This can be quite confusing if someone makes a typo in a sitename and they end up changing the base site (like happened to us) :("	MadtownLems
17905	Multisite doesn't delete a user's posts/links upon removal		Multisite	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-27T12:59:43Z	2011-06-27T17:06:44Z	"When the ""Delete all posts and links."" radio is selected all that happens is the user is deleted but their posts are left in tact but without a visible user. The posts should be moved to trash as well.

This is caused by removal from the blog in `network/edit.php` before the user is actually deleted where trashing of posts occurs. Since the user no longer has any assigned blogs wpmu_delete_user() doesn't call wp_delete_post().

Patch attached also cleans up confirm_delete_users slightly by using the array passed as an argument instead of $_POST['allusers'].

Related: [13918]"	duck_
17904	Multisite has more restrictions on user login character set		Multisite	3.0	normal	normal	Future Release	defect (bug)	new		2011-06-27T11:09:12Z	2013-02-12T20:54:04Z	"Multisite has more restrictions on the characters allowed in a user's login name compared to single site. This seems unnecessary and confusing. It was also the root of a recent bug in the importer, see [http://wordpress.org/support/topic/invalid-author-importing-single-wordpress-to-mulitsite-wordpress?replies=21#post-2186667 this forum thread] and the [http://plugins.trac.wordpress.org/changeset/401649 workaround].

I haven't worked up a patch yet since there seem to be a few locations where these restrictions are enforced and I don't know if I have found them all yet:

 - wpmu_validate_user_signup() uses the regex `/[a-z0-9]+/`
 - ms-default-filters.php adds `strtolower` to `sanitize_user`

Relevant: http://mu.trac.wordpress.org/changeset/1689 [12948]"	duck_
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
16126	Multisite name conflict check doesn't check for pages.		Multisite		normal	normal	Future Release	defect (bug)	new		2011-01-06T19:11:19Z	2011-01-16T02:18:41Z	"Running WP 3.1-RC2 I made a page off my main site called foobar.

Then I went in and made a sub-site (using SubFOLDERS) called foobar.

The subsite took precedence and there was NO check or warning.

I was able to reproduce this on 3.0.4

Then I went the otherway.  I have a subsite called camels (don't ask).  I went to make a PAGE called camels and it also let me. No conflict check.

Basically you have to add the main blog page names into the banned names list manually, which strikes me as a bit odd.  I can see why checking that would be onerous if someone had 600 million pages (and we all know they do) but forcing people to do it manually seems like a gap.

Need love! :D

This is minor, since not a lot of people have bitched, so clearly we're not running into it YET."	Ipstenu
16568	Network install disables site when blog_id is not 1		Multisite	3.0.5	normal	normal	Future Release	defect (bug)	new	has-patch	2011-02-15T20:07:03Z	2011-02-16T01:31:33Z	"This is an edge case and only occurs when MySQL is configured to skip numbers in auto number fields.

The network install inserts the blog record and allows MySQL to assign the blog_id. The blog prefix logic in wpdb depends on the blog_id of the main blog being 1.

The manual fix for this is to edit the DB and change the blog_id of the main blog to 1. Between being an edge case and a relatively easy fix, this isn't severe, imo.

Forum thread: http://wordpress.org/support/topic/database-error-when-enabling-mutlisite"	wpmuguru
16282	PHP catchable error with get_term_link and WP3.1RC2		Multisite	3.1	normal	major	Future Release	defect (bug)	reopened	needs-unit-tests	2011-01-18T12:23:37Z	2011-03-08T23:10:45Z	"I recently updated my WP Network to 3.1RC2, and suddenly the get_term_link() I was using in the footer gave me this error:

  PHP Catchable fatal error: Object of class WP_Error could not be converted to string

It was working fine in 3.0.4"	illutic
15956	Remove user link should be red		Multisite		normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-22T23:10:02Z	2012-05-01T14:07:04Z	"On MultiSite, a user has a 'Delete' action link, which erases them from the system completely. It is red.

When going to `Network Admin -> Sites -> Edit Site -> Users` there is a 'Remove' link, which only erases a user from a certain site in the network. This is currently blue.

Since it's still a destructive action (no trash), the 'Remove' link should be red as well."	scribu
20104	Show network-activated plugins on site plugins screen		Multisite		normal	normal	Future Release	defect (bug)	new	dev-feedback	2012-02-22T22:05:35Z	2012-08-18T22:07:03Z	"Per http://wpdevel.wordpress.com/2011/12/23/core-team-meetup-recap-multisite/, one action item is:

> Include network activated plugins in the plugins menu and give message that it is automatically on for the whole network (if admin/have rights to see plugins screen).

To enable the plugins screen for a network, a super admin can go to network/settings.php and enable the menu.

Network-activated plugins should still show on this screen to site administrators. (They just can't activate them.) This should require a few tweaks to the plugins list table."	nacin
19724	Sites with IDN domains can't be created (bug #15554 continuation)		Multisite	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2012-01-03T17:44:08Z	2012-04-17T04:02:31Z	"registration of new site with idn domain by unknown/new users themselves is not possible.
(though creation of new site in wp-admin/network/site-new.php page is possible, by patch given in bug #15554 , i have just now tested it.)

also let i mention that site domain is written (and would be requested to enter, if would be fixed without punycode to unicode conversion) in punicode form in wp-signup.php page, that is not acceptable for wordpress.

i have attached differences i made to wp 3.0.4 to make idn domains working and also to show and accept them in human readable format in wp-signup.php page . link to the differences file i attached to/in previous bug report on/to this topic: http://core.trac.wordpress.org/attachment/ticket/15554/diff304-blogo.txt ."	qdinar
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
20116	Welcome User Email in Multisite Can't Be Changed		Multisite	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2012-02-24T21:44:28Z	2012-05-02T20:32:08Z	"Reproduced this on 3.3 and 3.4-aortic.

Go to /wp-admin/network/settings.php

Add 'New' to the sentance 'Welcome User' to make it 'Welcome New User'

Hit update.

Page refreshes, text does not change."	Ipstenu
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
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
13689	multisite noblogredirect set, 404 error result not sending proper info with IIS		Multisite	3.0	normal	normal	Future Release	defect (bug)	new		2010-06-02T01:01:31Z	2012-08-14T08:32:10Z	"Scenario.  With NOBLOGREDIRECT specified as the main sites url, the 404 errors and the bad blog url are supposed to go what is specified as the location in the noblogredirect define.

The bug is the 404 errors are *not* pointing to what is specified in the noblogredirect, the 404 errors (that are not bad blog urls) are triggering an IIS error response and not redirecting.  

When it's done triggering the IIS error it then uses the web.config to transfer to the main site.

Besides this bug.

This tells me 2 things, this tells me that the method/behavior of this is wrong and should be looked at.  *if* wordpress knows the difference between a bad blogurl and a 404 error page, the 404 error *should* go to the 404 template, however in the past WPMU versions it did not do that it went straight to the mainsite as well.   It *should* go to the 404 template and since it knows the difference it should be coded a such.

1) Bad subdomains should go to the specified noblogredirect define.
2) 404 error pages should go to the 404 page template for the theme.

Not to mention that the bug in question *is* that the 404 error itself is not redirecting to it's intended location to begin with.



"	Frumph
12993	'get_current_blog()' and/or 'current_blog_id()' function?		Multisite	3.0	normal	normal	Future Release	enhancement	new		2010-04-14T08:32:48Z	2010-08-24T22:42:11Z	"I posted this over in the mu forums but realize it is pretty dead over there and may be better mentioned here:

http://mu.wordpress.org/forums/topic/17568?replies=2

It would be a great help to easily get the current blog's id as in 'current_blog_id()'. I searched the entire wordpress 3.0 and mu code and it is not mentioned anywhere.

'get_current_blog()' might imply something more complex that returns all a blog's info, which would be nice too.

But in the short term... 'current_blog_id()'?

People are currently having to call global variables to use $wpdb, $current_site and/or $blog_id. I feel all of these are messy and pretty generic variables to be using within theme or plugin files."	martythornley
13743	Ability to change default theme for network sites		Multisite	3.0	normal	normal	Future Release	enhancement	reopened		2010-06-06T05:44:12Z	2010-12-06T20:16:41Z	As stated in summary. I use WP 3.0 RC and I've found out that there is no way to set up a theme which should be used by default for newly created sites in network. Even then I disable all the themes except the one I want to be used, WP still set thentyten as theme for newly registered site. The only solution I was able to find is to change theme description and name to twentyten and delete all other themes. It's so simple to let administrator choose default network theme, and this option is present in many other CMS.	fuwaneko
21143	Add a hook for when no blog is found (in addition to NOBLOGREDIRECT)		Multisite		normal	normal	Future Release	enhancement	new	has-patch	2012-07-03T01:20:45Z	2012-11-07T22:18:40Z	"(Related to #21142)

'''Background'''

On a multisite install, we allow users to change their subdomain name (or domain name).

We keep a list of their previously used subdomains/domains, and if there is a HTTP request for one of their old domains, we automatically perform a 301 redirect to the new domain name.

'''Problem'''

In order to perform a 301 redirect from and old domain to the new domain, we currently have to use wp-content/sunrise.php.

However we would like to take advantage of the logic at the top of wp-includes/ms-settings.php, rather than re-inventing that logic in our sunrise.php file.

The NOBLOGREDIRECT constant can be used for this, but it does not allow us to perform a 301 redirect.

'''Solution'''

Adding a simple hook to ms-settings.php would allow a sunrise.php file to determine what should happen if a HTTP request on a Multisite install does not correspond to one of the existing sites/blogs.
See attached patch."	jamescollins
22917	Allow Live Updating of User & Site number in Multisite network dashboard 'Right Now' meta box		Multisite	3.5	normal	normal	Future Release	enhancement	new	dev-feedback	2012-12-13T14:54:48Z	2013-05-14T12:40:17Z	"Wordpress installation don’t show the correct number of users and sites correctly registered in the site.

Please see images for reference:

- https://dl.dropbox.com/u/7531173/mu/Only1Site1User.png
- https://dl.dropbox.com/u/7531173/mu/UsersNumber.png
- https://dl.dropbox.com/u/7531173/mu/UsersSites%20.png"	vmaia
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
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
12030	Better Options for New Registrations		Multisite		normal	normal	Future Release	enhancement	new		2010-01-26T00:23:07Z	2012-04-18T17:13:58Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/872



At the moment when new users register, there are very few options and not many plugins available.. It would be nice if the administrator could :

1) Allow passwords to be set during registration, rather than having it sent by email.

2) Make Email Verification optional.

3) See the users who haven't confirmed their registrations, and resend the confirmation emails from the admin area..

4) User Moderation : Make it easier to kick out users and delete spammers.. 

5) Invitation Codes (Optional): Allow the admin to create invite codes, which he can distribute, so that the mu install is well knit social community.

I know this is pretty much doable, but there lacks any good solution at the moment.
"	wpmuguru
22383	Combine Domain and Path UI		Multisite		normal	normal	Future Release	enhancement	new	has-patch	2012-11-07T22:30:08Z	2012-11-08T01:03:40Z	"When editing a site in /network/site-info.php?id=123 you get two fields: one for the site's domain and another for the path.

It would make more sense from a UX perspective to have a single URL field, which would be intelligently parsed on save."	scribu
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
14172	Implement $scheme in site info in ms-sites edit site		Multisite	3.0	normal	normal	Future Release	enhancement	new		2010-07-01T22:45:33Z	2010-07-03T19:17:45Z	"In WordPress 3.0 with Network enabled, if you were to click:

Super Admin -> Sites -> Edit (next to any site) and then change any of the Site Options i.e. wp_2_options the changes don't save. 

We're running a secure environment and need Siteurl to be HTTPS instead of HTTP. Changing all the parameters to https and clicking Update doesn't save the changes."	firmdot
12043	Infinite redirect if using a port number		Multisite		normal	normal	Future Release	enhancement	new	close	2010-01-26T17:28:32Z	2012-02-06T10:53:23Z	"MU Trac Ticket: http://mu.trac.wordpress.org/ticket/189



While setting up my new blog I found that WordPress? MU continuously re-directed me to the same URL (occurs in the if statement on line 9 of wp-signup.php). This was being caused by wpmu-settings.php on line 10. The variable $domain has the port stripped from it, which causes line 84 to return no result when it queries the database.

WP MU is installed at  http://some.host.address:8080/blogs on my machine. VHOST is false.
"	wpmuguru
12002	Multisite should not lock the root blog into using a /blog prefix		Multisite	3.0	normal	normal	Future Release	enhancement	new		2010-01-25T03:51:06Z	2013-01-29T19:26:55Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/409

I don't think WPMU should lock the root blog into using a /blog prefix on permalinks. Currently, the /blog on the beginning of permalinks is hardcoded.

I realise this was probably added to stop conflicts when not using a VHOST solution, but when using VHOST to put other blogs into subdomains, why lock the root blog's permalinks as such?

Could the /blog requirement be removed if VHOST is 'yes'?
"	wpmuguru
20152	Multisite simplify option name to user_roles		Multisite	3.3.1	normal	normal	Future Release	enhancement	new	dev-feedback	2012-03-01T21:44:28Z	2013-03-07T07:02:02Z	"Currently each blog in a MS install of WP stores an array of user roles in it's [prefix]_[$blog_id]_options table as an entry with the key [prefix]_[$blog_id]_user_roles

This makes it much harder to migrate MS install of WP to a different db prefix, etc. because not only do you need to change the table prefixes you need to go into each blog's options table and then properly update that option's key.

Because the table itself is sufficiently unique there isn't a need for this. The user roles array could be stored in an option called ""user_roles"" for each blog."	colind
11869	Multisite upgrade notice at wpmu-upgrade-site.php isn't steadily visible.		Multisite	3.0	normal	minor	Future Release	enhancement	new		2010-01-11T22:03:14Z	2011-12-15T23:59:25Z	"When upgrading (Site Admin > Upgrade) wordcamp.org, it started upgrading each site and flashing a list of 5 sites at a time that had been upgraded (too quickly to really be read beyond the first item in each list). When it flashed through all the screens, it showed ""All done!"" and nothing else. 

Preferred UX would be to list the sites in order as they are upgraded but in a single persistent list rather than in flashing batches of five, and to show the all-done message on the same screen, with the list of everything that has been upgraded. It would be good to have the text appear at bottom of list (in sequence) but to also drop in an alert message at top of screen. "	jane
19753	Network admin pages don't show network name in page title		Multisite	3.0	normal	trivial	Future Release	enhancement	new	has-patch	2012-01-05T22:24:18Z	2012-04-27T18:47:27Z	When you're on network admin screens, the page `<title>` doesn't contain the network name, unlike site admin screens which contain the site name.	johnbillion
18292	Not interrupting the network update, even if errors are detected		Multisite	3.2.1	normal	normal	Future Release	enhancement	new	has-patch	2011-07-29T10:24:41Z	2012-04-18T21:00:28Z	"'''My installation'''[[BR]]
3.2.1 multi-site installation with almost 8000 sites.

'''The issue'''[[BR]]
During the network update, I kept getting this error message :[[BR]]
''Warning! Problem updating http://username.example.com. Your server may not be able to connect to sites running on it. Error message: 0: Empty reply from server.''[[BR]]
The problem is that the network update script (/wp-admin/network/upgrade.php) dies every time an error is detected, so I had to reload the page every time. With nearly 8000 sites to update, it was impossible, so I modified that script.

'''Suggested enhancement'''[[BR]]
Enhance the network update script so that it doesn't die at each error, logs the error and continues. A second run on the unsuccessful upgrades would also be nice."	luuzan@…
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
14988	Site admins should be allowed to add existing users without also enabling creation		Multisite		normal	normal	Future Release	enhancement	new		2010-09-29T07:08:11Z	2010-10-27T08:11:35Z	"Blog admins are allowed to add users to their multisite blog when the ""add new users"" network setting is turned on.

Unfortunately this allows them to both add existing users, and create new users. There should be a way, potentially just with a filter versus an option, to limit that to only add existing users, and prevent the creation of new users without going through the public registration process.

Use case: WordPress.com does exactly this.

Alternative use case: WordPress.org uses a pretty crazy SSO setup. We should not be allowed to create new users through the admin, but it would be very helpful to allow administrators to add users to a blog without going through the network admin (or asking a super admin).

Real world use case: Any blogging network like WordPress.com, or crazy synchronized login system like WordPress.org, would want this."	nacin
19497	The 'My Sites' menu is redundant for users with just one site		Multisite	3.3	normal	normal	Future Release	enhancement	new		2011-12-10T07:03:58Z	2012-01-27T20:53:06Z	"When a user only belongs to one site in a multisite install, they're shown a 'My Sites' menu. All of the items in this menu in this scenario are redundant (both in the admin area and when viewing the site) as all four menu items can be accessed from other menus in the toolbar.

Users shouldn't be shown this menu unless they belong to two or more sites.

I know we're on RC2 but I'd love to get this into 3.3 because it looks a bit silly."	johnbillion
20220	add test to see if sunrise === on in ms-settings		Multisite	3.0	normal	normal	Future Release	enhancement	new	commit	2012-03-12T19:06:56Z	2012-11-02T22:49:31Z	"We needed to disable sunrise for certain requests. 

We thought about declaring sunrise before including wp-load, but setting it to 'off'. Then having a conditial in the wp-config that only defines it to on if it is not defined and then in ms-settings to a additional check to see if sunrise is defined and equal to on. (the patch I am adding does not have the wp-config if !defined() as wp-config doesn't get updated, but if someone feels it is helpful I can add it)

Others could of changed the default defined value of sunrise and this could break bc. I am therefore not sure if the limited use case warrants it. But I thought I would suggest it."	sboisvert
13752	multisite loop		Multisite	3.0	normal	normal	Future Release	enhancement	new		2010-06-07T04:17:57Z	2010-07-17T10:32:56Z	"I've been experimenting with multisite/wpmu and it would be great if there were an actual multisite loop - added ""blog"" parameter to wp_query/querypost. It's possible to emulate a multisite loop with ""switch to blog"", ""get_posts"" and merged arrays, but it requires a hand-written paged navigation adding some arguments to the navigation links. It would be great if there was either a way to directly add blog parameter to the query string."	youngmicroserf
14511	new function - wp_get_sites($args)		Multisite		normal	normal	Future Release	enhancement	new	has-patch	2010-08-02T22:02:54Z	2012-09-18T17:24:15Z	"With the deprication of get_blog_list (and the dire warnings), we had a need for a function to retrieve a list of blogs. At first blush, it appears that one could use get_blogs_of_user. It seems to assume that the same admin (userid 1) is going to create all sites. If you have multiple network_admins, then a search for a single user's sites won't return a full list.

So I have adapted the code from wp-admin/ms-sites.php and with a nod to wp_list_pages - am submitting wp_get_sites for a future release.

This function accepts an argument list to filter the results, modify the order, and limit the range of results. I wrote it with an eye to provide an interface consistent with other wp functions, as well as potentially replacing the sql query in wp-admin/ms-sites.php.

The initial set of arguments include:
{{{
			'include_id' 		,				// includes only these sites in the results, comma-delimited
			'exclude_id' 		,				// excludes these sites from the results, comma-delimted
			'blogname_like' 	,				// domain or path is like this value
			'ip_like'			,				// Match IP address
			'reg_date_since'	,				// sites registered since (accepts pretty much any valid date like tomorrow, today, 5/12/2009, etc.)
			'reg_date_before'	,				// sites registered before
			'include_user_id'	,				// only sites owned by these users, comma-delimited
			'exclude_user_id'	,				// don't include sites owned by these users, comma-delimited
			'include_spam'		=> false,		// Include sites marked as ""spam""
			'include_deleted'	=> false,		// Include deleted sites
			'include_archived'	=> false,		// Include archived sites
			'include_mature'	=> false,		// Included blogs marked as mature
			'public_only'		=> true,		// Include only blogs marked as public
			'sort_column'		=> 'registered',// or registered, last_updated, blogname, site_id
			'order'				=> 'asc',		// or desc
			'limit_results'		,				// return this many results
			'start'				,				// return results starting with this item
}}}
The usual warning are provided. It works for me but I haven't tested it completely yet. But I am assuming this could be helpful to others and I have no doubt about getting comments back <grin>"	transom
12013	new user creation features		Multisite		normal	normal	Future Release	enhancement	new		2010-01-25T17:41:04Z	2010-01-27T03:26:35Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1079

1: there needs to be native ability to select how many blogs each user can have.

2: there needs to be the ability for users to add blogs for users who signed up with out creating a blog and for those who want to add additional blogs to their current list(depending on the blog limit you set in feature request 1 above) from the ""my blogs"" tab in their site admin panel.

3: if the ability to select the number of blogs each user can have is put into place, the option to have the blog auto created to the users name when blog limit is set to 1. ie: user signs up with ""username"" and wants to add his 1 allotted blog it would be auto created using his user name like this example.com/username or username.example.com depending on your settings.

these enhancements kinda all tie together and am surprised they are not currently implemented...
"	wpmuguru
14862	wp 30 to wpmu - wild card domain - suggestion		Multisite		normal	normal	Future Release	enhancement	new		2010-09-13T18:23:39Z	2012-11-02T22:19:17Z	"im new to wordpress hacking, but i did hit the forums with this.

we could pick up the last 'if' statement from: 

/wp-admin/includes/schema.php 
function populate_network()

the last if :
{{{
if ( $subdomain_install ) 
{
...
...
}
}}}

and paste it to:
/wp-admin/network.php
inside function allow_subdomain_install()

the problem of a last minute Error out would be solved. 

putting it there, and showing a warning in the 1st step itself would be warning enough for the user to go back and get things done right/ check on things again wrt wild carded domain.

again, i am new to wordpress, please do correct me if im wrong 

Warm Regards,
M.
"	msolution
20019	wpmu_validate_blog_signup(): Allow '.' and '-' in blog names		Multisite	3.3.1	normal	normal	Future Release	enhancement	new	has-patch	2012-02-10T23:04:29Z	2012-04-26T12:33:25Z	"Canonical uses Wordpress 3.x multisite as part of voices.canonical.com, for employees who do not have or wish to list their personal blog.  The code is stock, except for one patch we maintain, which allows blog names (currently in WP as lowercase alphanumeric only) to also include '.' and '-'.  This matches our global username format.

Attached is a patch extending wpmu_validate_blog_signup() to allow '.' and '-', with a tweak for the error text.  We have been running the patch for awhile, and have not run across any problems with the rest of the code accepting this."	fo0bar
14569	Assign plugins on a per-site-basis		Multisite	3.0.1	normal	normal	Future Release	feature request	new		2010-08-09T09:35:55Z	2012-05-31T19:44:33Z	It's possible to assign themes per site with WordPress Multisite. However it isn't possible to assign plugins per site. Some plugins are only used for the mainsite and I don't want them to be visible in subsites.	ChantalC
14215	MultiSite: Add new > different username from blog title		Multisite	3.0	normal	normal	Future Release	feature request	new		2010-07-06T18:09:37Z	2010-10-28T06:38:44Z	"I would like to request that the current system for adding a new blog site be expanded so that as admins, we can specify a different username that's unrelated to the blog title. That is, in '''Site Admin -> Add New''', at the bottom of the page, add a new field specifically for the username. For that matter, it would be useful to also have a field to be able to specify the password, and perhaps a little checkbox that allows you to optionally prevent an email from being sent. These features are really useful when you're manually adding sites for employees, students, and the such.

I had provided a fix for wpmu 2.8.4 at one point (with a better explanation and details), you can see the thread here: http://mu.wordpress.org/forums/topic/12945

An example of the final result: http://img696.imageshack.us/img696/2551/addblogwordpress.png"	Person
12017	Press This multiple blog support		Multisite		normal	normal	Future Release	feature request	new		2010-01-25T17:57:19Z	2010-01-27T03:26:26Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1092

A WordPress MU user may wish to pass external content into the MU authoring interface. Authoring interfaces such as  Press This currently do not support the selection of a target blog for which the currently logged in user has  edit_posts capability.

 Internet Explorer 8,  Google Reader, and bookmarklet functions currently help pass new post information into an authoring tool such as Press This, but requires a pre-determined URL template to pass along new actions.

Good: http://wordpress.org/wp-admin/press-this.php

Bad: http://*.wordpress.org/wp-admin/press-this.php

Currently a user can add a bookmarklet or IE Accelerator on a per-blog basis. It would be a much better user experience if he or she could target a predictable URL endpoint on the MU install.
New URL ¶

adminurl/press-this.php

Point to the MU install's main admin handlers and let it handle user state.
Possible handling ¶

    * Redirect user to Press This interface of their primary blog with query params intact.
    * Add a new stuffbox to the post interface sidebar with a <select> drop-down if currently logged on user has edit_posts capability on more than 1 blog. Default blog selected.
    * Select box value is passed in at post. No URL redirects on new option selection. 

Possible downsides ¶

Writing a new post from somewhere outside direct blog context could have consequences.

    * Plugins attached to target blog not loaded. 

Next Steps ¶

Once there is agreement on the best approach I can submit the appropriate patch.
"	wpmuguru
14941	dynamic unloading and loading of plugins		Multisite	3.0	normal	normal	Future Release	feature request	reopened		2010-09-22T20:13:37Z	2010-10-06T20:18:33Z	"The short:
If I'm blog 1 and I switch_to_blog(2), I'm still running in the environment of blog 1.  All blog 1's activated plugins are active, and not all of blog 2's plugins necessarily are.

The long:
I first ran into the problem trying to get Subscribe2 (S2) to work well with Site Wide Tags (SWT).

SWT basically works like this:
When someone makes a post on their blog: switch_to_blog(aggregrate_blog_id); 
wp_insert_post(...); 
restore_current_blog();

S2 says that whenever someone inserts a post, to send an email alert out.

With both of these plugins enabled, a post always generates TWO emails, regardless of whether S2 is active on the aggregate blog.  The same is true for any behavior that triggers on a new post being created (such as automated tweeting, etc).

I feel that, if I'm really switching to that blog, I should be running more comprehensively as it.  That is, with its plugins active, and none of its un-activated plugins active.

The examples of conflicts I gave are blog behavior, and are more or less just annoying, but I could easily see this causing unforeseen security flaws as well."	madtownlems
17394	Network Admin -> Sites -> Users not report correctly		Network Admin	3.1.2	normal	normal	Future Release	defect (bug)	reopened	has-patch	2011-05-12T14:10:29Z	2012-04-23T00:12:23Z	"The Network Admin -> Sites -> Users screen does not list all users in the site. I see the symptom of this issue has been reported before, but I have found the cause (in my case anyway).

'''Example Scenario:'''
In my set up I have added plugins that add user roles: a registration plugin that adds ""Registration Admin"" and a event management plugin that adds ""Office"" and ""Committee"". I have the registration plugin installed in all sites (root and test), but the event plugin in only installed in the test site. 

When I add a user to the root site, I can choose the normal roles or ""Registration Admin"", when I add a user to the test site I can choose the normal roles or any of the 3 new roles that have been added.

'''Problem:'''
When I view the list of users on the Network Admin, not all users are displayed in the list. It appears the Network Admin screen works in the context of the root site, where the event plugin is not installed. As a result, the Office and Committee roles are not available in the root site, and users of the sub-site with the those roles do not show in the user list. 

The filters show the correct total number of users beside All, but the additional roles unique to the sub-site are not listed. In the sub-site Dashboard, they show correctly, and if I install the other plugin to add the Office and Committee roles to the root site they will show in the Network Admin -> Sites -> Users screen for the sub-site. 

It would appear the user list for a sub-site will ignore users that are assigned a role that doesn't exist in the root site, even though they are assigned a valid role in the site displayed. 

This bug is reproducible by adding roles to sub-sites.

I would a happily help with more clarification or resolving this issue as needed. I know it's not critical, but it is very frustrating when administering a large multi-site network."	whiteatom
18088	Network Admin Email setting in wp-admin/network/settings.php fails silently		Network Admin	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-07-12T19:56:26Z	2012-01-12T00:47:37Z	"'''Steps to reproduce:'''
1. Go to wp-admin/network/settings.php
1. Try setting your email to support@localhost
1. Page reports success but email remains the same


The check in wp-admin/network/edit.php consists of:
{{{
if ( is_email( $_POST['admin_email'] ) )
	update_site_option( 'admin_email', $_POST['admin_email'] );
}}}

which doesn't account for anything not passing `is_email()`

I know network admins should know what they're doing, but failing silently is a pretty sure-fire way to generate confusion."	kawauso
17545	Pagination Broken on Network Admin > Edit Site > Themes		Network Admin	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-23T17:27:45Z	2011-11-22T17:11:53Z	"Pagination is broken in network admin on pages such as https://example.com/wp-admin/network/site-themes.php?id=XXXXX

You can navigate through pages using the arrow buttons, but entering a page number just reloads the page you’re currently on.

Steps to reproduce:

- From network admin, ""search sites""
- Edit site
- Click ""themes"" tab
- Enter any valid page number in the text field
- Hit enter"	pmaiorana
16096	editing permalink structure in edit site causes 404s on site		Network Admin	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-01-04T16:15:53Z	2012-11-07T22:19:10Z	"If you edit a sites permalink structure in the network admin edit site screen, the site's rewrite rules do not get updated. The permalink_structure option is used to generate the permalinks on the front end of the site. Hence the rewrite rules will not match the permalinks until the permalink settings screen is visited in the site's dashboard.

The two alternatives are remove the permalink setting from the edit site screen or clear the rewrite rules.

I'm attaching a patch to clear the rewrite rules. The patch uses update_option instead of delete_option because update_option leaves the empty option in the object cache. If the option is deleted then WP will query the DB, add rewrite_rules to the notoptions cache, generate the rules, update the DB & remove rewrite_rules from the notoptions cache."	wpmuguru
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
15800	"Adding tabs to the ""Edit Site""-pages in Network Admin"		Network Admin	3.1	normal	minor	Future Release	enhancement	new		2010-12-13T17:57:41Z	2012-04-26T18:59:22Z	"There are four tabs in the Network Admin > Edit Site pages. These are statically defined as an array in the files:

{{{
wp-admin/network/site-info.php
wp-admin/network/site-options.php
wp-admin/network/site-themes.php
wp-admin/network/site-users.php
}}}

It would be nice if there was a filter that allowed us to add more tabs to this bar. This would enable us to add more user friendly, site specific, option pages for super administrators."	PuffyThePirateBoy
15389	Make New Site & New User Network form pluggable.		Network Admin	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-11-11T16:43:32Z	2011-01-13T05:31:13Z	"'''Problem:''' Currently the only way to add additional fields to the new site & new user network form is by dynamically injecting them using javascript.

'''Solution:''' They should either have action hooks or use the settings API. I'll provide patches for both methods.

In addition, I've added semantic ids to the current form fields so they can be selectively hidden.
"	ptahdunbar
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
16383	Width of Site Address input box in network/site-new.php		Network Admin	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-01-27T02:47:20Z	2012-11-01T05:32:42Z	See screenshots	garyc40
18162	Bulk action: Add multiple users to a site		Network Admin	3.2	normal	normal	Future Release	feature request	new		2011-07-18T19:09:31Z	2011-09-10T07:37:22Z	"Currently, to add a multiple users to a single site, the super admin has to edit each site, look up each username, and add new users to the site one by one.

To improve this workflow, it would be useful to be able to select which users to add from a table of users and add those users in bulk.

This ticket could have scaling problems to solve."	danielbachhuber
18161	Bulk action: Add user to multiple sites		Network Admin	3.2	normal	normal	Future Release	feature request	new		2011-07-18T19:07:04Z	2011-09-10T05:44:38Z	"Currently, to add a single user to multiple sites, the super admin has to edit each site, add the user to the site, and then go on to the next site.

To improve this workflow, it would tremendously useful to be able to add a single user to multiple sites in the network admin.

This ticket could have scaling problems to solve."	danielbachhuber
15942	In a network, super administrator can choose a specific user for admin of new blog instead of guessing his email.		Network Admin	3.0.3	normal	normal	Future Release	feature request	new		2010-12-21T23:05:35Z	2012-01-12T03:03:37Z	When I create a new blog in a network, I am asked to enter the '''Admin Email'''. This is rather useless to me because all our accounts come from an LDAP directory. So I have to remember the site admin's email address, which is not always consistent across my organization. It would be nicer if I had an autocomplete-style field where I could enter the user's ID.	novasource
18163	"Include more usermeta fields in the Network Admin's ""Add User"" view"		Network Admin		normal	normal	Future Release	feature request	new		2011-07-18T19:17:51Z	2011-12-30T19:31:31Z	"The view for adding a new user in single site instances includes many useful fields (e.g. first name, last name, a checkbox for whether the user should be emailed the password, etc.)

We should replicate this in the network admin to keep the super admin from having to edit each individual profile.

Relevant views:
* /wp-admin/network/user-new.php"	danielbachhuber
15691	Network admin should have its own settings API		Network Admin		normal	normal	Future Release	feature request	new	has-patch	2010-12-05T19:31:17Z	2013-05-21T18:11:06Z	preferably using options.php and the same API as normal admin, this way making a plugin multisite compatible (ie. adding a Network admin screen to it) would be much easier.	joostdevalk
8492	Page name drop-downs do not scale well		Optimization	2.7	normal	normal	Future Release	defect (bug)	new		2008-12-04T22:59:17Z	2009-11-23T21:30:53Z	"The page title drop-downs on options-reading and page.php seem to scale poorly in page loading times when you have a large number (around 1000) of Pages.  

I need to go to bed now so haven't researched this much, but I think the options-reading bit could be improved - I think it's currently fetching all of wp_posts when it only needs the title, which is a fair bit of wasted DB and processing time. 

rev 10051 and previous."	mrmist
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
10545	_publish_post_hook (adding to postmeta existing hooks)		Optimization	2.8.1	normal	normal	Future Release	defect (bug)	new	has-patch	2009-08-04T21:22:57Z	2010-05-14T08:14:57Z	"The problem that each time yuo press publish (assuming this is a save button) wp add to postmeta table new records even thay already exist now.


{{{
if ( get_option('default_pingback_flag') )
		$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_pingme' ) );
	$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_encloseme' ) );
}}}

shoud be (something like)
 

{{{
if ( get_option('default_pingback_flag') ){
		get_post_meta($post_id, '_pingme') ? update_post_meta($post_id, '_pingme', 1) : add_post_meta($post_id, '_pingme', 1);
		
	get_post_meta($post_id, '_encloseme') ? update_post_meta($post_id, '_encloseme', 1) : add_post_meta($post_id, '_encloseme', 1);
}}}
"	butuzov
11381	display_page_row() generates boat loads of needless queries		Optimization		normal	normal	Future Release	defect (bug)	new	has-patch	2009-12-10T12:41:45Z	2010-05-16T06:12:50Z	"on sites with many static pages that are spread across multiple parents, display_page_row() triggers multitudes of calls to the db.

specifically, it's repeatedly calling get_pending_comments_num(). it's also calling get_editable_user_ids() and wp_dropdown_users(), both of which do not seem to cache their results in case they're used several times on the same page."	Denis-de-Bernardy
8885	get_posts() should default orderby post_date_gmt		Optimization	2.7	normal	normal	Future Release	defect (bug)	new	has-patch	2009-01-19T13:03:12Z	2011-04-27T17:40:37Z	the function get_posts() in posts.php is defaulted to orderby post_date.  The problem with this is if entries are added in differing timezones (e.g., I changed my system timezone after x number of posts have been made), then the sorting is incorrect.  Since post_date_gmt is correct despite the timezone you are in, sorting based on this should be the default behavior.	caorongjin
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
12996	Clean up some redundant options from new blog setup, and remove legacy wp-hacks support		Optimization	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-04-14T11:45:31Z	2013-05-14T12:35:41Z	"In the process of updating some plugins for WP 3.0 I came across a few things that look like remnants of old WP versions that don't need to be there any more:

The following options are created during installation, but are  redundant:

- gzipcompression (see [http://core.trac.wordpress.org/ticket/10365 #10365])

- advanced_edit (no idea what this was for)

- hack_file

With regard to hack_file - it's been deprecated since 1.5 and there is no longer an admin option for it - isn't it about time to remove it completely? See also [http://core.trac.wordpress.org/ticket/9551 #9551]

Proposed patch to follow."	solarissmoke
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
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
5407	Improve wp_list_authors efficiency		Optimization	2.3.1	low	normal	Future Release	enhancement	new		2007-12-01T12:49:14Z	2013-03-23T00:00:11Z	"wp_list_authors() makes multiple queries per registered user.  For example, if a blog has 50 registered users, wp_list_authors() will make over 100 queries, even if there are only a few users who can write posts.

Alexander Concha developed the attached patch which does it all with only one query total (two if ""show_fullname"" is enabled).  However, he questions if this change belongs in the WP core.  I think it does because it's such a vast improvement over the current extremely inefficient code."	Bobcat
6860	Make clean_post_cache child cleaning optional		Optimization	2.5.1	normal	normal	Future Release	enhancement	new	has-patch	2008-04-27T22:13:40Z	2010-07-15T02:17:42Z	"clean_post_cache() makes a MySQL query in every call to clean the cache for child posts. This should be optional if the caller knows that there are no child posts or they're not cached.

Background: I need to query all posts have to clean the post cache to stay within the memory limits. Before 2.5 this was fine with clean_post_cache, but since the update the php execution time increased extremely because of this additional db query."	arnee
9736	Memory allocation failed on category.php		Optimization	2.7.1	lowest	minor	Future Release	enhancement	new		2009-05-06T02:02:11Z	2010-06-12T15:04:05Z	"When I opened ""/wp-admin/categories.php"" I got following error message.
> Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 3877 bytes) in /path_to_wordpress/wp-includes/category.php on line 369

I made over 70,000 categories manipulating MySQL table directory."	matsubobo
8648	Post Author quick edit drop down does not scale well		Optimization	2.7	normal	normal	Future Release	enhancement	new		2008-12-17T17:05:35Z	2010-01-17T20:14:54Z	"With large amounts of registered users.

"	mrmist
13989	Recent Comments widget optimization		Optimization	3.0	normal	normal	Future Release	enhancement	new		2010-06-19T06:30:36Z	2010-10-28T12:21:48Z	"Currently when permalinks are enabled, the recent comments widget will call get_post() on each parent post to retrieve its permalink.

In the event that the posts the recent comments are on are not in the current query (for example, posts on old posts, or if we're currently on a singular view), then get_post() will perform a SQL query to load the postdata.

The attached patch introduces a {{{cache_posts($post_ids, $term_cache, $postmeta_cache);}}} function to mass load/cache a set of posts through the usage of WP_Query

The function is smart enough not to query for posts which are already in the Object cache (ie. If the comments are on the current page, it'll skip, or if its in a memory cache)

An example of the SQL query generated by this query:
{{{
SELECT wp_posts . * 
FROM wp_posts
WHERE 1 =1
AND wp_posts.ID IN ( 95, 98, 106 ) 
AND wp_posts.post_type IN ('post', 'page', 'attachment', 'wiki', 'note', 'odd')
AND (wp_posts.post_status <> 'trash' AND wp_posts.post_status <> 'auto-draft')
}}}

Explain'd:
{{{
id 	select_type 	table 	 type 	possible_keys 			key 	key_len 	ref 	rows 	Extra 
1	SIMPLE		wp_posts range	PRIMARY,type_status_date	PRIMARY	8		NULL	3	Using where
}}}"	dd32
10683	White space cleanup in atomlib.php		Optimization	2.9	low	minor	Future Release	enhancement	new	has-patch	2009-08-25T13:53:51Z	2009-11-17T15:20:20Z	White space cleanup and unnecessary braces deleted in atomlib.php	Simek
12491	add a pre_template_include filter, so as to allow caching of the template file		Optimization	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-03-03T00:29:22Z	2010-10-28T11:38:14Z	rather than running file exists all over the place in the template loader, we should offer the possibility for a plugin to cache the information for use in subsequent pages.	Denis-de-Bernardy
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
8874	wp_list_pages  consume a lot of memory		Optimization	2.7	normal	normal	Future Release	enhancement	reopened		2009-01-17T02:19:53Z	2010-01-07T15:09:00Z	"When we use wp_list_pages in installatiosn with lots of pages (in my case 106 with a lot of text inside ) this function use get_pages (posts.php)  which has a get_results of the posts completes with a ""select *"" but only id,post_title, post_parent is needed. 
Maybe you can use a nuew option to wp_list_pages or get_pages with the list of fields to retrieve. 
I´m making a patch but first i´m studing the code rules of wordpress.
This Affects a wpdtree plugin and other which use get_pages. In my case this select break the connection with mysql in a Shared web server.


"	horaciod
16894	Bulk load Comment Meta upon access		Performance	3.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-03-19T11:19:27Z	2011-03-19T12:12:05Z	"When we query posts, we bulk load all of the posts meta and taxonomies at the time of request. Since adding comment meta, we load the comment meta on-the-fly since nothing really currently uses it in core.

I've added a filter to ''get_comment_text'' which modifies the comment content based on the value of a meta key.

The problem arises when multiple comments are displayed on a page, The metadata for every comment is loaded individually:

{{{
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (4)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (5)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (6)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (7)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (34)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (35)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (37)
}}}

in all cases, the function stack is:
{{{
comments_template, wp_list_comments, Walker->paged_walk, Walker_Comment->display_element, Walker->display_element, call_user_func_array, Walker_Comment->start_el, call_user_func, twentyten_comment, comment_text, get_comment_text, apply_filters, call_user_func_array, MY_FUNCTION_HOOKED_TO_GET_COMMENT_TEXT, get_comment_meta, get_metadata, update_meta_cache #12 (0.7ms)
}}}

It isn't ideal that every comment causes an extra query, instead, we should bulk load comment meta for the comments being displayed. 

However, Since comment meta is not always used, in order to keep the load down, I'd suggest that we only bulk load the comment meta '''on the first request for comment meta''', this should allow current users to have no detrimental affect on query count/performance, whilst allowing those who use comment meta to manage each comment better performance."	dd32
22951	Performance enhancements for esc_url()		Performance		normal	normal	Future Release	defect (bug)	new		2012-12-15T04:36:03Z	2013-05-14T12:34:06Z	"`esc_url()` gets used a lot on WordPress admin pages. Sometimes 100 times or more. Nacin did some KcacheGrind measurements that had it as 7% of some pages. We can speed it up.

Most of the grind comes from `wp_kses_bad_protocol()`.

I had a thought that we're sort of going about things backwards. We're being very careful to exclude anything harmful — bad characters, bad protocols, duplicate fake-out protocols, etc. But almost 100% of the time, the URL going through it is a http/https URL that has completely normal characters in it. We can detect that really early, and bail.

I did some tests with this approach that showed a good time savings.

Quite obviously, there's no room to compromise on security, so we'll need to be watching unit test, and maybe even writing some new ones for good measure."	markjaquith
9864	Performance issues with large number of pages		Performance	2.7.1	normal	normal	Future Release	defect (bug)	assigned		2009-05-18T19:20:59Z	2013-03-27T11:14:10Z	"'''Environment:'''

- Default install, default theme, no plugins, reasonable server configuration (typical execution, memory limits).  In my particular case, that was set to 30 seconds, 384 MB.

'''To reproduce:'''

- Create a large number of pages (5,000+)[[BR]]
- Try to edit a page

'''What happens:'''

- Maximum execution time error

{{{
Fatal error: Maximum execution time of 30 seconds exceeded in \wp-includes\post.php on line 1998
}}}

'''Workaround to prevent error:'''

- set_time_limit to 0 as server admin

'''My diagnosis:'''

Suspect that the immediate problem is that get_pages() inside wp-admin/post.php, line 2173,  performs a query that selects EVERYTHING:

{{{
$query = ""SELECT * FROM $wpdb->posts $join WHERE (post_type = 'page' AND post_status = 'publish') $where "";
}}}

Now, in this case this query (AFAIK) is just supposed to pull up the page list (with IDs, titles and parents).  What it actually does is it pulls up ALL of the post data.  This works fine for low number of pages, but on a larger data set this causes a chokepoint.  After all, the end result is just supposed to be a dropdown with a list of pages.


'''Workaround to improve performance:'''

- comment out line 273 in wp-admin\edit-page-form.php and skip displaying the page parent in the edit screen

'''The bigger picture:'''

Well, the ENTIRE list of pages is queried in this 'edit page' screen (see screenshot # 2 - with a dropdown that contains 5,000+ entries.)  I think this is a design limitation and it looks clumsy once the list gets larger.  Rather than patch the display routines, I think this thing needs to be replaced with something that can search / paginate piecemeal server-side.
"	pp19dd
11384	rewrite->flush() needlessly deletes the rewrite_rules option		Performance	2.9	normal	normal	Future Release	defect (bug)	new	has-patch	2009-12-10T13:39:52Z	2010-11-13T07:30:14Z	"All sorts of cache-related plugins hook into the update_option_rewrite_rules and force-flush whatever they're caching when rewrite_rules are updated.

When a page is saved, WP_Rewrite::flush() mindlessly deletes the rewrite_rule option, triggering all sorts of cache flushing that may or may not be necessary.

The attached patch keeps the rewrite_rules option intact when a soft refresh occurs.

Tests done:

 - non-verbose rules used, page changes parent: no refresh
 - verbose rules used, page changes parent: refresh

Dunno what else needs to be testing..."	Denis-de-Bernardy
14397	slow sql query from probably is_blog_installed		Performance	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-07-23T06:38:11Z	2010-11-23T00:10:38Z	"When everything else fails, is_blog_installed uses 
$tables = $wpdb->get_col('SHOW TABLES');
which can be costly in a big multisite or even when you have many single installations on the same DB

Related question - why does is_blog_installed is even being called on wp_widgets_init()? I would assume that if the DB is not set properly not only the widgets will suffer but also the themes and the plugins which are not protected at the same way."	mark-k
22192	update_metadata() and update_option() strict checks can cause false negatives		Performance		normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2012-10-15T03:19:23Z	2012-10-15T10:22:31Z	"Given this:

{{{
add_post_meta( $post_id, 'key', 1 );
update_post_meta( $post_id, 'key', 1 );
}}}

The update should not work, because they are the same. However, the meta cache will have ""1"" as a string, and then it will strict compare it to 1 as an integer. Thus, an unnecessary update will run.

Best I can tell, this could also affect update_option().

It is quite common to use integers and booleans directly into these functions. They should be smart enough to recognize that ""1"" == 1 == true and ""0"" == 0 == false, and that any numeric string is also equal to a properly cast integer.

Unit tests needed.

Ticket from which this was spun: #22189, saving navigation menus is slow."	nacin
19867	wp_dropdown_users() still not scalable		Performance	3.3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-01-20T22:04:27Z	2013-02-11T13:31:09Z	#14572 made huge improvements to the performance of wp_dropdown_users(), however, on certain sites that have an unusually large set of authors, wp_dropdown_users() still isn't usable.  It either causes a memory error on the server, or potentially crashes the client browser due to content size.	prettyboymp
16343	API for WP_Scripts: allow async loading, version checks		Performance		normal	minor	Future Release	enhancement	assigned		2011-01-22T18:07:39Z	2011-01-25T15:48:01Z	"When developping a theme lately, I have found myself in the need of directly accesing the internals of the WP_Scripts class. I feel the funcionality I need might well help other developers.


Use cases:

1.- Asynchronously load a (JS) script loaded by a/another plugin

  When loading a certain page, we needed to asynchronously load some (relatively heavy) scripts which are only seldom used. In order to keep page rendering fast, we only load them on demand, after the page frame has been rendered.
  In order to avoid having to bundle (potentially conflicting versions) scripts in every plugin and prevent duplicate loading, I suggest adding an API which would enable querying the source (as used by 'scripts-loader') 


2.- Version checks for loaded scripts

  For high-performance sites, it might be useful to load a Google (or some other CDN) -provided jQuery et al ---which the user might already have cached--- instead of the bundled one, as long as it is the same version.

 Code example:
   $ver = $wp_scripts->version('jquery');
   wp_unregister_script('jquery');
   wp_register_script('jquery',""http://ajax.googleapis.com/jquery/$ver/jquery.min.js"",false,$ver);


(needs discussion)



I can provide the code (or the patch against Core) when the solution is decided (or soonish, if a proof-of-concept is needed)
If WP 3.2 is going to finally be PHP 5.2+, I'd rather basically rewrite WP_Scripts (and/or WP_Dependencies).
"	jltallon
13580	Ajax Tag Search crashes browsers on databases with large tag lists or slow connections		Performance	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-05-27T16:54:01Z	2013-05-10T12:44:04Z	"In short, many conditions can cause the ajax-tag-search to take a long time. This is not just limited to database size or speed but is also dependent upon the speed of the author's connection. When a browser JS call times out, the user can hit stop script, however the script is usually triggered again almost immediately. The end result currently seems to be the browser session crashing. At best, when these delays happen, getting suggestions for tags can take 30+ seconds be a very tedious process.

This simple backwards compatible patch addresses the issue by allowing site by site customization of the variables involved.

This patch references two new option values:[[BR]]

ats_min_chars - Allows you to specify how many letters must be typed before the search is done. Currently, this number is hard coded at ""2"". That is the default for the patch..[[BR]]

ats_min_count - Allows you to eliminate tags that are used infrequently. This uses the count column on the already included term_taxonomy table; so it does not expand the query at all. It defaults to ""0""

The code in this patch has been running live at b5media for a while now with the defaults of 3 for min chars and either 10 or 20 for the post count dependent upon which site is involved."	brianlayman
14983	Get cache object by field		Performance		normal	normal	Future Release	enhancement	new		2010-09-28T08:12:24Z	2011-02-24T00:20:44Z	"Functions such as `get_term_by()` don't check the object cache before performing their query. We should introduce a function for getting a cache object by its field/value pair to make these more efficient.

I've written a simple function, `get_cache_object_by()`, which accepts `$field` and `$value` parameters in the same way `get_term_by()` does, and an optional `$group` parameter for the cache group.

`get_term_by()` and other `get_*_by()` functions could check the cache with this function before performing their query.

The function is compatible with external object cache plugins that use the `cache` member variable of the `$wp_object_cache` object, as they should.
"	johnbillion
17246	Handling of HTTP 404 errors for non-existing files		Performance		normal	normal	Future Release	enhancement	new		2011-04-26T18:50:15Z	2011-05-12T04:19:27Z	"Generally if WordPress sees a request for a specific file it means the web server couldn't find that file. Currently we run all of WordPress in such cases and output the theme's 404 template.

If the missing file is an image that has been reused 10 times (perhaps a CSS background or sprite) we will run ten extra times on every page load.

What I'm proposing is to short-circuit all requests for specific files very early in the load cycle, the same way we do it for favicon.ico requests and output a generic 404 notice."	azaozz
15650	Inefficient selectors in common.dev.js		Performance		normal	minor	Future Release	enhancement	new	needs-refresh	2010-12-02T15:26:22Z	2010-12-12T15:41:52Z	"There are some repeated jQuery selector lookups that could be cached, and incorrect attempts at adding contexts in common.dev.js.

Some minor optimisations that sacrifices a little bit of code readability, for a double speed improvement of caching expensive jQuery selector lookups, and reducing the size of common.js by ~300 bytes (5%) when minifying."	GamajoTech
19949	Make update_post_thumbnail_cache() work for any instance		Performance		normal	normal	Future Release	enhancement	new	has-patch	2012-02-02T22:40:03Z	2012-11-27T00:32:47Z	It would be useful if update_post_thumbnail_cache() [17883] would accept an optional $wp_query parameter, so that users aren't forced to use query_posts() in order to benefit from it.	scribu
12641	Move comment-reply to the bottom of the page		Performance	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-03-18T23:46:25Z	2013-03-15T20:17:30Z	"The general rule for browser performance is to load JavaScript as late in the page as possible.  The TwentyTen theme makes use of the comment-reply JavaScript code that comes with WordPress, and includes in the header.  From what I can tell there's no need to include it in the header, since it deals with the comment reply form, generally at the bottom of the page.

So I did some tests.  I removed the

{{{ <?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?> }}}

in header.php and replaced it with 

{{{ <?php if ( is_singular() ) wp_print_scripts( 'comment-reply' ); ?> }}}

at the very bottom of footer.php, just after the wp_footer() call and before the closing BODY and HTML tags.  The idea being to allow browsers to load the comment-reply JS as late as possible.

I then used webpagetest.org to run load tests (IE8).  Here's the waterfall chart before my changes - http://www.webpagetest.org/result/100318_63M1/1/details/ - and after my changes - http://www.webpagetest.org/result/100318_63M3/1/details/

You'll notice that the after chart has more parallel downloads of page resources.  Specifically in the before chart all other downloads are blocking until it finished getting comment-reply.js.

I also looked at the charts in Chrome (resource inspector) and Firefox (firebug), both show similar results, with more parallel downloads happening with comment-reply JS moved to footer.php.

I haven't seen any downsides to this move so far.  If this breaks something or causes other problems let's see what we can do to deal with them.  In the mean time I'm including a simple patch to make this change.
"	josephscott
15459	Need Better Page Hierarchy Display Algo		Performance	3.0.1	normal	normal	Future Release	enhancement	new		2010-11-18T00:33:16Z	2012-11-07T15:07:11Z	"WordPress 3.0.1

File: /wp-admin/includes/post.php

Lines: 904-912

Code:
{{{
	// Hierarchical types require special args.
	if ( is_post_type_hierarchical( $post_type ) ) {
		$query['orderby'] = 'menu_order title';
		$query['order'] = 'asc';
		$query['posts_per_page'] = -1;
		$query['posts_per_archive_page'] = -1;
	}

	wp( $query );
}}}

The code in the area mentioned above causes our site to use over 170mb of memory on each load of the Pages index.  This really should be improved to accommodate sites that have large amounts of hierarchical data.  Looks to me like it's pulling all the data for all the pages on the site.  Perhaps a solution where unnecessary data is not included might be better here (such as content or excerpt)."	truthmedia
16706	"Queries using ""category__and"" are slow on large databases"		Performance	3.1	normal	normal	Future Release	enhancement	assigned	has-patch	2011-02-28T22:20:52Z	2012-11-12T16:22:40Z	"Summary: Using ""category!__and"" in query_posts() generates a dependent subquery in MySQL with extremely poor performance (""Using temporary, Using filesort"") when one of the categories has a large number of posts. The result is so slow that WordPress appears to completely hang. Changing the query structure avoids the filesort and solves it.

Details:

We have a customer doing this as part of a theme in WordPress 3.1:

{{{
query_posts(array(
  ""category__and"" => array(1, 461),
  ""posts_per_page"" => 6
));
}}}

The database is fairly large. There are 45,610 posts in category 1, and 167 posts in category 461. The resulting database query runs for so long that it effectively hangs (it doesn't finish within 30 minutes).

The generated MySQL query looks like:

{{{
SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  WHERE 1=1  AND ( wp_posts.ID IN (
  SELECT object_id
  FROM wp_term_relationships
  WHERE term_taxonomy_id IN (1,461)
  GROUP BY object_id HAVING COUNT(object_id) = 2
) ) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 6;
}}}

An ""explain"" on this query shows that it generates a dependent subquery that devolves to a filesort:

{{{
+----+--------------------+-----------------------+-------+------------------+------------------+---------+-------------+-------+-----------------------------------------------------------+
| id | select_type        | table                 | type  | possible_keys    | key              | key_len | ref         | rows  | Extra                                                     |
+----+--------------------+-----------------------+-------+------------------+------------------+---------+-------------+-------+-----------------------------------------------------------+
|  1 | PRIMARY            | wp_posts              | ref   | type_status_date | type_status_date | 44      | const,const |  8177 | Using where; Using index                                  |
|  2 | DEPENDENT SUBQUERY | wp_term_relationships | range | term_taxonomy_id | term_taxonomy_id | 8       | NULL        | 25665 | Using where; Using index; Using temporary; Using filesort |
+----+--------------------+-----------------------+-------+------------------+------------------+---------+-------------+-------+-----------------------------------------------------------+
}}}

I've tried adding indexes, optimizing, and so on to get the filesort to go away, but I can't get it to do so, at least not with MySQL 5.0.x.

The filesort comes from the ""GROUP BY ... HAVING"". Changing the query to avoid those fixes this. For example, this appears to produce the same results:

{{{
SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  WHERE 1=1  AND
(
  SELECT COUNT(1)
  FROM wp_term_relationships
  WHERE term_taxonomy_id IN (1,461)
  AND object_id = wp_posts.ID
) = 2
AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 6;
}}}

But it finishes in a fraction of a second and generates cleaner ""explain"" output with no filesort:

{{{
+----+--------------------+-----------------------+------+--------------------------+------------------+---------+----------------------+------+--------------------------+
| id | select_type        | table                 | type | possible_keys            | key              | key_len | ref                  | rows | Extra                    |
+----+--------------------+-----------------------+------+--------------------------+------------------+---------+----------------------+------+--------------------------+
|  1 | PRIMARY            | wp_posts              | ref  | type_status_date         | type_status_date | 44      | const,const          | 8177 | Using where              |
|  2 | DEPENDENT SUBQUERY | wp_term_relationships | ref  | PRIMARY,term_taxonomy_id | PRIMARY          | 8       | database.wp_posts.ID |    1 | Using where; Using index |
+----+--------------------+-----------------------+------+--------------------------+------------------+---------+----------------------+------+--------------------------+
}}}

So my suggestion is that the ""category!__and"" query be changed to something like this that avoids filesorts. (I could provide a patch if people agree that this change is a reasonable approach.)"	tigertech
22828	Remove Duplicate Array Check		Performance	3.4.2	normal	normal	Future Release	enhancement	new	has-patch	2012-12-08T18:33:52Z	2012-12-08T21:22:49Z	"I just stumbled across this silly bit of code in function get_core_updates()

{{{
if ( !isset( $from_api->updates ) || !is_array( $from_api->updates ) ) return false;
$updates = $from_api->updates;
if ( !is_array( $updates ) ) return false;
}}}
"	miqrogroove
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
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
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
17268	Use native gettext library when available		Performance		normal	normal	Future Release	enhancement	new	has-patch	2011-04-28T11:32:30Z	2012-11-10T07:57:24Z	"[http://codex.wordpress.org/Translating_WordPress Here] you say that the GNU gettext-Framework is used. Exactly, ""pomo"" (file: wp-includes/l10n.php) is a complete own php-implementation of the gettext-program.

I've added a patch to solve this problem. Maybe it is not very good, but it works. On my wordpress-sites, the used php-memory returns from about 65% to about 12% and the site is running much faster when patching wp-includes/l10n.php.

I know that gettext is not available on every wordpress-installation, but when it's available, it should be used.

Sorry for my bad english, I'm german."	linushoppe
22074	Very Large Query that Crashes the whole My SQL and site		Performance	3.4.1	normal	normal	Future Release	enhancement	new	needs-unit-tests	2012-10-02T03:13:14Z	2013-05-16T11:59:00Z	"Hi David,

The problem is being caused by an extremely large mysql query. This is just a snippet of it. The full query is in /home/profithunters/query. You should have your dev look at it.

What user/pass are you using for mysql? You can login as the root mysql user by logging into https://profithunters.nmsrv.com/gadmin/ and then going to MySQL -> Launch phpmyadmin.
{{{
       | 370           | 371       |
| 1697 | profithu_wrdp2 | localhost | profithu_wrdp2 | Query   | 78   | statistics           | SELECT * FROM wp_posts  WHERE (post_type = 'page' AND post_status = 'publish')  AND ( ID <> 3778  AND ID <> 49911  AND ID <> 0  AND ID <> 20531  AND ID <> 3776  AND ID <> 3792  AND ID <> 3794  AND ID <> 3797  AND ID <> 3799  AND ID <> 3801  AND ID <> 3803  AND ID <> 3805  AND ID <> 3807  AND ID <> 3811  AND ID <> 5540  AND ID <> 6500  AND ID <> 8965  AND ID <> 9363  AND ID <> 10974  AND ID <> 11516  AND ID <> 11822  AND ID <> 12903  AND ID <> 12907  AND ID <> 12911  AND ID <> 13928  AND ID <> 13930  AND ID <> 14188  AND ID <> 14192  AND ID <> 14935  AND ID <> 14937  AND ID <> 14939  AND ID <> 14941  AND ID <> 15023  AND ID <> 15376  AND ID <> 19768  AND ID <> 20980  AND ID <> 20984  AND ID <> 21353  AND ID <> 21550  AND ID <> 21554  AND ID <> 21559  AND ID <> 21562  AND ID <> 21618  AND ID <> 21623  AND ID <> 21629  AND ID <> 21674  AND ID <> 21677  AND ID <> 21682  AND ID <> 21689  AND ID <> 21694  AND ID <> 21703  AND ID <> 21706  AND ID <> 21707  AND ID <> 21714  AND ID <> 21717  AND ID <> 21744  AND ID <> 21834  AND ID <> 21859  AND ID <> 21862  AND ID <> 21865  AND ID <> 21873  AND ID <> 21876  AND ID <> 21880  AND ID <> 21884  AND ID <> 21897  AND ID <> 21900  AND ID <> 21902  AND ID <> 21905  AND ID <> 21936  AND ID <> 21938  AND ID <> 21940  AND ID <> 21949  AND ID <> 21951  AND ID <> 21958  AND ID <> 21966  AND ID <> 21983  AND ID <> 21986  AND ID <> 21989  AND ID <> 21995  AND ID <> 22000  AND ID <> 22004  AND ID <> 22006  AND ID <> 22010  AND ID <> 22014  AND ID <> 22016  AND ID <> 22020  AND ID <> 22024  AND ID <> 22026  AND ID <> 22028  AND ID <> 22030  AND ID <> 22037  AND ID <> 22040  AND ID <> 22043  AND ID <> 22046  AND ID <> 22049  AND ID <> 22058  AND ID <> 22060  AND ID <> 22062  AND ID <> 22065  AND ID <> 22068  AND ID <> 22071  AND ID <> 22073  AND ID <> 22075  AND ID <> 22078  AND ID <> 22085  AND ID <> 22087  AND ID <> 22089  AND ID <> 22094  AND ID <> 22125  AND ID <> 22128  AND ID <> 22133  AND ID <> 22137  AND ID <> 22141  AND ID <> 22144  AND ID <> 22151  AND ID <> 22153  AND ID <> 22155  AND ID <> 22157  AND ID <> 22160  AND ID <> 22162  AND ID <> 22165  AND ID <> 22168  AND ID <> 22170  AND ID <> 22172  AND ID <> 22174  AND ID <> 22176  AND ID <> 22178  AND ID <> 22180  AND ID <> 22184  AND ID <> 22186  AND ID
}}}"	adest
11585	WordPress should cache failed feed fetches so as to avoid overloading feed sources		Performance	2.9	normal	normal	Future Release	enhancement	new		2009-12-24T02:25:17Z	2010-03-01T16:41:13Z	"Following up on #11219, which fixed the cause of that particular error, but not the one that related to caching of feed errors.

When SimplePie fails to fetch or parse a feed, it should not hammer whichever server the feed came from on every page load. This is bad for two reasons: it disturbs the originating server, and it tremendously slows down page loads when the feed is in an RSS widget on the front end.

Instead, we should cache the error for a reasonably long amount of time (15 minutes? An hour? More?) and bypass SimplePie until that duration expires."	Denis-de-Bernardy
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
15805	get_page_by_title() lacks caching		Performance	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-12-13T21:25:18Z	2011-01-13T07:25:17Z	`get_page_by_title()` always does a database query. It should use the object cache.	Viper007Bond
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
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
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
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
14036	"Post 404 errors due to a base post's name matching the Permalink option ""category base"""		Permalinks	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-06-22T02:12:58Z	2011-01-21T09:09:24Z	"When the ""category base"" option under Settings>Permalinks is set as a value, one can still create a post with the same value used as the new post's name and thus its permalink path. Thus, when a user tries to navigate to the post via its permalink, Wordpress thinks the user wants to access a category and gives a 404 error.

Here's an example.

Say I set my category base in Settings>Permalinks to ""general."" All my categories are at mysite.com/general/... Now say I make a regular post and name it ""General."" Wordpress automatically assigns it the permalink ""mysite.com/general"". So, on my menus that list this post, this will be the link. However, when a user visits this link, Wordpress is set to recognize /general/ as the category base and it gives the user a 404 error. All subposts under ""General"" also have a permalink that begins with mysite.com/general/ and thus are seen as categories by apache mod_rewrite and become 404 as well.

Solution: users should not be able to have base pages whose names (and thus permalinks) are exact matches to the Settings>Permalinks>Category base value."	sniper231
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
20419	get_sample_permalink() passes the wrong post_status to wp_unique_post_slug()		Permalinks	3.3	normal	minor	Future Release	defect (bug)	new	has-patch	2012-04-11T23:15:38Z	2013-05-09T04:19:10Z	"get_sample_permalink() fakes a 'publish' post_status so that it can create a pseudo-permalink for drafts and scheduled posts.  Also wp_unique_post_slug() bails when the post_status is 'draft', 'pending', or 'auto-draft', so faking a 'publish' post_status helps there too.

However, that means the incorrect post_status is passed to the 'wp_unique_post_slug' filter at times, creating unexpected behaviour -- namely sometimes the $post_status parameter of the wp_unique_post_slug filter will report a non-published post is published.  

The best approach here seems to be to let the wp_unique_post_slug() function know when a fake $post_status is being passed to it, what that status is so it can be passed to the wp_unique_post_slug filter.  That way anybody using the filter will always get the actual post status all the time without having to do anything special.

Related: #14111"	mintindeed
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
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
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
15928	wp_get_attachment_url does not check for HTTPS		Permalinks	3.0.3	normal	normal	Future Release	defect (bug)	assigned	has-patch	2010-12-21T00:19:48Z	2013-04-29T21:57:41Z	"wp_get_attachment_url, via wp_upload_dir, uses get_option('siteurl') to construct attachment URLs. If you're viewing your blog via HTTPS, the attachment URLs will all use HTTP. leading to mixed secure/non-secure content problems.

the_permalink function handles this nicely, by calling get_permalink, then home_url, then  get_home_url; get_home_url does an is_ssl check and changes the scheme accordingly.

The wp_upload_dir function should probably be changed, so that instead of calling get_option('siteurl') directly, it uses something like get_home_url (or even get_site_url) which check for HTTPS.



"	atetlaw
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
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
6778	Detect when the config will cause infinite loop		Permalinks	2.5	normal	normal	Future Release	enhancement	reopened	dev-feedback	2008-04-19T13:46:14Z	2010-01-15T13:20:35Z	"Behavior:

If you put in http://www.domain.com in the ""Wordpress Address"" setting, then Wordpress will automatically do a redirect from http://domain.com to http://www.domain.com.  Many hosting packages allow the user to deal with www and non-www versions of their domain.  This will cause an infinite redirect loop if, for example, the ""Wordpress Address"" is set to http://www.domain.com and the hosting setting is set remove the www from the domain address-- to redirect http://www.domain.com to http://domain.com.

Expected behavior:

When setting the ""Wordpress Address"" setting, it should detect if the canocical code will cause an infinite redirect loop and warn/correct the mistake"	Analogpoint
9825	Enforce permalink history, outright		Permalinks	2.8	normal	normal	Future Release	enhancement	assigned	dev-feedback	2009-05-15T01:06:37Z	2011-02-16T12:02:57Z	"currently, we enforce old slugs and www pref (not even sure that works, since I ended up fixing it in a plugin). canonical doesn't work for pages, or hardly.

we should enforce permalink history, outright. store it in a a db field, and query against it to optimize url2post()."	Denis-de-Bernardy
6481	Fancy permalinks should be enabled on new sites		Permalinks	2.7	low	minor	Future Release	enhancement	new		2008-03-30T19:20:04Z	2012-10-10T14:44:30Z	"Code to do this:

{{{
$permalink_structure = '';
$cat_base = '';
$tag_base = '';

if ( got_mod_rewrite() && is_file(ABSPATH . '.htaccess') && is_writable(ABSPATH . '.htaccess') )
{
	$permalink_structure = '/%year%/%monthnum%/%day%/%postname%/';
}

update_option('permalink_structure', $permalink_structure);
update_option('category_base', $cat_base);
update_option('tag_base', $tag_base);

$wp_rewrite->flush_rules();

}}}

The above has been tested by hundreds of users -- this has been built into my theme for over two years."	Denis-de-Bernardy
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
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
1914	Permalinks for unattached uploads/attachments		Permalinks	1.6	normal	normal	Future Release	enhancement	reopened		2005-11-19T09:21:26Z	2012-10-31T21:56:22Z	"Currently attachement links are in the form:

{{{
http://www.example.com/?attachment_id=1
}}}


Would look much neater if these matched the permalinks of regular posts (depending on what it is configured to) eg:


{{{
http://www.example.com/attachement/1/
}}}"	dlhau@…
21167	Problem with custom permalinks		Permalinks	3.4	normal	normal	Future Release	enhancement	reopened		2012-07-05T17:52:21Z	2012-11-06T19:46:50Z	"I am currently moving my blog (http://kaffeeringe.de/) to Wordpress and I don't want to break my old URLs (Cool URLs don't change). The problem is, that these custom URLs don't work in Wordpress 3.4.1:

/blog/%postname%/%post_id%.html works
/blog/%postname%.%post_id%.html (which I need) doesn't work.

It doesn't work with the . in between these parameters… 

I hope somebody is able to help me. "	kaffeeringe
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
14849	Rewrite rules should be flushed when you switch themes		Permalinks	3.0	normal	normal	Future Release	enhancement	new		2010-09-11T19:17:34Z	2012-03-27T22:33:55Z	@nacin said so at WCMA, so here's a patch to do it.	jorbin
15953	when category slug is changed, old uri also should redirect to new, as post uris do		Permalinks	3.0.1	normal	normal	Future Release	feature request	new		2010-12-22T18:51:10Z	2011-01-15T08:41:14Z	when category slug is changed, old uri also should redirect to new, as post uris do	qdinar
6698	Editing a published post causes excessive pings / closing comments on old posts causes trackbacks		Pings/Trackbacks	2.8.1	normal	normal	Future Release	defect (bug)	assigned		2008-04-12T15:29:08Z	2009-11-20T15:15:53Z	"I moderate all comments, and I was tired of spam comments on old posts sometimes slipping by Akismet and getting into my moderation queue, so I decided to close comments on a number of old posts. Steps to reproduce: (1) Click the ""Manage"" tab in the admin page for my blog. (2) Click ""Posts"" under ""Manage"". (3) Find a post. (4) Click ""Edit"" for that post. (5) Uncheck ""Allow Comments"" under ""Discussion"". (6) Click ""Save"".

As a result of doing this, I immediately got a number of trackbacks in my moderation queue. The trackbacks were from the posts whose comments I had just closed. The trackbacks were to other posts in my blog that were linked from those posts. Note that when I unchecked ""Allow Comments"", I did not uncheck ""Allow Pings"". I left ""Allow Pings"" checked.

Under ""Options"", ""Discussion"", I currently have ""Attempt to notify any blogs linked to from the article"" checked. However, I believe that at some point in the past, that option was unchecked, so the old posts whose comments I closed may have never attempted to send trackbacks before.

I believe that this is a bug. Simply closing comments for a post should not cause it to send trackbacks.

"	lapcat
5130	Linking to multiple posts on your site breaks pingback due to comment flooding		Pings/Trackbacks	2.3	normal	normal	Future Release	defect (bug)	new		2007-10-01T17:36:13Z	2010-12-26T03:34:02Z	"http://scott.sherrillmix.com/blog/programmer/web/wp_pingpreserver/

is this useful in WP 2.3?"	Denis-de-Bernardy
10414	Some trackbacks timeout due to short timeout period		Pings/Trackbacks	2.8.1	normal	normal	Future Release	defect (bug)	new	dev-feedback	2009-07-15T07:47:35Z	2009-11-23T21:43:36Z	"A trackback by WordPress to an external blog can timeout without any network congestion. WordPress 2.8.1 timeouts if it has not received any response from the receiving system for 4 seconds although some blog system can take more than 10 seconds to accept a trackback. If the trackback fails, WordPress keeps trying to resend the trackback every time the user posts a new entry, but it never succeeds and WordPress keeps resending for ever.  It annoys the blog owner whose blog the WordPress is trying to send the trackback to.

I propose that function trackback in wp-includes/comment.php should be modified for the timeout period to be extended from 4 seconds (e.g. to 30 seconds).

This modification is different from one appeared in ticket #8665."	gnaka08
9064	URLs with commas are not pinged		Pings/Trackbacks	2.7	high	major	Future Release	defect (bug)	new	needs-unit-tests	2009-02-07T11:07:20Z	2013-05-20T12:01:23Z	"I use following permalink format on my blog:[[BR]]
/%category%/%postname%,%post_id%[[BR]]
Unfortunately Wordpress doesn't ping them correctly - URLs extracted from post content don't have suffix with comma and post id.[[BR]]
[[BR]]
Fix: in file wp-includes/comment.php change line 1400 from:[[BR]]
$punc = '.:?\-';
[[BR]]
to:[[BR]]
$punc = '.:?\-,';
"	sirzooro
12154	Updating a post modifies pingback timestamp		Pings/Trackbacks		normal	normal	Future Release	defect (bug)	new		2010-02-06T21:17:46Z	2010-06-14T00:29:42Z	"Steps to reproduce:[[BR]]
Create blog post 1. Publish. [[BR]]
Create blog post 2. From within the post body, link to blog post 1. Publish. A pingback comment is created for post 1, with the timestamp as for blog post 2.[[BR]]
Edit blog post 2. Do not change publication timestamp. Save changes.

Expected behaviour: Pingback is not affected.[[BR]]
Actual behaviour: Pingback timestamp is changed - instead of the publication time of blog post 2, it is now set to the time when I edited blog post 2."	htoomik
13011	Move trackbacks to a plugin		Pings/Trackbacks	3.0	normal	normal	Future Release	enhancement	new		2010-04-15T01:32:05Z	2010-12-03T19:06:44Z	"This is kinda way out in left field, but what do you guys think about removing the whole trackback feature?

I think it's pretty safe to say that 99.9% (if not more) of trackbacks are spam. The average user has no idea about them (no one really uses them anymore as they require manual user input of a special trackback URL) and I think the general public would be better off without all the spam they cause, Akismet or not.

For the people that really, really want it, a plugin could be used.

Thoughts?"	Viper007Bond
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
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
14060	"Misleading ""You do not have sufficient permissions to access this page."""		Plugins	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-06-23T14:46:16Z	2012-06-27T21:50:39Z	"When accessing a page of a plugin in the admin that does not exists any longer, you're told by an error message, that:

> You do not have sufficient permissions to access this page.

This message is a little misleading, because there is no such page.

A message that better reflects the decision to display it would be less misleading, e.g.:

> The requested page is not accessible.


"	hakre
16055	Only fire 'Site Wide Only' plugin header deprecated notice if the plugin is activated		Plugins	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-12-31T23:13:56Z	2013-05-23T00:04:45Z	Apparently it can be fired on a deactivated plugin. That's annoying and confusing.	nacin
17552	Plugin editor incorrectly calls some files inactive.		Plugins	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-24T23:26:48Z	2013-04-23T02:48:13Z	"The plugin editor has a helpful bit of text at the top to specify if the current file is active on the site or not; This works fine in most cases, however, I've noticed that it only works for the ''plugin file itself''. 

Ie. Editing akismet/akismet.php will specify it's active, Editing akismet/admin.php will show as inactive.

This is due to the use of is_plugin_active() from memory. The solution to this would be to run is_plugin_active() on {{{$_GET['plugin']}}} instead of the file being edited.

{{{$_GET['plugin']}}} has it's own bug however, It's set to whichever file was edited before you loaded the current file (when you switch between files in a plugin that is), which in some cases will be correct, in many others when you're editing multiple files, It'll be incorrect."	dd32
20920	Removing all hooks too aggressive if a priority number is given		Plugins	3.3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2012-06-12T13:01:13Z	2012-06-13T13:24:30Z	"When you call `remove_all_filters()` or `remove_all_actions()` with a priority number (second parameter), all hooks get removed if none is found with the given priority.

Example:

{{{
#!php
<?php
global $wp_filter;

add_action('my_action', 'callback_foo');
add_action('my_action', 'callback_bar', 20);
var_dump($wp_filter['my_action']);

// At this point only callback_foo is left. Fine.
remove_all_actions('my_action', 20);
var_dump($wp_filter['my_action']);

// Exactly the same function call as above,
// but now all hooks bound to my_action are removed!
remove_all_actions('my_action', 20);
var_dump($wp_filter['my_action']);
}}}

Calling `remove_all_filters()` or `remove_all_actions()` with a priority should never remove hooks with another priority."	GeertDD
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
10535	_wp_filter_build_unique_id issues with the first time a filter is hooked by a class		Plugins	2.9	normal	normal	Future Release	defect (bug)	reopened	has-patch	2009-08-02T12:22:18Z	2013-01-10T20:02:38Z	"Ref #8723

The first time _wp_filter_build_unique_id is used to generate an ID the ID returned is different to the second time it is called. This presents a problem if the first ID is used when adding a filter which then needs to be removed later in the app flow... as the IDs don't match the filter is unremovable.

One workaround proposed is to set a wp_filter_id property before add the filter, and this will cause _wp_filter_build_unique_id to bypass the problem code and effectively forces the ""unique"" ID which is generated... this workaround feels unpoetic. ;)"	simonwheatley
15595	add_menu_page position conflict		Plugins	3.1	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-11-27T19:42:27Z	2011-04-08T17:42:57Z	If add_menu_page() gets called more than once using the same value for $position, only one menu item is added while the other is overwritten.	vegasgeek
14881	do_action should not pass empty string by default		Plugins		normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-15T20:44:56Z	2012-05-17T21:09:41Z	"{{{
function test( $a = true ) {
   var_dump( $a );
}
add_action( 'test', 'test' );
add_action( 'test', 'test', 10, 0 );
do_action( 'test' );
}}}
Second example is bool(true) as expected, but the first is a zero-length string.

In this case, since do_action() is not passing any arguments, then no arguments should be passed to test() -- even if by default, one argument gets passed.

The issue here is how do_action() is defined: `function do_action( $tag, $arg = '' );`. There's our zero-length string. Of note, apply_filters() does not have this same issue.

The solution looks something like what I have attached. Has yet to be benchmarked.

Of note, this does not appear to have any direct implications for passing all args by default, as proposed in #14671, but I wanted to reference it anyway."	nacin
9968	dynamically adding/removing filters breaks plugins		Plugins		low	normal	Future Release	defect (bug)	reopened	has-patch	2009-05-28T23:43:11Z	2013-05-17T09:35:08Z	"noticed this while doing something similar to this:

{{{
add_action('foo', 'bar1', 10);
add_action('foo', 'bar2', 20);

function bar1() {
  remove_filter('foo', 'bar1', 10);
}
}}}

in the above, bar2() doesn't get called. it is because of the usage of next()/current() to loop through filters.

attached patch uses a foreach loop instead, to make it work."	Denis-de-Bernardy
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
14159	menu_page_url not returning correct URL for custom submenus		Plugins	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-06-30T18:10:08Z	2010-12-10T03:34:34Z	"When using the menu_page_url() function to determine the URL to a submenu of a custom top-level menu it's not returning the correct URL. 

The function returns:
http://example.com/wp-admin/cpt_main_menu?page=cpt_sub_add_new

The correct URL is:
http://example.com/wp-admin/admin.php?page=cpt_sub_add_new

For reference my submenu is registered like so:

{{{
add_submenu_page('cpt_main_menu', 'Add New', 'Add New', 'administrator', 'cpt_sub_add_new', 'cpt_add_new');
}}}

I tested this on the custom top level menu and the URL returned is correct.  It only appears to be an issue with submenus of a custom top level menu"	williamsba1
15335	register_setting() filter for sanitization callback needs to indicate 2 arguments accepted	markjaquith	Plugins	3.1	normal	normal	Future Release	defect (bug)	reopened	has-patch	2010-11-08T01:10:46Z	2011-10-12T16:37:35Z	"'''register_setting()''' adds the function for sanitization of the option with the following line (wp-admin/includes/plugin.php):


{{{
add_filter( ""sanitize_option_{$option_name}"", $sanitize_callback );
}}}

For users wanting to declare a function for option sanitization, use of the option name within the function is sometimes desired, and is provided for in the filter application inside the '''sanitize_option()''' declaration as such (wp-includes/formatting.php):


{{{
$value = apply_filters(""sanitize_option_{$option}"", $value, $option);
}}}

With the filter always being applied with the option name as the second argument, I see no reason not to propose that the '''add_filter()''' call in register_setting() include ""2"" as the number of accepted arguments, allowing the option name to be passed."	lumination
21169	remove_action on a tag within do_action for that tag can cause actions to be missed		Plugins		normal	major	Future Release	defect (bug)	new	has-patch	2012-07-05T21:08:22Z	2012-11-07T15:35:21Z	"'''Problem:'''

If an action (or filter) in a given priority for a given tag removes itself as part of its execution, and it was the only action/filter at that priority for that tag (or only one remaining), the next priority level is skipped.

'''Reproduction:'''

See the attached unit test.

'''Analysis:'''

This appears to possibly be a bug (or at least an undocumented feature) of PHP (tested up to 5.4.3), where next() falls over if the current array element is unset (but each() has no problem even if the /next/ array element is unset).  Example non-WP code demonstrating this is included.

'''Proposed solution / workaround:'''

Switch all uses of next() in plugin.php to use each() instead; I've included a proposed patch.

Props to smathiascrowdfavorite for bringing this bug to my attention."	devesine
15906	validate_plugin needs all_plugins filter		Plugins		normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-20T03:13:12Z	2011-01-13T06:13:54Z	"If a plugin adds plugins to the plugin list in the plugin admin screens using the all_plugins filter, the added plugins will not validate. If the all_plugins filter is added to the validate function, then the plugin validates and activates fine.


"	wpmuguru
16849	Add a filter for $overrides in wp_handle_upload()		Plugins	3.1	normal	minor	Future Release	enhancement	new	commit	2011-03-13T17:38:56Z	2013-03-19T06:21:47Z	"I'm writing a plugin that needs to set a $unique_filename_callback in wp_handle_upload() during a normal post attachment upload (not a custom upload form), but there's no way to do it without a filter like this one:

{{{
$overrides = apply_filters( 'wp_handle_upload_overrides', $overrides );
}}}


For now I just modded my /wp-admin/includes/file.php to add it, but obviously that's not an ideal solution, especially since I plan on adding the plugin to the repository for others to use."	iandunn
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
16953	Allow symlinked plugins		Plugins		normal	normal	Future Release	enhancement	assigned	dev-feedback	2011-03-23T20:46:27Z	2013-05-23T18:55:39Z	"There are many scenarios where one would like to have a plugin's folder symlinked to another location.

A couple of these scenarios are described in #13550.

However, when using symlinks, code such as this fails:

{{{plugins_url( 'script.js', __FILE__ );}}}

This happens because {{{__FILE__}}} resolves to the real path, which confuses plugin_basename().

The most simple and most flexible solution is to add a filter to plugin_basename(), leaving individual devs to handle symlinked paths, depending on their environment."	scribu
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
12718	Better structure for admin menu		Plugins		normal	normal	Future Release	enhancement	reopened	dev-feedback	2010-03-26T01:05:37Z	2013-05-13T16:17:03Z	"Currently, the global $menu variable is one big linear array:

{{{
$menu = array(
    [2] => array('Dashboard', ...
    [4] => array('', 'read', 'separator1', ...),
    [5] => array('Posts', ...)
    ...
)
}}}

To allow plugins to add a menu item at the end of a group, we use a bunch of additional global variables that remember the last element in each group. 

Also, we use arbitrary numeric indexes to specify the order of the items, instead of being able to position items relative to one another.

It's all very low level. Things would be a lot easier if we had an actual API for manipulating the menu items."	scribu
14671	"Deprecate the ""accepted args"" argument in add_filter() and add_action()"		Plugins		normal	normal	Future Release	enhancement	new	has-patch	2010-08-22T20:00:17Z	2013-05-18T16:04:04Z	"There is no harm in passing additional arguments to action/hook callbacks. Why do we force developers to explicitly ask for additional arguments to be passed? It is a maximum, and it doesn't matter if the maximum is exceeded. We can just pass all the arguments, all the time. Callbacks can use them, or ignore them. {{{add_action()}}} and {{{add_filter()}}} can lose their 4th argument.

Ran this by koopersmith and beaulebens, they couldn't find any reasons this would be a problem."	markjaquith
15249	Filtering get_search_sql for advanced queries		Plugins	3.1	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-10-29T07:00:35Z	2012-09-13T18:06:56Z	"Currently in the code for 3.1 (trunk) there are no filters running on the new function get_search_sql which would be useful for plugins to perform more complex MySQL functionality on specific columns.

I suggest adding a filter ;)"	sc0ttkclark
15250	Filtering get_tax_sql for advanced queries		Plugins	3.1	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-10-29T07:00:40Z	2012-09-13T18:13:54Z	"Currently in the code for 3.1 (trunk) there are no filters running on the new function get_tax_sql which would be useful for plugins to perform more complex MySQL functionality on specific columns.

I suggest adding a filter ;)"	sc0ttkclark
14987	Group Plugins from the same package, count only once for update		Plugins	3.0.1	normal	normal	Future Release	enhancement	assigned		2010-09-28T22:32:42Z	2011-01-13T23:29:48Z	"Some plugins (Otto's Simple Twitter Connect and Alex King's Twitter Tools for example) contain multiple plugin files, which can be individually enabled. This is great, but the update notices should reflect 1 update instead of 10 (for Otto's), and it'd be nice to have the UI treat them as a group (a jQuery solution wouldn't be terrible).

Not sure if this is an enhancement or a feature request. Or if the component is UI or Plugins.

Looking for feed-back."	WraithKenny
14994	Introduce a way to identify a hook in progress		Plugins		normal	normal	Future Release	enhancement	new	has-patch	2010-09-30T11:22:32Z	2012-08-29T23:36:06Z	"We have did_action() and current_filter() but I've come across a use case for a hybrid of sorts, doing_action().

Problem is, did_action() returns true the moment the hook is fired. Thus if you need to wait until after the hook is done executing, you need to also check current_filter(). The problem arises when there was another hook called since thne, because current_filter() does not traverse back up the stack.

I considered adding an argument to either of the two other functions mentioned, but I think a new function makes the most sense. did_action() only works for actions. While current_filter() works for all hooks, it does one thing and that is to return the current hook. A new function makes the most sense here.

doing_action() might not be the best name because did_action() only works for actions, but this would work for filters as well. At that point, I might recommend doing_hook().

{{{
function doing_action( $action ) {
   global $wp_current_filter;
   return in_array( $action, $'wp_current_filter );
}
}}}

The use case was that a plugin was applying the_content on wp_head. That was messing with my footnotes plugin. So I needed to make sure I had completely processed wp_head first, but there was no way to do that. Now I would be able to check `if ( did_action('wp_head') && ! doing_action('wp_head') )`."	nacin
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
10046	"Show ""Go to"" link when update or install plugin."		Plugins	2.8	normal	minor	Future Release	enhancement	new	has-patch	2009-06-06T09:22:05Z	2013-01-22T01:23:22Z	"Show additional ""go to"" link to plugins page/installer depends on actual situation. Also minor style fix for URL when plugin directory already exist."	Simek
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
15515	content_save_pre et al don't supply context		Plugins		normal	normal	Future Release	enhancement	new	has-patch	2010-11-20T06:19:48Z	2010-11-21T03:17:29Z	"All of the `{field}_save_pre` filters don't provide any additional parameters with context. The `{field}_edit_pre` (when editing) and `post_{field}` (when displaying) filters pass the $post_id variable as a second parameter. The `{field}_save_pre` filter is the odd one out.

Currently if a plugin uses (for example) the `content_save_pre` filter and needs to know anything about the post (eg. the post type) then it has to use the global $post object directly. It works, but it's not ideal.

Can we add some context to these hooks? All they need is a second parameter containing the $post_id variable to bring them in line with the other field filters."	johnbillion
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
15929	plugin_action_links filter does not include page & search context		Plugins		normal	normal	Future Release	enhancement	new	has-patch	2010-12-21T03:31:34Z	2010-12-21T15:16:59Z	"The default links in the plugin list tables return the user to the same context (search, page, etc.) that they clicked a link on. A plugin adding links via either of the plugin_action_links filter doesn't have access to either the page or search context.

Patch is attached."	wpmuguru
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
14769	"API for ""Settings"" action link on plugins.php"		Plugins	3.0	normal	normal	Future Release	feature request	new		2010-09-02T22:10:35Z	2010-12-07T23:12:33Z	"Plugins should be able to register a ""Settings"" actions link that will then take them to their plugin settings page.

We should try to hook into add_options_page() as well, just by taking the first one that the plugin registers. Probably not really doable to ascertain which plugin calls that function however, without running a backtrace. Maybe try matching the slug with the plugin basename.

Someone is encouraged to run with this before I get to it."	nacin
15971	Add abilty to rate and report compatibility of plugins from wp-admin		Plugins	3.1	normal	normal	Future Release	feature request	new		2010-12-24T08:25:27Z	2012-09-15T04:59:48Z	"For the millions of downloads some plugins get there are way to few ratings on them. I think the ability to rate and report the compatibility of plugs from the backend dashboard page would dramatically increase participation in rating.

This could be accomplished most easily placing a link to the ""details"" of a plug-in (like the one that appears while searching for a plug-in) after it is installed on plugins.php.

This could be accomplished even more effectively by showing direct link next to each listing on the plugins.php page link stars/compatibility and link text reading ""rate now or ""report compatibility now""...

For reference I point you to the excellent new to FireFox 4 (beta) add-on compatibility reporting features.
"	jb510
14096	More protection against fatal errors from plugins		Plugins		normal	major	Future Release	feature request	new	dev-feedback	2010-06-26T05:36:27Z	2010-10-28T05:26:52Z	"Willing to split this into more tickets if these ideas gain traction.

'''More realistic sandboxing.''' It would be interesting to perhaps kill most of the WP environment while trying to sandbox a plugin on activation, to catch more fatal errors. For example, unset $wp_rewrite, which would prevent add_rewrite_tag() issues (on activation) for plugins incorrectly trying to register rewriting for taxonomies or post types. Of course, most of these plugins are already running on a blog when the auto-upgrade happens. Hence the second item:

'''Check plugins before an auto-upgrade.''' We can do plugin update checks to verify their compatibility (as reported by the author?) with the version they are about to upgrade to. If the plugin is in the repo and is not identified as compatible with that version, then very strongly advise they deactivate it (and consider doing it for them).

'''Check a site after an auto-upgrade.''' Since we only recommend deactivating plugins on auto-upgrade, and I'm not sure we should forcibly do that as part of an auto-upgrade, then let's check the site after an upgrade. Hit wp-load with an HTTP request and look for a header we spit out on the wp_loaded hook. If we don't get a header, then deactivate all plugins and tell the user ""told you so"". We could consider trying to reactivate plugins until one fails as well (also a valid option for the previous suggestion)."	nacin
18285	New Settings API and workflow		Plugins		normal	normal	Future Release	feature request	new		2011-07-28T20:39:29Z	2013-05-21T21:17:26Z	"A new Settings API should ideally be less painful.

That includes registration of options, creating fields and forms, and handling errors.

Quick suggestions, which Ryan and others can elaborate on, as well as offer justification for:
 - Stop using options.php as a POST handler.
 - Object-oriented approach, rather than passing handles around everywhere.
 - Should be flexible enough to leverage the new Settings API in the Network and User admins.
 - Form/field construction should be easy, and core should use it.
 - Core should also show/hide relevant fields based on the UI, perhaps with some sort of caps integration. Likewise, authorization for saving options should be incorporated beyond the sanitization callback.

Table markup should also be moved to CSS, which requires #16413 and core leveraging the fields API.

Anything that is not done, can be moved to 3.4. We should not rush this API, and we should be absolutely satisfied with it."	nacin
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
10441	Show warning when deprecated hook is registered	nacin*	Plugins		normal	normal	Future Release	feature request	accepted	dev-feedback	2009-07-18T14:48:47Z	2013-05-07T14:27:17Z	At this moment WP shows warning when someone tries to use deprecated function or file. It will be good to do the same for deprecated hooks. My suggestion is to do this check in add_action()/add_filter() functions. They should compare hook name against list of deprecated ones and show warning if necessary.	sirzooro
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
14282	the_post_thumbnail and get_the_post_thumbnail don't populate the images alt text correctly		Post Thumbnails	3.0	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2010-07-12T15:18:35Z	2010-11-22T17:34:41Z	"Recently was adding in Post Thumbnails for a client's blog and discovered that the ""the_post_thumbnail()"" function doesn't return an img tag populated by the alt text set for the image in the media gallery.

Did come up with a workaround though:


{{{
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_alt_text = get_post_meta($thumbnail_id,
'_wp_attachment_image_alt', true);
the_post_thumbnail(array(150,150), ""alt=$thumbnail_alt_text"");
}}}


This should be a simple fix of editing the function's output in wp-includes/post-thumbnail-template.php."	msigley
13522	Add 'description' setting for thumbnails/featured image and show that text in metabox		Post Thumbnails		normal	normal	Future Release	enhancement	new		2010-05-24T17:45:36Z	2010-10-28T09:33:14Z	"== Problem: Featured Image Metabox is Confusing ==

Currently the featured image metabox is very sparse and does not explain what will happen with the image at all. This can be confusing for users who didn't create their own theme, especially if multiple image sizes will be used and created, since they only see one size and might not check all parts of the theme after publishing. 

This is relevant both to simple sites where the admin is installing 3rd party themes they are unfamiliar with and enterprise sites with lots of users who haven't necessarily been trained to know exactly what the featured images will be used for.

== Solution: Let themers display a description ==

[[Image(http://simianuprising.com/wp-content/uploads/2010/05/wp-trac-featured-image-description.png)]]

Somewhere in the images/thumbnails API themers need the ability to add a description of how featured images are used in the theme so that this text can be shown in the Featured Image metabox. That way they could explain complex situations (or simple ones). 

Examples:

 * The featured image will be shown on archives next to the optional excerpt of posts.

 * 3 different sizes of featured image will be used: 50px - shown next to the post title in sidebar headlines. 150px - shown next to post excerpts on the homepage and archives. 500px - shown in the slider on the homepage.

And of course, for our favorite new theme, twentyten:
  
 * This image will be used in the header of the site behind the site title when viewing this article.

Allowing these labels will give themers as much flexibility as they need for explaining the system within the UI and will sidestep a lot of other issues with the thumbnails system and its lack of communication about thumbnail sizes and uses. I think almost any scenario could be summarized here and in almost any non-standard scenario having this text available will have a positive effect on thumbnail quality.

This situation is very similar to #11157 which added descriptions to sidebars. When these APIs are used on complex sites the developers need a chance to communicate directly with users to explain how the data entered will behave.

== Technical solution ==

I'm not sure what they best way to do this technically would be. The featured images system isn't well set up to handle metadata like this unfortunately. Ideally it would accept sets of parameters the way register_sidebar() does, but add_image_size() instead uses straight up arguments. 

If nothing else the simplest solution might be to add a new function that applies globally to the post thumbnail system, something like 

{{{
set_post_thumbnail_description($text);
}}}

Alternately we could add another argument to set_post_thumbnail_size:

{{{
set_post_thumbnail_size( $width, $height, $description );
}}}

Ideally the label and all other metadata should be set using the main call that turns on the feature, add_theme_support(), but that function is pretty basic and has no intelligence about the features themselves. Not sure why the thumbnails system is set up this way at all rather than having the on/off switch be the same as the function used to define how the feature will actually work. 

The naming for this solution is frustrated by the more general situation of naming for 'Featured Images', who's label was changed without any changes to the function names, as discussed in #12554. IMHO an overhaul of the entire API is in order that would incorporate this ticket and solve other problems in the process.

== Interim Solution Until this is implemented ==

If you want this effect without waiting for the api to change it can be done very easily with a couple lines of jQuery to insert the text in the metabox. This solution is or course '''not futureproof'''. Add the following in the admin somewhere (like admin_footer action hook:
{{{
jQuery(document).ready(function($) {
	$('#postimagediv .inside').prepend('<p>DESCRIPTION TEXT</p>');
});
}}}

"	jeremyclarke
11993	Add post thumbnail from url		Post Thumbnails	2.9.1	normal	normal	Future Release	enhancement	new		2010-01-24T22:32:59Z	2012-05-12T21:13:18Z	"If you got add a post thumbnail in 2.9, and use the ""From URL"" option, there is no link to set the image specified as the thumbnail. You can only put it in the post."	paradox460
11692	"Add post-tumbnail to the main ""Posts Edit SubPanel"""		Post Thumbnails	2.9	normal	major	Future Release	enhancement	new		2010-01-02T16:58:29Z	2010-10-03T21:04:17Z	"In '''[http://codex.wordpress.org/Media_Library_SubPanel Media Library SubPanel]''' we can see the image/media tumbnail. i want to see the tumbnail from '''[http://codex.wordpress.org/Posts_Edit_SubPanel Posts Edit SubPanel]''' too (or from ""Quick Edit"").

This way, if no tumbnail attached to post, blog owners will see it from the main subpannel rather them from the single post edit.


(bad english, i know. sorry.)"	ramiy
13528	Edit Image Link (None/Post/Post) to (None/Post/ImageSizes/File)		Post Thumbnails	3.0	normal	normal	Future Release	enhancement	new		2010-05-25T02:07:36Z	2010-10-27T12:25:49Z	"With the current Edit popup for images, you can only select the following link types for images:
[None] [File] [Post]

With my patch you select also the other image sizes (large/medium/thumbnail/full) as link destination or just plain file if it's not an image.

Patch is attached in the report"	Wollari
14106	Post-processing of post thumbnails		Post Thumbnails	3.0	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-06-26T20:45:24Z	2010-12-23T19:43:35Z	"I'm not sure if I'm missing something, but it looks like there is no hook to post-process post thumbnails. I want to add rounded corners to all thumbnails for a theme.

It looks to me like an action at the end of image_make_intermediate_size() in media.php with $file as parameter might do the trick. I'm not sure if that's the right place or when that function is called precisely though. So it might be necessary to add additional parameters to the function call to identify where the call came from."	nkuttler
11571	Provide easy way to return url of thumbnail image		Post Thumbnails	2.9	normal	normal	Future Release	enhancement	new	has-patch	2009-12-23T06:01:07Z	2012-03-28T20:56:27Z	I'm sure that there is probably a hack for doing this, but for those who aren't interested in custom functions, etc., I would like a simple built-in function for referencing the thumbnail image url (or a size version of it) without bringing in the predefined image tag. I tried applying a workaround, but it collided with a plug-in I was trying to use, and hacking a pre-2.9 plug-in to use the post plugin has not gone so well because of the image tag that the get_post_thumbnail function returns. 	braindrain
22080	add_theme_support should merge post-thumbnail post types by default (currently stomps)		Post Thumbnails	2.9	normal	normal	Future Release	enhancement	new	has-patch	2012-10-02T19:44:59Z	2013-05-22T23:11:39Z	"As documented in the Codex:

http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails

you can pass a second param to `add_theme_support( 'post-thumbnails' )` to specify the post types you want support enabled for. I expected any post types I passed in to be added to the currently specified post types, instead the passed value stomps the existing value. This means that if you create plugin that registers a post type and enables post-thumbnails for it, you need to write code like this:

https://gist.github.com/3822786

instead of a simple:

`add_theme_support( 'post-thumbnails', array( 'my-new-post-type' ) );`

The latter makes more sense to me, and I think it's likely other devs might make the same mistake and accidentally stomp on the previous value for post-thumbnails.

The attached patch enables a merge or stomp behavior for post-thumbnails. It defaults to ""merge"". Passing a `bool true` as a 3rd param will cause the second param to replace the existing value (current behavior)."	alexkingorg
11418	Allow adding post thumb via url		Post Thumbnails	2.9	normal	normal	Future Release	feature request	new		2009-12-13T11:05:05Z	2010-01-05T20:57:07Z	currently it is only possible to add post thumbs from blog's gallery	pascal.herbert
12235	Display caption with the_post_thumbnail		Post Thumbnails	2.9	normal	normal	Future Release	feature request	new		2010-02-15T10:01:13Z	2012-01-16T23:39:44Z	"It seems to me that there could be room for improvement with the_post_thumbnail function. So far, I did not find any way to display the caption below the thumbnail, like we do today with ""normal"" images.

What do you think of the idea of adding an argument for displaying caption text with the thumbnail?

"	hd-J
24248	'guid' not properly escaped		Post Types	2.5	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2013-05-02T14:03:35Z	2013-05-10T20:37:34Z	"Probably related issues: #18274 #19248

'guid' being saved in database not properly escaped, example:
{{{http://www.wordpress.dev/?post_type=changeset&#038;p=57}}} , see the ampersand encode {{{&#038;}}}
It supposed to be {{{&}}} or at least {{{&amp;}}}

Once 'auto-draft' saved, 'guid' is correct: {{{http://www.wordpress.dev/?post_type=changeset&p=57}}}

Once post is saved as 'draft' or published (triggered 'update post' on auto-draft), 'guid' gets malformed.

Source of issue: inappropriate usage of {{{get_post_field()}}} function in the {{{wp_insert_post()}}}

{{{get_post_field()}}} defaults to 'display' context, we not specify context while obtaining field, and in the {{{wp_insert_post()}}} we are not going to display it anywhere, just get, check, and save again, correct?

Attached patch adds the 'raw' context to usage of {{{get_post_field()}}} with 'guid'

"	meloniq
21963	Consolidate post insertion APIs		Post Types		normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2012-09-22T03:46:24Z	2012-12-27T15:14:44Z	"In wp-includes, we have:
 * wp_insert_post()
 * wp_insert_attachment()
 * wp_update_post()
 * wp_publish_post()

For saving from the admin, we have:
 * edit_post()
 * wp_write_post()
 * write_post()

'''wp_publish_post()''' is, as of [21942], now wraps wp_insert_post().

'''wp_update_post()''' is a fairly mundane wrapper of wp_insert_post(), but we really should eliminate the differences between the two functions and make it a straight-up wrapper.

'''wp_insert_attachment()''' was a fork of wp_insert_post(), and wp_insert_post() has gotten a lot of improvements that haven't reached wp_insert_attachment(). It doesn't take much to merge these two, though, and make wp_insert_attachment() a wrapper.

'''wp_write_post()''' calls edit_post() if it has a post ID. And since we have had a post ID since the days of auto-drafts, this function is dead code. It's wrapper, '''write_post()''', can also be deprecated.

I'm attaching a patch that takes care of wp_insert_post(), wp_write_post(), and write_post(). wp_update_post() will require a bit more concentration.

Needs testing and unit tests."	nacin
13905	No sanity check in map_meta_cap caps throws PHP notices	filosofo	Post Types	3.0	normal	normal	Future Release	defect (bug)	reopened		2010-06-15T16:29:45Z	2013-04-16T21:32:54Z	"`map_meta_cap` assumes that the ID which it's passed when evaluating `edit_post`, `edit_page` and the like actually belongs to a real post object.

In fact, it's quite possible that the object doesn't yet exist (creating a new object, perhaps) or doesn't exist any more (deleted), or that it has otherwise received a syntactically correct ID value that doesn't map to an existing post object (0, e.g.).

Instead, `map_meta_cap` should check that the post object actually exists before attempting to branch on its properties.

Patch also removes some apparent debugging comments."	filosofo
14011	On subdirectory multisite installs, custom post types on main blog generate bad next/previous links	nacin	Post Types		normal	normal	Future Release	defect (bug)	reviewing		2010-06-20T21:06:51Z	2011-11-22T22:18:34Z	With multisite and subdirectories, the main blog uses site.com/blog/xxx permalinks however custom post types can use site.com/custom/permalink .  The next and previous post template tags generate the links as site.com/blog/custom/permalink .	jorbin
15218	Publish box (inner-sidebar) hidden in custom posts without show_ui		Post Types	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-10-26T08:18:19Z	2010-12-08T20:17:16Z	"I'm pretty sure this is a bug as I can't figure out a reason for the following:


----
Create a new custom post type with '''show_ui => true''' ''(which is supposed to hide the menus for it if false)''. Create a post, go to the post edit screen. Now edit the plugin code and '''switch true to false''' for '''show_ui'''. Hit refresh and the inner-sidebar is gone.
----


Is this expected behavior and, if it is?!?!... how should it be handled? Some people need to manage the custom posts by themselves and not have then show up in the menu, trash can,... but they need the editor, scheduling and such.

Thanks a lot."	5ubliminal
13509	Searching doesn't return Private results to logged in users with read_private_ permissions	ryan	Post Types	2.9.1	normal	normal	Future Release	defect (bug)	new		2010-05-24T00:31:11Z	2010-11-13T08:01:18Z	"When you do a search with these requirements...[[BR]]
- You are a registered user.[[BR]]
- You are logged in.[[BR]]
- You have '''''read_private_posts''''' permissions.

... you expect seeing in the results those Private posts that contains your query's terms.

But you end up with showing only the ones that belongs to you. I think the bug is in these lines:


{{{
if ( is_user_logged_in() ) {
	$where .= current_user_can( ""read_private_{$post_type_cap}s"" ) ? "" OR $wpdb->posts.post_status = 'private'"" : "" OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = 'private'"";
}
}}}

As '''''$post_type_cap''''' is set to ""any"" when you do a search, the conditional expression always fails as it's asking for this:

{{{
current_user_can( ""read_private_anys"" )
}}}

... and ends up always in the second part of the conditional expression. That is:

{{{
"" OR $wpdb->posts.post_author = $user_ID AND $wpdb->posts.post_status = 'private'""
}}}

Thanks."	inbytesinc
20462	Shouldn't have to pass 'post_category' to wp_update_post()		Post Types		low	minor	Future Release	defect (bug)	new	has-patch	2012-04-16T23:35:53Z	2013-05-20T11:59:32Z	Custom post types don't usually have the 'post_category' field set, which means that wp_update_post() throws an Undefined Index notice when we don't pass it explicitly.	scribu
19954	wp_insert_post should look if default category is nessesary		Post Types		normal	normal	Future Release	defect (bug)	new	has-patch	2012-02-03T14:58:14Z	2012-10-18T14:31:27Z	"When creating an post object with get_default_post_to_edit(), wp_insert_post() will ignored the set category.
It doesn't look if the post has already a good category."	markoheijnen
15230	Action hook before the inserting post into the database		Post Types	3.1	normal	normal	Future Release	enhancement	new	dev-feedback	2010-10-27T09:18:46Z	2013-03-14T10:10:40Z	"Something like
{{{
do_action( 'pre_post_insert', $data, $postarr );
}}}
added to ''wp_insert_post'' function right after the ""else"" statement on line 2501 in .../wp-includes/post.php

"	johnnypea
12726	Add get_post_by_*() functions	sorich87*	Post Types	3.0	normal	normal	Future Release	enhancement	accepted	has-patch	2010-03-27T05:57:13Z	2012-11-28T23:52:48Z	"Current there are get_page_by_path() and get_page_by_title() function but they hardcode the post_type of 'page'.  With support for new custom post types I'm finding a need for functionality to look up posts of custom post types:
{{{
$args = array('post_type','my_custom_post_type');
$path = 'foo-bar';
$post = get_post_by_path($path,$args);
$title = 'Foo Bar'
$post = get_post_by_title($title,$args);
}}}
Another option would be a simple get_post_by():
{{{
$args = array('post_type','my_custom_post_type');
$path = 'foo-bar';
$post = get_post_by('path',$path,$args);
$title = 'Foo Bar'
$post = get_post_by('title',$title,$args);
}}}
This code is not hard to write but looking at the functions in post.php there's not one consistent style so I'm not sure what the best approach would be to write it.  Further, I don't completely understand the significance of all the code in get_page_by_path() so wouldn't want to start with it (although I could see it being modified to use the more generic functions that I propose.)

I can make these updates if I get enough direction from the core team, or I'd happily just see them get done. :)
"	mikeschinkel
12976	Add get_post_content()/get_post_excerpt() and save_postdata()/restore_postdata() for support.		Post Types	3.0	normal	normal	Future Release	enhancement	new		2010-04-12T16:05:25Z	2012-09-05T01:54:19Z	"Currently the {{{get_the_content()}}} and {{{get_the_excerpt()}}} functions return the values from the loop but do not allow a Post object to be passed.  These functions in the patch ({{{get_post_content()}}} and {{{get_post_excerpt()}}}) save and then restore the global variables assigned by {{{setup_postdata()}}} so that {{{get_the_content()}}} can be called for a specific post.

The functions to save and restore the postdata are {{{save_postdata()}}} and {{{restore_postdata()}}} respectively, and they simply capture the values of the global variables set in {{{setup_postdata()}}} into an array and then restore them back from the array.

This is the first of a broader patch I hope to supply with functions for {{{get_post_*()}}} and {{{the_post_*()}}} that would each receive as their first parameter a Post object/post ID/post array and as a second an array of {{{$args}}} so that robust code can be written related to posts and so that there will be a set of functions for this with a ''consistent'' set of parameters."	mikeschinkel
12539	Add hook to create_initial_post_types()		Post Types	3.0	normal	normal	Future Release	enhancement	new		2010-03-07T02:51:42Z	2011-12-30T02:29:14Z	"I'd like to propose that create_initial_post_types() in wp-includes/post.php have a filter called 'initial_post_types' (or something else) that will allow a hook to remove default post types and/or modify the attributes of post types before they are registered. I've included a patch to illustrate. The same could be done with the post statues but doing so is a bit more complicated so I didn't implement that in case the core devs hate the idea.

As suggested by dd32 from #9674 I created this new ticket.
"	mikeschinkel
14077	Add support for removal of multiple features from a post type in remove_post_type_support		Post Types	3.0	normal	minor	Future Release	enhancement	new	has-patch	2010-06-24T18:10:59Z	2012-07-12T00:52:41Z	"From [http://groups.google.com/group/wp-hackers/browse_thread/thread/1843101eba1f29fc this thread]

add_post_type_support allows an array to be passed as the 2nd parameter, but remove_post_type_support doesn't.

The patch attached adds the functionality."	Utkarsh
19257	"Allow post types to override the phrase ""Featured image"""		Post Types	3.0	normal	normal	Future Release	enhancement	new	has-patch	2011-11-16T04:59:02Z	2012-08-30T15:44:50Z	"It would be nice if the phrase ""Featured image"" could be filtered so it could be tailored to fit its post type. For example:

 * A post type of 'person' could set it to 'Mugshot'
 * A post type of 'album' could set it to 'Cover art'
 * A post type of 'company' could set it to 'Company Logo'

Patch upcoming."	johnbillion
16987	Allow registering a WP_List_Table class when registering post types		Post Types		normal	minor	Future Release	enhancement	new	dev-feedback	2011-03-28T16:01:55Z	2011-06-11T09:39:51Z	"This would go a long way towards making the post types feature more complete. I discovered while converting Links from the native format into a post type that the admin lists are still very clunky to work with, especially with quick edit obliterating non-underscored post meta and the quick edit form not being configurable enough on the server-side to make it useful for more unusual post type requirements.

Code-wise it would be good to work with it in a similar way to the Walker_Nav_Menu class eg. so I could extend the WP_Posts_List class to overwrite certain elements for my post type."	sanchothefat
12725	Custom post types should be respected in post_rel_link functions		Post Types	3.0	normal	normal	Future Release	enhancement	new	dev-feedback	2010-03-27T05:00:33Z	2012-02-04T08:29:20Z	Just like the title says. These functions should check to see if the current post type supports categories before proceeding.	jfarthing84
16415	Don't require CPTs to have archives in order to have feeds		Post Types	3.1	normal	normal	Future Release	enhancement	new	commit	2011-01-30T22:58:47Z	2013-05-16T15:33:43Z	"When archives and feeds were added to custom post types (see #13818) it was set up so you had to have archives (has_archive) in order to have feeds (rewrite[feeds]).

There are some situations where it would be nice to have feeds but archives aren't needed."	aaroncampbell
14154	Filters hook on the custom post type edit page		Post Types	3.0	low	normal	Future Release	enhancement	new		2010-06-30T08:34:31Z	2011-04-10T14:37:32Z	"It would be great to have some filters added on the custom post type edit page to be able to modify the queries associated to the following filters :
- post count (mine, all, draft, published, trashed, etc...)
- categories
- dates

Basically, the issue right now is that if you modify the list of posts displayed to a user with the posts_where filter on the custom post type edit page, the post count, categories and dates filters won't be accurate anymore because there is no possibility to filter them as for the post list (or at least, I haven't found these).

Thanks!"	firebird75
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
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
17005	Replace cryptic bitwise check with proper post type checks		Post Types		normal	normal	Future Release	enhancement	new		2011-03-31T06:31:58Z	2011-05-12T02:41:01Z	"wp-admin/user-edit.php:54:

{{{
$all_post_caps = array('posts', 'pages');
$user_can_edit = false;
foreach ( $all_post_caps as $post_cap )
	$user_can_edit |= current_user_can(""edit_$post_cap"");
}}}

Could become:

{{{
$user_can_edit = current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' );
}}}

It could also become:

{{{
$show_ui_post_types = get_post_types( ( 'show_ui' => true ) );
$user_can_edit = false;
foreach ( $show_ui_post_types as $pt ) {
	if ( current_user_can( $pt->cap->edit_posts ) ) {
		$user_can_edit = true;
		break;
	}
}
unset( $show_ui_post_types, $pt );
}}}

Taking it further, show_ui might not be the right check, since $user_can_edit is also used for comment moderation keyboard shortcuts. So perhaps we need two results, one that checks show_ui and post_type_supports (for editor), and another that simply checks whether any post type supports comments."	nacin
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
12567	make post_submit_meta_box more generic		Post Types		normal	normal	Future Release	enhancement	new		2010-03-10T00:46:20Z	2013-05-16T11:59:19Z	"Currently there isn't a way to modify the meta boxes which set the post status. The function post_submit_meta_box in wp-admin/includes/meta-boxes.php is a closed function with post statuses hard coded. A new post status registered using register_post_status is available to the query object and plugins but cannot be added to the post status select box in the publish meta box.

A lot of the post_submit_meta_box is hardcoded to the default post status types.

Consider the use case where you want posts to only be visible to logged in users. A custom post status selectable by the user in add/edit post could be used which is then added or excluded in the query (filtered by posts_where) depending on whether the user is logged in or not. This way core can handle the non-visible posts the way private or future posts are handled. "	themattharris
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
14761	unregister_post_type()		Post Types	2.9	lowest	normal	Future Release	enhancement	new	dev-feedback	2010-09-02T12:00:17Z	2013-05-16T20:42:09Z	"Two use cases:

 1. Remove a core post type. Means that the admin menus should respond in kind, though certain aspects of core like query/rewrite might not like this. Not the main use case regardless.

 2. Removing a post type of another plugin, or potentially more likely, a parent theme.

Example barebones function: http://wordpress.pastebin.com/VexHkgig

Related, unregister_taxonomy() #11058 and unregister_taxonomy_for_object_type(): #14482"	nacin
12510	There should be an API to register post_types and post_status		Post Types	3.0	normal	normal	Future Release	feature request	new	reporter-feedback	2010-03-04T06:58:56Z	2011-08-07T21:20:31Z	"Presently the available (default) post_types and post_statuses are stored in wp-includes/post.php and called on init.
Shouldn't they be stored in the DB (perhaps in the options table). This would make it much easier / cleaner to add / manage custom post_types.
Essentially as the post_type array contains meta-data about that posts of that type I don't believe that it is good practice to store that statically.

This could be very easily implemented for 3.0 release and clean up a whole lot of hacking / issues and make a uniform way of storing custom post_types."	ceenz
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-05-10T12:47:01Z	"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
19569	Press This Editor shows separate media icons		Press This	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2011-12-15T19:01:07Z	2012-10-18T14:28:37Z	"Press This still shows multiple media upload icons: Add Image and Add Video (the third is from Grunion, and should be ignored for the purposes of this ticket).

[[Image(http://f.cl.ly/items/1g0f0s0N3E0B0c3f142l/press-this.jpg)]]"	Ipstenu
16940	Prevent 403 errors in Press This		Press This		normal	normal	Future Release	defect (bug)	new	has-patch	2011-03-22T23:54:38Z	2011-03-30T22:44:12Z	"The problem: 

Some hosts have lame mod_security rules that block unencoded urls, making Press This unusable.

Source: http://forums.hostgator.com/apache-upgrade-broke-feature-wordpress-t40603.html

The fix:

Replace:

{{{u='+e(l.href)+'}}}

With:

{{{u='+e(l.href.replace(/\//g,'\\/'))+'}}}

Source: http://wordpress.org/support/topic/press-this-results-in-404?replies=22#post-1008326"	scribu
11365	press-this.php resize could be a little taller	azaozz	Press This	2.8.5	low	trivial	Future Release	defect (bug)	assigned	has-patch	2009-12-08T17:01:27Z	2010-04-02T08:22:12Z	"The press this pop-out window ends up having a scroll bar (Tested on Opera, FF and Chrome) because the window height is slightly too small.

I found that changing /wp-admin/press-this.php line 422 to :

window.resizeTo(720,600);

Solves the problem."	netweblogic
7824	Add referral link in Press It		Press This		low	minor	Future Release	enhancement	new	has-patch	2008-10-02T05:27:08Z	2010-07-15T02:01:24Z	"I'm the developer of a feed aggregator and a feature we'd love is to have something like ""(via feed reader) after the normal ""via"" section in the Press This panel.

I'm willing to make the patch myself if it would be accepted."	rmccue
18843	Add unique admin_head action to Press This		Press This	3.3	normal	normal	Future Release	enhancement	new	has-patch	2011-10-02T15:42:11Z	2011-11-15T03:25:06Z	The Press This page should have its own admin_head-foo action.	sillybean
14650	"Make ""Press This"" use post-new.php"		Press This		normal	normal	Future Release	enhancement	new		2010-08-19T22:37:19Z	2010-10-28T06:09:21Z	"Press This is really neat, but it doesn't take advantage of recent developments, such as auto-drafts or oEmbed.

I think that, with a little ingenuity, we can make PressThis use the post-new.php screen.

I wrote a plugin to prove the viability of the idea: [http://wordpress.org/extend/plugins/press-this-reloaded/ Press This Reloaded]"	scribu
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
14164	do_meta_boxes on press-this.php		Press This	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-01T02:16:51Z	2010-10-28T06:10:16Z	"Right now, there is no way of add meta boxes to the Press This bookmarklet. A simple call of `do_meta_boxes()` allows plugin/theme authors to easily hook into the bookmarklet. 

{{{
do_meta_boxes( 'press-this', 'normal', '' );
}}}

That seems to work like a charm."	SpencerFinnell
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
17592	'exclude_from_search' excludes from non-search queries		Query	3.1.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-05-27T18:17:53Z	2012-06-19T12:00:46Z	"Any WP_Query using 'post_type' = 'all' will only return post types where 'exclude_from_search' is FALSE. I would expect 'post_type' = 'all' to include all post types, *except* when initiated via a front-end search.

Recommend adding an is_search() check when excluding post types from a 'post_type' =  'all' query."	danblaker
22556	A taxonomy archive query for attachments can't return results		Query	3.5	normal	normal	Future Release	defect (bug)	new	early	2012-11-23T15:11:50Z	2012-12-19T20:08:06Z	"In #21391 we made it easier to use custom taxonomies for attachments.

Example:
{{{
function ds_register_attachment_taxonomies() {
	$args = array(
		'label' => 'Color',
	);

	register_taxonomy(
		'image-color',
		'attachment:image',
		$args
	);
}
add_action( 'init', 'ds_register_attachment_taxonomies' );
}}}

This makes it also possible to make a query for this specific taxonomy. Example: 5 images has the term ""red"". The query: !http://example.com/image-color/red/

But: The page returns no attachments.

The query:
{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (404) ) AND wp_posts.post_type IN ('attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 1
}}}

The problem is the `AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')` part. Attachments post status is inherit, therefore no results.

The attached patch checks if the current post type is `attachment` and sets the post_status to `inherit`.

I would like to get this in 3.5, since it's one of the new features and could be really annoying,
"	ocean90
17737	Be better at forcing data types for query vars		Query	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2011-06-09T21:59:41Z	2013-05-14T13:24:57Z	"I already email this flaw to security@wordpress.org but Andrew Nacin told me that this is not a WordPress flaw, but php server config flaw. So i post this here now.[[BR]]

----

''Exploit'' : http://WEBSITE.COM/?author[]=1 [[BR]]
''Problem'' : FPD (https://www.owasp.org/index.php/Full_Path_Disclosure) [[BR]]
''Solution'' : Add this ""@ini_set('display_errors', 0);"" or this ""error_reporting(0);"" in the end of wp-config.php file. [[BR]]
''Patch'' : [[BR]]
1) wp-includes/query.php line 2239 [[BR]]
Replace
{{{
$q['author'] = (string)urldecode($q['author']);
}}}
by
{{{
if ( is_array( $q['author'] ) ) {
$q['author'] = $q['author'][0];
}
$q['author'] = (string)urldecode($q['author']);
}}}

2) wp-includes/canonical.php line 142 [[BR]]
Replace 
{{{
} elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', $_GET['author'] ) ) {
}}}
by
{{{
} elseif ( is_author() && !empty($_GET['author']) && preg_match( '|^[0-9]+$|', !is_array($_GET['author']) ? $_GET['author'] : $_GET['author'][0] ) ) {
}}}
[[BR]]
'''Julio''' - [http://www.boiteaweb.fr]"	juliobox
18386	"Bug in custom query when ""Front page displays"": ""A static page"""		Query	3.2.1	normal	normal	Future Release	defect (bug)	new	needs-unit-tests	2011-08-12T10:34:16Z	2012-05-09T10:13:53Z	"Here is the bug I have found:
When Front page displays is set to: A static page
and Blog posts are displayed on other page a bug accours...

Lets prepare test enviroment, with clear wp installation and two posts, where one of them is set to default category, and other is set to newly created category (which defautly has ID = 3).
Now, prepare two pages, and in Setting -> Reading set Front page to one of those pages, and Posts page to second one.

If You would like to exclude posts from category no 3 from main blog index, normaly You would use:
<?php query_posts($query_string . '&cat=-3'); ?> in index.php (or specified loop file linked there).
This would work if blog index is set as home page, but fails to work when above test enviroment is used."	CyberSpy
11330	Empty search takes you to homepage instead of empty search page		Query	2.8.5	low	minor	Future Release	defect (bug)	new	has-patch	2009-12-04T21:57:23Z	2013-03-05T19:55:11Z	"1. In the admin tool, if you go to ""Settings->Reading"" then choose ""A static page (select below)"" and choose a page for your ""Front page"" and a different page for your ""Posts page"". 
2. Visit your blog (http://localhost/ in my case) and you will see your static page. 
3. Navigate to your blog (http://localhost/blog/ in my case). 
4. Enter a search string (e.g. ""test"") and click ""Search"". This will take you to the search results page (http://localhost/?s=test in my case). Notice that it is located at the base of your site.
5. Return to your blog, leave the search textbox blank and click ""Search"". This _should_ take you to the search results page but takes you to the _Homepage_ instead (http://localhost/?s= in may case).

IMHO, a blank search string _should_ take you to the search page and state ""No posts found. Try a different search?"" as it does when you enter an invalid search. At the very least, it should take you to the blog page.

The reason it takes you to the homepage is due to how the get_search_form() function in the /wp-includes/general-template.php file creates the Action url for the search form:

{{{
$form = '<form role=""search"" method=""get"" id=""searchform"" action=""' . get_option('home') . '"" >'
}}}



I propose a change in the code that will do the following:
{{{
if(get_option('show_on_front') == 'page'){//if the blog is not the front page
	$searchAction = get_page_link(get_option('page_for_posts'));//get the link to the blog
}else{//if it is the front page
	$searchAction = get_option('home').""/"";//get the link to the home
}

$form = '<form role=""search"" method=""get"" id=""searchform"" action=""' . $searchAction . '"" >
}}}

That way, at the very least, you know the search is landing where it belongs.

This, however, does not _fix_ the issue where a blank search does not land you on the search page. My guess is, wherever it is determined what page is displayed, there is a check for something like:
{{{
if($_REQUEST['s']!=''){
  //if the request var 's' is not blank, this is a search
}
}}}

If that is indeed the case, a simple change of the code to something like this should do the trick:
{{{
if(isset($_REQUEST['s'])){
  //if the request var 's' isset, this is a search
}
}}}"	jacobfogg
16025	Page and custom taxonomy query var 404s		Query		normal	normal	Future Release	defect (bug)	new	close	2010-12-29T16:18:22Z	2011-03-03T02:17:24Z	"Reported in IRC. Visit a page and append ""customtax=foo"", where customtax is some registered taxonomy.

3.0.3 => displays the page
3.1 => 404, since obviously no pages matched in the custom taxonomy 

Here is associated code reporter used to register the custom taxonomy: http://pastebin.com/eqQbXVvh and they were visiting http://example/products/?surface=stone where products is a regular page (I ''assume'' from this they may be hoping to display only products with stone taxonomy, maybe with custom handling in a template to get it to work... again this is a guess.)

Seems like this is probably expected to me, but it is a change."	duck_
21276	Respect 'suppress_filters' arg in WP_Query->get_posts()		Query	3.4.1	normal	normal	Future Release	defect (bug)	new	has-patch	2012-07-15T01:13:50Z	2013-02-14T22:06:52Z	Before trying to run filters, there's a check to see if we should suppress filters using the suppress_filters arg. Four filters run whether or not suppress_filters is set to true. This patch just adds checks against that arg for those filter calls.	brandondove
15949	WP 3.0.x comments popup on pages returning 404 [including posible solution]		Query	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-12-22T17:04:42Z	2010-12-26T23:38:37Z	"comments-popup does not work on pages (but still working on blog entries) since the 3.0.x upgrade.

i confirm bug and sollution on both: my own theme and on default them after adding comments_popup_link and comments_popup_script functions.

after a long time looking for a solution i found that the new ""handle_404"" method in class WP (wp-includes/classes.php line 475) is the responsable, substituing this method with an older one from wp 2.x brunch solves the problem.

looks like the new method ""think"" that there is no content when the index file is called with comments_popup parameter on a page id, so it returns a 404 status, as said the old one solves the problem.

"	odosuiadan
20904	WP_Query instances getting entangled with $wp_query global		Query		normal	normal	Future Release	defect (bug)	new	has-patch	2012-06-11T11:55:39Z	2013-05-14T13:25:32Z	"`WP_Query::the_post()` fires `setup_postdata()`, which then uses `get_query_var()`. `get_query_var()`, in turn, calls the `get()` method on the `$wp_query` global object. In this way, WP_Query instances are not truly insulated from each other - they all are tied up with `$wp_query` in a way that seems unnecessary, and causes fatal errors in some cases.

In normal use, you would never really notice the issue, because after the `'init'` action, the following offending line in `setup_postdata()` will return the 'page' query var from `$wp_query`:

{{{
$page = get_query_var('page');
}}}

And, since secondary `WP_Query` instances don't paginate in the same way as the primary query, the 'page' property on those instances doesn't matter much. So, while the value of `$page` is not strictly speaking correct in these cases (it comes from the wrong object), it generally fails silently.

However, if you instantiate a WP_Query object before 'init', you get a fatal error, because `$wp_query->get()` is an undefined method. Here's a simple mu-plugin that will demonstrate the problem:

{{{
function bbg_create_early_wp_query_object() {
	$q = new WP_Query( array(
		'post_type' => 'post'
	) );

	if ( $q->have_posts() ) {
		while ( $q->have_posts() ) {
			$q->the_post();
		}
	}
}
add_action( 'plugins_loaded', 'bbg_create_early_wp_query_object' );
}}}

My suggested solution is to move the `setup_postdata()` logic into a method of the `WP_Query` class, and then use `$this->get( 'page' )` rather than `get_query_var( 'page' )`, to ensure that you're referring to the query vars of the correct query object. The old function `setup_postdata()` then becomes a wrapper for `$wp_query->setup_postdata()`.

In addition, I modified the way that the `$more` global is set, so that it references the current object as well. This prevents `_doing_it_wrong()` errors when firing up a `WP_Query` instance before `'init'`."	boonebgorges
9300	WP_Query with posts_per_page and sticky posts		Query	2.7	low	minor	Future Release	defect (bug)	reopened	dev-feedback	2009-03-08T06:22:26Z	2013-04-29T08:28:36Z	"When using WP_Query with showposts=some_number and you have one post set as a sticky that is out of the range of some_number, the query returned will have some_number plus one posts returned. If the sticky post is within the range of some_number then only some_number of posts is returned by WP_Query.

'''Example Normal''': have 3 posts in order:
Post 1,
Post 2,
Post 3

my_WPQuery = new WP_Query(""showposts=2"");

This will return Post 1 and Post 2

'''Example Error''': have 3 posts in order:
Post 1,
Post 2,
Post 3 (<-- make sticky)

my_WPQuery = new WP_Query(""showposts=2"");

This will return 3 posts (Post 3, Post 1, Post 2).

''Expected to return 2 posts (Post 3, Post 1).''

'''Example OK''': have 3 posts in order:
Post 1,
Post 2 (<-- make sticky),
Post 3 

my_WPQuery = new WP_Query(""showposts=2"");

This will return 2 posts (Post 2, Post 1)."	yukataninja
20899	is_home() should be able to be true when is_feed()		Query		normal	normal	Future Release	defect (bug)	new	has-patch	2012-06-10T19:28:36Z	2012-11-01T10:31:35Z	"is_feed() is a special query flag that can be combined with other query flags — for example, `is_author() && is_feed()` for /author/admin/feed/.

But it can't be combined with is_home(), because is_home() is the fallback that is only set to true when a lot of other things are true — including is_feed(). This appears to be incorrect — is_home() should still be able to be true despite is_feed().

I tracked this down to [1449]. What kind of breakage could occur with this?"	nacin
18897	query_posts / WP_query parameter 'offset' should play nicely with 'paged'		Query	3.2.1	normal	normal	Future Release	defect (bug)	new	has-patch	2011-10-10T22:18:29Z	2012-05-04T15:55:14Z	"
Setting the offset parameter with WP_query ignores the paged parameter.  Thus offset can only be used as if on page 1.  This is unfortunate and seems worth fixing.

See prior #2558 ""query_posts() should support offset"""	here
17427	query_posts and tag		Query	3.1.2	normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-05-13T22:58:52Z	2011-11-17T20:57:12Z	"When i try to make a query like this:

query_posts('tag=sometag');

and ""sometag"" isn't previously used in some post, the query show me all the posts.
i've to add the tag in a post and after delete it ( wp just need the tag exist in ""wp_terms"" table) and after the query works.
"	venerabile
20767	tax_query clobbers tag and category		Query	3.1	normal	major	Future Release	defect (bug)	new	has-patch	2012-05-27T21:19:55Z	2013-05-14T13:31:03Z	"The main query should return a tag or category as its queried object if tax_query is applied to a tag or category archive page. It currently returns the first term derived from the WP_Query->tax_query->queries array which does not include the tag or category as a term in the request. WP_Query->tax_query->queries is a portion of the request, but not the request. Because WP_Query sets is_tag and is_category flags, they have to be captured before dealing with is_tax

The result of this bug is that theme functions return the wrong data because the wrong term is returned with get_queried_object.

Real world example: at eMusic, we pass regions into pre_get_posts to regionalize the content that is returned. On a tag page, if you are in the US, we pass the regions ""ALL"" and ""US"" to make sure you are looking at appropriate content. Here's what the title for the archives looks like - (spoiler: It's ""ALL"" when it should be ""Daily Download""):

http://www.emusic.com/17dots/topics/daily-download/

I am attaching a patch."	wonderboymusic
20560	url_to_postid() string matching is not strict enough, can lead to incorrect results		Query	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2012-04-27T19:01:40Z	2012-11-08T20:59:11Z	"I have been working on a plugin that uses url_to_postid() to automatically translate user generated links to internal links utilizing post ID in order to protect against potential permalink changes.

A bug was reported that involved a link to an external location being translated to an internal link (with post ID) by the plugin.

The current site: http://www.example.com/test

The attempted link: http://www.example.com/test-research

Where test-research is an entirely different site on our multi-site install.

Upon investigation, the source of the problem was an overly generous strpos() check in url_to_postid(), starting at line 322:

{{{
if ( false !== strpos($url, home_url()) ) {
	// Chop off http://domain.com
	$url = str_replace(home_url(), '', $url);
} else {
	// Chop off /path/to/blog
	$home_path = parse_url(home_url());
	$home_path = isset( $home_path['path'] ) ? $home_path['path'] : '' ;
	$url = str_replace($home_path, '', $url);
}
}}}

As home_url() does not append a trailing slash, the link passed that check and was incorrectly processed.  The logic inside that if block resulted in -research being passed as a pagename to WP_Query, which happened to turn up a matching post ID on this particular site.

I have a proposed patch, which I will attach to this ticket asap."	gradyetc
14958	"Add a ""get_post"" filter to get_post()"		Query		normal	normal	Future Release	enhancement	new	dev-feedback	2010-09-25T02:49:22Z	2012-12-05T11:00:24Z	I'm finding a need for a plugin of mine to generically annotate a post with additional information when loaded via get_post().  It would be nice if there were a filter just before the end where the post is still in object form.	mikeschinkel
21803	Add filter to make extending searching easier		Query	3.4	normal	normal	Future Release	enhancement	new	needs-unit-tests	2012-09-05T13:50:13Z	2012-11-07T07:14:55Z	"I'm using custom post types, and want to extend the search function so more than post_title and post_content are searched. It is currently possible to filter `posts_search` but that returns a string such as ` AND (((wp_posts.post_title LIKE '%test%') OR (wp_posts.post_content LIKE '%test%'))) `. This string then has to be rather messily manipulated via `preg_replace` or `str_replace`.

It would be more useful if we could filter a list of fields to be added to the search criteria, so that we could add a function to extend or change the criteria:

{{{
add_filter ('search_fields', 'my_custom_search_fields');

function my_custom_search_fields ($fields) {
    global $wpdb;
    $fields[] = ""{$wpdb->prefix}posts.post_excerpt"";
    return $fields;
}
}}}

The attached patch implements that filter."	mark8barnes
16603	Add hooks to wp_count_posts()		Query		normal	normal	Future Release	enhancement	new	commit	2011-02-20T19:25:18Z	2013-05-04T22:40:31Z	"[[Image(http://mikeschinkel.com/websnaps/Posts_%E2%80%B9_Watermark_Associates_Newsletter_%E2%80%94_WordPress-20110220-142441.png)]]

The use-case where this is needed is when the sites is using roles & capabilities to limit access to viewing posts to only those who have the proper capabilities to see them. 

For example, assume we have a system with a ''""Manager""'' role and a taxonomy called ''""Post Visibility""'' where terms are ''""Visible to All""'' and  ''""Visible to Managers Only.""''  We add a `'see_managers_posts'` capability to ''""Manager.""'' We then filter outs posts with the'' ""Visible to Managers Only""'' term using the `'posts_where'` and `'posts_join'` hooks when viewed by users whose role does not have the `'see_managers_posts'` capability.

With that configuration now assume for example we have 10 posts with 3 of them ''""Visible to Managers Only.""'' The post list in `/wp-admin/edit.php` will use `wp_count_posts()` to show that we have 10 posts when we can only see 7 of them. Currently to fix it so the post counts display `7` for non-managers we have to hook the `'query'` hook, which is a hook of last resort.

So, the attached patch adds two hooks to  `wp_count_posts()`: 

 - `'wp_count_posts_sql'` - To allow modifications of the SQL used to count posts, and 
 - `'wp_count_posts'` - To allow modifications of the array returned by the function.

I decided to add two (2) hooks because not having the former would mean we'd need to make two SQL queries if we need to modify the counts, and not having the latter would mean that we'd have the complexity of modifying SQL in use-cases where the a SQL query modification is not what is needed to to determine the proper counts. 
"	mikeschinkel
17027	Allow WP_Query to return just the count		Query		normal	normal	Future Release	enhancement	new		2011-04-02T18:32:56Z	2011-04-02T18:32:56Z	"Currently, you can't ask just for the total number of posts for a certain query.

You have to execute that query and then retrieve the total using SQL_CALC_FOUND_ROWS.

Maybe a {{{'fields' => 'count'}}} option would do it.

Example where this is needed in Core: #17019"	scribu
14478	Allow explicit ordering of included posts in query_posts		Query		normal	normal	Future Release	enhancement	new		2010-07-30T19:35:31Z	2011-10-25T20:09:12Z	"This is in reference to ticket #9819

I think it would be useful to add an extra orderby value to query_posts that could return posts based on the order they are listed.

So when you do query_posts(""include=3,2,5,4,1&orderby=given"")

They should be returned in the order 3,2,5,4,1

As mentioned by @dd32 in the previously referenced ticket, orderby=none returns the posts in MySQL Natural order, which is by ID."	daltonrooney
9383	Allow get_pages to exclude by slug in addition to id	garyc40	Query	2.7.1	normal	normal	Future Release	enhancement	assigned	has-patch	2009-03-24T03:20:45Z	2011-01-15T04:51:43Z	"Currently, get_pages() allows template authors to exclude certain pages from the result, by their ID. It's more useful to exclude by slug when the IDs aren't immediately known.

For example, on a WordPress site I recently made, I coded an automatically-generated menu listing the site's pages and their subpages. There are certain classes of pages I want to exclude, and hard-coding the page IDs into my menu code just isn't a good way to do it. Excluding by page slug works beautifully.

'''Patch:''' I've included a patch to add this functionality. It is a very short addition to wp-includes/post.php (one new line and two altered lines), has been well used on my (now live) site, and adds a very useful feature.

'''Syntax:''' The syntax is identical to the old use, except that where the ""exclude"" parameter only accepted numbers, it now can take strings. If the value given is not a number, it's treated as a slug. If it is a number, it's treated as an ID like before. For example:

	$subPages = get_pages('hierarchical=0&exclude=sidebar&parent='.$page->ID);

will get subpages of $page that don't have the ""sidebar"" slug. (Numerical values are still treated as IDs, and lists can contain any number of IDs and slugs to exclude.)"	richcon
9470	Allow get_pages to get child pages of multiple pages		Query	2.8	normal	normal	Future Release	enhancement	new		2009-04-06T10:51:02Z	2012-10-30T20:14:27Z	"I'm doig a lot of WordPress CMS work, and am finding it increasingly annoying that i can only get the children of one page through get_pages. 

It would be great if child_of could also, just like include and exclude, be a comma separated array of pages for which you want to fetch the children."	joostdevalk
12719	Custom taxonomy with query_var set, gets taxonomy query_var appended anyway	dd32*	Query	3.0	normal	normal	Future Release	enhancement	accepted		2010-03-26T12:42:16Z	2010-10-28T08:24:18Z	"In my browser address field, appending my WP url with ""?customtax=termslug"", the real WP query string gets changed to ""?customtax=termslug&taxonomy=customtax&term=termslug"".

This causes cases where I append two custom taxes in the URL to not work. E.g. ""?customtax1=termslug1&customtax2=termslug2"" would result in something like ""?customtax1=termslug1&taxonomy=customtax1&term=termslug1&customtax2=termslug2"" and not work.

If i two sets of custom taxonomies and slugs manually through a query_posts it works, and is not modified by WP."	Silkjaer
23329	Deprecate is_main_query()		Query		normal	normal	Future Release	enhancement	new	has-patch	2013-01-30T21:04:29Z	2013-05-14T13:48:58Z	"The function `is_main_query()` is misleading, and rather useless. In practical situations, it is necessary to reference the method in the current query object, such as when used at the `pre_get_posts` action. 

The example in the Codex is even wrong:
{{{
  add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );

  function foo_modify_query_exclude_category( $query ) {
      if ( ! is_admin() && is_main_query() && ! $query->get( 'cat' ) )
          $query->set( 'cat', '-5' );
  }
}}}
I propose deprecating the function as an encouragement for users to refer to the query object method instead."	ethitter
17072	Make $wp_query->query read-only		Query		normal	normal	Future Release	enhancement	new	dev-feedback	2011-04-07T07:09:32Z	2011-04-07T07:55:08Z	"WP_Query has two properties that contain query vars:

$wp_query->query is the initial query.

$wp_query->query_vars is the ""working copy"", with all possible query vars filled.

I propose we prevent modification of $wp_query->query and keep it as a signature of that particular instance."	scribu
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
15033	ajax find_posts should use get_posts()		Query		normal	normal	Future Release	enhancement	new	has-patch	2010-10-04T22:12:08Z	2012-02-13T04:56:01Z	Currently, the find_posts action uses a direct SQL query instead of using the available API.	scribu
11375	allow to disable the private status	ryan	Query	2.9	normal	normal	Future Release	enhancement	new	dev-feedback	2009-12-09T20:54:17Z	2013-01-14T13:27:48Z	"The private status generates all sorts of OR clauses in SQL queries, which is bad from a performance standpoint.

Blogs that do not have any private posts or pages should have the ability to disable the feature altogether, in order to optimize the SQL statements.

Adding an option in a Settings page arguably is plugin material, but WP doesn't currently allow to remove the status altogether.

Were it to be implemented, WP should keep a trace (in a transient) of the following:

{{{
$has_private_posts = (bool) $wpdb->get_var(""SELECT EXISTS 1 FROM $wpdb->posts WHERE post_status = 'private';"");
}}}

checking its value and disabling the type = private type accordingly in non-admin areas would significantly enhance the user experience for those who never use such things."	Denis-de-Bernardy
9256	clean up the global variables when moving out of the loop		Query	2.7.1	normal	normal	Future Release	enhancement	reopened	has-patch	2009-03-01T19:07:38Z	2010-07-23T11:47:00Z	"On a theme, that I am developing, the sidebar has a new WP_Query to get only one post from a specific category. All works well (index, single, archive, pages) displaying correctly the result of the_content() of the main column (the main query) and the result of the_content() of my custom query in the sidebar.

The problem is that only on pages and articles that have pagination (using the <!--nextpage--> construct), the function ""the_content()"" of the sidebar displays the same content of the main column on pages 2, 3, 4 (and so on) of those pages/articles, while on page 1 the various contents are displayed properly.

Is it a bug?

[http://wordpress.org/support/topic/248632 As MichaelH reported], using ""echo $post->post_content;"" fixes the issue temporarily."	aldolat
14477	get_pages with child_of only works with uninterrupted hierarchies		Query	3.0	normal	normal	Future Release	enhancement	new		2010-07-30T19:00:50Z	2010-11-23T01:36:16Z	"I have a page X with several children and grandchildren. Some of the grandchildren have a certain meta key and value. I now want to fetch all pages under page X that have this meta key. After reading the documentation of ''get_pages'', I expected this to work with a single call of ''get_pages''.

But if I use get_pages like this:
{{{
get_pages('child_of=X&meta_key=A&meta_value=B');
}}}
it returns no pages at all (hierarchical=0 has no effect). It seems that's because ''child_of'' triggers a call of ''get_page_children'' which only returns uninterrupted hierarchies. Since the query returns only some grandchildren and no direct descendants, the function fails. IMHO, that's a bug.
"	vividvisions
14368	"make the 'orderby' argument in get_posts() accept all ""post"" fields"		Query	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-20T23:58:41Z	2012-08-28T19:12:46Z	"Right now, some post's fields were not accepted when retrieving posts (even though they were documented in codex . for example ""name"" (slug)  was missing).

this patch sorts the elements in the $allow_keys array (in the same order as the db' s columns) and adds the missing ones, I added every field except the ones that were long text fields (content, excerpt, etc)
"	wjm
15068	merging query objects/arrays		Query	3.0.1	normal	normal	Future Release	enhancement	new		2010-10-08T04:27:58Z	2010-10-08T14:43:09Z	"As multiple post type installations proliferate, I assume more and more people will come across a situation (like me) in which they need to display two (or more) sets of content units, say posts, and post-type ""audio"" in one stream - say on the main blog page. As long as the only condition is the post type itself, that will work fine. However, if those two sets need to be selected using different conditional criteria, say a category in one case, and a custom field in the other, then the current query_posts options will not be sufficient.

While it is possible to retrieve multiple arrays via get_posts and merge them, then sort them using cusomt php, such a solution will break the paged navigation.

If such situations will - as I assume - become more likely as more people use multiple post types and additional variables to specify content, I think it would be useful to be able to combine multiple queries into a meta query that will sort the combined object according to a common sorting variable, say date, and thus preserve the paged navigation.
"	youngmicroserf
11398	new sort method for query_posts (order by last comment date)	ryan	Query	2.9	normal	normal	Future Release	enhancement	new		2009-12-11T15:44:42Z	2010-06-14T00:30:40Z	"I think we need sorting by latest post comment ability for query_posts. ""Recent comments"" plugins does this but we need this sorting in the core. 

BBPress is planned as a WP plugin according latest chat logs posted by Matt. We gonna have to need this anyway."	erden.ozkan
15031	order via meta_query		Query	3.1	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-10-04T18:14:17Z	2013-05-09T14:59:50Z	#14645 added the ability to query based on multiple meta keys, but you can't use it to order posts.	aaroncampbell
21621	setting meta_type doesn't CAST orderby value		Query	3.2	normal	normal	Future Release	enhancement	new	has-patch	2012-08-17T20:01:20Z	2013-05-16T11:54:37Z	"Setting {{{meta_type}}} in {{{WP_Query}}} will cast the {{{meta_value}}} in WHERE clauses to whatever {{{Meta_Query}}} internally resolves it as, however it does not create an alias and does not order by that alias. It orders by an un-CAST'd {{{meta_value}}} which doesn't work for numbers. I realize that {{{orderby}}} set to {{{meta_value_num}}} will fix this, but that doesn't change the fact that {{{meta_type}}} is being ignored.

To test:

{{{
update_post_meta( 1, 'num_as_longtext', 123 );
update_post_meta( 2, 'num_as_longtext', 99 );

add_filter( 'query', function ( $sql ) { error_log( $sql ); return $sql; } );
$stuff = new WP_Query( array( 
	'fields' => 'ids', 
	'post_type' => 'any', 
	'meta_key' => 'num_as_longtext', 
	'meta_value' => '0',
	'meta_compare' => '>',
	'meta_type' => 'UNSIGNED', 
	'orderby' => 'meta_value', 
	'order' => 'ASC' 
) );

print_r( $stuff->posts );

exit();
}}}

That should return 2 then 1, it returns 1 then 2. It generates this SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  
INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) 
WHERE 1=1  AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish') AND ( (wp_postmeta.meta_key = 'num_as_longtext' AND CAST(wp_postmeta.meta_value AS UNSIGNED) > '0') ) 
GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value ASC LIMIT 0, 10
}}}

My patch returns:

{{{
SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  
INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) 
WHERE 1=1  AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish') AND ( (wp_postmeta.meta_key = 'num_as_longtext' AND CAST(wp_postmeta.meta_value AS UNSIGNED) > '0') ) 
GROUP BY wp_posts.ID ORDER BY CAST(wp_postmeta.meta_value AS UNSIGNED) ASC LIMIT 0, 10
}}}
"	wonderboymusic
14115	sticky posts - query.php optimization		Query	3.0	normal	minor	Future Release	enhancement	new	has-patch	2010-06-27T16:35:09Z	2010-06-27T17:34:31Z	"Making improvements in plugin xili-language [http://wordpress.org/extend/plugins/xili-language/], I use filter for get_option('sticky_posts')... and to find the right translation of sticky posts for each home language (demo shown here [http://multilingual.wpmu.xilione.com/] ).
The call is at line 2473 of query.php. and done '''every time but only used if is_home is true'''. 
To optimize I propose that this call of get_option can be encapsulated inside if condition as suggested below

{{{
if ($this->is_home) { 
get_option('sticky_posts');
if ( $page <= 1 && is_array($sticky_posts) && !empty($sticky_posts) && !$q['caller_get_posts'] ) { ///// 
}
}
}}}

It is microseconds for server but useful for hooking functions etc, etc..."	michelwppi
16854	wp_query does not handle multiple exclude author properly		Query	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-03-14T11:35:11Z	2013-04-25T17:07:03Z	"when making a query with $args containing 

{{{
'author' => '-2,-3,-4'
}}}

line 2008 of wp-includes/query.php only uses 1 element of the array that is created from the 
{{{
$q['author'] string
}}}

{{{
 $q['author'] = explode('-', $q['author']);
 $q['author'] = (string)absint($q['author'][1]);
}}}

I have attached a patch that works with 1 or more excluded authors

essentially it, implodes the array back into a string of author ID's rather than selecting only element [1] of the exploded array

{{{
$q['author'] = explode('-', $q['author']);
$q['author'] = implode('',$q['author']);
}}}
"	commentluv
16910	Lazy evaluation for WP_Query		Query		normal	normal	Future Release	feature request	new		2011-03-21T01:04:39Z	2012-02-25T15:18:54Z	"Suppose we have a 'city' post type, which is associated with a 'country' post type, such that each 'city' post has a 'country' parent post. 

Then the 'country' CPT has a 'language' taxonomy associated to it.

Now, let's say we want to find all the cities which speak a certain language.

Let's assume we already have the `'post_parent__in'` query var: #13927

We could construct a two-step query, like this:

1) Get all the countries with that language:

{{{
$country_ids = get_posts( array(
  'fields' => 'ids',
  'post_type' => 'country',
  'language' => 'french',
  'nopaging' => true
) );
}}}

2) Get all the cities belonging to that country:

{{{
$cities = get_posts( array(
  'post_type' => 'city',
  'post_parent__in' => $country_ids
) );
}}}

No custom SQL queries; fantastic!

But, if you have many many countries (not a good example, I know), you waste a lot of time passing the IDs back and forth from PHP to SQL.

Final query:

{{{
SELECT *
FROM wp_posts
WHERE post_type = 'city'
AND post_parent IN (1, 2, 3, ...)
}}}

It would be a lot more scalable to put the first query into the second, directly, as a subquery.

So, it would now look like this:

1) Get all the countries with that language:

{{{
$country_ids = get_posts( array(
  'fields' => 'ids',
  'post_type' => 'country',
  'language' => 'french',
  'nopaging' => true,

  'lazy' => true'
) );
}}}

2) Get all the cities belonging to that country:

{{{
$cities = get_posts( array(
  'post_type' => 'city',
  'post_parent__in' => $country_ids
) );
}}}

$country_ids would now be a WP_Lazy_Query object, which would just contain the subquery SQL. It would be appended to the second query, when needed:

Final query:

{{{
SELECT *
FROM wp_posts
WHERE post_type = 'city'
AND post_parent IN (
  SELECT ID
  FROM wp_posts
  WHERE post_type = 'country'
  INNER JOIN wp_terms ...
)
}}}"	scribu
12014	Author selection becomes performance issue with large userbase with quick edit in admin		Quick/Bulk Edit		normal	normal	Future Release	defect (bug)	new		2010-01-25T17:51:15Z	2010-03-25T10:08:25Z	"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1086

When the author user base becomes too large, the script handling for the quick edit or inline edit begins to fail. In our specific situation, we have over 14000 authors for a single blog. This is causing the inline-edit-post.js to timeout and not completely render all the fields.

Since this would be such a rare issue, I think the best solution would be to just offer a hook that could keep the author option from being a part of the quick edit form. Since the field value is filled by js, then just replacing it with a hidden input keeps the author from being replaced on update.
"	wpmuguru
12769	Disappearing posts/pages (in quickedit mode)		Quick/Bulk Edit	2.9.2	low	minor	Future Release	defect (bug)	new		2010-03-30T08:53:39Z	2011-03-13T22:53:58Z	"Steps to reproduce:
1. Quickedit a post.
2. Click save and instanly click quick-edit on another post.
When the ajax-request completes the first quick-edited post will disappear from the posts table. This is only a display bug."	catahac
19907	Updating an unpublished draft post in quick-edit mode sets the post's publish date		Quick/Bulk Edit	2.7	normal	major	Future Release	defect (bug)	new	needs-unit-tests	2012-01-27T14:51:32Z	2013-01-14T11:35:22Z	"'''Problem:'''

 • If you update an unpublished draft post in quick-edit mode, the post's ''publish date'' is saved. [[BR]]
 • Then, later on, when you actually publish the post, its publish date is incorrect.

'''Suggested fix:''' 

 • If the post is a draft, do not automatically set the post's publish date in quick-edit mode.

'''Steps to reproduce:''' 

(1) Go to WP-Admin -> Posts.

(2) Create and save a new post. Make sure you click ""Save Draft"" — not ""Publish"".

(3) Note that the post is marked as ""Publish immediately""; that is, it has no publish date.

(4) Go back to WP-Admin -> Posts.

(5) Hover your pointer over the post you just created. Click ""Quick Edit"". 
 — Note that in the panel that appears, the ""Date"" field is automatically set to [the current date and time].

(6) Click ""Update"" in quick-edit mode.

(7) Hover your pointer over the post you just updated. Click ""Edit"". 
 — Note that in the Edit Post page that appears, the post is now marked as ""Publish on: [the date and time from step (5)]""
"	uxtremist
12940	Add filter for contents of Quick Edit panel		Quick/Bulk Edit	3.0	normal	normal	Future Release	enhancement	new		2010-04-09T16:16:07Z	2012-06-27T15:22:40Z	"Quick Edit / Reply for comments has a filter called {{{wp_comment_reply}}} which allows plugins to replace its contents.

However, there is no such filter for Quick Edit for posts.
With the new custom post type support, it can be very important for plugins to be able to replace the contents of the Quick Edit panel.[[BR]]
I would therefore like to create a similar filter for Quick Edit for posts.

Does anyone have any comments or suggestions?[[BR]]
And will it get into 3.0, or is it too late even though it's just a very minor change? I personally think it is very important that it gets into 3.0, since the utility of custom post types is severely limited in some cases by the lack of it."	caesarsgrunt
11302	Bulk editing posts should pre-fill fields with the same value		Quick/Bulk Edit	2.9	normal	normal	Future Release	enhancement	new		2009-12-01T20:48:41Z	2012-07-13T04:08:11Z	"All I need is quickly move some posts from one category to another.

How to simulate this problem:

Create 2 posts in Uncategorized category.
Check both of them - Bulk actions - Edit.
There is no category selected even if both posts are in Uncategorized. When I check Category1 and click Update, both posts are now in Uncategorized and also in Category1. But no chance remove them from Uncategorized with Bulk actions."	pavelevap
9683	Inconsistent font for Quick Edit labels		Quick/Bulk Edit		low	minor	Future Release	enhancement	new	needs-review	2009-04-29T22:02:15Z	2012-12-19T17:34:49Z	It's always bugged me that the labels for all the Quick Edit fields are a serif font and italic when all the other labels are sans-serif (aside from major headers and a few other elements).  Am I alone in this?	aaron_guitar
15637	Inline Edit Has No Hooks		Quick/Bulk Edit	3.1	normal	normal	Future Release	enhancement	new		2010-12-02T01:00:50Z	2012-05-11T11:23:26Z	"Currently, I am attempting to make it possible for an author to ""feature"" a post straight from the Quick Edit screen. I am looking in wp-includes/class-wp-posts-list-table.php and there are no hooks or actions for the Quick Edit screen so that I can add a checkbox or another input field in there.

I just want to add a checkbox to ""feature"" the post and then save it to the custom fields of that post, not too hard. But I need the do_action's to be there! Thanks!"	sean212
11328	Issue with double click on comment's text when quick edit is used		Quick/Bulk Edit	2.9	normal	major	Future Release	enhancement	new		2009-12-04T21:12:35Z	2011-04-22T21:26:47Z	"When you edit comment via quick edit or when you write a reply on ""Edit Comments"" page and double click on text of other comment, used quick editing is turned off and quick editing is turned on other comment, with all text which you wrote lost.

I noticed this when I wrote a reply on one comment and when I wanted to copy a word from that comment by double clicking on it, my whole reply was lost.

So enabling of quick edit via double click on comment's text should be  disabled when quick edit is used."	dimadin
10480	Need method to display custom errors for quickedit		Quick/Bulk Edit	2.8.2	normal	normal	Future Release	enhancement	new	reporter-feedback	2009-07-24T21:34:14Z	2011-07-27T06:01:59Z	Some time ago I wrote [http://wordpress.org/extend/plugins/wypiekacz/ Wypiekacz] plugin. It checks if post satisfies some rules. When check result is negative, plugin displays message for the logged user. Unfortunately when post is edited with quickedit, user do not get any error message. It will be good do add mechanism do return custom error message to the client for quickedit.	sirzooro
16392	Quick Edit API should allow to pick up custom field values automatically		Quick/Bulk Edit	3.1	normal	normal	Future Release	enhancement	new	has-patch	2011-01-27T22:22:10Z	2012-03-28T18:29:35Z	"Attached are two screenshots of the same plugin in 3.0 and 3.1. The plugin code is unchanged between the two. Only WP gets an svn switch.

I'm investigating where it's coming from, but as you can note from the screenshots 3.0 lists nada for that plugin on the one hand side, while 3.1 lists actual fields and leaves them blank. The latter causes data loss when Quick-Editing a row.

Cross-referencing ticket references:

http://code.google.com/p/wp-e-commerce/issues/detail?id=327

Plugin SVN:

http://svn.wp-plugins.org/wp-e-commerce/branches/3.8-development
"	Denis-de-Bernardy
16502	Quick Edit contents should only be rendered if quick edit button in actions after filtering		Quick/Bulk Edit	3.0.4	normal	minor	Future Release	enhancement	new	has-patch	2011-02-09T08:48:22Z	2011-02-09T15:29:11Z	"_the_post() has a static call to get_inline_data() to generate the quick_edit content. This happens even if after running the (undocumented) 'post_row_actions' filters the Quick-Edit link ($actions['inline hide-if-no-js']) is not amongst the actions anymore.

Prefixing the get_inline_data() call with 
{{{
if (isset($actions['inline hide-if-no-js'])
}}}
would be a simple solution, enabling people to cancel the performance-impacting quick-edit form generation alltogether."	wyrfel
14326	Renaming tags/categories causes unpredictable results		Quick/Bulk Edit	3.0	lowest	trivial	Future Release	enhancement	new		2010-07-16T02:39:14Z	2010-11-22T17:35:14Z	When renaming a tag/category through quick edit, if the new title contains the character ' — ' (&8220;) the script produces unexplainable results.	kdizas
11472	Should QuickEdit remove posts from lists as needed?		Quick/Bulk Edit	2.9	normal	normal	Future Release	enhancement	new		2009-12-17T10:29:38Z	2013-01-21T23:51:08Z	"Create a draft post. Visit Posts / Edit, and quickedit the draft. Set its status to Published and save. It remains around, with the published status, instead of being removed from the list.

Reporting this just in case, as it might be a UI feature rather than a bug.
"	Denis-de-Bernardy
12684	Add Edit to Bulk Actions menu on Categories screen		Quick/Bulk Edit	3.0	normal	normal	Future Release	feature request	assigned		2010-03-23T17:04:15Z	2013-01-22T01:46:29Z	On edit-tags.php?taxonomy=category the only bulk action is Delete, because we never got around to adding Edit. We should add Edit to the bulk actions menu so people can change category parents easily. Has been requested on the Ideas forum a number of times, so am starting a ticket. If there's a technical reason not to add Edit to the bulk actions on this screen, then we should get rid of the menu and just have a Delete button. Adding Edit would be preferable, though, for consistency and usefulness. 	jane
12208	Add Quick Edit To Media Library		Quick/Bulk Edit		normal	normal	Future Release	feature request	new		2010-02-12T01:45:12Z	2013-04-12T16:28:27Z	I am requesting that a quick edit link be added to the media in the media library like what is on the posts page. I would like to quickly be able to edit titles, alts, and captions at least.	queenofdiy
20299	"Preview changes on a published post makes all post meta ""live"""		Revisions	3.3.1	normal	major	Future Release	defect (bug)	new	has-patch	2012-03-25T02:02:16Z	2013-05-22T17:31:24Z	"Here's the use case. Client wants to preview an update to a published post (as the Preview Changes button correctly implies they can). This post has some important post meta that impacts that preview.

Here's the problem - because post meta is not saved to a revision (it looks for the ""real"" post), when the preview button is pressed, save_post runs, and saves the meta data to the real, published post, even though the user only intends to preview the change.

Without realizing it, the user has updated the published version. That can be prevented by not saving post meta to revisions (when using custom save_post hooks), but then there's no non-hacky way to actually preview the full changes.

I believe this bug has been present for a while, we just rarely use the Preview function on published posts, and when we do, probably never tested it with critical post meta."	jakemgold
18733	Show revision number for post/pages in Revision list	midhund	Revisions	3.3	normal	normal	Future Release	enhancement	new		2011-09-21T11:26:33Z	2013-05-02T09:46:41Z	"Sometimes the current revision title is not enough to identify the post/page revisions on the list. So I wish to show the revision number with link to revisions's page.

I have the patch, please review it."	midhund
13382	_wp_post_revision_fields filter is not very useful		Revisions	3.0	normal	normal	Future Release	enhancement	new		2010-05-13T20:57:51Z	2013-01-21T14:48:16Z	"The _wp_post_revision_fields filter allows plugins to modify which post fields get revisioned (the default is title, content, excerpt).

It's pretty useless, though, since it's only run once and can't be changed by post_type.  A custom post type, for example, might only want to enable revisions on the content.

The _wp_post_revision_fields() is also a variation on the getter/setter pattern (static variable) we use in a few places to avoid globals.  It makes the function kind of crazy.

Proposal:  Split into two functions

{{{
@var int|object|array $post post_id or post object or post array
@return array Fields to revision: array( field => i18n'd label )
function wp_get_post_revision_fields( $post ) {
    // filter with _wp_post_revision_fields: pass post_id, post_type, ...?
    // don't cache results
}

@internal
@var array $past post array
@return array Filled $post array with revision info
function _wp_post_revision_fields( $post ) {
    $revisionable = wp_get_post_revision_fields( $post )
    // ...
}
}}}

I'd like to see this in 3.0 if we can, but marking as 3.1 for now."	mdawaffe
9681	Add hooks to allow a plugin to support the deletion of unneeded revisions		Revisions	2.8	low	minor	Future Release	feature request	new		2009-04-29T15:50:32Z	2013-01-21T14:59:10Z	There currently is a means to restore a revision, but no means to delete one.	Denis-de-Bernardy
23314	Allow published posts to be revised without being updated immediately		Revisions		normal	normal	Future Release	feature request	new	early	2013-01-29T19:39:01Z	2013-04-10T09:08:15Z	Two things. Let's allow contributors to submit changes for review to their published posts. Let's also allow users to make changes to their posts and pages and save those changes, without updating the published post or page.	kovshenin
10834	schedule a revision to publish without unpublishing existing content		Revisions		normal	normal	Future Release	feature request	new		2009-09-23T20:49:27Z	2010-03-25T04:28:23Z	"Boy, it sure would be swell if I could take an existing post/page, edit the content or add tags/custom terms, and then schedule that revision to be published later, without unpublishing the previous revision.

Other people think it would be cool too... [[BR]]
http://wordpress.org/support/topic/216545 [[BR]]
http://wordpress.org/support/topic/226600 [[BR]]
http://wordpress.org/support/topic/273701 [[BR]]
http://wordpress.org/support/topic/273730 [[BR]]
http://wordpress.org/support/topic/275932 [[BR]]
"	alxndr
16839	Category Base Should be Slugified		Rewrite Rules	3.1	normal	normal	Future Release	defect (bug)	reviewing	early	2011-03-12T21:42:52Z	2011-08-29T23:45:18Z	"Vanilla install of 3.1. Change category base to Foo Bar.  Link generated is example.com/Foo Bar/cat (note the %20/space). Clicking link tries to access /FooBar/cat and 404's.

I see there are a few other tickets regarding categories, including #16662 but no specific mention of custom category base.

"	miklb
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
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
14991	extra_rules_top should take priority over extra_permastructs		Rewrite Rules	3.1	normal	normal	Future Release	defect (bug)	new	has-patch	2010-09-29T18:00:08Z	2011-01-13T04:43:24Z	Since extra_rules_top are specifically added instead of generated like the those from the extra_permastructs which runs through generate_rewrite_ruls(), shouldn't the extra_rules_top take priority in conflicts?	prettyboymp
14549	Allow Control over Hard vs. Soft Rewrite Flush		Rewrite Rules		normal	normal	Future Release	enhancement	new	dev-feedback	2010-08-06T02:20:24Z	2011-01-13T04:42:36Z	"Many times when the rewrite rules are flushed, it really only requires that the rules be written to the database and not .htaccess. In some cases, re-writing .htaccess can cause detrimental changes to the mod rewrite rules.

This patch allows a plugin author to have control over whether a hard flush is executed when flush_rewrite_rules() is called.

Introduces filter: flush_rewrite_rules_hard

Depends on #14546"	ikailo
18962	Allow duplicate slugs for different content		Rewrite Rules		normal	normal	Future Release	enhancement	new	needs-unit-tests	2011-10-16T16:23:34Z	2013-05-24T14:25:26Z	"Currently, the slug of a post (or any other CPT) must be unique. 
If a content is being created and an already existing slug is being assigned to it - WP will add a number for identification (i.e. about-2 etc).

That means, that if one has content from different content types, or in different categories (taxonomies), it still cannot have same slug.

The issue might be very disturbing when working in a multi lingual site (i.e using WPML or any other plugin for that).
Suppose there is an about page - www.mysite.com/about.
This is in the main language of the site.
Than a translation to that content page is being added,  let's say it is translation to English.
You would expect url something like www.mysite.com/en/about, but the slug is being changed to about-2, so the url of the about page in English becomes www.mysite.com/en/about-2.
For a site with 10 languages, let's say, it will end with urls like site.com/lang/about-10 etc.. and this is not looking good and may confuse.

As a cms, WP should let the admin/developer/operator - to have same slugs for different content types, or even in the same content type. The $post->ID is the unique identifier of a content, why should be also the slug?

"	maorb
13837	Better site rewrite handling and UI, fix hard/soft rule flushing		Rewrite Rules		normal	normal	Future Release	enhancement	new		2010-06-11T00:13:17Z	2010-10-28T09:38:07Z	Per discussion in IRC. We want to cleanup and make hard/soft rewrite rule flushing consistency, etc.	wpmuguru
12779	Better support for custom post types in WP_Rewrite	ryan	Rewrite Rules		normal	normal	Future Release	enhancement	new		2010-03-30T20:04:30Z	2012-08-24T05:17:56Z	"See also #12605 and [13773].

We currently use bitmasks in WP_Rewrite, which we should remove and convert to an array of URL types that can be checked using in_array(). We currently do not use bitmask operations in WP_Rewrite that would make them preferable for use.

To currently use custom post types with endpoints, a plugin would need to do the following, from [comment:5:ticket:12605 dd32 in #12605]:
{{{
define('EP_WIKI', 131072); // 2^17. 2^13 is used by core.
register_post_type('wiki', array(
	'label' => __('Wiki'),
	'public' => true,
	'supports' => array('revisions', 'editor', 'title'),
	'permalink_epmask' => EP_WIKI,
	'hierarchical' => true
));
add_rewrite_endpoint('history', EP_WIKI);
}}}

In particular:
> Care would need to be taken that any custom endpoints are in {{{2^x}}} format, and not currently in use by any other plugins loaded.

This would need to be backwards compatible with the existing bitmasks. More or less, {{{WP_Rewrite::add_endpoint()}}} would need to still take bitmasks and convert them to the new format."	nacin
11931	Day/Month/Year Permalink Structure Fails in Archives	ryan	Rewrite Rules	2.8.6	normal	normal	Future Release	enhancement	new		2010-01-17T14:53:37Z	2010-06-23T17:02:55Z	"If you use a permalink structure with %day%/%monthnum%/%year% then the archives automatically become date/%day%/%monthnum%/%year%. Wordpress automatically makes the links to monthly archives date/01/2010 etc (which is good), but if you go to it you get a 404 not found.

Reproduce using for example /%post_id%/%postname%/%day%/%monthnum%/%year%/

I ""fixed"" it with this plugin I wrote, but it will probably fail when things like /page/2/ come into play (that wasn't really important yet). "	Frenzie
14502	Enable /post-type/taxonomy/term/ permalinks		Rewrite Rules		normal	normal	Future Release	enhancement	new		2010-08-01T22:57:29Z	2013-02-07T21:52:30Z	After we get /post-type/ handled (see #13818), it would be nice if we also had /post-type/taxonomy/term/ mapped to ?post_type=post-type&taxonomy=term	scribu
13701	Full support for middle and little endian permalink structures		Rewrite Rules	2.9.2	normal	normal	Future Release	enhancement	reopened	needs-unit-tests	2010-06-02T14:34:08Z	2013-05-14T13:32:31Z	"This only happened after I switched over to the WordPress 3.0 development version, so I'm inclined to think it's a bug.  When I use the traditional wp_get_archives or the dropdown version it shows that posts exist.  However, when I click to go to any of those past posts, I only get a 404 Error.  This problem is very consistent, happening 100% of the time.  Disabling all plugins has no affect on the problem.

The only other information that might be helpful is that I've integrated WordPress into a website that I built and I am using a custom theme that I built.  It only has the index.php, single.php, and style.css files.

Again, the wp_get_archives function worked just fine with the exact same setup that I have now prior to switching to the 3.0 version, so I'm not sure what changed."	RevelationTravis
16725	Inconsistent leading slash in WP_Rewrite		Rewrite Rules		normal	normal	Future Release	enhancement	new		2011-03-02T17:25:58Z	2011-03-02T17:25:58Z	"#16626 revealed an inconsistency in WP_Rewrite, where {{{$wp_rewrite->front}}} has a leading slash, but the final rules array doesn't.

This is caused by the fact that {{{$wp_rewrite->permalink_structure}}} itself has a leading slash.

Also note that {{{$wp_rewrite->search_structure}}} stands out as the only structure that doesn't have a leading slash.

This should be made consistent somehow."	scribu
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
15324	There needs to be a page_base in rewrite.php		Rewrite Rules	3.1	normal	normal	Future Release	enhancement	assigned	dev-feedback	2010-11-05T21:34:26Z	2011-01-13T10:45:44Z	I'm not sure why this feature doesn't exist. It looks trivial and important. There are many reasons for putting pages at, say, /page/%pagename%. The attached patch makes it possible to write a plugin to allow this.	nkuttler
9824	make better use of stubs when verbose rules should apply		Rewrite Rules		normal	normal	Future Release	task (blessed)	reopened	has-patch	2009-05-15T01:03:56Z	2011-11-02T16:08:26Z	"Related to:

http://core.trac.wordpress.org/ticket/6603#comment:27

Problem fixed is:

> posts show up as www.apexprd.org/page/2 and not /news-and-events/page/2 as it should.

with permalinks set to /something/$postname%/

we arguably don't necessarily need verbose rules here, since there is a stub."	Denis-de-Bernardy
23016	Allow plugins to manipulate WP_Roles ($wp_roles global) on construct		Role/Capability	3.5	normal	normal	Future Release	defect (bug)	new	early	2012-12-20T08:38:46Z	2013-05-14T13:32:58Z	"The WP_Roles class is difficult to extend. There are no actions, filters, or intercept points to allow plugins to target it. Because the $wp_roles global can be created anytime (even doing_it_wrong on plugins_loaded) there's no reliable way to modify any part of $wp_roles.

(The only place WP_Roles actually has any action at all is in the set_role() method, which is the least useful function in the class since it noops all user roles if a user has more than one.)

The specific use case I have is bbPress's dynamic roles.

bbPress is unable to add its dynamic roles to the $wp_roles global on switch_to_blog(). Neither of WP_Roles's initialization methods have actions to allow bbPress to add its roles on.

* switch_to_blog() calls $wp_roles->reinit()
* then wp_get_current_user()
* finally $current_user->for_blog()

At no point can bbPress reliably append its roles to $wp_roles->roles, causing the current user to incorrectly be missing their bbPress role for that site.

More over, the WP_Roles::reinit() method seems like a one-use stop-gap to fix a specific problem, that ends up introducing other issues with trying to extend it. If the use_db flag is set to false, it bails early, and there's no way for plugins that don't use database roles to reinitialize their roles correctly again.

The attached patch does two things:

* Removes the reinit() method completely, and instead re-instantiates the $wp_roles global inside switch_to_blog(). WP_Roles::_init() is not a heavy function, and the guts are basically identical between the two methods.
* Adds a byref action to WP_Roles::init() that allow plugins like bbPress to add their dynamic roles anytime $wp_roles is created."	johnjamesjacoby
12107	Author role overrides edit image title set by editor		Role/Capability	2.8.6	normal	normal	Future Release	defect (bug)	new		2010-02-01T01:56:49Z	2010-11-13T07:42:50Z	"If assigned as 'Author' as Role in Wordpress User Setting, Author cannot add or edit the 'Edit Image Title' field for any images (even though they upload themselves)

Furthermore, if there is an existing text in 'Edit Image Title' field, and if Author 'Save Draft' or 'Update Post' (without doing any editing at all), the Image Title will be removed.

In other words, only the Roles of 'Admin' and 'Editor' are able to add Image Titles to images. The Role of 'Author' cannot add image titles and not only that, by accessing and saving a post, any existing Image Titles added by Admin or Editor becomes removed.

I tested on Wordpress version 2.8.6 and 2.9.1

I have previously posted a thread on the support forum here http://wordpress.org/support/topic/356199?replies=1#post-1365412"	noyu
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
16719	Remove vestige add_users capability		Role/Capability		normal	normal	Future Release	defect (bug)	new	has-patch	2011-03-01T20:17:38Z	2012-10-25T20:18:37Z	Listed in populate_roles_300() and added in [14174], it was never used. The situation it was presumably introduced for now falls on promote_users.	nacin
16291	user role drop down inaccurate on ms-sites.php		Role/Capability	3.0.4	normal	normal	Future Release	defect (bug)	new		2011-01-18T21:23:32Z	2011-01-18T22:39:11Z	"If a user has been assigned a role and an individual capability, the user list doesn't show the correct role for the user. 

This is the scenario to replicate this issue.  User is currently given one role (ie. editor).  Then some plug-in adds an individual capability (db has role and cap serialized - order is important). You then go and change the role(ie. publisher) of that user using ms-sites.php (db has cap then role serialized). When you return to ms-sites.php (not immediate page load, but refresh, or new page load), the drop down menu for the user in question will show Administrator. It appears, that ms-sites is pulling the first item from the serialized list, and since it isn't a role, it doesn't know how to populate the drop down.

This is a particular issue, if you go to the page to change any information not related to user permissions.  Anyone whose accounts had the extra cap would suddenly become Administrators.

There may be other scenarios where this same things happens, but as best I can tell this is the particular scenario that is causing me problems.

Also, I do realize that there is a potential for user->role->cap overhaul in a future release, but since it doesn't seem to be part of the 3.1 milestone, I thought this should be fixed. 

As another note, the users.php page seems to handle this scenario a bit better.  The solution might be over there.   "	hughestm@…
14479	Add filter hook to 'is_super_admin()' function	benward	Role/Capability	3.0	normal	normal	Future Release	enhancement	new	has-patch	2010-07-30T20:51:38Z	2010-11-18T10:06:55Z	"This patch adds a new filter, named 'is_super_admin' to the end of the capabilities.php:is_super_admin() function, allowing plugins to override the result of this capabilities check.

Use cases:

    * Applying/restricting Super Admin privilege based on an external user authentication/permissions system.
   * Restricting Super Admin privilege based on a user's network location."	benward
15819	Create user_can_for_blog function		Role/Capability	3.1	normal	normal	Future Release	enhancement	new	has-patch	2010-12-14T19:18:45Z	2012-12-13T21:38:50Z	"To compliment #14602, a user_can_for_blog function is needed.

Currently we have no function to pass a user ID, blog, and a capability/role which will return whether the user can perform that role or has that capability for a particular blog.

See attached patch please.

Thanks,
Mike"	mweichert
2531	Functions for registering additional capabilities and getting a list of all capabilities		Role/Capability	2.0.1	normal	normal	Future Release	enhancement	assigned		2006-03-05T15:50:58Z	2012-06-28T13:44:05Z	"Plugin authors need a way of announcing the additional ""add on"" capabilities used in their plugins.

Additionally, role manager plugins need a way of getting a list of all registered capabilities.

Proposed functions:


{{{
register_cap('cap_name');

get_all_caps();
}}}


Patch is coming.

Initial milestone of 2.1, but it would be really nice to get this into 2.0.2 ... because 3rd party capabilities are largely useless until we have this."	markjaquith
17924	Make Integrating Multiple Roles Per User Easier for Plugin Authors		Role/Capability	3.2	normal	normal	Future Release	enhancement	new	has-patch	2011-06-28T23:40:48Z	2013-05-22T13:49:59Z	"WordPress supports multiple role per user, however to use this feature is very difficult for plugin authors to integrate well, and often requires adding plugin admin pages instead of integrating with the pre-existing user-edit.php. Due to the difficulty of this, and the fact that most plugins that allow this aren't very user-friendly, I believe users are staying away from multiple roles.

This ticket aims to change how easy it is to work with the current role management system, as well as to add a couple role-based filters and actions, while still keeping the front-end of the administrative interface single-role only. (Because it seems to be the prevailing opinion the multiple roles per user is plugin territory.) In addition, I completely agree that the vast majority of sites can best function with one role per user, however in some cases (such as the site I'm working on now) you simply need to be able to choose multiple roles.

= Changes =

== First Patch File ==
attachment:Replace_Admin_Role_Dropdown.patch
The first patch file moves the code for the role dropdown off of /wp-admin/user-edit.php, /wp-admin/includesclass-wp-users-list-table.php, /wp-admin/users-new.php, /wp-admin/options-general.php and into /wp-admin/includes/template.php where two new functions are created:

=== {{{wp_get_dropdown_roles()}}} ===
This function does what {{{wp_dropdown_roles}}} used to do, but it returns the value instead of echoing it. (Note that {{{wp_dropdown_roles()}}} now acts as a wrapper for {{{wp_get_dropdown_roles()}}}. (The old function is still in place for backwards compatibility.)

=== {{{wp_user_role_selector()}}} ===
This function creates the full dropdown and applies a new {{{'user_role_selector'}}} filter to the markup before echoing it out. This way the default dropdown can be overridden by something else (perhaps checkboxes). 

== Second Patch File == 
attachment:Create_Role_Update_Actions_Filters.patch 
The second patch file changes the functions that handle user creation and updating so they can be hooked into and a developer could make this work with multiple roles. This file affects /wp-admin/includes/users.php and /wp-includes/user.php.

=== {{{wp_sanitize_user_role()}}} ===
A new {{{sanitize_user_role}}} filter was created and sanitation of {{{$_POST['role']}}} in /wp-admin/includes/user.php when user-edit.php is submitted was moved there. The new function is called {{{wp_sanitize_user_role()}}}. (This is so that if user-edit.php is submitted and {{{$_POST['role']}}} were to contain a value other than a string (perhaps an array of roles) it can be sanitized and worked with accordingly.

=== {{{pre_user_role}}} ===
A new {{{pre_user_role}}} filter was added to {{{wp_insert_user()}}} in /wp-includes/user.php. This was mainly done because almost every other field that this function processes has a matching filter like this, and I thought maybe {{{$roles}}} felt left out as it did not. :(

I supposed somebody could also use it for something useful as well.

=== {{{apply_user_role}}} ===
A new {{{apply_user_role}}} action was added to {{{wp_insert_user()}}}. The function itself no longer uses {{{$user->set_role()}}}, instead saving user role changes is now handled by this new action. A matching function {{{wp_apply_user_role()}}} was added to set the user role like {{{wp_insert_user()}}} used to do. This way however, a plugin author could simply hook into {{{apply_user_role}}} to apply multiple roles to a user.

= Conclusion =
All in all, this patch was designed so that the average user would never even notice that a change has been made to user management, however a plugin author looking to add an easy way for people to select multiple roles for a user can quickly hook into this and have a nice, easy, well integrated and WordPress-like plugin.

I have done a few tests adding users and changing roles around with these patches applied on a fresh installation with no plugins and the only changes to WordPress being those that are in the attached patches, and everything seems to work seamlessly.

By the way, I am quite new to WordPress, so I added the needs-testing tag, because it does, but I also want to make sure I've done everything the 'WordPress' way and I want to make sure I havn't missed anything that is broken because of these small changes."	mobius5150
14986	Make WordPress roles/capabilities more secure (edit_users related)		Role/Capability		normal	normal	Future Release	enhancement	new		2010-09-28T20:39:03Z	2011-01-13T12:36:44Z	"We've discussed this before, but after some thought, I think we can do this and make it work.

Right now, the edit_users capability is the key to the kingdom. Anybody with edit_users can change their role to anything, including to something with more capabilities than they already have.

Back in #6908 and #6014, this was thought about in terms of the old user levels system, which of course shouldn't be used and makes no sense.

In #8770, an editable_roles filter was introduced, which allows a plugin to limit the roles that a user can change themselves too. This works for one aspect of the problem, but a) it doesn't solve the passwords problem(1), and b) it assumes that the roles are still only in one chain of command. That is to say, that all the roles have an ordering, where each role has all the capabilities of the role ""below"" it.

To solve these, I think we need a capability comparison system. To wit, code that implements these two rules:

1. No user can change the role of another user to a role that has capabilities that the changing user does not also have.

2. No user can change either the role or the password of another user who has any capability that the changing user does not also have.

For rule 1, this means that if Adam was to try to assign Bob a role, he would only be given the choice of assigning roles that have a subset of the capabilities Adam himself had.

For rule 2, if Adam was to try to change the role or the password of Bob, he would not be able to change either unless Bob already had a subset of Adam's own capabilities. 

This makes the roles have a sort of definable hierarchy, where roles with lesser capabilities can be multi-faceted. I can define more than one chain of roles which are ""above"" each other in hierarchy, allowing me to build a tree of groups and users capable of different things.

For things like bbPress-as-a-plugin, this sort of enforcement is going to be a must-have feature.

Note 1: The ""passwords problem"" is that any user who can change another users password can easily change the password of somebody of ""higher"" rank, log in as them, and then have their capabilities. It's detectable, but in some cases, may not be so detectable. Admins who don't log in often, say.

Note 2: We also need role management in core, but that's a topic for a separate day. I'm speaking only of enforcement of a security model here for now."	Otto42
10201	Remove user-specific caps		Role/Capability	2.8	normal	normal	Future Release	enhancement	assigned	early	2009-06-17T23:02:36Z	2013-01-04T00:51:12Z	"See IRC discussions from June 18th 2009

 * The current role system is rather complicated, But has a lot of flexibility
 * A lot of the flexibility isn't even used by most (ie. the ability to have a user with a Roll + a single capability)
 * The role system starts having trouble with a high number of users
   * To look up every user with a certain cap. it requires loading all the users, and then checking individually. 

The proposed changes are:

 * That we reduce the complex system to something much more simple:
   * Roles are retained: 1 role per meta entry, and since the meta API allows for multiple values for the same key, this would have the benefit of multiple roles, and direct lookups.
   * However:
     * Remove the ability for a user to be part of a Role, and have an extra capability added on top of that. 
 * This has the ability to significantly increase performance, As now:
   * Looking up users with a specific cap is easy:
     * Filter the role list for roles with that cap
     * SQL the usermeta table for users in those roles
     * Select those users (if needed, else return the ID's) 
 * An upgrade path is available which doesnt require extra tables, and reduces the ammount of serialization
   * The other option is a whole new set of tables.. which.. those who are sane (And there are some insane people in WP Dev..) realise that its not really needed. 
 * Fine grain control has never been possible from WP without a plugin, Nothing would change here, If a user wants fine grained control over permissions, They'd still have to run a plugin, Its just that that plugin may have to do more heavy lifting now -- since wordpress's API/role system would be simpler and not support the extra fangledangles."	Denis-de-Bernardy
22959	Show all roles in user list table		Role/Capability		normal	normal	Future Release	enhancement	new	has-patch	2012-12-16T03:20:33Z	2013-05-14T13:45:46Z	"From [22686]:

> we should show a comma-separated list of all roles, editable or otherwise, and this list should be filterable, either by user, or by the roles which can appear. Probably both.

Previously: #22361"	scribu
13269	Ability to list by user role in wp_dropdown_users		Role/Capability		normal	normal	Future Release	feature request	new		2010-05-05T22:05:20Z	2010-10-27T11:52:42Z	"Hi Everyone!

I am using custom post types and during my experimentation I found it the best to create a new role as well. In short, a website will be hosting seminars, and we have seminars as a custom post type, and seminar speakers as a role (we want to be able to manage them as users, but restrict blog access). 

Since they are not authors, they will not show up in the author box on the new post page, so I added a new meta box, which contains a select box to select the speakers we need. 

For this I need to create a custom query, but it would be great if a simple attribute were added to the function wp_dropdown_users(). The argument could be ""role"" and you would need to add the name of the role, like ""speaker"". 

I hope this is something  useful to others too! While I have a pretty good understanding of the WP core now, I am not really comfortable checking out files yet, so sorry for not actually writing the code. "	danielpataki
5942	Add Owner role		Role/Capability	3.1	normal	normal	Future Release	feature request	reopened		2008-02-21T10:13:08Z	2011-04-10T04:17:35Z	"This patch adds a new 'owner' role.  The owner is an administrator who cannot be demoted, deleted or edited by other administrators.  Owner is a secondary role - the user is both an administrator and an owner.

In the current implementation there is only one owner at a time.  The current owner can transfer ownership of the blog to another administrator on the Transfer Ownership tab (under Users).  I implemented this as a plugin because some site owners won't want the feature there at all.

This is of most interest for MU, but it's also probably useful for some regular WordPress blogs with multiple users.

This would be particularly useful in conjunction with the user_role table from #5541, but it works fine with or without it."	tellyworth
17253	Author role should be able to make/edit pages (a.k.a. let's get with the times)		Role/Capability	3.1	normal	normal	Future Release	feature request	new		2011-04-27T11:29:52Z	2012-08-23T00:47:00Z	"More and more sites are using WordPress to run the whole site, not just a blog. Pages are quickly eclipsing blog posts as the default content type, and we should start moving to address this. Currently authors have no rights to pages. Someone with higher rights can set the author as someone with the author role, but the author can't actually get to it. This is super lame, because the ""just create and manage your own stuff"" role doesn't apply to a major form of content. 

I understand this will have implications re backwards compatibility, but we've talked about revisiting the roles system at some point, so I wanted this ticket to be on record. We have to make roles more reasonable for CMS use. "	jane
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
16483	Visibility: password-protected exposes multiple pages		Security	3.0.4	normal	minor	Future Release	defect (bug)	new	dev-feedback	2011-02-07T19:02:15Z	2013-03-18T19:47:52Z	"1. password protect a page ('protected') with a password
2. password protect another page ('thistoo') with the SAME password
3. visit 'protected' and enter the password. Page is visible
4. visit 'thistoo'; expected: prompt for password. What happens: Page is visible

Regardless of whether someone with a password has the right to try it in as many pages as they want (and would therefore successfully see the page if the passwords were the same), the user should still be prompted on a page-by-page basis. Global authentication to multiple pages is possible with user accounts and roles. It should not be possible with visibility: password-protected pages."	monkeyhouse
13051	admin_url() and site_url() shouldn't need esc_url()	ryan	Security	3.0	normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-04-19T16:57:13Z	2010-11-13T03:09:47Z	"I noticed that the 3.0 codeline includes the addition of esc_url() around admin_url() like:

esc_url(admin_url());

I believe that admin_url() and site_url() should be ""safe"" functions to use and should not need escaping. Perhaps they should call esc_url() internally?

I cannot think of a viable reason to allow unsafe results from admin_url() and site_url(), though perhaps there are some internationalization edge cases that I'm not aware of.

If you really need raw access to an unsafe value in wp_options, you can use get_option() to get to it.

Another issue to consider here is input validation and stripping before saving to these fields.

If this is approved in principle, I'd be happy to produce a diff against the current code base.

I think this is very important to address before 3.0 is released as it has a significant impact on theme and plugin developers."	alexkingorg
12402	make addslashes_gpc() use addslashes() fix to use real_escape, rather than addslashes	ryan	Security	3.0	normal	normal	Future Release	defect (bug)	new	has-patch	2010-02-27T02:44:19Z	2010-11-13T07:47:24Z	"If memory serves, the main problems with making wpdb->escape() point to mysql_real_escape_string() were two:

 1. mysql_real_escape_string() doesn't work on all platforms
 2. mysql_real_escape_string() doesn't play well with unslashing

Point 1 is covered in wpdb->_real_escape().

The legacy fix to point 2, for some strange reason, led to disabling mysql_real_escape_string() on platforms that could actually use it, instead of using add_magic_quotes() where calls to addslashes()/stripslashes() could occur.

r12961 partially fixes point 2. But only partially.

At the risk of re-opening the can of worms, the attached patch finishes fixing point 2...:

 - It changes addslashes_gpc() and esc_sql() so that they use add_magic_quotes() instead.
 - This frees wpdb->escape(), which can then be a true alias for wpdb->_real_escape().

I've scanned trunk for occurrences of wpdb->escape() used on arrays -- there were none."	Denis-de-Bernardy
9207	redirect_to wp-admin Should Force SSL If FORCE_SSL_ADMIN is enabled	hakre*	Security	2.9	normal	normal	Future Release	defect (bug)	accepted	reporter-feedback	2009-02-21T22:36:07Z	2013-04-06T20:36:05Z	"Around Lines 406 to 426 on wp-login.php:

{{{
	$secure_cookie = '';

	// If the user wants ssl but the session is not ssl, force a secure cookie.
	if ( !empty($_POST['log']) && !force_ssl_admin() ) {
		$user_name = sanitize_user($_POST['log']);
		if ( $user = get_userdatabylogin($user_name) ) {
			if ( get_user_option('use_ssl', $user->ID) ) {
				$secure_cookie = true;
				force_ssl_admin(true);
			}
		}
	}

	if ( isset( $_REQUEST['redirect_to'] ) ) {
		$redirect_to = $_REQUEST['redirect_to'];
		// Redirect to https if user wants ssl
		if ( $secure_cookie && false !== strpos($redirect_to, 'wp-admin') )
			$redirect_to = preg_replace('|^http://|', 'https://', $redirect_to);
	} else {
		$redirect_to = admin_url();
	}
}}}

As we can see on the present code, if a redirection is set while login and this redirection goes to the plain version of the dashboard then client will go to the non-SSL version of the dashboard which therefore will move the client to the secure version (generating and extra request).[[BR]]
I know this is kinda a tongue twister sentence so i think is better to put a request example of the problem...

Client: POST http://foo.bar/wp-login.php?redirect_to=http%3A%2F%2Ffoo.bar%2Fwp-admin%2Findex.php [[BR]]
Server: HTTP 302 ... Location: http://foo.bar/wp-admin/index.php [[BR]]
Client: GET http://foo.bar/wp-admin/index.php [[BR]]
Server: HTTP 302 ... Location: https://foo.bar/wp-admin/index.php

I know that wordpress is actually working as suppose to work (cause we told to move to non-SSL version of the dashboard) but and a extra http request is issued.[[BR]]
IMHO if we (admins) have enabled FORCE_SSL_ADMIN, then all redirections to wp-admin should go SSL/HTTPs even if we fill redirect_to with the plain version of the dashboard.[[BR]]
There is part of the code that detect this and replace it but it has issues or well it isn't prepared to do this.[[BR]]
At the moment we can filter login_redirect to fix this but (again) IMHO this should move to the core..."	g30rg3x
11623	review options list and update sanitize_option()	dd32*	Security	2.9	normal	normal	Future Release	defect (bug)	accepted	early	2009-12-26T01:22:13Z	2010-11-13T01:18:42Z	"A lot of options have been added since 2.0.5, and as a result, not all of them have been added to {{{sanitize_option()}}}

Ideally, Options which are to be (int) or absint() should have a filter applied to them here.

Attached patch is for the first option thats brought this up, 'start_of_week' which is tested to be int in some function uses, ignored elsewhere.

I've set this to security as its preventive security.."	dd32
10551	wp_die() triggers block when using ModSecurity Core Rules	westi*	Security	2.8.3	low	normal	Future Release	defect (bug)	accepted	dev-feedback	2009-08-05T19:47:28Z	2011-03-22T09:51:47Z	"wp_die() causes ModSecurity (using Core Rules), a commonly used Apache plugin, to throw a 406 error, blocking the message from displaying.

This seems to be triggered by the fact that a 500 error is thrown.  I went and changed the default status code to 401 (Unauthorized) and it worked like a charm.  I just wonder if there is a better fix for this issue... or simply a better status code to use.

Perhaps making a group of functions to make the error codes more focused.

Example:
{{{
wp_die_auth( __('You do not have sufficient permissions to access this page.') );

/**
 * Exits WordPress with Unauthorized status code.
 *
 * @see wp_die()
 */
function wp_die_auth($message, $title = '') {
	wp_die( $message, $title, 401 );
}
}}}"	cstrosser
14148	wp_get_attachment_url() is not url encoding		Security	3.0	normal	major	Future Release	defect (bug)	new	has-patch	2010-06-30T00:02:25Z	2010-12-20T15:14:24Z	"A fairly fundamental flaw, the function [http://codex.wordpress.org/Function_Reference/wp_get_attachment_url wp_get_attachment_url()] doesn't return a valid URL if the filename contains unescaped URL characters.

I'm not sure, but this might be a security issue, as the current version can generate URLs that don't match the filename, but instead passes query parameters back to the server.

The attached patch for Version 3.0 file fixes this in wp-includes/post.php
"	danorton
14803	Admins should be warned if authentication keys and salts have the default phrase		Security	3.0.1	normal	normal	Future Release	enhancement	new	has-patch	2010-09-07T15:20:17Z	2012-08-06T00:50:33Z	"WordPress already warns admin users if any of the eight authentication keys/salts are not present in the wp-config.php.  (See `secret_salt_warning()` in wp-admin/includes/ms.php)  While performing that check, WP should also see if any of the keys/salts are using the default string of ""put your unique phrase here"".

The default string is pre-set for all eight keys/salts that ship in wp-config-sample.php.  While the inline documentation indicates that those values should be changed, there is no notice or prompting to alert/remind the admin if the default string is left intact.

Bear in mind that `wp_salt()` (in wp-includes/pluggable.php) ignores the keys/salts that use the default phrase or are blank strings, so security isn't compromised.  However, if we want the admins to define secure phrases in wp-config.php, we should make them aware when that's not the case.

The attached patch modifies `secret_salt_warning()` to also check that the keys/salts aren't using the default phrase and aren't blank strings (same check as done in `wp_salt()`).  If any are, the warning message provides a link to the wordpress.org secret key service.

See the attached image to see an example where I've removed LOGGED_IN_SALT from wp-config.php (the error message for that is already what WP generates) and where I've left the default phrase in place for AUTH_KEY and AUTH_SALT and set NONCE_SALT to '' (triggering the error message added by the attached patch).
"	coffee2code
15277	FORCE_SSL_LOGIN or _ADMIN go to death loops when using an load-balancer		Security	3.0.1	normal	normal	Future Release	enhancement	new		2010-11-01T15:07:32Z	2010-12-29T19:38:09Z	"Dear community,

first of all, I had to apologize for my english pronunciation. I am not a native speaker.

Now, here is my problem or rather my feature request and patch.

'''Problem'''

I use WordPress in an infrastructure with a load-balancer (hardware) before two webserver in a dmz and behind the dmz the database server. And (that is important) the connections between the load balancer and the webserver are always http - not https. The ssl certificate is installed on the load balancer. So the https connection is only between the client (browser) and the load balancer.

Now a want to use ssl for login and admin section.

IF I use FORCE_SSL_ADMIN or _LOGIN I got into a death loop, because:

1) connection client -> load balancer: https
2) connection load balancer -> webserver: http
3) webserver WordPress -> client: reload to https because of FORCE_SSL_*

4) connection client -> load balancer: https
5) connection load balancer -> webserver: http
6) webserver WordPress -> client: reload to https because of FORCE_SSL_*

7) goto 4 or 1

'''Feature Request'''

I want a FORCE_SSL_* light. Something like USE_SSL_* but do not make a redirect.

'''Patch (see attached)'''

I defined two constants USE_SSL_LOGIN and USE_SSL_ADMIN like the FORCE_SSL_* and the functions use_ssl_admin, use_ssl_login like the force_ssl_*. And I integrate these functions in the function get_site_url in wp-includes/link-template.php

At my installation, it works.

It would be great, if you can take over these two config constants.

I hope I could descriped my problem and solution clearly.

Great tool ... Iver Jackewitz"	jackewit
10151	HTML5 <video> elements stripped in kses.php	ryan	Security	2.8	normal	normal	Future Release	enhancement	new	has-patch	2009-06-14T01:04:30Z	2012-01-05T20:03:08Z	"WordPress currently strips the [http://www.whatwg.org/specs/web-apps/current-work/#video new HTML5 <video> element] as it is unrecognized.  The attached patch allows <video> passthrough in postings and comments.

Hopefully this patch (or a derivative) could be incorporated into WordPress proper."	GChriss
10741	Include user's IP address in the lost password message	ryan	Security	2.9	normal	minor	Future Release	enhancement	new	has-patch	2009-09-07T08:46:17Z	2009-11-20T20:49:58Z	"Add the line ""User's IP: "" in the password recovery message.

In my opinion, this can be useful for administrative tasks."	mr.slay
20779	Recommend a user updates keys/salts in maint/repair.php		Security		normal	normal	Future Release	enhancement	new	has-patch	2012-05-29T18:03:19Z	2012-06-27T20:29:33Z	"In maint/repair.php, we tell a user they need to add WP_ALLOW_REPAIR.

Since they are already going into wp-config.php, we should also encourage them to update their unique phrases for keys and salts, assuming they do not have a complete set of 8 unique ones already."	nacin
20276	Tie nonces to the current session		Security		normal	normal	Future Release	enhancement	new		2012-03-21T20:20:57Z	2013-01-28T22:01:06Z	"Owasp specifies that ""the synchronizer token pattern requires the generating of random challenge tokens that are associated with the user's current session."" Our nonces have a timeout, but that timeout can span cookie sessions. Instead, nonces should be somehow tied to the current auth cookie and invalidate whenever the cookie invalidates.

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet"	ryan
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
15694	"Caption Shortcode I/O Intolerant of ""]"" Char"		Shortcodes	3.0.1	normal	normal	Future Release	defect (bug)	new		2010-12-05T20:54:31Z	2012-02-27T01:08:01Z	"I've discovered that the ""]"" character can only be used in the media library itself.  If I try to insert an image into a post using a caption like ""[Test Caption]"" then the post editor inserts three double quotes into the HTML attribute, invalidating the page markup.  D:

{{{
[caption id=""attachment_3"" align=""alignnone"" width=""300"" caption=""[Test Caption""]""]
}}}

In testing the output end of things, if I remove the extra double quote directly in MySQL, then the caption is not rendered at all on the post.  This suggests there is more than one error in the code that is causing this problem.  I was able to reproduce these symptoms on both versions I tested, 2.9.2 and 3.0.1."	miqrogroove
14380	Caption shortcode inserts inline style forcing width of containing div	nacin*	Shortcodes		normal	minor	Future Release	defect (bug)	accepted	dev-feedback	2010-07-21T19:45:21Z	2013-01-31T22:03:52Z	"This is related to #9066.

The problem is that the image caption shortcode inserts an inline style on the containing div which sets the width to an arbitrary value which cannot be overriden by the theme's stylesheet.

The proposed solution is to replace the shortcode function with a custom one which creates the markup without the inline style, but this is undesirable. It adds unnecessary complexity for beginners and is just generally annoying and shouldn't be necessary.

Creating an inline style violates web standards and contradicts the  philosophy behind a theme-based architecture.

The inline style on the div should be removed so that theme developers can style the caption like they would any other element, without having to resort to inconvenient workarounds."	iandunn
7045	No name shortcode atts		Shortcodes	2.6	normal	normal	Future Release	defect (bug)	new	has-patch	2008-05-27T12:55:30Z	2012-11-01T06:01:27Z	"If you have a shortcode with an attribute with no name, it isn't parsed quite correctly:

{{{
[shortcode=""foo""]bar[/shortcode]
}}}

The attributes array ends up with this:

{{{
$atts = array( 0 => '=""foo""' );
}}}

rather than just `foo`."	Viper007Bond
12061	Treatment of shortcodes by wpautop is incomplete		Shortcodes		normal	normal	Future Release	defect (bug)	new		2010-01-28T02:27:18Z	2013-01-19T08:36:17Z	"There are a number of issues that arise when shortcodes are embedded in a block of content that is filtered by wpautop.  After studying the issue, I have come to the conclusion that the underlying issue is that a shortcode can result in a block-level HTML element or an inline snippet of HTML.  Neither wpautop nor shortcode_unautop have the information necessary to know what the intended to be block-level or text-level, which results in <br /> tags to appear in places where they were not intended and causes invalid markup when paragraphs are not closed properly.

1) shorcodes when registered need to state the display type of the html that they return (inline or block).  In addition, the javascript version of filters need to be provided with the same data.

2) An alternate mechanism for handling shortcodes prior to wpautop needs to be implemented.   To maintain a separation between wpautop and shortcodes, temporarily replacing block-level shortcodes with unique tokens, running wpautop, running wpautop on the content of the shortcode (since this is a separate filter, plugins can disable it on a per shortcode basis), and then replacing the token with shortcodes post-wpautop.

As WP and plugin authors use shortcodes more and more, I think this is an issue that should not be left to the wayside.  Shortcodes especially tied to tinymce buttons make working with WordPress easier for the average content producer.  

"	gcorne
18776	balanceTags should ignore shortcodes & their content		Shortcodes	3.2.1	normal	normal	Future Release	defect (bug)	new		2011-09-26T11:26:10Z	2012-04-27T19:44:20Z	"Take following input:

{{{
something [myshortcode]<b>[/myshortcode]
}}}

after `balanceTags()` it becomes:

{{{
something [myshortcode]<b>[/myshortcode]</b>
}}}

Well, this is not what the shortcode creator probably wanted.

'''Proposed fixes:'''

If you are feeling lazy: Convert `[.*]` to `<$1>` and since balanceTags handles XML it should work, afterwards convert appropriate `<>` back to `[]`. Though this does not give a shortcode creator chance to disallow balancing tags inside it's content which is bad.

Better fix is to allow shortcode creators to decide wether their contents should be balanced:

1. `balanceTags()` should ignore all shortcodes and their contents.
2. Parse all shortcodes in content and on each shortcode call apply filter on so that shortcode creator can hook (if sees it appropriate) on to that. Shortcode creator then can call `balanceTags()` in his filter of that shortcode in order to run `balanceTags()` ''contents of shortcode'' separately if wanted."	ciantic
12368	Allow setting limit in do_shortcode()		Shortcodes		normal	normal	Future Release	enhancement	new	reporter-feedback	2010-02-24T21:39:13Z	2010-03-08T09:39:10Z	Sometimes it is useful to limit the number of shortcode conversion occuring in do_shortcode(), such as preventing overuse of shortcode in untrusted content, or whatever reason. This patch adds a new int parameter to do_shortcode(), which is used as the $limit parameter in preg_replace_callback().	abelcheung
14481	Shortcode Enhancements		Shortcodes	3.0	normal	normal	Future Release	enhancement	new	needs-unit-tests	2010-07-30T22:37:23Z	2010-10-31T13:34:44Z	"Somewhat of a copy of a post to wp-hackers: I wrote my own implementation of shortcodes. It does things a bit differently, has nested evaluation, and allows self-nesting. Since there are some significant differences to the existing implementation,

A lot of the changes are borrowed from definitions in the HTML specification (particularly name and attribute matching). The following are the comments at the top of my shortcode file. I tried to keep track of all the differences (and questions) there.

== From Test Cases ==

(http://svn.automattic.com/wordpress-tests/wp-testcase/test_shortcode.php)
{{{
Shortcode Statuses (to implement, or not to implement?)
        enabled = the shortcode works as normal (default)
        strip = the shortcode will be parsed and removed.  e.g.
'[shortcode foo=""bar""]' produces ''.  '[shortcode]foo[/shortcode]'
produces 'foo'.
        faux = the shortcode will be abbreviated.  e.g. '[shortcode
foo=""bar""]' products '[shortcode]'.  '[shortocde]foo[/shortcode]'
produces '[shortcode]'
        disabled = the shortcode is not parsed at all.  e.g.
'[shortcode foo=""bar""]' products '[shortcode foo=""bar""]'
}}}

== Major Differences/Improvements ==

I. Addressing http://codex.wordpress.org/Shortcode_API#Limitations

 1. You can nest any tag at any depth regardless of ancestors (#10702)

 2. Tag and attribute names may match: `/[A-Za-z][-A-Za-z0-9_:.]*//*` (trialing /* because that comment ends), with case-insensitive interpretation

 3. Interpretation doesn't get tripped up by things like hyphens

== II. Addressing Ticket #12760, ==

 1. Changed from fix in #6518. Reasoning: balancing double-square-brackets can have misleading results with nesting

 2. Shortcodes escapable by using `[[`, `]]`

 3. `]]` is escaped ""right to left"", so `[shortcode]]]` would evaluate to `result]`

 4. '[[' is escaped left to right `[[[shortcode]]]` => `[result]`

== III. Enhancements ==

 1. Only matches valid shortcode for registered hooks, everything else will appear as text

 2. Can register multiple hooks to single shortcode, uses priority (default: 10)

== IV. Conflicting Design Changes ==

 1. Quoted literals are escaped by entities rather than cslashes

 2. Inline (self-closing) shortcodes get passed content to accomodate multiple callbacks

 3. No equivalent to shortcode_parse_atts function (Not marked private in function reference, but not documented in shortcode API page)

 4. Boolean attributes take the place of positional attributes `[foo bar]` gets attributes `array('bar' => 'bar')` instead of `array('0' => 'bar')`

 5. Disallows attribute and tag names that don't match `/[A-Za-z][-A-Za-z0-9_:.]*/`

 6. Disallows unquoted attribute values (also boolean attributes), unless they match `/[-A-Za-z0-9_:.]+/`

== Basic Interpretation Method ==

 1. If an open tag is encountered, it is added to the stack

 2. If a close tag is encountered and there is no matching open tag on the stack the close tag is ignored

 3. If a close tag is encountered and there is a matching open tag on the stack all opened tags on the stack before the matched tag will be implicitly self-closed

 4. If text or an inline tag is encountered, it will be evaluated to its parent's content immediately

 5. If tags are not closed by the end of the interpretation, they will be implicitly self-closed

== Issues ==

 1. Haven't written new unit tests to reflect new functionality added, functionality differences

 2. Documentation is not as good (though I hope most of the code is self-explanatory)

 3. Not 100% backwards compatible"	deadowl
10702	Support for complex nested shorttags		Shortcodes	2.9	normal	normal	Future Release	enhancement	new	has-patch	2009-08-30T11:47:41Z	2012-11-06T05:59:48Z	"The documentations is misleading on this point.
It is said that you can have nested shorttags by calling do_shorttag on the content.

However the shorttag parser isn't really a parser, it's just a non-greedy regex of some sort. It does work for simple tags without content, but when we define a [div] tag, look at the following code:

{{{
[div]
    [div]
        test1
    [/div]
    [div]
        test2
    [/div]
[/div]
}}}

Results is:

{{{
<div>
    <div>(tag without content)
    test1
</div>
<div>
    test2
    [/div](not parsed at all)
</div>
}}}

I think that if you want to stop people from writing their own parsers you should include some decent parser with Wordpress, not a regex I could do myself.

Workaround: Assign div2 and probably div3 and 4 to the same function, and use these for the nested tags. <--- very ugly!"	pepijndevos
12982	Shortcodes don't allow shortcodes in attributes		Shortcodes	3.0	normal	normal	Future Release	feature request	new	needs-unit-tests	2010-04-12T22:31:17Z	2010-04-15T22:16:02Z	"I think that shortcodes should work when used inside attributes of other shortcodes, just like they can work inside the ""$content"" of a shortcode.

Some people says that that isn't supposed to work, but theoretically it is supposed to work when using the ""do_shortcode"" function. It don't work because:

1) ""do_shortcode"" is context free, which it's actually fine by its fastness, although it don't allow stuff like inserting a shortcode inside the content of itself

2) The shortcode regex stops with the first occurrence of a ] in a shortcode, so in this:

{{{[foo bar=""[baz /]""]content[/foo]}}}


it ""outputs"":


{{{[foo bar=""[baz /]}}}


and {{{""]content[/foo]}}} is ignored.

I'm not programmer but I tried to fix it by changing the shortcode regex so it allow anything between quotes or brackets inside the first group of brackets. It sort of works, but also mess the handling of quotes in the rest of the shortcode, so I think something more advanced have to be done to make it work. 

This is somewhat related to another shortcode tickets, but none of them addresses nor solves this specifically."	Atoon
8119	Attempts to edit deleted categories are not properly handled	westi	Taxonomy	2.7	normal	minor	Future Release	defect (bug)	new	has-patch	2008-11-08T21:32:21Z	2011-11-19T06:07:37Z	"Fairly obscure. 

If one user has the edit cats view open, then another user deletes one of those categories, and the first user then attempts to edit the deleted category, they get - not unreasonably - an empty view on the edit screen.  (As the data has been correctly deleted.) Ok. Not too much we can do about that.  However, after that, it falls down.

It seems that if you replace the various data and then press ""edit category"" it can go one of two ways -

1. The user recieves the message 

Your attempt to edit this category: """" has failed.

2. The user recieves the message

Fatal error: Cannot use object of type WP_Error as array in /home/www/misthaveneu/htdocs/svn/trunk/wp-includes/functions.php on line 1238

Scenerio 2 seems to be vaguely related to using the word ""Error"" in the description, but that could just be conincidence. 

In any event, the handling of this situation is broken.  The fact that a category has been deleted since in-between the user viewing the edit category screen and choosing one to edit needs to be recognised. (Even if it's the same sort of nasty wp_die message you get when a post has been deleted.)"	mrmist
13606	Comma's in taxonomy term names make them unpickable		Taxonomy		normal	major	Future Release	defect (bug)	new		2010-05-28T21:10:02Z	2010-11-13T03:19:01Z	"In the taxonomy term adder/editor, you are allowed to put comma's in their names, but the JS picker thinks they are two separate terms separated by a comma.

Two possible obvious solutions:
1.) Disallow terms from having commas in the names
2.) Fix the JS"	johnjamesjacoby
14073	Custom Taxonomies - Post Count wrong		Taxonomy	3.0	normal	normal	Future Release	defect (bug)	new	reporter-feedback	2010-06-24T14:17:07Z	2010-11-13T12:52:06Z	"I've just set up some custom taxonomies on our blog.

Basically they are just some basic custom tag-clouds for a few different subjects

But i've come across what appears to be a weird bug

After creating my custom taxonomies, i went through my articles (posts) using the bulk edit function to 'tag' all the articles in the new custom tag-subjects

By using the bulk-edit feature, this saved me loads of time, but in doing so meant i could only add one tag at a time - however, cetain articles needed to be tagged with multiple tags, so they would show up in the repeated use of bulk edit many times

Here's where it got weird....

Every time i added a new tag to a post and hit the 'update' button, it would increase the post count for that article by +1

I know that sounds a bit crazy, as an article does not have a post count, so the best way to explain it is with an example

1) Go to our sites archive page [http://f1stockcars.com/about/archives/]

2) Look over to the right for our custom ""Drivers"" tag-cloud

3) Near the top is is a driver called ""Colin Goodswen""

4) Hover your mouse on this driver and it says ""12 Topics""

5) Click the name though, and you'll find he has just ONE topic

The reason for this is simply because i had to add multiple ""driver"" tags to that particular article, and each time i hit the ""Update Post"" button it (as i said before) increased the post count for that article by +1

And it's not just a one-off... virtually EVERY single driver tag has the incorrect post count assigned to their name

I decided to see if this was an issue unique to the 'Bulk Editor' by going into the standard single (full) Post Editor. Without editing a single thing within the post i simple hit the 'Update' Post button. I went back to my archive to check the post count for tags associated with that post, and they had all increased by +1

I think that's about all the information i can provide on how to recreate the bug.

This now means there is not just the fact it's giving wrong information about post counts to our readers, it also means our tag-cloud's appearance is completely wrong, and tags with only one article are being emphasized over other tags with many articles"	defade
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
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
12729	Fix [6326] - wp_unique_term_slug() when changing the parent	ryan	Taxonomy		normal	normal	Future Release	defect (bug)	new	dev-feedback	2010-03-27T08:04:40Z	2012-11-25T01:35:53Z	"[6326] uses $args (as an array) when it appears it should use $term (an object).

It's never worked, so I'm hesitant to patch it as I imagine it might break something elsewhere in the taxonomy API.

Assigning to ryan for now, who authored the commit."	nacin
14093	Malformed category hidden from edit-tags, but shows in meta box		Taxonomy		low	normal	Future Release	defect (bug)	new		2010-06-25T19:11:49Z	2011-01-13T08:07:15Z	"Came from a report in IRC by xomp.

In the following example, category 1's parent is category 2, and vice versa.
{{{
mysql> select term_taxonomy_id, term_id, taxonomy, parent from wp_term_taxonomy;
+------------------+---------+---------------+--------+
| term_taxonomy_id | term_id | taxonomy      | parent |
+------------------+---------+---------------+--------+
|                1 |       1 | category      |      2 |
|                2 |       2 | category      |      1 |
|                3 |       3 | category      |      0 |
|                4 |       4 | category      |      1 |
+------------------+---------+---------------+--------+
4 rows in set (0.00 sec)

mysql> select term_id, name from wp_terms;
+---------+-----------------+
| term_id | name            |
+---------+-----------------+
|       1 | Category 1      |
|       2 | Category 2      |
|       3 | Category 3      |
|       4 | Category 4      |
+---------+-----------------+
4 rows in set (0.00 sec)
}}}
On edit-tags, you'll see only Category 3.

In the hierarchical meta box, you'll see:
{{{
Category 3
Category 1
 - Category 2
 - Category 4
}}}
If we decide to show corrupted data, we should be consistent. At the very least, edit-tags should reveal more than the meta box, not the other way around."	nacin
16101	Numeric term fields are strings		Taxonomy		normal	normal	Future Release	defect (bug)	new	dev-feedback	2011-01-04T23:25:00Z	2013-02-13T01:37:57Z	"The numeric fields (term_id, parent, etc.) on term objects are strings. I only noticed this because term_exists() uses is_int() to determine if the $term value is an ID or slug.

Only ticket I could find about this is #5381. 

sanitize_term() should fix this, but it bails early in the ""raw"" context. sanitize_term_field() sanitizes the numeric fields in every context. I don't see a reason for sanitize_term() to bail early so I made a patch that takes that out. The patch also adds some missing fields to the list of those to be sanitized and changes term_exists() to use is_numeric() (which will correctly identify strings containing only numbers) instead of is_int(). 

"	foofy
9875	Postcount not set for parent in category dropdown.		Taxonomy	3.0	normal	normal	Future Release	defect (bug)	assigned	has-patch	2009-05-19T13:15:17Z	2010-07-01T17:26:03Z	"When showing categories in a dropdown with show_count and hierarchical , the parent of the categories won't show the total amount of posts of its children.
When selecting a list this teh total amount is shown."	petervanderdoes
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
5809	Updating a term in one taxonomy affects the term in every taxonomy	garyc40	Taxonomy	2.3	high	major	Future Release	defect (bug)	reopened	has-patch	2008-02-10T02:21:01Z	2013-05-15T08:13:16Z	"As reported by klawd on #wordpress and reproduced by me, editing a category will affect a tag with the same name.

{{{
Steps to reproduce:
1. Create a category called Testing
2. Create a tag called Testing
3. Rename the Testing category to Another Test
4. Check the name of the tag
}}}"	rmccue
19590	Warnings when unregistering core taxonomies and post types		Taxonomy	3.3	normal	normal	Future Release	defect (bug)	new	has-patch	2011-12-17T18:40:49Z	2012-12-20T21:32:13Z	"'''number_format_i18n''' (/wp-includes/functions.php, line 155) will raise a warning when the first parameter ''$number'' is not a double/float, which happens when it receives the value 0.

The error only shows up in the dashboard with a locale active (es_ES) in this case, screenshot attached.

The fix would be to cast the received value to float. 
 
Current function,


{{{
function number_format_i18n( $number, $decimals = 0 ) {
	global $wp_locale;
	$formatted = number_format( $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] );
	return apply_filters( 'number_format_i18n', $formatted );
}
}}}

Fix,

{{{
function number_format_i18n( $number, $decimals = 0 ) {
	global $wp_locale;
	$formatted = number_format( (float) $number, absint( $decimals ), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] );
	return apply_filters( 'number_format_i18n', $formatted );
}
}}}

It's the first bug i report here, so correct me if I'm doing it wrong.
"	xmarcos
20635	_pad_term_count get's stuck if there is a loop in the hierarchy	westi*	Taxonomy		normal	normal	Future Release	defect (bug)	accepted	has-patch	2012-05-08T10:31:37Z	2012-12-06T22:51:42Z	"Ideally it should be impossible for a loop in a taxonomy hierarchy to exist.

But sometimes they do.

If one does exist then {{{_pad_term_counts()}}} gets stuck :(

When one of these does exist the category widget breaks the front page of your site.

We currently hook {{{wp_check_term_hierarchy_for_loops}}} on {{{wp_update_term_parent}}} and I wonder if there are other places we should be doing this check too."	westi
18828	function wp_get_object_terms() passes sql data into `wp_get_object_terms` filter for $taxonomies		Taxonomy	3.2	normal	normal	Future Release	defect (bug)	new	has-patch	2011-09-30T19:07:08Z	2011-11-15T23:55:10Z	"In wp-includes/taxonomy.php, the return data is passed through the `wp_get_object_terms` filter using the sql-ready data for $taxonomies, meaning it is quoted and comma seperated, for example ""'category', 'post_tag', 'post_format'"". Even for one taxonomy, it has quotes added, it seems this would be easier to work with if it matched the data passed into the function more closely."	postpostmodern
17807	get_adjacent_post() doesn't work with custom taxonomies	nacin	Taxonomy	3.1.3	normal	normal	Future Release	defect (bug)	reviewing	has-patch	2011-06-15T09:51:46Z	2013-05-15T13:20:01Z	"If you use `next_post_link('%link', '%title', true)` or `previous_post_link('%link', '%title', true)` to get the adjacent post for a custom post type which has a taxonomy assigned to it, it doesn't work as intended.

The bug traces back to `get_adjacent_post()`. If the $in_same_cat parameter is true, then the SQL query built to get the posts are hardcoded using the default 'category' taxonomy. Instead it should allow a custom taxonomy as a parameter and use it in the queries.

Example:

Custom Post Type: `product`

Custom Taxonomy: `color`

SQL produced by `get_adjacent_post()` when calling `next_