﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
24189,{$taxonomy}_relationships cache can easily become stale when a term is updated.,,Taxonomy,trunk,high,major,3.6,defect (bug),new,,2013-04-25T11:18:16Z,2013-04-26T02:35:03Z,"The {{{{$taxonomy}_relationships}}} cache stores the information about the terms associated with an object for a particular taxonomy.

If you update the term then we don't invalidate the cache and therefore a call to something like: {{{get_the_terms()}}} will return invalid data.

An example set of steps to reproduce (needs some form of persistent caching like memcache):

 1) Create a new tag and assign it to a post
 2) Use get_the_terms()
 3) Edit the tag to change the description
 4) Use get_the_terms() and find the old description is returned.

Very easy to reproduce in a unit-test.

Re-constituting the relationships cache for every object that is related to the term is probably going to be very expensive.

Maybe we should just switch to only caching IDs and then populating the term data from a different cache?
",westi
18525,"zlib.output_compression ""on"" in server conflicts with autoupdate",,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-08-26T20:11:45Z,2012-11-13T05:12:06Z,"If zlib.output_compression is ""on"" in server (my vps server), then auto-update works, but without verbose output or any indication that install has succeeded.

This error is consistent for all auto-updates WordPress Application and all plugins.

It is NOT a plugin conflict. Occurs on different servers.

Testing has confirmed that when zlib.output_compression is returned to ""off"", then updates work as expected.

In my opinion this is a minor bug and probably a note in the readme file will suffice.

Thank You,

Neil Miller
zx@avidre.net",avidre
24142,Zero value for posts_per_page value in wp_query custom instance and for 'Blog pages show at most' option,,Query,,normal,normal,Awaiting Review,defect (bug),new,needs-docs,2013-04-20T09:04:16Z,2013-04-20T12:55:34Z,"To show no posts if the posts_per_page value is 0.

Currently for custom instances of wp_query, if the value is 0 then this is changed with the value from posts_per_page option from the database. ""get_options( 'posts_per_page' )"" 

For home page if we set value 0 on the settings page, in wp-admin/options-reading.php, after the saves are changed, this value is changed to 1. 

I think for both cases if the posts per page value is 0 then no posts should not display.
",alexvorn2
23149,YouTube Embedding is incorrect for https:// URLs,,Embeds,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-08T19:46:28Z,2013-04-07T01:52:09Z,"Reference: #18719, #20102, Conversation from 9-19-2012:
https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2012-09-19&sort=asc#m459455

This is incorrect and a bug. If the user has posted an https link, then we should send the correct parameters to YouTube to get an https value in the resulting HTML returned.

At present, there is no way within WordPress to get the proper https code in a YouTube oEmbed iframe when https is actually desired.

",Otto42
24124,YouTube embed fails silently,,Embeds,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-18T14:43:39Z,2013-04-18T14:43:39Z,"I have never been able to get the YouTube embed to work by [embed] or just quoting the URL. I tried finding out why today, and tracing through what the code does, I find it times out trying to fetch JSON for the oEmbed data via php-cURL from YouTube. (In fact I think it is the DNS lookup that is particularly slow here, but I don't think it makes much difference where the cause is, and it seems to fail not just on the server I'm developing on, but also on other servers). It consistently takes about 7 seconds for YouTube to reply on the system I'm testing on, and I see the timeout is 5 seconds. Now I know what the problem is I have added a filter to increase the timeout.

The biggest problem though is that it fails quietly. There is no error message on saving a post. Secondly, it behaves randomly and marginally - sometimes it works, sometimes it doesn't, depending on the load at YouTube presumably.

I think the author should at least be told their post has failed and why. However, if the timeout is consistently too low, there is then no way to make it work, without changing PHP code in a much more knowledgeable way than a typical user.

Ideally, you'd then offer the opportunity to repost with a larger timeout. If this were available, then the post could be refused publication until it works.

Just increasing the default timeout globally isn't a good solution, as saves will appear to hang, and I don't really know what side effects that might have elsewhere.",frankieandshadow
17902,"You guys should add a ""Plugin Details"" pop-up link to installed plugins.",chsxf,Plugins,3.1.3,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-06-27T02:44:54Z,2012-06-21T22:33:15Z,"The link would make a pop-up appear with the plugin details as if you are viewing the plugin details when you search for plugins.

CUrrently, plugins that have available updates have a link to view details...

It'd be SUPER convenient to have a link to view details at all times. Sometimes you have to recall these details when you haven't been to your blog in a while, and its a hassle just to search for it in the ""Add New Plugin"" page or on wordpress.org (a waste of time compared to having a ""plugin details"" link)",trusktr
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
20986,xmlrpc.php should return http 405 for get requests (and not 200),,XML-RPC,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-16T06:39:12Z,2012-06-19T17:01:09Z,"{{{
$ curl -v http://raphaelhertzog.com/xmlrpc.php
[...]
> GET /xmlrpc.php HTTP/1.1
 
< HTTP/1.1 200 OK
[...]
XML-RPC server accepts POST requests only.
}}}

The error returned should be reflected in the HTTP return code: it should return HTTP 405 (Method not allowed) instead of 200 (OK).

This has been originally reported in the Debian bug tracking system: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598124",rhertzog
17382,XMLRPC wp_getUsersBlogs Scalability,,XML-RPC,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2011-05-11T20:32:15Z,2012-05-13T16:16:46Z,"If there is a root blog with many sub blogs on it and a user that is an admin on each sub blog, then when the when the XML RPC method wp_getUsersBlogs() is called it does not scale very well. My PHP memory_limit setting was 128MB, and the XML RPC request died when a user was a member of 230+ blogs. I noticed that the number of queries made to the database for a single user that has many blogs that they are an admin is very high.

Affected line: http://core.trac.wordpress.org/browser/tags/3.0.1/xmlrpc.php#L443

I don't know exactly how the code would have to change so I am not providing a patch.",bmorneau
18681,XMLRPC wp.getPageList and auto-draft pages broken dates,,XML-RPC,3.2.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2011-09-16T08:18:20Z,2011-09-16T09:41:26Z,"XMLRPC wp.getPageList method returns all pages, including auto-draft ones.

auto-draft pages have post_date_gmt date as '0000-00-00 00:00:00', resulting in invalid dates in XMLRPC reply.

{{{
<name>date_created_gmt</name>
<value><dateTime.iso8601>-0001113TT0::0::00</dateTime.iso8601></value>
}}}

Remove auto-drafts from wp.getPageList method or fix post_date_gmt somehow.",skithund
18684,XMLRPC metaWeblog.newMediaObject doesn't have possibility for setting excerpt/content,,XML-RPC,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-16T12:10:20Z,2012-09-23T19:30:22Z,XMLRPC metaWeblog.newMediaObject method only sets empty content for attachment and doesn't have possibility for setting excerpt and/or content for attachments.,skithund
5310,XMLRPC interface should expose mechanism for listing and deleting media resources,josephscott,XML-RPC,2.3.1,normal,normal,Future Release,enhancement,new,,2007-11-02T21:34:24Z,2009-10-25T10:05:07Z,"Right now the XMLRPC interface supports the ""newMediaObject"" mechanism that is part of the MetaWeblog API, but lacks any method for inspecting or otherwise manipulating media objects.

I think to support a richer remote client experience, the XLMRPC interface should support at least a method for listing the media objects that have been previously uploaded (similar to what appears in the ""Browse"" tab of the wp-admin post editor), and for deleting a media asset that is present.

",redsweater
11303,XMLRPC (and APP) APIs should expose all Post/Page/Comment management functionality,westi,XML-RPC,2.9,normal,normal,Future Release,task (blessed),assigned,close,2009-12-01T22:26:01Z,2010-09-23T20:34:55Z,"In #11243 we hid the trash status from {{{wp.getPages()}}} we also hide it for pages (and comments I guess).

Really these apis should be fully featured to allow clients to support the new things the api does.

We should revert the change made for trash for 2.9 and promote the fact that clients should be graceful when using these apis so as to cope when we introduce new features.

We also need to review the need for extra apis to allow trashing/untrashing of posts/pages/comments etc.",westi
21292,XML-RPC: wp_upload_bits should act like wp_handle_upload,westi,XML-RPC,3.0,normal,normal,Future Release,defect (bug),assigned,has-patch,2012-07-17T07:01:23Z,2013-05-07T11:37:28Z,"At this moment there isn't a check for file size when uploading an image through the XML-RPC. The reason is that the method wp_upload_bits is used. This only checks it does is if the file size is to big for a network installation.

The function check_upload_size() is something what you want except that it will use wp_die() if there is an error like this. The function is used as a filter: wp_handle_upload_prefilter. Which only get applied in the function wp_handle_upload. 

We should probably change check_upload_size() a bit so it doesn't use wp_die() but does it somewhere else.

related: #6559 and #21085",markoheijnen
17981,XML-RPC wp.getComments should work for non-admins,,XML-RPC,3.2,normal,normal,Awaiting Review,defect (bug),new,commit,2011-07-04T22:23:03Z,2012-03-08T13:35:11Z,"Right now, if the caller doesn't have the moderate_comments permission, the XML-RPC call returns a 401 error. 

A more graceful alternative would be to return the approved comments. The user may not be able to moderate, but still should be able to read/reply",koke
22936,XML-RPC WordPress api setOption double escapes args,,XML-RPC,,normal,major,Awaiting Review,defect (bug),new,,2012-12-14T13:46:35Z,2012-12-15T15:31:10Z,"Parts of the xml-rpc wordpress api are not usable, as they doublequote strings. e.g. `Munich's` becomes `Munich\\'s`.

wp.setOptions($args) escpapes all args and calls update_option() which is then calling mysql_real_escape_string(), leading to a double escaping. To solve this options should not be escaped in wp-setOptions() function.


Here the callStack showing the 2nd escaping:
{{{
wp-includes/wp-db.php.wpdb->_real_escape:884
wp-includes/wp-db.php.wpdb->escape_by_ref:950	
wp-includes/wp-db.php.array_walk:0	
wp-includes/wp-db.php.wpdb->prepare:1003	
wp-includes/wp-db.php.wpdb->update:1365	
wp-includes/option.php.update_option:258
}}}",jachzen
23811,XML-RPC shouldn't display errors,,XML-RPC,3.5.1,normal,normal,3.6,defect (bug),new,has-patch,2013-03-18T17:35:59Z,2013-05-07T14:15:04Z,"I've got some user reports of XML-RPC returning this:

{{{
<b>Warning</b>
<a href='function.strpos'>function.strpos</a>
<b>
/home/www/simplythreemusic.com/wp-includes/class-wp-xmlrpc-server.php</b>
}}}

In this case, it seems to be #18310, but XML-RPC shouldn't be throwing any warnings, since that makes the client think the request failed when it actually succeeded",koke
12518,XML-RPC newMediaObject should try to work out mime-type if not supplied,josephscott,XML-RPC,,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-04T22:00:03Z,2010-03-07T10:10:18Z,"At least one XML-RPC client (MaStory on Maemo) does not set the type parameter on uploaded objects. This means we don't create appropriate thumbnails correctly.

Given some clients are on fairly low-power, simple devices, it's probably worth Wordpress attempting to determine the mime-type, especially as functions calls we /already/ make on attachments will give us that information already for the common-case of image uploads.",jonquark
21386,XML-RPC needs a user permission method,,XML-RPC,,normal,normal,Future Release,enhancement,new,,2012-07-25T18:33:24Z,2012-11-23T20:42:43Z,"At this moment when calling a XML-RPC method you will receive a error when the user can't do that method. 

What would be better if there is a way an app can retrieve the user permissions and act on that without the need to call the method.",markoheijnen
20630,XML-RPC Extending documentation for methods called with a single param,,XML-RPC,,normal,normal,Awaiting Review,defect (bug),new,needs-docs,2012-05-07T18:47:46Z,2012-05-07T19:06:01Z,"When an XML-RPC method is called with a single parameter, the method will receive the value directly instead of receiving an array with a single value. This seems to be intended, though unexpected, behavior. The documentation should be updated to mention this.

The related code is inside IXR_Server->call().",scott.gonzalez
16985,XML-RPC endpoint set the datetime when saving a Draft,,XML-RPC,3.1,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2011-03-28T13:33:46Z,2012-06-24T00:15:12Z,"When uploading a draft post from one of the WordPress mobile apps the post date is set to the current time/date, even if the datetime field is not specified on the client request.
This could cause issues, because when you change the post status to ""publish"" it will be published using the date set during the first upload.

On the web dashboard if you do not set the post datetime explicitly, it is not set and hitting publish will then populate the datetime field with the current time.

The same happens if you start a draft on the web and then you publish it using any mobile apps.

details here: http://ios.trac.wordpress.org/ticket/826",daniloercoli
10764,"XML- RPC, blogger_editPost, Publish Status not working",josephscott,XML-RPC,,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-09-10T00:58:09Z,2012-06-23T20:39:22Z,"In the blogger_editPost function in xmlrpc.php is not working properly.  Currently you cannot change publish status.  It looks like we are missing a line of code.
{{{

$post_status = ($publish) ? 'publish' : 'draft';

}}}

When I inserted this line into the function before the

{{{
$postdata = compact('ID', 'post_content', 'post_title', 'post_category', 'post_status', 'post_excerpt');
}}}
I was able to gain control of the publish status.
",bobby_drk
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
13835,XLM-RPC API should return commentmeta values,josephscott,XML-RPC,2.9,low,minor,Future Release,feature request,reopened,has-patch,2010-06-10T23:28:58Z,2011-03-25T06:55:24Z,"This ticket is a follow up on my Twitter and subsequently email conversation with Joseph Scott (josephscott) about the new commentmeta table in WordPress 2.9 and the XML-RPC API. We use the plugin Feature Comments (http://wpprogrammer.com/feature-comments-wordpress-plugin/) for hiding or featuring certain comments. The plugin stores either a value of 'Buried' or 'Featured' in the commentmeta table and uses these values to append a css class to comment_class.

I'd love to retrieve these commentmeta values (buried/features) through the XML-RPC API (which we use) with wp.GetComment or wp.GetComments, so we're able to programmatically hide or feature these comments in our own iPhone app.

Please note this is a specific example, but my request should I no way be seen as a private request. I think the commentmeta in 2.9 was a great addition for stuff like Twitter usernames, mood, gender, and so forth. I hope we're able to retrieve these values programmaticaly through the API as well.",djr
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
20206,WXR unnecessarily includes all post authors,,Export,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-09T01:06:58Z,2012-03-09T02:26:14Z,"If you're exporting just one post type (from Tools -> Export), the resulting WXR file still includes all authors from the posts table, regardless if they are the author of a post of the post type being exported. This can be particularly noticable for Pages (which are often only authored by a small number of different users on the site) and for custom post types.

This means when you subsequently import the file you'll be asked to map a complete list of all authors from the exported site, even if they have no posts in the WXR file being imported.",johnbillion
23464,"WXR importer: Creating new user to import to sucks, should be fixed or removed",,Import,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-13T07:05:33Z,2013-02-13T07:05:33Z,"When importing WXR you are prompted to assign a user to which of the existing users the imported content will be assigned, but it is also possible to provide a name of a new user which will be created and the content then will be associated with it. 

The new user functionality sucks
1. No email or password is required therefor the user for a while is missing data which is assumed to always exist for a user. In the end of the import there is a small notice about updating the user data, but it gets lost in all the output being generated during import

2. Processing does not stop if user creation had failed (I used hebrew characters for user name) and the imported content is assigned to the current user. WTF?

",mark-k
23465,WXR importer does not import posts if a post with the same title is in the trash,,Import,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-13T07:11:29Z,2013-04-22T03:12:42Z,"1. export a WXR file with some/all posts
2. send posts to trash
3. import the file generated at step 1.
4. for each post there is a message that the post already exist

If something is in the trash it should be handled as if it doesn't exist.

",mark-k
21969,Wrong URL in wp_enqueue_script(),,Themes,3.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-22T19:21:21Z,2012-09-28T08:06:31Z,"This problem is probably related to fixed ticket #21749

Example theme directory

{{{
wp-content/themes/Some Theme/Theme
}}}

I noticed it with one premium theme. Users usually upload downloaded files through FTP with one more parent directory.

Function get_template_directory_uri() returns right URL:


{{{
wp-content/themes/Some Theme/Theme
}}}


But using it with wp_enqueue_script():


{{{
wp_enqueue_script( 'maxheight',  get_template_directory_uri() . '/js/maxheight.js' );
}}}


it returns wrong URL:


{{{
wp-content/themes/SomeTheme/Theme/js/maxheight.js
}}}

And script is not loaded in the end (Not Found error).

Reproduced on current trunk and 3.4.x.",pavelevap
18944,wrong url in sortable column headers when behind a reverse proxy,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-10-14T11:50:57Z,2012-08-09T18:33:29Z,"Hi, I have a wordpress site behind a reverse proxy. All works fine but for the urls used in the headers of sortable columns.

For instance, the links of ""Title"", ""Author"", etc. of the table of posts in wp-admin/edit.php --> Posts report something like ""http://backend/backend-dir/..."" while they should be ""http://frontend/frontend-dir/..."".

I don't think this is a proxy configuration problem because, AFAICS, the rest of the site is working: I can make posts, pages, media, install themes and plugins.

I tried to play with $current_url al line 649 of
wp-admin/includes/class-wp-list-table.php 
but with no luck.

I suppose that pagination may have the same problem.

",gamboz
19192,Wrong term count for private posts,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2011-11-07T09:00:15Z,2011-11-14T21:22:33Z,"The term manager page (wp-admin/edit-tags.php) shows wrong counts when the terms contain private posts. 

Steps to reproduce:
 - Create a private post and assign it to a category or a tag.
 - Visit the wp-admin/edit-tags.php

The term count does not change. However, when you click on the posts column, the edit posts screen will correctly show the private post.",xknown
22876,Wrong robots meta output,,Template,3.5,high,major,Awaiting Review,defect (bug),new,,2012-12-12T10:01:38Z,2012-12-12T15:15:11Z,"in default-filters.php, we add a new action:

{{{
if ( isset( $_GET['replytocom'] ) )
	add_action( 'wp_head', 'wp_no_robots' );
}}}

the issue is, wp_no_robots outputs noindex, nofollow. The noindex is fine, the nofollow stops any link equity from that URL, so that's actually a bad idea. Just noindex alone would be fine. Setting to priority high and severity to major as this is basically a regression.",joostdevalk
23284,Wrong parameter order for stripos in wp-includes/functions.php,,General,3.5,normal,normal,3.5.2,defect (bug),new,has-patch,2013-01-24T14:07:22Z,2013-03-03T20:18:42Z,"In wp-includes/functions.php lines 658 and 661 stripos is used two times with parameters in the wrong order.

This would be correct:
{{{
if ( 0 === stripos( $uri, 'http://' ) ) {
}}}


{{{
} elseif ( 0 === stripos( $uri, 'http://' ) ) {
}}}",Kalindor
21470,Wrong menu when no menu is set,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-05T13:27:13Z,2012-08-05T13:59:30Z,"In the case if the admin hasn't created any menu in the dashboard (and so the default menu is shown), some parameters of wp_nav_menu() don't work. I verified that 'container'=>false does not work. Other parameters may no work as well.",porton
18792,Wrong FROM email when using wp_mail and built in mail() function,westi*,External Libraries,3.2.1,normal,normal,Awaiting Review,defect (bug),accepted,has-patch,2011-09-27T16:35:28Z,2012-05-04T14:43:56Z,"When using wp_mail in combination with mail() function, then From: envelope passed through -f parameter to sendmail is not set correctly.

Here is simple patch, that fixes the problem:

{{{
--- pluggable.php	2011-09-26 20:54:02.219330702 +0200
+++ pluggable.fixed.php	2011-09-27 18:19:21.283454810 +0200
@@ -394,8 +394,7 @@
 	}
 
 	// Plugin authors can override the potentially troublesome default
-	$phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
-	$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );
+	$phpmailer->SetFrom(apply_filters('wp_mail_from', $from_email),apply_filters('wp_mail_from_name', $from_name));
 
 	// Set destination addresses
 	if ( !is_array( $to ) )
}}}
",pigster
19531,Wrong error message after correcting an error in username,,Administration,,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2011-12-13T10:07:56Z,2012-12-17T16:11:17Z,"After entering an illegal username (fe. ""Wim (wim@go2people.nl)""), WordPress gives an error message saying:
""ERROR: This username is invalid because it uses illegal characters. Please enter a valid username.""
So far so good.

Now, when I correct the issue and click ""Add new user"" again, the above error message remains in the screen, while the illegal characters are no longer there and the actual error I am facing is that I forgot my password. Which is confusing for me.

The same occurs, when I enter an e-mail which has already been registered. I get the error message:
""ERROR: This email is already registered, please choose another one.""
When I correct, the error message remains, while this particular problem has been solved.

WP v: 3.3
Browser: Google Chrome 14.0 on Ubuntu 11.10
",wimfeijen
20712,"Wrong data type returned from get_option for ""page_on_front"" after update_option",,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-05-20T08:29:35Z,2012-10-15T10:22:59Z,"
{{{
echo gettype(get_option(""page_on_front"")); // return string
update_option(""page_on_front"", ""123"");
echo gettype(get_option(""page_on_front"")); // return integer
}}}


You can repeat the steps and it give consistent result, so `get_option` return the wrong data type ONLY when it is after `update_option`",tszming
23939,Wrong capability check in wp_ajax_replyto_comment,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-04T18:39:21Z,2013-04-05T01:06:32Z,"The wp_ajax_replyto_comment function in the wp-admin/includes/ajax-actions.php checks the ""edit-post"" capability instead of the ""edit-comment"" capability.

Attached a tested patch. ",fgauthier
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
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
16935,Wrap selected text in <blockquote> in press-this.php,,Press This,3.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-03-22T16:27:37Z,2011-12-19T00:50:04Z,"When using the ""Press This"" bookmarklet, any text selected on the current page is inserted into the post body textarea.  This should be wrapped in a <blockquote> tag with some appropriate class name.",topdownjimmy
16957,wpuntexturize - problem with numbers and non-breaking spaces,,Formatting,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-24T10:21:33Z,2013-01-14T01:37:56Z,"1) Insert following code into HTML editor and publish.

{{{
New <strong>Year ""2011"" will be</strong> fantastic.
}}}

Then look at website:

{{{
<p>New <strong>Year &#8221;2011&#8243; will be</strong> fantastic.</p>
}}}

You can see wrong html quotes.

2) I also worked with TinyMCE editor (only writing simple text, paragraphs, strong, moving some parts of text by CTRL+C and CTRL+V). But after publishing, there were hidden non-breaking spaces in text. There were on different places, for example before ""("" and after characters ""."", ""í"", ""é"", etc. But they were random. I am not sure how it can be caused? Non-breaking strings were not visible and also not transformed into &nbsp; HTML entity on website. I noticed them only in HEX editor, when examining HTML source code (C2 A0).

Of course, when these non-breaking spaces were before (or after) quotes, then quotes were not recognized regurarly by wpuntexturize, example:

{{{
Nemám žádné ""úžasné"" schopnosti.
}}}

Is transformed by wpuntexturize into:


{{{
<p>Nemám žádné &#8221;úžasné&#8221 schopnosti</p>.
}}}

You can see wrong open quote:

{{{
instead of &#8220 there is &#8221;
}}}

But only when hidden non-breaking space (C2 A0) is between žádné a ""úžasné"".",pavelevap
18575,wptexturize modifies code inside tag attributes,,Formatting,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-02T22:36:25Z,2011-11-16T00:10:37Z,"In certain circumstances, wptexturize() will try to smart quote things inside attributes, screwing up the markup. For example:

{{{
[hello <a href=""foo[bar]('baz')"">world</a>
}}}

The tokenizer that generates $textarr will split the text like this:

{{{
0: [hello <a href=""foo[bar]
1:('baz')"">world
2:</a>
}}}

and so element 1 gets treated like non-tag text even though it's from an attribute. the easy fix is to not allow starting braces inside a brace set:

old:
{{{
$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
}}}

new:
{{{
$textarr = preg_split('/(<[^<]*>|\[[^\[]*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
}}}

this happens on trunk. code is in wp-includes/formatting.php. after the patch, the tokenizer works as intended:


{{{
0: [hello
1: <a href=""foo[bar]('baz')"">
2: world
3: </a>
}}}
",iamcal
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
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
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
21910,wpmu_create_user() standardization,,Multisite,3.0,normal,minor,Awaiting Review,enhancement,new,,2012-09-17T18:03:24Z,2012-09-17T23:36:26Z,"There seems to be some inconsistencies between wpmu_create_user(), create_user(), and wp_insert_user(). The former two are wrappers, and do different things but potential to consolidate and clean up some old code.

Per Nacin:
>nacin: wpmu_create_user() should probably just go away.

>nacin: fairly useless function

>nacin: by default, it looks like wp_insert_user() would create a role-less user.

>nacin: as would wp_create_user()

Looking at wp_insert_user() it sets the default role if none is provided, where wpmu_create_user() would actually delete the default roles and caps. 

Although, I'm not really sure there's a use case where you'd be using both the wpmu_new_user and user_register hooks simultaneously so possibly depreciate the former in favor of the latter. 

One real issue with wpmu_create_user is that it returns false instead of the WP_Error object which is probably not desired since the error could be useful. The false return is used in wpmu_activate_signup() to either set the returned ID or create it's own WP_Error. 

Lastly... documentation for create_user says it returns the ID, but it looks like it could potentially also return a WP_Error object. Didn't test, but possible documentation fix there. 
",ryanduff
24211,WPMU works with example.com but not sub.example.com,,Multisite,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-28T12:00:24Z,2013-04-28T12:19:00Z,"Installtion 1:
I created a WPMU installation on http://example.com/ domain with http://example.com/site/ link structure and it works just fine. Users can register new blogs and they can access them using respective links they chose.

Installtion 2:
I created another WPMU installation on http://test.example.com/ domain with http://test.example.com/site/ link structure and it works just fine. Users can register new blogs and they can access them using respective links they chose.

Installation 3:
I created yet another WPMU installation on http://test2.example.com/ and it works (I can access main theme, Dashboard etc.) but as soon as user registers new site under http://test2.example.com/site/ - it returns 404 not found in admin panel and when I try to view this website. I copied .htaccess etc. correctly, paths are correct. In case of this installation I also redirected this subdomain to another server.

DNS:
test2.example.com - record A - 000.000.000.000 (IP of the second server)

I bet that it generated invalid .htaccess content but I may be wrong.",Looimaster
18025,WPMU New Blog Default User Role,,Multisite,3.2,normal,normal,Awaiting Review,feature request,new,,2011-07-07T12:26:50Z,2012-11-17T15:53:53Z,"When I using WP Multisite as Network Admin and creating a new blog, The new user to the blog will get role: Administator for the new blog.

I want to add in wp-admin/network/settings.php a setting for ""New Blog Default User Role"". Where the Network Admin can set the default role for users to new blogs.

So you can set that if you creating a new blog and enter one e-mail address the user will get the role you have in your settings, so you can set users to new blogs to be example subscribers instead of Administrators like today.

Exactly as the plugin http://wordpress.org/extend/plugins/new-blog-default-user-role/ but this one is not so good.",jontelm
12756,WPMU does not handle files with two or more dots in the filename,wpmuguru,Upload,2.9.2,normal,minor,Future Release,defect (bug),reopened,has-patch,2010-03-29T07:23:50Z,2012-11-03T22:59:51Z,"* WPMU does download images that have two or more dots in the file name
> E.g., One..jpg One...jpg One....jpg

rewrites do work (checked)

* this is clearly a WP issue:
> /wp-content/blogs.php
...
$file = BLOGUPLOADDIR . str_replace( '..', '', $_GET[ 'file' ] );
if ( !is_file( $file ) ) {
	status_header( 404 );
	die('404 &#8212; File not found.');
}
...
> WPMU removes two dots!!!

> workaround:
$file = BLOGUPLOADDIR . $_GET[ 'file' ]; // name.ly: workaround for files with two or more dots

tested and works fine
",Namely
17517,wpLink should show tags and categories as results too,,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-19T19:38:36Z,2011-05-21T12:06:36Z,"sometimes you make a series of blogpostings about a topic with one unique tag. 

wpLink (the link assistant in wp 3.1) is very useful for finding ""old"" content, but when you want to link a tag or category you have to type in the url yourself or paste it

Possible solution:

Tabbed interface:
Tab 1 for Posts/pages
Tab 2 Tags/categories",hebbet
21691,WPLANG not settable in multisite if there are no language files,,Multisite,,normal,normal,Awaiting Review,defect (bug),new,close,2012-08-26T11:16:24Z,2012-10-12T13:26:56Z,"I got a plugin running on a multisite and there is definitely something up with the translation.

I tracked the problem down to the WPLANG option in `http://localhost/<subsite>/wp-admin/options.php` being empty. I tried to update it, but it keeps reverting to blank. So down the line the issue with get_locale() looking for the WPLANG value in the site_options and then defaulting back to en_US because it's not picking it up from the wp-config.php defined WPLANG.

I'm assuming that the defined WPLANG in the wp-config.php does not apply in multisite instances. The plugin is only enabled on the separate blog instance, and I changed the translation in wp-config.php after the install if that has anything to do with it.

Simple filter to force the locale in the plugin for the moment:


{{{
function modify_locale(){
    return 'de_DE';
}
add_filter('locale','modify_locale');
}}}


I hope someone can reproduce this issue.",foxinni
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
16762,wpdb::$base_prefix is not documented,,Database,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-03-05T16:17:01Z,2012-08-29T19:59:25Z,"Probably wpdb::$base_prefix has been merged into from MU and not further specified then.

It ''genereally'' can be replaced with {{{wpdb::get_blog_prefix(0)}}} when the MULTISITE constant is defined. That is are after wp-settings.php has been included (wp-config.php, wp-load.php), even on SHORTINIT.

It ''might'' be that this function call does not cover all cases needed because if MULTISITE is not defined when called, it will not return the {{{wpdb::$base_prefix}}}.

More insight into MU is needed, feedback appreceated. Some places look like that they are not aware of the wpdb::get_blog_prefix() function. Probably legacy MU code.

Related: #16756",hakre
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
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
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
20178,wpdb class : provide a disconnect / connect to db functions,arena,General,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-05T13:16:21Z,2012-03-05T16:28:46Z,"some hosts automatically disconnect mysql after a short while.
I think it could be interesting to have in wpdb a disconnect and connect functions.",arena
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
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
11678,wpautop() fails on uppercase closing tags,,Template,2.9,normal,minor,Future Release,defect (bug),new,dev-feedback,2009-12-31T11:26:11Z,2011-10-07T00:45:23Z,"To reproduce, in a post enter:

{{{
<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</P>
}}}

View the post (source) and you get: 

{{{
<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</P></p>
}}}

Because I (incorrectly) entered an uppercase closing </P> tag, wpautop() thinks there is no closing tag so adds a </p>, which then often renders as a double <p> tag. Close if this is not a bug, though I thought it may be good to do some sanitizing or something on uppercase tags.


",joehoyle
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
24085,wpautop filter and shortcodes,,Shortcodes,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-15T06:41:15Z,2013-05-17T05:12:47Z,"I've been told here that this has been fixed in WP3.6 but it wasn't. I just installed WP3.6 Beta 1 and still doing this:

{{{
[shortcode]
<img src="""">
<img src="""">
<img src="""">
[/shortcode]
}}}

produces this:

{{{
<div class=""carousel"">
<p></p>
<img src="""">
<img src="""">
<img src="""">
<p></p>
</div>
}}}

which is highly unwanted because I have to strip <p> tags manually in order to make carousel of images work.",Looimaster
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
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
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
20444,wpautop acts on a single line of text,,Formatting,,normal,normal,Awaiting Review,defect (bug),new,,2012-04-15T03:02:06Z,2012-10-10T14:11:40Z,"HTML markup on a single line wrapped in a block element is interpreted and changed by wpautop. The wpautop function is described as replacing ""double line-breaks with paragraph elements"" which led me to expect the single line would not become many lines.

{{{
echo wpautop( '<div><p>Hello world</p><span>WordPress</span></div>' );
}}}

{{{
<div>
<p>Hello world</p>
<p><span>WordPress</span></div>
}}}

Extra <p> before the <span>.

I expected wpautop would find no newlines and return the original string.

The same string placed inside a HTML5 or XHTML 1 Strict document <body> is parsed as valid by W3C Validator.

Plugins acting on the_content with a priority less than 10 may have their single-line markup reinterpreted by wpautop.",niallkennedy
12354,WP_WidgetArea class,,Widgets,,normal,normal,Future Release,enhancement,assigned,dev-feedback,2010-02-23T22:02:48Z,2010-06-25T17:19:31Z,"After a short discussion involving the state of the Widget API within another ticket's comments, it was proposed to me to create new ticket on this subject.

The idea is that in updating the Widget API, like the WP_Widget class, widget areas will have a similar registry structure.

In my opinion though, I believe that for backwards compatibility it should be integrated but remain separate from the current API for controlling sidebars, also like the WP_Widget class.

In the previous discussion, I said that a possibility could be creating a WP_WidgetArea class, and a WP_WidgetArea_Factory class to register and unregister them.

After some thought though, I believe this is pretty much unnecessary.

What is a widget? - It is a GUI module with a client-side and administrative view, wrapping how to control, use, and display data.

It is a form of MVC, and that's basically it! That being realized, I don't see a problem with adding one more default widget to the core:

WP_WidgetArea extends WP_Widget

This will allow dynamic generation of widget areas. Implementing how to edit these areas within the current interface is another story, though I have a kind of hacked logic I am unhappy with working in a released plugin of mine.

In the future, using widgets for widget areas will eventually depreciate the entire sidebar API. It would only depend on one global area to add and pull widgets from (the theme... cough...).

Also, with custom post types now becoming more prevalent, and this is just my imagination talking, widgets could become another form of the post object:

post_type = widget",jimisaacs
22212,WP_User_Query( array('role' => $role) ) should accept array or not return anything if array,,Users,,normal,normal,Awaiting Review,enhancement,reopened,needs-unit-tests,2012-10-17T12:37:43Z,2013-03-26T22:52:38Z,"I got a small problem with WP_User_Query - i wanted to find users from more then one roles to send them e-mail, so i did


{{{
$role = array('role-1','role-2);
$wp_user_search = WP_User_Query( array('role' => $role) );
$users = $wp_user_search->get_results()
foreach ($user) ... send wp_mail
}}}


problem is, that role param accepts only string. It would not be a problem if it would return nothing, problem was, that it actually returns ALL users, so i have send my author-only emails to all thousands users in database :-(

I know that it is my fault, that i have to read documentation, but i thought, that it works as other wp queries, so if the parame do not fit, it throws error, but it does not.",thomask
23045,WP_User_Query features,,Users,,normal,normal,Awaiting Review,feature request,new,,2012-12-22T06:14:45Z,2013-02-02T11:20:46Z,"WP_User_Query does not updated recently and due to more use of wordpress as CMS needs of custom query per users increased, WP_User_Query lack post type support(i add a ticket for it #21744) lack taxonomy/multiple taxonomies query and alot others, maybe its time to update WP_User_Query like WP_Query. it's really a need for common works these days.",AliMH
21744,WP_User_Query does not support post type,,Users,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-31T00:13:59Z,2012-12-22T07:46:03Z,"unfortunately WP_User_Query only support 'post' right now.
i've attached my modified user.php",AliMH
24255,WP_User::__set doesn't persist custom fields as it claims,,Users,3.3,normal,normal,Awaiting Review,defect (bug),new,,2013-05-03T03:17:42Z,2013-05-06T11:42:01Z,"Looking through `WP_User` in version 3.5.1 (verified against svn trunk too), the magic methods {{{ __get }}} and {{{ __set }}} supposedly read and write from custom fields, per their comment blocks.
{{{
	/**
	 * Magic method for accessing custom fields
	 *
	 * @since 3.3.0
	 */
	function __get( $key ) {
        // ...

	/**
	 * Magic method for setting custom fields
	 *
	 * @since 3.3.0
	 */
	function __set( $key, $value ) {
        // ...
}}}
And sure enough, if you look through the method bodies {{{ __get }}} will make a call to {{{ get_user_meta }}}

	{{{ $value = get_user_meta( $this->ID, $key, true ); }}}

However reading through the body of {{{ __set }}}, it never calls {{{ add_user_meta }}} or {{{ update_user_meta }}}, but has the misleading comment that it's ""for setting custom fields..."".

Seems to me like it's missing a critical line:

        {{{ update_user_meta($this->ID, $key, $value); }}}

Am I missing something, or is this a bug?",quickshiftin
20043,WP_User missing magic __unset() method,,Users,,normal,normal,Future Release,defect (bug),new,has-patch,2012-02-14T19:58:37Z,2013-05-14T13:37:27Z,"When the magic methods were put into WP_User in 3.3, !__unset() was skipped. This has the result of unset( $user_data->$foo ); not actually doing anything.

Patched against r19926.",johnjamesjacoby
14855,"WP_User misses values for some default properties (nickname, rich_editing)",,Users,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-12T12:16:22Z,2011-12-13T00:04:15Z,"WP_User is expected to have default properties like last_name, ID etc.

At least two of them are missing in the class definition:

 1. nickname
 2. rich_editing

The attached patch adds them. 

/wp-admin/user-edit.php does Warnings / Notices if the properties are not set.

This is the case for users in the database that have not set these fields as meta data.",hakre
9640,"wp_update_user() blindly calls add_magic_quotes(), even on objects",,Users,2.8,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2009-04-24T18:14:53Z,2011-10-12T05:41:40Z,"If there's an object stored in usermeta, then the call to add_magic_quotes() will lead to an error in wpdb::escape():

{{{
Catchable fatal error: Object of class stdClass could not be converted to string in /web/ven/wp-includes/wp-db.php on line 472
}}}

http://core.trac.wordpress.org/browser/trunk/wp-includes/registration.php

See also #9638. The two problems are related, but probably need to be solved independently. ",misterbisson
23005,wp_update_user breaks if ID not set,,Users,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-19T15:18:42Z,2012-12-19T15:47:58Z,"Passing an array of userdata to wp_update_user (first_name, last_name, user_email, user_login).

If ID is not in the array, then a PHP Fatal Error is triggered: 
[19-Dec-2012 15:03:16 UTC] PHP Fatal error:  Call to a member function to_array() on a non-object in [..]/web/content/wp-includes/user.php on line 1456

The codex for wp_update_user (http://codex.wordpress.org/Function_Reference/wp_update_user) does state ""If $userdata does not contain an 'ID' key, then a new user will be created and the new user's ID will be returned."", which makes me think this might be a new bug.",actionnerd
21652,wp_update_nav_menu_items returns false instead of WP_Error for non-existent menu items,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-21T16:57:45Z,2012-08-25T14:49:33Z,"'''Use case:'''
Calling wp_update_nav_menu_items with a non-existent menu_item_id as the first parameter

'''Expected return value:''' WP_Error object (as per the method's documentation)

'''Actual return value:''' Boolean false

'''Fix:''' wp-includes/nav-menu.php#L279 - This line should check for a false value first, and if `$menu == false`, set it equal to a `new WP_Error` object - then check `is_wp_error($menu)`",mltsy
20275,wp_update_nav_menu hook is not fired when nav menu item is auto-added,,Menus,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-21T19:30:59Z,2012-09-27T14:12:45Z,"WP calls the action hook 'wp_update_nav_menu' when a navigation menu is updated. For example, go to Site Design -> Custom Menus -> Click the ""Save Menu"" button on a menu.

Next to the Menu title, the Custom Menus provide the user to ""Automatically add new top-level pages"". When this option is checked, and a new top-level page is created, the 'wp_update_nav_menu' hook is not fired. So the attached nav-menu-hooks.diff patch fixes that.



I would also suggest that we do not use the same hook 'wp_update_nav_menu' twice (as it is currently being done) with different amount of arguments, because this causes a PHP Warning 

{{{
PHP Warning:  Missing argument 2 for x_save_footer() in /var/www/branches/x.trunk/wp-content/themes/x/functions.php on line 815, referer: http://x.com/x/wp-admin/nav-menus.php
}}}

for code:
{{{
add_action('wp_update_nav_menu', 'x_save_footer', 10, 2);
}}}

So, the hook call at nav-menu.php:255 has 2 parameters and the call at nav-menus.php:383 has 1 parameter.

As a fix, the action hook in nav-menu.php should be named something else, like 'wp_update_nav_menu_object' (because it is updating the object), as done in the attached nav-menu-hooks.diff patch. This will also prevent the same hook from being fired twice when updating the nav menus.",inderpreet99
24216,wp_unique_term_slug uses variable that doesn't exist,,Taxonomy,2.5,normal,normal,3.6,defect (bug),new,,2013-04-28T22:44:13Z,2013-04-28T23:30:19Z,"http://core.trac.wordpress.org/browser/trunk/wp-includes/taxonomy.php#L2380

`$args['term_id']` doesn't exist. It should be `$term->term_id`.

This means that even though the DB schema allows for different taxonomies to have the same slug the code will never allow it.",lonnylot
16843,wp_unique_post_slug() doesn't check pagination base when CPT has archive,,Post Types,3.1,normal,minor,3.6,defect (bug),new,has-patch,2011-03-13T06:22:22Z,2013-01-14T00:12:14Z,Title says it all.,scribu
21821,wp_title spits warnings and returns a blank when a query is both is_post_type_archive and is_category/is_tax/etc,,Template,3.4,normal,minor,Awaiting Review,defect (bug),new,,2012-09-05T23:31:38Z,2012-11-01T22:19:33Z,"When a query is made against both a post type and a category / taxonomy / et cetera, the query is both is_category and is_post_type_archive.  The queried_object is set to the first object type it comes to; category / taxonomy come before post_type, so the queried_object is a term here.

wp_title walks through each is_ option in turn and resets the title with every one it finds being true.  When there is both a category and a post type archive,  single_term_title gets called first, successfully setting the title, but then post_type_archive_title is called, which assumes the queried_object is in fact a post type object; it spits out a couple of warnings and returns a blank title. 

Probably, since its subordinate title functions depend on the queried_object being as expected, wp_title should use else if rather than just if (in the same way that get_queried_object does), but I'm not sure if that would have implications elsewhere.

(Tested against trunk r21768 as well as 3.4.1)

Attached is a unit test that demonstrates the problem.
",devesine
23132,wp_timezone_override_offset() has noticeable performance hit,,Date/Time,3.5,normal,minor,3.6,enhancement,new,has-patch,2013-01-06T22:05:19Z,2013-03-03T05:01:15Z,"While wandering through XHProf generated callgraph of my test stack I came upon `wp_timezone_override_offset()` eating 3.4% of runtime (73 calls). I do not expect noticeable resource consumption from such minor configuration-related function.

The obvious performance aspect is that it creates and discards two objects (`DateTime` and `DateTimeZone` - latter seemingly more heavy) per each call, while calculating same result each run.

The less obvious aspect is that the only use of this function is to pre-filter `gmt_offset` option, and it essentially hijacks option cache for it.

Possible solutions:

 - calculate result once per run and cache in static variable inside function (straightforward, but retains multiple function call)
 - filter `gmt_offset` on set rather than get (more involved)
 - scrap the extra function and/or option altogether? is there still practical need for having two options for timezone information?",Rarst
22336,WP_Theme::get_allowed_on_site() function doesn't work for other blogs,,Themes,3.4.2,normal,major,Awaiting Review,defect (bug),new,,2012-10-31T20:07:54Z,2012-10-31T20:39:48Z,"On line 1110, the static function WP_Theme::get_allowed_on_site() overwrites the $blog_id argument:
{{{
$current = $blog_id == get_current_blog_id();
}}}
As a consequence, calling the function for another blog than the current blog is made impossible. It doesn't look fixed in WP 3.5 either.",npetetin
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
18549,wp_texturize incorrectly curls closing quotes after inline HTML end tags,,Formatting,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-08-30T21:54:26Z,2013-03-22T13:39:47Z,"The following source HTML:
{{{
The word is ""<a href=""http://example.com/"">quoted</a>"".
The word is '<a href=""http://example.com/"">quoted</a>'
The word is '<a href=""http://example.com/"">quoted.</a>'
The word is '<a href=""http://example.com/"">quoted</a>'.
The word is '<a href=""http://example.com/"">quot</a>'d
}}}

Gets incorrectly transformed by wp_texturize() as:
{{{
The word is &#8220;<a href=""http://example.com/"">quoted</a>&#8220;.
The word is &#8216;<a href=""http://example.com/"">quoted</a>&#8216;
The word is &#8216;<a href=""http://example.com/"">quoted.</a>&#8216;
The word is &#8216;<a href=""http://example.com/"">quoted</a>&#8216;.
The word is &#8216;<a href=""http://example.com/"">quot</a>&#8216;d
}}}
'''Note:''' all the double/single quotes in the above examples that should be closing are instead opening)

This renders in the browser like this:
{{{
The word is “quoted“.
The word is ‘quoted‘
The word is ‘quoted.‘
The word is ‘quoted‘.
The word is ‘quot‘d
}}}

The problem here is that wp_texturize splits the text on all start/end tags, which makes sense for block-level tags, but not inline-tags like {{{<em>}}} and {{{<a href="""">}}}.

formatting.php line 67:
{{{
$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
}}}

However if you change it to only split the content on block-level tags, you'll need something more sophisticated/complex than a regular expression to avoid curling quotes within html.",justincwatt
16864,WP_Terms_List_Table doesn't call sanitize_term() on display,,Administration,2.9,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-03-16T12:54:07Z,2011-06-22T17:05:26Z,"Steps to reproduce:

Add this filter:

{{{
add_filter( 'category_slug', function() {
  return 'filtered';
} );
}}}

and go to {{{edit-tags.php?taxonomy=category}}}",scribu
11847,wp_tag_cloud counts terms attached to future posts when used with custom taxonomies,filosofo,Taxonomy,2.9.1,normal,normal,Future Release,defect (bug),reopened,,2010-01-09T20:47:18Z,2010-10-29T00:27:24Z,"If you create a custom taxonomy, then attach some terms from that taxonomy to a future scheduled post, attachments attached to a future post, or unattached attachments, they will get counted toward the totals used to draw the tag cloud produced by wp_tag_cloud.

As a result, the sizes of the items in the tag cloud will be wrong, and the tooltips will show the wrong count. In some cases, if a particular term is only attached to future posts, clicking on the link in the tag cloud will result in a 404 because the main $wp_query correctly filters out future posts and unattached attachments when looking at the term's archive.

Correct behavior would be for get_terms to provide an option to filter out future posts and unattached attachments from its results the same as is done when looking at the term's archive.",fwiffo
19742,WP_Styles should pass more info to the filter,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-04T21:49:30Z,2012-12-11T23:44:10Z,"Currently, if your working with wp_enqueue_style(), it's not easy to customize the output of the link element.

The current filter passes the full html along with the style handle. This isn't enough information if you're trying to rebuild the link element.

I'm currently changing rel=""stylesheet"" to rel=""stylesheet/less"" for lesscss suport. I'm currently able to achieve this, but I have to know the style handle.

This patch adds a third param which contains all of the style data available for that style.",ptahdunbar
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
23212,wp_signup.php always get 404 status header,,Multisite,3.5,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-01-16T02:04:14Z,2013-01-16T04:20:54Z,"I get 404 in status header for wp_signup.php in few server,

I think it was caused by class WP->handle_404();

",apineraka
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
16550,wp_set_post_categories should take an integer,,Taxonomy,3.0,normal,normal,Future Release,enhancement,new,has-patch,2011-02-13T11:47:44Z,2011-02-20T17:14:58Z,"{{{wp_set_post_categories();}}} can only be passed an array of cat ids. If you pass it an integer, it resets the value to the default category even though the category exists.

This happens as the if statement runs an OR check to see if the second parameter is not an array or empty. If one is true, it just goes on ahead and resets the parameter to be the default category regardless if the value was empty or a string.

Patch fixes this by strict typing the second parameter to an array. It also strict types the default category id as it was being returned as a string.",ptahdunbar
20845,"wp_set_current_user( null, ""name"") does not work when $current_user is already 0",,Users,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-05T13:11:53Z,2012-06-05T16:10:58Z,"According to the documentation for wp_set_current_user() you can 

Set $id to null and specify a name if you do not know a user's ID.

This does not work when the current user has already been set to anonymous ( ID = 0 ) since the following test returns true.

	if ( isset( $current_user ) && ( $current_user instanceof WP_User ) && ( $id == $current_user->ID ) ) {

The last part of the test should be corrected to 
&& ($id === $current_user->ID) )

which will ensure that the test fails when the $id parameter is null, which will allow the rest of the pluggable function to continue and set the current user to the specified $name. 

This is similar to #19769.
Note: the change in 3.4 has not fixed this particular problem.",bobbingwide
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
22470,WP_Scripts: output script element only if src not empty,,General,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-11-16T00:36:50Z,2012-11-16T00:36:50Z,"I was able to make async JavaScript loading work with existing !WordPress code by acting on the script_loader_src filter before the `<script>` element is output, returning an empty string. This results in an empty src attribute, creating technically invalid HTML while not immediately loading the external script. If the !WordPress code could check if a non-empty `$src` string exists before outputting I could avoid the invalid HTML nag. Attached diff only outputs the `<script src="""">` element if `$src` is not an empty string.

I'd like to be able to asynchronously load an enqueued script without needing to completely rework `WP_Scripts`. I'd like to take advantage of common handles indicating a script is set to be loaded, extra data attached to a handle, and other !WordPress script expectations while swapping out the `<script src="""">` echoed markup.

Why async? A script steps out of the way, offering progressive enhancement of the page or loading non-critical features such as stats or socal network sharing buttons. Async loading also helps prevent single points of failure in webpage loading caused by China blocking Facebook or resources hosted at Amazon Web Services going offline for a few hours.

* [http://www.stevesouders.com/blog/2012/01/13/javascript-performance/ Some info from Steve Souders] showing a 31% increase in load times.
* [https://developers.google.com/analytics/devguides/collection/gajs/ Google Analytics use case]
* [https://developers.facebook.com/docs/reference/javascript/#loading Facebook JavaScript SDK use case]",niallkennedy
17052,wp_sanitize_redirect() removes square brackets from URL,,General,3.1,normal,minor,Awaiting Review,defect (bug),reopened,has-patch,2011-04-05T07:12:16Z,2012-03-01T18:08:07Z,"The function wp_sanitize_redirect() removes square brackets from URLs.

PHP's functionality with arrays in the URL require square braces, stripping them from the URL means that pages (and plugins) that rely on them fail.

To Reproduce:

{{{
<?php
$url = 'http://example.com/my_url_array[1]=hello+world';
print wp_sanitize_redirect($url);
?>
}}}


Current Output:
http://example.com/my_url_array1=hello+world

Expected Output:
http://example.com/my_url_array[1]=hello+world

Whilst developers should be able to work around this as the function is pluggable I believe this should just work out of the box.
",bluntelk
16451,WP_Roles and capabilities,,Role/Capability,3.0.4,normal,normal,Awaiting Review,defect (bug),new,,2011-02-03T19:06:28Z,2011-02-03T19:56:45Z,"I began to complain about this in the support forum: http://wordpress.org/support/topic/bug-report-wp_roles?replies=3#post-1922100 . You can read the longer version there.

The WP_Roles-Class lacks some consistency (immo). I am not aware of the reasons why WP_Roles multiple class-varibles containing the roles and capabilities, but in this case your logic is producing some errors:

I wrote my Plugins as classes. While Wordpress loads them, I add the roles and capabilities this plugin needs. It would have been far more complicated to do this only while activating.

Creating a WP_User-Object, it will set it's ""all_caps"" from $wp_roles->get_caps($role) which is looking into the $wp_roles->role_objects[$role]. There it will only find those capability of the $role, which were assigned while creating the role [ $wp_roles->add_role($identifier, $readable, $caps) ] but NONE of the caps added by [ $wp_roles->add_cap($role, $cap, $grant) ] because this function applies the capability to $wp_roles->roles but not to $wp_roles->role_objects, where WP_User will look into with the method [ $wp_roles->get_caps($role) ]

I use this as an example cause I faced this problem the last three days. The fact is, if you need those multiple variables in WP_Roles, please, keep them all up-to-date. Do not force the user to set all capabilities in the activation and do not rely on the thought that roles and capabilities will be set correctly if read from the database. 

As the changes are minor and the effect major, it would be great to change it soon.",IM_natascha
17957,wp_reschedule_event & daylight saving,,Cron,3.2,normal,normal,Awaiting Review,enhancement,reopened,,2011-07-01T09:03:28Z,2013-04-11T23:18:10Z,"When a recurring event is established using the WP cron functions the function takes a Unix timestamp and a recurrence interval.

In the situation where daylight saving changes the local time, the timing of an event can change by an hour. So, if a database backup is set to run at midnight when the clocks change this can start to happen at 11pm or 1am instead since the timing of the event is based on an initial static time (Unix timestamps reference point is January 1, 1970) and a static interval period.

An enhancement to the cron functions would be to account for an obey daylight saving changes so that events schedule for midnight actually occur at midnight irrespective of the time of year.",MattyRob
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
22739,wp_register_script/wp_enqueue_script problem,,General,3.4.2,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2012-12-04T18:51:01Z,2013-01-16T04:27:53Z,"First of all: sorry for my bad English.
Hi, i've seen may be a bug while programming a plugin (Len Slider).
I have some handle-scripts like jquery, jquery-ui to enqueue, its ok. Also I have my known js-files to enqueue, ok too. BUT! When I want to enqueue dynamic js (gets from folders via glob), it enqueue too BUT BEFORE jquery, jquery-ui itc. When I enqueue script with custom handle and in foreach loop, BUT with deps parameter as array of jquery, jquery-ui etc. And this dynamic js-file loads BEFORE jquery or jquery-ui! Now I solve the problem by load known handles jquery, jquery-ui in header and my own in footer, but i think we need to look for core to solve it.

You can see it on Len Slider in len-slider/lib/lenslider.class.php:313 - lenslider_make_skins_files_wp_head method

Also I think about parameter like priority for wp_register_script/wp_enqueue_script(style) functions to load it by this range.",tigusigalpa
21107,wp_register_resource,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-28T20:38:31Z,2012-06-29T09:15:34Z,"

Building on the concept of wp_register_script and wp_register_style I would love to see something more general for requiring resources with dependencies.  Many times certain scripts require certain styles to be included and vice versa.  This could also extend to other resource types as well.  


Let's use a basic example of some certain script creatively called Script-1.  That Script-1 may have certain scripts and styles or other item on which it is dependent, let’s call them Script-1-A,Script-1-B and Style-1-A, Style-1-B.  When you register the script you can of course specify other dependent scripts, but not the dependent styles, or other resource.  Of course you can register the styles separately.  It may seem trivial that you can then just register Script-1-A, Script-1-B and register Style-1-A, Style-1-B and then wp_enqueue_script (Script-1,array(Script-1-A, Script-1-B)) and wp_enqueue_style(Style-1-A), wp_enqueue_style(Style-1-A)  separately.  Now let's say you have Script-2 that depends on Script-1.  When you call wp_enqueue_script(Script-2) you also have to remember to call wp_enqueue_style(Style-1-A) and wp_enqueue_style(Style-1-B).  As the levels of dependency increase or if something changes it gets a lot more difficult to maintain.  


My example above only focused on styles and scripts but could apply to other resources such as fonts and/or images that you would like to manage using the flexibility of the WordPress queueing and  actions/hooks systems. Sure you could have scripts call the styles themselves but then those styles would not be processed through wordpress and therefore might not take advantage of combining, compressing, caching systems you might have in place in addition to the ability to deregister and change certain items in child themes/skins as easily.

I have a system setup to run hundreds of sites with a core theme that provides common structure, style, scripts and a host of other functionality.  Then I have an array of child themes geared towards certain types of sites.  Those child themes each can have an unlimited number of skins.  The skins can all introduce new functionality and build on the functionalities, styles, scripts, etc of the child theme which builds upon the core theme.  This is one of the many cases where being able to just call the single wp_enqueue_resource would greatly help, especially when things change. 

Implementation: To implement for just scripts and styles to get started you could make a new “Resources” queue in which each resource could have a list of resources and type.  When you enqueue a resource it could call wp_enqueue_script and wp_enqueue_style.  Now we would have to add the ability to add a placeholder or null type of item in wp_register_script and wp_register_queue. Because looking at the example I laid out above you would do something like this:



Class Resource might either contain and array of generic resources or could have separate styles/scripts.  There are obviously flexibility and performance implications of both methods.

Here is some very rough pseudocode:

{{{
wp_register_resource(‘Resource-1’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-1’,
      ‘src’=>‘Script-1-URL’,
      ‘deps’=>array(’Script-1-A’,’Script-1-B’),
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>‘ Style-1-URL’,
      ‘deps’=> array(Style-1-A’, Style -1-B’),
      ‘ver’=>’’,
      ‘media’=>’’)
  )
)
}}}

do not call wp_register_style/ wp_register_script upon registering of the resource and wait until this resources or resource requiring this resource is enqueued.  This way the style and script are not enqueued separate from the resource and therefore each other since they are dependent on each other.  It would however register the resource in the resource queue.

{{{
wp_enqueue_resource(‘Resource-1’) would:
wp_enqueue _script(‘Resource-1’, ‘Script-1-URL’, array(’Script-1-A’,’Script-1-B’));
wp_enqueue _style(‘Resource-1’, ‘Style-1-URL’, array(Style-1-A’, Style-1-B’));
}}}

2a
//wp_register_resource($handle, $resources=array(),$deps=array())

{{{
wp_register_resource(‘Resource-2’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-2’,
      ‘src’=>‘Script-2-URL’,
      ‘deps’=>array(’Script-2-deps’)
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>’’,
      ‘deps’=>array(’’)’,
      ‘ver’=>’’,
      ‘media’=>’’)
  ),
  array(‘Resource-1’)
);
}}}

{{{
wp_enqueue_resource(‘Resource-2’) would:
wp_register_script(‘Resource-1’,’Scipt-1-URL’……)
wp_register_style(‘Resource-1’,’Style-1-URL’……)
wp_enqueue_script(‘Resource-2’, ‘Script-1-URL’, array(‘Resource-1’,’Script-1-A’,’Script-1-B’))
wp_enqueue_style(‘Resource-2’, ‘’, array(‘Resource-1’))
}}}


`wp_deenqueue_resource(‘Resource-2’)` would take dequeue it’s scripts and dependent scripts/styles (assuming those dependent scripts and styles were not enqueued elsewhere)


There are the issues to work out on whether a resource could specify multiple scripts/styles or whether it should just be zero/one of each that listed others as dependencies.  Either way can work, just depends on what community thinks.",gruvii
17472,wp_redirect() should return true on success,draca,General,3.1.2,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-05-17T12:56:39Z,2011-05-17T15:40:11Z,"Ticket #3250 added the ability for a filter to cancel a redirect request and returns false in that event.

On success, there is no return value specified so the function returns NULL per the PHP spec.  A value of true should be returned so that logic such as the following can be used:


{{{
if (! wp_redirect($redirect_url)) {
  // Handle redirect failure
}
}}}
",draca
20060,wp_redirect() doesn't exit,,Security,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-02-17T15:35:11Z,2012-02-27T05:46:35Z,"As discussed in #15518, not exit()'ing after a redirect can be a security vulnerability and also lead to unexpected behavior. I think that most developers assume that the API would take care of that for them, since that would be the best practice, so they don't do it in their own code.

There are some cases where features need to redirect without exiting, though, so the API needs to support both cases. Ideally wp_redirect() should exit() by default, but that would cause too many backwards-compatibility issues. So, I'd propose making these changes:

* Add a new boolean parameter to wp_redirect() that determines if it should exit() or not. It's false by default. If it's passed in as true, then exit() is called at the end of the function. Having it set to false by default avoids the backwards-compatibility issues.
* Add the new boolean parameter to wp_safe_redirect() also.
* Create new wp_redirect_exit() function that is a wrapper for a wp_redirect() and passes in a true value for the new parameter. Then, promote this new function on the Codex and other places to inform developers that they should be using it unless they actually need to execute code after the redirect.
* Also create wp_safe_redirect_exit() in the same way.",iandunn
18814,wp_redirect wont allow arrays to be sent in query string,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T14:27:38Z,2011-10-03T17:04:52Z,"
The pluggable function wp-redirect will not allow arrays to be sent in a query string.  

ie: http://www.example.com/?array[]=first&array[]=second&array[]=last

The brackets are stripped out when the URL is sanitized and it becomes:

http://www.example.com/?array=first&array=second&array=last

This removes the ability to pass the array.",jacksplay
19512,wp_read_image_metadata includes bitmap in description,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-12T13:47:40Z,2011-12-20T20:51:17Z,"After uploading a photo that includes (photoshop) bitmaps in the image data, the bitmap data is copied into the image description.




",macbrink
24133,"WP_Query, multiple 'orderby' values glitch",,General,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-19T02:45:46Z,2013-04-19T02:48:08Z,"According to the documentation, WP_Query argument 'orderby' allows for multiple values, but it doesn't work.

Looking in the code i found out why, the 'order' is only being applied to the last item in the list.

So for instance: 
    ('orderby' => 'title menu_order', 'order' => 'DECS')
Will end up as
    ""ORDER BY $wpdb->posts.menu_order, $wpdb->posts.post_menu_order DECS""

To fix (I hope), the following needs to be done to query.php line 2387
    $orderby_array[] = $orderby.' '.$q['order'];
",racura
13365,"WP_Query, author_name, and sticky posts",ryan,Query,2.9.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2010-05-12T06:09:42Z,2012-08-30T00:17:35Z,"I have a template which is being used as my front page on WP 2.9.2. In this template I setup my loop with the following code:

{{{
$postresults = new WP_Query();
$postresults->query(""author_name=frontpage&post_types=post&post_status=publish"");
while($postresults->have_posts()) { $postresults->the_post(); ?>
// etc...
}}}

I am not using the ""caller_get_posts=1"" option, but my sticky posts are still showing up in order with other posts rather than at the beginning. If I remove the ""author_name=frontpage"" the sticky posts will move back to the first items, however I am stuck with posts by authors I do not want. Using ""author=2"" results in the same behavior as using ""author_name"".",eryanv
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
19728,WP_Query should constrict 'paged' to be within bounds of found_posts,,Query,,normal,normal,Awaiting Review,enhancement,new,,2012-01-03T20:16:45Z,2012-01-07T23:12:37Z,"I apologize in advanced if this has been reported before. My Trac search did not find anything pressingly relevant.

WP_Query allows the user to pass in a discrete value to use for the 'paged' parameter; however, often times this value will be dynamic rather than static (as in the programmer will have paged be the value of $_GET[ 'paged' ] or something similar).

The problem is, if you enter an absurdly large or small value for the paged parameter and it's out of bounds, it will just throw a 404 (or otherwise show that there are no posts matching the parameters). I propose that WP_Query automatically changes the paged value to be within the bounds of the returned number of pages.

For example, constrict paged to the following rules:
1 <= $paged <= $wp_query->max_num_pages (where $wp_query is whatever custom query is being used). If the user types in a page larger than the max, it uses the max instead. Conversely, if they type a page less than 1, it uses 1.

The only potential problem I see with this is if a user actually (for whatever reason) wanted a 404 to display when an invalid page was visisted. In this case, perhaps we can introduce a new option to WP_Query such as 'limit_to_bounds' => true?",Master Jake
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
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
22995,WP_Query Category stuff blank page,,Query,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-18T18:59:18Z,2012-12-19T23:48:54Z,"hey there,
maybe I have found a bug. Sending following parameter to the WP Query (with my theme via ''?s=test%cat=1234'') you should get a blank page. At first I thought it was a bug of mine, but deleting following line in /wp-includes/query.php:1746 fixes the problem.

{{{
$q['category__in'][] = $cat;
}}}

So I think there's a bug in the query function...

Thanks,
Ninos",Ninos Ego
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
21883,WP_Plugin action/filter concept,,Plugins,,lowest,minor,Awaiting Review,enhancement,new,,2012-09-13T18:24:04Z,2012-10-22T19:58:57Z,"Attached is a concept for allowing plugins to have dedicated action/filter loops.

The problem:

* Plugins like !BuddyPress and bbPress that have their own actions and filters pollute the global action/filter namespace. This isn't necessarily bad, but it's arguably not optimal.
* Allowing plugins to have their own action/filter hooks means mirror action/filter names to match what's used in !WordPress, without adding more items to the global action/filter array.
* !BuddyPress and bbPress namespace their actions with prefixes, I.E. 'bp_init', 'bp_ready' et all. This works fine, and is straightforward to use, so I'm not really even sure this patch is that good.
* More conceptual than anything; it's intended as a fun experiment to toy with a new way of looking at !WordPress how actions/filters might evolve in the future.

Attached is a big patch with a small example file. The patch is ugly looking, due to running out of time in the day and wanting feedback sooner.",johnjamesjacoby
8298,wp_page_menu needs to override wp_list_pages include argument to be functional,technosailor,Template,3.0,normal,normal,Future Release,defect (bug),assigned,has-patch,2008-11-20T19:43:12Z,2010-10-26T13:08:12Z,"In exploring the new wp_page_menu() function, I realized that there is a byproduct of wp_list_pages that is unintuitive and possibly problematic for people wanting to output a menu. The 'include' argument overrides the use of child_of, parent, meta_key and meta_values parameters.

Menu creation assumes that only some top level pages will need to be used, thus the need for 'include', but wp_list_pages assumes that if you're including only a subset of pages, you're not including the subpages as well. Makes sense on both accounts.

For menu authors, I think expected behavior is that a top level menu would include subpages as well (e.g. a rollover horizontal nav).

I'm submitting a patch that delivers that expected behavior to only the new wp_page_menu() template tag. It reverse engineers the include by using the 'exclude' argument to exclude all pages except the ones passed with the wp_page_menu 'include' argument.",technosailor
16516,wp_page_menu documentation of the sort_column parameter,,General,3.0.5,normal,trivial,Awaiting Review,defect (bug),new,,2011-02-10T15:13:13Z,2011-02-10T15:13:13Z,"The [http://core.trac.wordpress.org/browser/tags/3.0.5/wp-includes/post-template.php#L810 source code documentation] for wp_page_menu reads:

{{{
* <li><strong>sort_column</strong> - How to sort the list of pages. Defaults
* to page title. Use column for posts table.</li>
}}}

The actual default value is {{{'menu_order, post_title'}}} (correctly, as per [http://core.trac.wordpress.org/ticket/10266 Ticket 10266]).

",FrancescoRizzi
17337,wp_old_slug_redirect() fails with multiple post_type query,,Canonical,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-05-06T10:36:19Z,2011-05-06T10:36:19Z,"If I have a query something like this:

{{{
[query_vars] => Array
        (
            [name] => panasonic-tv-review
            [post_type] => Array
                (
                    [0] => review
                    [1] => small_review
                )
        )
}}}

The new post slug is ""panasonic-250-tv-review"", and there is a `_wp_old_slug` meta key with the old slug. One would expect `wp_old_slug_redirect()` to kick in and do the redirect. However, `wp_old_slug_redirect()` will fail with a query with multiple post types, (looking at http://core.trac.wordpress.org/browser/trunk/wp-includes/query.php#L3494). This will knock the `$wpdb->prepare()` ass `$post_type` is now an array. 

I can write a patch for this if I can get the go ahead.",joehoyle
22239,wp_ob_end_flush_all() tries to destroy non-destroyable output buffers,,Warnings/Notices,,normal,normal,Awaiting Review,defect (bug),new,,2012-10-21T03:20:47Z,2012-10-21T03:28:19Z,"`wp_ob_end_flush_all()` currently tries to flush & destroy every PHP Output buffer that is enabled on the current installation.
However, not every type of PHP Output buffer can be destroyed, which will cause a PHP Notice when attempts to do so are made.
An example of this is PHP extensions such as New Relic, or PHP output buffers created with the `$erase` flag set to false in `ob_start()`

An example is when New Relic is installed on a host, also [https://newrelic.com/docs/php/php-agent-faq#rum-obclean see New Relics FAQ entry] on the issue.
{{{
( ! ) Notice: ob_end_flush(): failed to send buffer of New Relic auto-RUM (1) in ../trunk/wp-includes/functions.php on line 2641
Call Stack
#	Time	Memory	Function	Location
1	0.8510	4328360	shutdown_action_hook( )	../load.php:0
2	0.8510	4328440	do_action( )	../load.php:556
3	0.8510	4329856	call_user_func_array ( )	../plugin.php:406
4	0.8510	4329888	wp_ob_end_flush_all( )	../plugin.php:406
5	0.8511	4330064	ob_end_flush ( )	../functions.php:2641
}}}

Somewhat similar to #18239
I'm not sure of what the ideal solution for this would be for !WordPress, but wanted to record the issue being known.",dd32
18239,"wp_ob_end_flush_all() hangs the output buffering, during plugin update/install",,Upgrade/Install,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-07-25T07:52:03Z,2012-10-26T15:59:20Z,"Symptom: During plugin update process, the screen displays ""Downloading {plugin}"" then appears to hang.

System: Apache2 on LinuxMint-11

I traced the fault to the following function:
send_message() in /wp-admin/includes/misc.php

this function writes out the message, then tries to flush
the buffers by calling wp_ob_end_flush_all()

the mechanism of the ob_flush is to repeatedly call ob_end_flush until there is no more levels.

On the default configuration of LinuxMint / Debian, zlib.output_compression is ON, and this interferes with ob_end_flush

Based on notes from php.net, ob flushing is not necessary.

SOLUTION:

1) Either change php.ini to set zlib.output_compression to OFF, or

2) shortcircuit the wp_ob_end_flush_all() by adding an immediate return to the first line.

RECOMMENDATION:

In future versions of Wordpress, the interaction between ob and zlib should be studied carefully to derive the most universal solution.
",mamborambo
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
14601,wp_new_comment method doesn't allow passed in values for IP and user-agent,,Comments,3.0.1,normal,normal,3.6,enhancement,new,has-patch,2010-08-12T14:20:21Z,2013-05-04T12:03:02Z,"In a scenario where you have a client that receives comments from the internet and pre-processes those comments before feeding them into wordpress through xmlrpc the ip and user-agent of the commenting internet user gets lost because there is no way of passing those values into the wp_new_comment function. 

`$_SERVER['REMOTE_ADDR']` and `$_SERVER['HTTP_USER_AGENT']` are hard-coded, which in the above mentioned scenario will always have the IP and user-agent from the client that feeds the comments into wp through xmlrpc.

The attached patch will used passed in values and only fall back to `$_SERVER['REMOTE_ADDR']` and `$_SERVER['HTTP_USER_AGENT']` if not passed in.",mrutz
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
15550,WP_Nav_Menu_Widget needs a filter for args,,Widgets,3.1,normal,normal,Future Release,enhancement,new,,2010-11-23T21:48:57Z,2011-01-13T08:34:07Z,"I have a very common need to change the walker of a menu printed by WP_Nav_Menu_Widget. The only way to do this is by injecting a new walker on the args array.

By so, I propose changing '''default-widgets.php''':

{{{
function widget($args, $instance) {

	// Get menu
	$nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] );

	if ( !$nav_menu )
		return;

	$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);

	echo $args['before_widget'];

	if ( !empty($instance['title']) )
		echo $args['before_title'] . $instance['title'] . $args['after_title'];

	wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );

	echo $args['after_widget'];
}
}}}

To:
	
{{{
function widget($args, $instance) {

	// Filter for args
	$args = apply_filters('nav_manu_widget_args', $args);

	// Get menu
	$nav_menu = wp_get_nav_menu_object( $instance['nav_menu'] );

	if ( !$nav_menu )
		return;

	$instance['title'] = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);

	echo $args['before_widget'];

	if ( !empty($instance['title']) )
		echo $args['before_title'] . $instance['title'] . $args['after_title'];

	wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );

	echo $args['after_widget'];
}
}}}
",brodock
19415,wp_nav_menu showing private/conctepts posts without rights,,Security,3.0,normal,major,Awaiting Review,defect (bug),new,,2011-12-02T18:11:06Z,2012-11-01T16:52:23Z,"when you are using wordpress menus and you got your post/page in a menu (e.g. using Automatically add new top-level pages) and then change the post/page to concept or set it private, the link to post/page stays in the menu for all users, what may have some negative security concerns

this error in all versions, including todays nightly 

IMO it should show only visible posts (if someone disagrees and need it for some backward compatibility, there may be some parameter, but imo hidding private/concept should be default)",thomask
23908,wp_nav_menu generates wrong classes for li elements,,Menus,3.5.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-03-30T13:42:46Z,2013-03-30T13:42:46Z,"Function '''wp_nav_menu''' generates 2 different classes for '''<li>''' with exactly the same meaning: e.g. '''current-page-parent''' and '''current_page_parent'''. It sometimes generates one of them, but sometimes both. 

Also this coresponds to '''current-page-ancestor''' and '''current_page_ancestor''' classes. 

I think there should be one of them, but to preserve compatibility with older websites, it is better to leave both but generate both at the same time, so that user could use either ""'''-'''"" or ""'''_'''"" as separators.",anyname2
20289,wp_nav_menu container is not set when menu isn't defined,,Menus,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-23T10:27:03Z,2012-03-23T13:19:41Z,"When you use wp_nav_menu in your theme, but the actual menu isn't set via the backend menu interface, the container provided in the args is ignored and falls back to 'div'.

Attached diff always uses container provided in args, if 'div' or 'nav' is provided. If no container arg is provided, falls back to using 'div'.

{{{
wp_nav_menu(
	array(
		'theme_location' => 'main_menu',
		'container'      => 'nav',
		'menu_class'     => 'main-menu-navigation',
	)
);
}}}

To test this: Use this function in your theme, without assigning a menu to this theme_location.",dannydehaan
18842,wp_nav_menu confuses new developers when it falls through to page listing,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-02T10:54:12Z,2012-10-22T11:14:51Z,"It appears that when wp_nav_menu() falls through to a page listing, many menu-specific args are not passed to the page listing, which ultimately confuses new developers.

I seem to answer this at least weekly in #wordpress

One example is the 'container_class' arg, if it falls through to the fallback_cb, the container_class is not applied.

Ideally, template-related arguements should be passed to the fallback (And with pages as the default callback, it should handle these) or wp_nav_menu() should output any extra wrapping divs if appropriate.",dd32
18232,wp_nav_menu - Setting walker parameter affects fallback_cb,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-24T08:14:35Z,2012-07-17T17:20:50Z,"When using the walker parameter with wp_nav_menu and there is no menu present, wp_nav_menu falls back by default (set with fallback_cb) to wp_page_menu. It appears that the set walker also affects wp_page_menu, which in most cases breaks the output.

wp_nav_menu usage:
{{{
<?php wp_nav_menu(array('walker'=> new Walker_Nav_Menu)); ?>
}}}

Output when no menu is present (falling back on wp_page_menu):
{{{
// Formatted for readability
<div class=""menu"">
	<ul>
		<li id=""menu-item-1"" class=""menu-item-1""><a></a></li>
		<li id=""menu-item-2"" class=""menu-item-2""><a></a></li>
		<li id=""menu-item-3"" class=""menu-item-3""><a></a></li>
	</ul>
</div>
}}}

Expected output:
{{{
// Formatted for readability
<div class=""menu"">
	<ul>
		<li class=""page_item page-item-1""><a href=""/first/"" title=""First"">First</a></li>
		<li class=""page_item page-item-2""><a href=""/second/"" title=""Second"">Second</a></li>
		<li class=""page_item page-item-3""><a href=""/third/"" title=""Third"">Third</a></li>
	</ul>
</div>
}}}

As you can see, the output from wp_page_menu is getting filtered through the walker, but since the walker was designed for menus specifically, it renders the default output from wp_page_menu useless (empty tags..etc).",bryanjwatson
24093,"WP_Meta_Query is inefficient when referencing the same keys in ""OR"" query",,Query,3.5.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-15T16:21:31Z,2013-04-15T16:24:39Z,"This is part of the chain of thought from #19729

The corresponding fix for #19729 was done in [22103]

I believe this fix didn't take things far enough. For example, a meta_query that does a lot of comparing on the same meta_key, will have a JOIN and a WHERE for each query array. It shouldn't have to re-join the postmeta table on each query array though, since they are based on the same meta_key.

I'll attach a suggested patch that will only join if it needs to, and use the previous alias for the first meta_key joined table if it's already been joined.",sc0ttkclark
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
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
18826,wp_maintenance() expiration time needs to be filterable,,Upgrade/Install,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-30T15:09:16Z,2011-10-01T01:23:22Z,".maintenance files expire after 10 minutes if something goes wrong.  10 minutes is a long time, when most upgrading operations are attempted and fail within 20-60 seconds.

I propose three things:

1. changing the default expiration to 5 minutes (300 seconds)
2. Adding a filter to allow plugins and themes to filter this time to increase/decrease it
3. Also, while I was in there, it seems prudent to attempt to delete the file if it has expired.  The only argument I could see against this is that possibly it might be expensive if the file can not be deleted and wp attempts to delete the file on every page load.  So I can take or leave 3 (and 2), but #2 I think is really important.",jaredh123
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
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
23642,wp_mail() returns true if sending failed,,Mail,3.2,normal,minor,3.6,defect (bug),reopened,has-patch,2013-02-28T15:54:38Z,2013-03-04T03:44:50Z,"Here: source:/trunk/wp-includes/pluggable.php@23507#L449

The code is:
{{{
	try {
		$phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
	
		return true;
}}}
However, $phpmailer->Send() may return false without throwing an exception. A simple change fixes this like so:
{{{
	try {
		return $phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
}}}",chmac
21659,wp_mail() problem with Reply-To header,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-22T14:43:43Z,2012-08-22T14:43:43Z,"I am using in email headers also Reply-To:

{{{
$headers .= ""Reply-To: \""$name\"" <$email>\r\n"";
}}}

But there is a problem when name contains special non-English characters.

Example (from email headers):

Name: Žlutý kůň

{{{
Reply-To: =?UTF-8?Q? ""=C5=BDlut=C3=BD_k=C5=AF=C5=88"" _ <my@email.com>,
  ?=@example.com
}}}

I think that it is somehow related to wp_mail() function, because I also tried to use SMTP plugin and it worked well:

{{{
Reply-To: =?UTF-8?Q?""=C5=BDlut=C3=BD_k=C5=AF=C5=88""_<my@email.com>?=
}}}

Also when I use simply mail() instead of wp_mail() then everything works well. Problem can be seen only for Reply-To header, all others work well (for example From).

I am using WP 3.4.1.",pavelevap
23243,"wp_mail() not working with ""Name <email>"" format in buggy PHP versions on Windows",,Mail,3.5,normal,minor,Awaiting Review,defect (bug),new,,2013-01-20T15:59:30Z,2013-01-31T16:53:36Z,"As a result of ticket #17305, wp_mail() accepts the $to parameter in the format ""Name <email@domain.com>"".

There exists a PHP bug in versions below 5.2.11 and in 5.3, on Windows. This bug occurs when addresses are passed to the PHP mail() function in the ""Name <email>"" format and prevents e-mails from being sent. I believe this bug in fixed in 5.3.1 and above. (see https://bugs.php.net/bug.php?id=28038)

I don't believe this affects any core functionality, but may affect some plugins which pass $to in the above format.

I tested in PHP 5.2.4 on Windows with the following code:

{{{
wp_mail(""email@ext.com"", ""Test"", ""Test"");
wp_mail(""Name <email@ext.com>"", ""Test 2"", ""Test 2"");
}}}

The first email is received; the second isn't. When removing error suppression from the mail() calls in class-phpmailer.php, the following warning is outputted:

  Warning: mail() [function.mail]: SMTP server response: 501 <Name <email@ext.com>>: ""@"" or ""."" expected after ""Name"" in C:\xampplite\htdocs\wp-includes\class-phpmailer.php on line 771",bbosh
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
23291,wp_mail should handle phpmailer exceptions instead of ignoring them,,Mail,3.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-01-25T07:04:37Z,2013-03-04T07:12:02Z,"Right now code in wp_mail that call phpmailer looks like

{{{
	try {
		$phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
}}}

or worse (not failing at all).

Yesterday had to hack core files to find out that an email address did not have a valid email format. Exceptions should either propagate in some way, or be reported to an error log.
",mark-k
18521,Wp_mail function: email subject with multibyte chars is not encoded properly,,External Libraries,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-08-26T08:51:11Z,2011-08-27T00:51:21Z,"'''Problem:'''
When an email with multibyte characters (like Swedish é, å, etc.) in the subject is sent from Wordpress (using wp_mail), the subject of the email at the reciever end looks like this: =?UTF-8?Q?New_site_name_Site:_J=C3=A9t_inqsfzxb_p=C3=A5_?= =?UTF-8?Q?=C3=A9?=

'''Reproduce:'''
Create the new blog with a multibyte char in the blog title and then activate it.
For example: go to /wp-content/wp-signup.php and create a new user. After that you will be asked to create a new blog. Create one and put some é and å characters in the blog title. After that you will recieve the first email (which should be ok), asking to activate the account. Activate it, then you will get the second email with the screwed subject.

'''Reason:'''
The reason is phpmailer class which double-encodes the email subject (only when sending mail using php mail() function though). The problem in these lines (wp-includes/class-phpmailer.php, taken from WP 3.2.1):
(lines 657, 663, 671, 677)
$rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
$rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header);
The subject is first encoded with EncodeHeader function, and after that encoded again by mail() function itself.

'''Fix suggestion:'''
Since mail() function does proper encoding of subject, we don't need to encode it ourselves. So those lines should be replaced by:
$rt = @mail($val, $this->Subject, $body, $header, $params);
$rt = @mail($to, $this->Subject, $body, $header, $params);
$rt = @mail($val, $this->Subject, $body, $header, $params);
$rt = @mail($to, $this->Subject, $body, $header);
I've tried this on my server, and it works well.

'''Conclusion:'''
Hope it will be fixed and included in the release soon. Although, i've found the good enough temporarily solution overloading wp_mail() with a plugin, but still would be nice to see the solution in the wordpress core.",jetpackpony
19847,wp_mail $from_name field is removing an extra character from the name,,General,3.3.1,normal,normal,3.6,defect (bug),new,dev-feedback,2012-01-17T05:13:18Z,2013-05-05T09:21:28Z,"If the headers are sent as a string to wp_mail, parsing of $from_name field removes one required character at the end of the name. Hence causing a name field of ""Hakan"" to show up as ""Haka"" in the received email.

Line 257 of pluggable.php is causing this error.

$from_name = substr( $content, 0, strpos( $content, '<' ) - 1 );

Removing ""-1"" from substr function call solves the problem.

$from_name = substr( $content, 0, strpos( $content, '<' ));

",hakanca
21352,wp_lostpassword_url() on multisite,,Multisite,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-07-23T15:58:23Z,2013-04-24T18:59:15Z,"The wp_lostpassword_url() function on Multisite outputs the link to the primary domain not the current domain.

Although it works its not what should be expected if a user is registered to use blog ID 2 but not Blog ID 1.

The lost password email generated also links back to the primary domain not the current domain.
",philly max
24197,wp_localize_script() doesn't work for jquery handle,,General,trunk,normal,major,3.6,defect (bug),new,dev-feedback,2013-04-25T20:23:59Z,2013-05-08T20:43:40Z,"Here's another odd bug introduced by WP 3.6 latest development version.

I'm using the following code: [http://snippi.com/s/s058ms7]

In WP 3.5.1 everything worked as it should, and wp_localize_script returned the ""icy_ajax"".

Now, in 3.6-beta1-24067 , I get the following error in my console: ReferenceError: icy_ajax is not defined 

Just try and test it and let me know of any solution :-)

",IcyPixels
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
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
18817,WP_List_Table nonce output moved to its own method,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-09-29T17:55:33Z,2012-03-20T19:32:43Z,"A quick little patch to move the nonce field generation and output to its own field.  I ran across a need for this when implementing the class on a postmeta box on the post edit screen.  Both the post edit form and the WP_List_Table class were outputting a nonce field using the name ""_wpnonce"".  Upon submission this was prohibiting the post from saving.

I had to override the entire display_tablenav method whereas if the output of the nonce was its own method, I could override it there and change the name of the field it was outputting.",bigdawggi
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
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
6939,wp_list_pages() should also lists private pages if the user has capability 'read_private_pages',,Template,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-05-08T18:19:29Z,2011-02-24T17:15:57Z,"If the user has the capability ""read_private_pages"" wp_list_pages() don't lists private pages in no way. I've noticed this problem by some comments on my ""Role Manager"" Plugin page.

Two patches are attached to this ticket.

wp_list_pages() gets a new option ""include_private_pages"". The default value is 1 for lists private pages too if the user has the capability ""read_private_pages"".
If private pages should not be listed also if the user has the cap ""read_private_pages"" the syntax is as an example:
wp_list_pages('title_li=<h2>Pages</h2>&include_private_pages=0');

The second patch is for get_pages() - with the same option and default value.

And of course: if a user don't has the cap ""read_private_pages"" private pages are listed in no case :)",imwebgefunden
17590,"wp_list_pages() not setting ""current_page_item"" classes on custom post types",,Themes,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-05-27T15:41:24Z,2012-11-07T22:22:09Z,"wp_list_pages() don't set the correct css for a hierarchical custom post type. 

To reproduce this bug do this:
<?php wp_list_pages(""title_li=&post_type=custom_post_type_name""); ?>

and compare the html output to normal pages:
<?php wp_list_pages(); ?>

The problem seems to be this row in wp_list_pages():
{{{
if ( is_page() || is_attachment() || $wp_query->is_posts_page )
}}}

In the following patch i've changed it to
{{{
if ( is_page() || is_attachment() || $wp_query->is_posts_page || ($wp_query->query_vars['post_type'] != 'post' && is_single()) )
}}}

(If this is not the intended behavoir please let me know. )",tobiasn
17015,wp_list_pages incorrect hierarchy when using include and sorting by title,,General,3.1,normal,minor,Awaiting Review,defect (bug),new,,2011-04-01T17:02:31Z,2011-04-02T04:12:21Z,"I am using wp_list_pages to create a page hierarchy. I only want the grandchildren of specific pages, so I generate a list of page IDs to send to wp_list_pages. I sort them by page title.  The hierarchy is not handled correctly when a grandchild's title sorts before its parent.

How it should come out:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --Annual Reports[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

How it comes out:[[BR]]
About Us[[BR]]
 -Annual Reports[[BR]]
 -Board of Directors[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

I've moved things around and verified that this sorts correctly:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --ZZZAnnual Reports[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

If one grandchild has a sort order above its parent, all the grandchildren are pulled above the parent in the hierarchy. For example:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --ZZZAnnual Reports[[BR]]
 -FAQ[[BR]]
 -AAAAOhio...[[BR]]
 -Reach[[BR]]
 -Initiatives[[BR]]",JohnColvin
9153,wp_list_pages cannot handle multiple exclude_tree arguments,tbrams,Template,3.0,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-02-17T15:32:48Z,2013-05-07T19:41:48Z,"When trying to set up a menu based on wp_list_pages and a long list of chapters I did not want on the front page, I learned that wp_list_pages ignored all exclude_tree arguments - except for the first one.

For example, using:

{{{
wp_list_pages('exclude_tree=132,502,715,852,109,153,149&title_li=&sort_column=menu_order' );  

}}}

to generate the menu at http://ttu.no was a no go, because it returned far to many sections in the menubar (despite my efforts to explicitly exclude a lot of these)

Although it is certainly not a show stopper, it is really annoying when you need a drop down menu on your website and know exactly how it should work in theory, so I have found a solution for this already and am just trying to figure out how I can convey my suggested fix to the official Open Source Repository.",tbrams
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
19581,wp_list_comments_args hook,,Template,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-16T21:11:12Z,2011-12-17T06:15:12Z,"`wp_list_comments` needs a hook on its arguments.  This will make it easier to change with child themes as opposed to overwriting the entire `comments.php` template.

Attached patch adds a new hook: `wp_list_comments_args`.",greenshady
10948,wp_list_comments() always assumes walker will echo.,,Comments,2.8.6,normal,normal,3.6,defect (bug),new,has-patch,2009-10-13T12:21:33Z,2013-05-04T10:33:03Z,"wp_list_comments() always assumes the walker called will echo it's constructed content (the default Walker does this).

However, if you want to use your own walker which doesn't echo, or you want to post process the output of the default walker in some way, you cannot.

The changes required are to wp_list_comments() which should check for an 'echo' arg and respond appropriately (like wp_list_pages does). The built in comment walker class Walker_Comment needs to write it's output to the passed $output reference. Finally the function edit_comment_link() needs to take an echo parameter.

The attached patch allows this functionality whilst preserving the status quo by adding a default echo => 1 argument to wp_list_comments and edit_comment_link.

",MikeLittle
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
21881,wp_list_categories show_option_all does not work for custom taxonomy,,Taxonomy,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-13T12:46:59Z,2012-09-13T13:41:09Z,I am using wp_list_categories on a custom post type page to list the taxonomy values (categories). However if I include an All link it links by default to /blog/ and not /taxonomy/.,arkinex
9025,wp_list_categories lacks the vital options of wp_get_archives,,Template,2.7,normal,normal,Future Release,enhancement,new,has-patch,2009-02-03T04:51:44Z,2010-08-15T22:44:46Z,"To achieve
{{{
Archives: 2004 (2); 2003 (1); Categories: Elections (1); Iraq (1);
}}}
One needs
{{{
<p>Archives:<?php wp_get_archives('format=custom&show_post_count=1&type=yearly&after=;'); ?>
Categories:<?php echo str_replace('<br />',';', wp_list_categories('style=&show_count=1&echo=0'));?></p>
}}}
As you see, wp_list_categories lacks the vital options of
wp_get_archives, forcing us to resort to str_replace.

Note: I am talking about HTML and do not wish to talk about CSS.",jidanni
21945,wp_list_categories feed links unaware of custom type,,Post Types,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-09-20T19:40:27Z,2012-09-20T20:35:47Z,"wp_list_categories accepts a taxonomy argument to specify a custom taxonomy, and correctly lists item of said taxonomy. However the feed links produced lack the necessary ?post_type= for the corresponding custom post types that may be used with a category.

Ideally the function could auto-detect stuff and do the right thing automatically. Less ideally it might accept another argument to define the post types used in the category. At a minimum, this should be documented, and a work-around such as the following included:


{{{
function wp_list_cat_custom_feed($txt){
  return preg_replace('/\/feed\/?/', '/feed/?post_type=foo', $txt);
}
add_filter('wp_list_categories','wp_list_cat_custom_feed');
}}}
",belg4mit
20359,wp_list_categories - Diff to make use_desc_for_title parameter more flexible,,General,2.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-04T22:57:44Z,2012-04-05T12:58:17Z,"Right now, the @use_desc_for_title is defined as a boolean parameter which outputs category link title attributes containing either:
- Category descriptions by default (''bool '''1''''');[[BR]]
- 'View all posts filed under [category-name]'.[[BR]]
Now, since the title attribute is not required for '''<a>''' tags in any HTML spec, I made a patch to turn this parameter into a string, with the following supported values:[[BR]]
- 'desc' => (default) Outputs category descriptions;[[BR]]
- 'viewall' => Same output as ''bool '''0''''' (''false'') before: 'View all posts filed under [category-name]';[[BR]]
- 'none' => Does not output any title attributes.[[BR]]

I have tested this thoroughly, but additional testing would not hurt.",Marventus
8733,wp_list_bookmarks to optionally display feed/rss_link,,Template,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-12-27T16:19:53Z,2010-08-11T20:51:56Z,"wp_listbookmarks has options to show optional fields such as the rating, but not the rss_link, useful when a template is listing a blogroll of blog HTML and feed links.",pdowney
24057,"wp_list_bookmarks links target=""""",,General,3.5.1,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-12T11:28:53Z,2013-04-15T23:41:22Z,"When adding links via the add links function in WordPress, the default target of the link is _none.

The problem is, the code generated for that code is
<a href=""..."" target="""">, target being an empty string. This is not HTML5 compliant, as target has to have at least 1 character.",moscar09
17025,wp_list_authors() is not filterable,,Query,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-02T17:30:10Z,2011-04-02T18:22:33Z,"The template function wp_list_authors() is not filterable.  Plugins may use existing WP_Query hooks to filter some authors' posts out of the result set, making the unfiltered authors list invalid.

The corresponding patch adds query filter 'list_authors_query'",kevinB
23498,wp_list_authors ignores 'exclude_admin' arg when admin account has a display_name other then 'admin',,Users,3.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-18T09:37:59Z,2013-02-18T19:03:38Z,"Line 293 of author-template.php should be changed from:
{{{
if ( $exclude_admin && 'admin' == $author->display_name )
}}}
to:
{{{
if ( $exclude_admin && 'admin' == $author->user_login )
}}}
Thanks.",raphaabreu
7231,wp_link_pages: option  next_and_number,sorich87*,Template,,normal,normal,Future Release,enhancement,accepted,has-patch,2008-07-03T09:25:43Z,2010-08-03T14:15:48Z,"with the next_or_number option of the wp_link_pages() function, it would be nice to have the option to use both.

it gives the user the opportunity to easily go to the next/previous page, without loosing the other option of going immediately to a certain page

example:
__next__ __1__ 2 __3__ __4__ __5__ __6__ __previous__

",jan831
10558,wp_link_pages could allow for both page numbers and next/prev links,,Template,,normal,normal,Future Release,enhancement,new,has-patch,2009-08-06T16:26:59Z,2009-11-20T17:41:11Z,The attached patch does exactly that.,simonwheatley
19877,wp_kses_stripslashes() should account for single quotes too,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-01-23T14:17:48Z,2012-10-12T20:36:43Z,"Right now, wp_kses_stripslashes() only removes slashes before double quotes, but should do the same for single quotes. 

For example, if wp_kses() is applied to the following string (assuming <script> tags are permitted), the <script> tag's attributes are removed:

<script type='text/javascript' src='foo.js'></script>


If the single quotes are switched to double quotes, the attributes are properly sanitized against the list of allowed tags passed to wp_kses(). Updating wp_kses_stripslashes() to account for both types of quotes eliminates the need to strip slashes before applying wp_kses().",ethitter
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
17847,wp_kses_hair is too stringent,,Formatting,1.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-19T21:29:46Z,2011-11-17T20:38:47Z,"attributes from custom xml name spaces may use colons, but the regex used inside wp_kses_hair doesn't allow them through.  ",jorbin
14308,wp_insert_user in 3.0 is not backwards compatible,,Users,3.0,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-07-14T21:32:40Z,2010-12-08T19:20:34Z,"Prior to WP3.0 the function wp_insert_user would always return an integer or falsy on failure.  In 3.0 this function can return either an integer, or an instance of WP_Error.   This behavior is not backwards compatible and can result in bad results.

A function that expects an integer return value will treat this WP_Error instance as an integer, which results in a '1'.  This is the id of the administrator, resulting in possible corruption of the admin account.   In particular, calling wp_update_user() with this WP_Error value will cast the error to (int) and operate on the administrator.  First line of wp_update_user:

   $ID = (int) $userdata['ID'];

Possible resolutions:
  
 best: don't return WP_Error from wp_insert_user - this is not backwards compatible.  
 otherwise: check for is_wp_error() in wp_update_user(), and every other function that takes a user id.
",ahupp
22310,wp_insert_user bit ilogical with rich_editing,,Users,,normal,normal,Awaiting Review,enhancement,new,,2012-10-30T09:08:56Z,2012-10-30T12:21:17Z,"when you do wp_insert_user with rich_editing = TRUE it actually set rich_editing to ""1"" what is then interpreted as FALSE. I know (after searching why it does not work for me), that for actually setting true you need to set rich_editing to empty value, but anyway i think it is not optimal",thomask
21495,wp_insert_user allows a user to be created with empty passwords,,Users,,normal,minor,Awaiting Review,defect (bug),new,,2012-08-06T02:10:00Z,2012-08-06T02:10:00Z,"While looking at the different files where user information is created, I noticed that there are some differences between wp_insert_user(programmatic creation of users) and edit_user (called from the admin).

wp_insert_user assumes that a user_pass parameter is included, which creates a user with no password.  





",ancawonka
22542,wp_insert_term and wp_update_term should include taxonomy as the second parameter when invoking actions edit_terms and edited_terms,,Taxonomy,2.9,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-22T19:04:06Z,2012-11-22T20:03:46Z,"wp_insert_term and wp_update_term only send term id when invoking edit_terms and edited_terms. This makes it hard for plugins hooking into those to retrieve the actual term, since get_term and get_term_by require taxonomy in addition to the id.

Other actions on these functions do add the taxonomy to the parameters. For example edit_term and edited_term. So it is hard to understand why the hooks in question do not.",akibjorklund
19373,wp_insert_post() should not contain current_user_can() checks,,Taxonomy,3.0,normal,major,Future Release,enhancement,new,has-patch,2011-11-27T17:02:31Z,2013-05-16T11:57:33Z,"wp_insert_post() is a utility function, it should not have a reliance on user capabilities. There are only two places in this function where there is a current_user_can() check - for updating custom taxonomies and for setting post slugs. All other checks (can user publish posts, etc.) are properly handled outside of the utility function.

wp_insert_post() should be safe to use in code that is run without a user context, for example via CRON. With the current code, this is the case *except* for the custom taxonomy feature. This inconsistency can cause a BrilliantDeveloperTM to lose a good deal of time debugging why the same data being passed in is coming back with different results.

For 3.4 (please!), perhaps we can figure out a way to move the checks for user capabilities on taxonomies out of the utility function and into the controller/procedural code. I'm happy to author and submit a patch once an approach has been determined.

For other developers who run into this and need to work around it, either of these 2 options work:

1. call wp_set_post_terms() to add your taxonomies after calling wp_insert_post()
2. set up a ""current user"" in your script before calling wp_insert_post()",alexkingorg
20451,wp_insert_post() should accept a meta_input argument,,Post Types,,low,normal,Awaiting Review,enhancement,new,,2012-04-16T00:31:07Z,2012-04-16T18:31:43Z,"`wp_insert_post()` accepts a `tax_input` argument to set the post's terms, but there's no similar argument to set the post's meta fields. `add_post_meta()` must be called for each meta field after `wp_insert_post()` is called.

I'll do up a patch at some point.",johnbillion
18692,wp_insert_post() enhancements,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-17T21:33:12Z,2012-10-12T08:41:53Z,"I have created enhancement for `wp_insert_post()` function. There re two changes:[[BR]]
- allows to return WP_Error from `wp_insert_post_data` - in this case function returns that value (or 0 if param `$wp_error == false`) and do not continue;[[BR]]
- filter categories, tags and other taxonomies through new filters: `wp_insert_post_category`, `wp_insert_post_tags` and `wp_insert_post_tax`. New code also checks if these filters returned WP_Error;

These changes will allow me to implement following features in my [http://wordpress.org/extend/plugins/wypiekacz/ WyPiekacz] plugin:[[BR]]
- do not create new post when it does not satisfy appropriate rules. Although WP code will not display that error by itself (#10480, #18266), I will be able to display appropriate error from plugin code (at least when normal editor was used). This will also help me to stop flood of automated post spam;[[BR]]
- allow to review tags attached to post submitted for review - this way tags will be actually created when post will be published; before this they will be stored as post metadata. In order to do this I need to modify tags - unfortunately `wp_insert_post_data` filter does not allow to modify them (it allows read-only access to them only).",sirzooro
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
21450,wp_insert_new_post hook,,Post Types,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-08-02T10:42:57Z,2013-03-14T10:11:22Z,"Situation is this in wp_insert_post:
{{{
	if ( $update ) {
		do_action('edit_post', $post_ID, $post);
		$post_after = get_post($post_ID);
		do_action( 'post_updated', $post_ID, $post_after, $post_before);
	}

	do_action('save_post', $post_ID, $post);
	do_action('wp_insert_post', $post_ID, $post);
}}}

As you can see we have hooks that:
1. Get executed when post is '''updated'''
2. Get executed when post is '''updated or created'''

There is no hook that would be exectued only when post is '''created'''.
''wp_insert_post'' was most logical candidate for the task, however i suspect changing it might break some plugins relying on it therefore i propose new action '''wp_insert_new_post''' which should be executed '''only when new post is created''', but '''never when post is updated'''.

Like so:
{{{
	if ( $update ) {
		do_action('edit_post', $post_ID, $post);
		$post_after = get_post($post_ID);
		do_action( 'post_updated', $post_ID, $post_after, $post_before);
	}
+	else
+		do_action('wp_insert_new_post', $post_ID, $post);

	do_action('save_post', $post_ID, $post);
	do_action('wp_insert_post', $post_ID, $post);
}}}

P.S. I marked ticket as having patch even tho there is just updated code snippet above. Please excuse me :)",rndbit
23931,wp_insert_comment should require comment_post_ID,,Comments,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-03T18:41:58Z,2013-04-03T19:06:08Z,"At this moment there is no check for example comment_post_ID. Not sure if there are more checks needed. Reason I asked are a few notices on the unit tests caused by WP_UnitTest_Factory_For_Comment. Those comments don't add a post ID what should change.

Currently, if a null comment_post_ID is passed, the comment isn't connected to a post. This can create confusion. Also Unit tests should run with WP_Debug on.",markoheijnen
18448,wp_insert_category() is Not Properly Abstracted,,Taxonomy,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-16T17:43:09Z,2011-10-08T16:47:53Z,"If you look in http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/taxonomy.php there is still a note that says ""The 'taxonomy' key was added in 3.0.0.""

However, this function calls category_exists() and cat_is_ancestor_of(), which never recognized the taxonomy argument.",miqrogroove
22408,wp_insert_attachment and _real_escape input validation and better error handling,,Database,3.4.2,normal,trivial,Awaiting Review,defect (bug),new,dev-feedback,2012-11-10T21:47:03Z,2012-11-10T21:49:25Z,"Recently when using the `wp_insert_attachment()` function I passed the whole result of the `wp_check_filetype()` function for the `""post_mime_type""` attribute, instead of the `""type""` property from the filetype check result. What I got was an error in the `_real_escape()` function which expected a string, but received an array, which didn't quite help me find my error.

I believe some kind of type checking would be nice for both the `_real_escape()` function as well as the `wp_insert_attachment()`.

It seems suitable if the `wp_insert_attachment()` function returned a `WP_Error` object in case there are issues with the passed arguments.

I'm not sure, however, what the best solution would be for the `_real_escape()` function -- return false, fail quietly, raise an exception or also return a `WP_Error`.

I would have proposed a patch, but I'm not sure what solution to implement. Let me know if I should do it in a certain way and I'll submit a patch for review, saving you a little time for other ticket review.",magadanski_uchen
14893,"wp_inactive_widgets sidebar forgotten, then does notice in /wp-admin/widgets.php",,Warnings/Notices,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-18T07:24:45Z,2011-01-13T04:31:00Z,"The 'wp_inactive_widgets' is not initalized but used later on.

Can be fixed easily by adding it while the array get's initialized.",hakre
23424,WP_Image class for handling images from the media library,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-08T15:41:24Z,2013-02-08T15:41:24Z,"Since 3.5 we have the class WP_Image_Editor. This needs a file path to be able to manipulate an image. Currently you would have to use something like wp_get_image_editor( _load_image_to_edit_path( $post_id ) ). What is wrong since you are using a ""private"" function.

Currently I'm working on this idea and you can find the code here https://github.com/markoheijnen/WP_Image/blob/master/wp-image.php. What it does now is getting the filepath, be able to get the image editor, add an image size on the fly and getting/updating the metadata.

We really miss something like a WP_Image class in WordPress. However I'm not sure what kind of functionality is needed for it. I like the current class mainly because it gives you the power to create an image size for a specific media image and stores it in the sizes array. When a user removes the media image then also the custom sizes will be removed.",markoheijnen
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
24182,WP_Http_Fsockopen fails when requesting an IP based URL with an explicit Host header,,HTTP,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-24T22:39:29Z,2013-04-24T22:52:18Z,"When requesting a resource with a IP based URL and an explicitly set Host header fsockopen fails.

wp_remote_post():
{{{
$url = http://72.233.69.89/1.1/verify-key
$args = Array
(
    [body] => key=xxxxxxxxxxxx&blog=http%3A%2F%2Ffriedcell.si%2Foutbreak
    [headers] => Array
        (
            [Content-Type] => application/x-www-form-urlencoded; charset=UTF-8
            [Host] => rest.akismet.com
            [User-Agent] => WordPress/3.5.1 | Akismet/2.5.7
        )

    [httpversion] => 1.0
    [timeout] => 15
)
}}}
WP_Http_Fsockopen $strHeaders just before [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-http.php#L729 fwrite]:
{{{
POST /1.1/verify-key HTTP/1.0
Host: 72.233.69.89
User-agent: WordPress/3.5.1 | Akismet/2.5.7
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Host: rest.akismet.com
Accept-Encoding: deflate;q=1.0, compress;q=0.5
Content-Length: 58

key=xxxxxxxxxxxx&blog=http%3A%2F%2Ffriedcell.si%2Foutbreak
}}}
The request fails as the first Host header is used.

When $arrURL!['host'] is an IP and there is a Host header in $r!['headers'], the Host header should not be added from the URL (http://core.trac.wordpress.org/browser/trunk/wp-includes/class-http.php#L706) so that the explicitly specified Host header is used.",friedcell
21182,WP_HTTP_Cookie doesn't handle the default conditions for the 'domain' and 'path' field correctly.,,HTTP,,low,minor,Awaiting Review,defect (bug),new,,2012-07-07T04:34:45Z,2012-07-07T04:34:45Z,"WP_HTTP_Cookie currently handles ""simple"" cookies in exactly the same way they're received, that is, it only fills in the details that the set-cookie header contained.

However, some fields are optional, and as a result of this, the [http://www.ietf.org/rfc/rfc2109.txt rfc for state management] specifies a set of default values for certain fields:
{{{
4.3.1  Interpreting Set-Cookie

   The user agent keeps separate track of state information that arrives
   via Set-Cookie response headers from each origin server (as
   distinguished by name or IP address and port).  The user agent
   applies these defaults for optional attributes that are missing:

   VersionDefaults to ""old cookie"" behavior as originally specified by
          Netscape.  See the HISTORICAL section.

   Domain Defaults to the request-host.  (Note that there is no dot at
          the beginning of request-host.)

   Max-AgeThe default behavior is to discard the cookie when the user
          agent exits.

   Path   Defaults to the path of the request URL that generated the
          Set-Cookie response, up to, but not including, the
          right-most /.

   Secure If absent, the user agent may send the cookie over an
          insecure channel.
}}}

We currently don't do anything special for Secure cookies (From what I can see), but we also need to handle the 'domain' and 'path' field defaults better, as currently they remain at the default null if nothing is passed. This can result in domains passing the WP_HTTP_Cookie::test() method to a different domain or path than they were issued on.

Example cookie values (and WP_HTTP_Cookie representations) which can trigger this:
{{{
PHPSESSID=ros1liponkqip23k9le0hhmp31; path=/' (length=44)
test=1341632838; expires=Sat, 07-Jul-2012 04:47:18 GMT
array (size=2)
  0 => 
    object(WP_Http_Cookie)[87]
      public 'name' => string 'PHPSESSID' (length=9)
      public 'value' => string 'ros1liponkqip23k9le0hhmp31' (length=26)
      public 'expires' => null
      public 'path' => string '/' (length=1)
      public 'domain' => null
  1 => 
    object(WP_Http_Cookie)[86]
      public 'name' => string 'test' (length=4)
      public 'value' => string '1341632838' (length=10)
      public 'expires' => int 1341636438
      public 'path' => null
      public 'domain' => null
}}}

This is not a issue for WordPress core, but could affect plugins who do anything special with Cookies.",dd32
22952,WP_HTTP can cause PHP Warnings during attempted decompression,,HTTP,,normal,normal,3.6,enhancement,new,has-patch,2012-12-15T05:13:55Z,2013-01-17T17:24:19Z,"{{{
WARNING: wp-includes/class-http.php:1656 - gzinflate(): data error
}}}

WP_Http_Encoding can cause PHP Warnings when it attempts to decompress data using gzinflate() which has been encoded in any way.
We currently work around this this in a few ways, but we still take a ""try it and see"" method instead of detecting the compressed contents signature and handling it appropriately.

Attached is a first-run patch at detecting Huffman coding, which is what we currently use `@gzinflate( substr( $gzData, 2 ) )` for (and hey, who doesn't like making magic numbers clearer?)

I have been running a similar patch on !WordPress.com and gathering data on how the myriad of different Web Servers out there respond, and so far this causes it to correctly identify the vast majority of responses.

It appears that we may also be attempting to decompress compressed files retrieved through WP_HTTP on some poorly configured servers, but this is something I haven't yet traced properly.",dd32
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
23686,wp_handle_(upload|sideload) have a lot of copy-pasted code from each other,,Upload,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-03-04T11:27:35Z,2013-03-04T17:49:36Z,"A huge part of those two functions is the same. It needs to be refactored, so that they share the code.",nbachiyski
14876,wp_get_sidebars_widgets() assumes that widgets are enabled,,Widgets,,lowest,minor,Future Release,defect (bug),reopened,,2010-09-15T02:05:43Z,2010-12-04T09:34:28Z,"When a theme does not have any sidebars defined, wp_get_sidebars_widgets() will return the database option anyway.

This reveals a bug where a theme that does not have any widgets may still get the recent comments CSS injected into it. is_active_widget() is returning true because that widget was active when the sidebar option was last used.",nacin
18632,wp_get_shortlink() Should Always Return a URL,,Template,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-10T03:27:51Z,2011-11-16T00:18:51Z,"Currently the code used in the link-template.php file causes the `wp_get_shortcode` function to return an empty result if the WordPress installation is using the default permalink structure. This causes at least issues with `the_shortcode` function and can be expected to cause issues any place that `wp_get_shortcode` is called when the default permalink structure is being used.

An alternative is to simply make the inline documentation state an empty result will be returned when the default permalink structure is used.",cais
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
19856,wp_get_referer() doesn't return false when the referer URL is the same as the current URL,,General,3.3.1,normal,normal,3.6,defect (bug),new,has-patch,2012-01-19T08:08:53Z,2013-05-10T03:59:27Z,"Inside wp_get_referer(), there's this conditional statement:

`if ( $ref && $ref !== $_SERVER['REQUEST_URI'] )`

It is there to ensure that wp_get_referer() doesn't return the same page I'm on. This is useful when redirecting because I can detect and avoid infinite redirection.

According to PHP documentation, `$_SERVER['REQUEST_URI']` is only the URI on the host. As a result, the conditional statement above fails in this case:

Let's say I was redirected from http://example.com/sample-uri to itself (either by clicking a link or a form submission). Then:

{{{
$ref = 'http://example.com/sample-uri';
$_SERVER['REQUEST_URI'] = '/sample-uri';
}}}

So technically, the referrer is the same page, but wp_get_referer() doesn't return false as expected, because `$ref !== $_SERVER['REQUEST_URI']`.

A better conditional statement would be:

`if ( $ref && parse_url( $ref, PHP_URL_PATH ) !== $_SERVER['REQUEST_URI']  )`

Patch attached.

I'm using PHP 5.3.6, Apache 2.2.20.",garyc40
23923,wp_get_post_revisions returns incorrect order,,Revisions,,normal,minor,Awaiting Review,defect (bug),new,,2013-04-03T12:07:19Z,2013-04-08T00:27:47Z,"When a post has multiple revisions and each revision has the exact same timestamp, `wp_get_post_revisions` returns revisions in reversed order, causing `wp_save_post_revision` to [http://core.trac.wordpress.org/browser/trunk/wp-includes/revision.php#L116 make a bad choice] for `$last_revision` (which is actually the first revision) and produce an extra revision, even if it has not been changed.

In a normal environment this doesn't happen, unless you run `wp_update_post` several times in a row in under one second, so this is an edge case. This edge case causes our [http://core.trac.wordpress.org/browser/tests/trunk/tests/post/revisions.php#L55 revisions.php tests] to fail randomly, depending on whether the updates happened with the same timestamp or not.

To reproduce, try running the revisions unit tests several times in a row.",kovshenin
17646,wp_get_object_terms should return arrays of integers for IDs and tt_IDs,,Taxonomy,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-01T18:00:41Z,2013-05-14T11:39:18Z,"Currently when you use ```wp_get_object_terms``` to request an array of IDs or tt_IDs, the array returned contains strings representing the IDs, not integers. This then creates issues if you send the values back into ```wp_set_object_terms``` as it creates terms named as per those strings, rather than associating the term_ids as expected.

Code to prove the issue:

{{{
$term_ids = wp_get_object_terms( get_the_ID(), 'category', array( 'fields' => 'tt_ids' ) );
var_dump( $term_ids );
}}}

Results in:

{{{
array
  0 => string '1' (length=1)
  1 => string '5' (length=1)
}}}

I believe that the array should have all values cast to integers before they are returned. The attached patch does this by mapping a created function to utilise ```(int)``` for the desired result.",simonwheatley
11003,wp_get_object_terms Returns Duplicate Terms,ryan,Taxonomy,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-10-22T11:14:20Z,2010-12-04T04:21:10Z,"wp_get_object_terms() accepts multiple objects in its first parameter.  If the multiple objects have terms in common, then wp_get_object_terms() returns those terms more than once in the returned array of term data.

Patch makes the array of terms unique.",filosofo
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
15533,wp_get_nav_menu_items order doesn't work,,Menus,3.0,normal,minor,Awaiting Review,defect (bug),new,,2010-11-21T22:18:01Z,2011-02-02T13:27:25Z,"Argument order doesn't work when output is ARRAY_A since on the end of function wp_get_nav_menu_items there is a usort on the $items array what will be returned.

Since out ARRAY_A is the default output this can give strange behaviour.

The code that gives the problem:

{{{
	if ( ARRAY_A == $args['output'] ) {
		$GLOBALS['_menu_item_sort_prop'] = $args['output_key'];
		usort($items, '_sort_nav_menu_items');
		$i = 1;
		foreach( $items as $k => $item ) {
			$items[$k]->$args['output_key'] = $i++;
		}
	}
}}}",markoheijnen
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
20660,wp_get_attachment_url() ignores filter for unrecognized IDs,,General,3.3.2,normal,minor,Awaiting Review,feature request,new,,2012-05-11T16:49:29Z,2012-05-11T20:54:53Z,"wp_get_attachment_url() fails to invoke its filters when it encounters an unrecognized post ID.  It would be helpful to allow a filter to deal with the situation.

The plugin NextGEN Gallery uses image IDs like ""ngg-1"", while WP's image IDs are integers.  A filter could deal with the situation.

wp_get_attachment_url() begins like this:


{{{
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  return false;
}}}


Obviously, a nonstandard post ID will ignore the filters.  If the filters were invoked, nonstandard IDs can be dealt with as desired by themes or plugins.

The filter should be given a ""false"" value instead of $url, and the original $post_id value (before forcing to (int)).  If existing filters are already dealing with null or empty URLs, they can handle this situation.

Suggestion:

{{{
$post_id_original = $post_id;
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  $url = apply_filters( 'wp_get_attachment_url', false, $post_id_original );

  if ( empty( $url ) )
     return false;

  return $url;
}}}
",RoamFree
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
17262,wp_get_attachment_thumb_file is always false,,Media,3.0,normal,normal,3.6,defect (bug),new,has-patch,2011-04-27T18:36:19Z,2013-05-05T03:33:40Z,The issue is that on line 3863 we always search for `$imagedata['thumb']` and it never exists. Instead we have `$imagedata['thumbnail']`. This always exists.,lonnylot
21538,wp_get_attachment_image_src() is misnamed,,Media,2.5,normal,normal,Awaiting Review,enhancement,new,,2012-08-10T11:58:20Z,2012-09-06T06:25:45Z,"The function wp_get_attachment_image_src is misnamed. The name suggests that the function returns the URL for the src attribute of img tag, and this suggestion is so strong that it is practically impossible to remember that it in fact returns an array. I've just now been bitten by this for perhaps 50th time, and I have lost what amounts to days of debugging on finding out again and again that a function named ...get...src doesn't get src.

I suggest renaming to wp_get_attachment_image_attributes and forwarding+deprecating the old function.",rulatir
19135,wp_get_archives() needs a hook/filter,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-03T22:12:19Z,2011-11-05T20:20:01Z,"I would expect that it would have one. It was proposed at one point: #2329

Consider the case where I want to add `rel=""nofollow""` to links in my archive:


{{{
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
ob_start();
wp_get_archives('type=monthly&limit=12');
echo nofollow(ob_get_clean());
}}}


That seems really ugly, especially since I already use the nofollow function in other places using `apply_filter`;

A more elegant way:
{{{
function wrap($string, $tag) {
    return ""<$tag>$string</$tag>"";
}
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
add_filter('wp_get_archives', 'wrap', 'ul');
add_filter('wp_get_archives', 'nofollow');
wp_get_archives('type=monthly&limit=12');
}}}",LeviMorrison
19892,wp_fix_server_vars() mangles REQUEST_URI on some servers,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-25T00:58:47Z,2012-01-25T06:53:04Z,"== Bug manifestation: ==

On some server setups, saving settings on any settings page which uses options.php - including the twentyeleven theme options pages - results in a ''You do not have sufficient permissions to access this page.''-error page, even if you are the (super-)admin of the website.[[BR]]

The changed settings *are* however saved, but the bug obviously causes a usability issue.[[BR]]
[[BR]]



== The cause of the issue: ==

The issue is ultimately caused by (shared-)hosting companies which - for security reasons - set the {{{$_SERVER['SERVER_SOFTWARE']}}} variable to MS IIS when in reality the server runs on a Linux variant.[[BR]]
[[BR]]

The {{{$_SERVER['SERVER_SOFTWARE']}}} variable being MS IIS causes ''wp_fix_server_vars()'' to double the query vars resulting in a mangled {{{$_SERVER['REQUEST_URI']}}}.[[BR]]

I.e.: ''""/wp-admin/themes.php?page=theme_options""'' becomes ''""/wp-admin/themes.php?page=theme_options?page=theme_options""''[[BR]]
[[BR]]


As the {{{$_SERVER['REQUEST_URI']}}} variable is used by the ''settings_fields()'' function to generate the hidden form fields for the option pages, this then in turn results in a mangled ''_wp_http_referer'' form value.[[BR]]

I.e.: {{{<input type=""hidden"" name=""_wp_http_referer"" value=""/wp-admin/themes.php?page=theme_options?page=theme_options"" />}}}[[BR]]
[[BR]]


As the '''''options.php''''' file, after saving the changed settings, uses the ''_wp_http_referer'' field value to redirect the page - which it then can't - , the user ends up on the ''You do not have sufficient permissions to access this page.''-error page.[[BR]]
[[BR]]



== Patch/fix for the issue: ==

In file '''''wp-includes/load.php''''' change '''''line 75''''' from:

{{{
if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
}}}
to
{{{
if ( ! empty( $_SERVER['QUERY_STRING'] ) && strpos ( $_SERVER['REQUEST_URI'], '?' ) === false ) {
}}}

N.B.: line number based on WP 3.3.1. trunk[[BR]]
[[BR]]




== Additional info: ==

This bug has been in the WP code base for a while. It might be useful to add this issue to the FAQ in the documentation for those users/webmasters who do not always upgrade to the latest & greatest WP version.[[BR]]


A user/webmaster who encounters this issue should probably get advice along the following lines:[[BR]]

a. Determine that the problem is really caused by this issue by verifying that they really run on Linux and by checking that the {{{$_SERVER['SERVER_SOFTWARE']}}} is a MS IIS variant - they can use ''phpinfo()'' to do so.[[BR]]

b. Upgrade to a WP version which includes the above patch once it has been released.[[BR]]

c. Contact their webhost to see if they are willing to change the {{{$_SERVER['SERVER_SOFTWARE']}}} variable to reflect reality.[[BR]]

d. If neither of the above is possible/works and they are sure that this bug is the cause of their problems, they can apply the following quick & dirty fix to solve it without touching the core files:[[BR]]


Add the following code to their wp-config.php file anywhere above the ''/* That's all, stop editing! Happy blogging. */'' line.
{{{
/**
 * Quick fix for server software bug
 */
$_SERVER['SERVER_SOFTWARE'] = 'Apache';
}}}
[[BR]]


== Related bug reports found: ==

* #15209 {{{$_SERVER['REQUEST_URI']}}} Doesn't always work correctly
* #12346 Saving settings in multiple plugins results in You do not have sufficient permissions to access this page.


This ticket has been opened as the previous two bug reports where too old to reopen.
",jrf
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
16963,wp_enqueue_script bug in ie8,,External Libraries,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-24T20:30:33Z,2011-03-28T19:41:42Z,"In IE 8, if you enqueue jQuery and scriptaculous, the prototype library will be included before jQuery. Because of this, jQuery will overwrite the $ method, and even though it runs noConflict() the variable is broken for both libraries. WP should be aware of this and sort the libraries for this situation. (jQuery should be first, then prototype)

Tested on WP 3.1 in IE 8 build 8.0.7601.17514",jkmassel
17857,WP_Embed - Split shortcode() function into two for increased flexibility,,Media,2.9,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-06-21T01:52:41Z,2011-06-21T03:33:55Z,"Currently, the WP_Embed class is restricted to posts; it takes a post ID as a parameter and checks the post meta table.

What I'd like to propose is to apply a filter to the post ID and split WP_Embed::shortcode() into two functions (at http://core.trac.wordpress.org/browser/trunk/wp-includes/media.php#L1177).

In a nutshell, let the link parsing be one function and if the link is oEmbed-worthy send it to the second function for parsing.  The second function could then be easily extended for usage in 3rd-party plugins not using WP posts (like BuddyPress).

Also, the patch checks the URL against each registered WP oEmbed provider's URL scheme if oEmbed discovery is false.  This is designed to prevent unnecessary external pinging of an oEmbed provider and avertible meta caching for failed attempts.  Andy Peatling primarily wrote this part of the code, which he sent to me awhile ago.

Attached patch is against r18324.",r-a-y
20264,WP_Editor unexpected behavior/bug when used in widget,,TinyMCE,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-03-20T17:34:09Z,2012-11-22T21:56:02Z,"Creating a bare bones widget using the wp_editor() function only returns a non-functioning editor (a few times no editor at all). Using the setting teeny => true results in a javascript error where wp_editor will try to load /wp-includes/js/tinymce/themes/simple/editor_template.js (which does not exist).


A demo video of this behavior can be found here: https://vimeo.com/38863361

This is the demo code:
{{{
add_action('widgets_init', 'my_widgets_add');
function my_widgets_add() {
    register_widget('my_wysiwyg_widget');
}
class my_wysiwyg_widget extends \WP_Widget {
    function __construct() {
        $widget_ops = array('classname' => 'my_wysiwyg_widget', 'description' => __('My WYSIWYG Widget'));
        $control_ops = array('width' => 650, 'height' => 350);
        parent::__construct(false, __(""My WYSIWYG Widget""), $widget_ops, $control_ops);
    }
    
    function form() {
        // Create a TinyMCE editor
        wp_editor('content',
            $editor_id = ""unique_id_goes_here"", 
            $settings = array(
            'textarea_name' => ""unique_name_goes_here"",
            'textarea_rows' => 7,
            teeny => false));
    }
    
    function update($new_instance, $old_instance) {
        // Save data later
        $instance = $old_instance;
        return $instance;
    }
    
    function widget($args, $instance) {
        // print later
    }    
}
}}}",niklasbr
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
13258,wp_dropdown_categories() uses $term->id instead of $term->name for taxonomies that are not categories,,Taxonomy,3.0,normal,normal,Future Release,enhancement,new,dev-feedback,2010-05-05T05:41:43Z,2013-05-09T11:18:57Z,"I was excited to discover that wp_dropdown_categories() had been extended to support custom taxonomies but when I tried to implement it, the navigation failed because it always uses the $term->ID in the value attribute of the option tag for each term.

{{{
<option class=""level-0"" value=""13"">A Category</option>
}}}

This makes sense because WordPress category requests uses the term id: /?cat=13

But in the case of tags, we get this code:

{{{
<option class=""level-0"" value=""3"">My Tag</option>
}}}

which pulls a 404 when you request: /?tag=3",mfields
16677,wp_dropdown_categories() shows the wrong name/id when $taxonomy argument is set,,Taxonomy,3.1,normal,normal,Future Release,enhancement,reopened,has-patch,2011-02-26T12:52:29Z,2011-02-26T15:05:04Z,"when using '''wp_dropdown_categories()''' the code result is:

{{{
<select name='cat' id='cat' class='postform' >
<option class=""level-0"" value=""1"">item 1</option>
<option class=""level-0"" value=""2"">item 2</option>
<option class=""level-0"" value=""3"">item 3</option>
</select>
}}}

The '''name='cat' id='cat''''.

----

When using '''wp_dropdown_categories( array( 'taxonomy' => 'channel'  )  )''' the code result is:

{{{
<select name='cat' id='cat' class='postform' >
<option class=""level-0"" value=""1"">term item 1</option>
<option class=""level-0"" value=""2"">term item 2</option>
<option class=""level-0"" value=""3"">term item 3</option>
</select>
}}}

The '''name''' and the '''id''' did not changed to '''channel'''.
",ramiy
19851,wp_dropdown_categories should add category slug as class to each option.,,Template,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-18T15:17:57Z,2012-01-18T19:48:20Z,"Portability is important for theme developers. With more and more developers using JS for enhanced functionality of their themes it's important to offer portable selectors for their use. Category ID's tend to change in the migration process, category names do not. 

While it's important to keep the class clutter low, I believe adding the slug of a category as a class to each option in wp_dropdown_categories would be very helpful for developers. 

I found this modification useful for a theme I was developing and offer this patch with hope that my solution may benefit other developers.",jackreichert
16625,wp_dropdown_categories reqs (consistent) option_none_value,,Template,3.0.4,normal,minor,Awaiting Review,enhancement,reviewing,has-patch,2011-02-23T23:58:22Z,2011-03-25T13:15:40Z,"wp_dropdown_categories sets option_none value=""-1"" without any means to override, whereas other similar funcs (eg:wp_dropdown_pages) use options_none value='' and also provide method to override default (option_none_value).

please could we have a consistent set of values (and options interface) to all thee dropdown funcs and save us some unnecessary and messy extra coding. thanks.",rcain
20450,wp_dropdown_categories - inconsistent use of single-quotes causes (javascript) assignment  issues,,General,3.3.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-04-15T23:06:37Z,2012-06-18T23:02:05Z,"wp_dropdown_categories outputs double-quote characters for all options (value etc) BUT single-quote characters for main select attributes - which is inconsistent.

this causes a problem when assigning output to eg. a javascript string - meaning we must perform a separate 'replace' operation first.

similarly, we already have to do a replace of all newline-characters in output for newline-backslash - in order that its multi-line output can be assigned to a javascript variable.

please could we have double-quote characters used consistently  in output? ideally provision of a javascript friendly output format (ie. backslash-newline) would also be great - though my no means essential. 
 ",rcain
19776,wp_dropdown_categories (using with taxonomy) defaults if no terms,,Template,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-08T04:02:14Z,2012-01-08T21:47:30Z,"the default args for wp_dropdown_categories produce an empty select box when using wp_dropdown_categories for a taxonomy for which there are no terms.  I produced this both w/ the filters on the edit.php screen (restrict_manage_posts) and on the front end in my theme.  I presume this case never occurs with post categories as there is always Uncategorized.  

{{{
$args = array(
    'show_option_none'   => ,
    'taxonomy'           => 'featured',
    'hide_if_empty'      => false );
}}}
 

lines 340-343 in wp-includes/category-template.php are


{{{
if ( ! $r['hide_if_empty'] || ! empty($categories) )
		$output = ""<select name='$name' id='$id' class='$class' $tab_index_attribute>\n"";
	else
		$output = '';

}}}

so in a taxonomy that has no terms, the $categories variable is indeed empty, but the default arg is false, so the ! $r['hide_if_empty'] condition is satisfied and you get the opening of the select input, but you don't get any options therein (since they don't exist.  and by default, you don't get any notice of such. ",helgatheviking
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
20683,WP_Dependencies' constructor should accept a string/array value for $deps rather than converting a string to an empty array,markjaquith,General,,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2012-05-15T20:12:39Z,2013-04-23T12:42:14Z,"Currently, WP_Dependencies' constructor takes any $deps value that's not an array and converts it to an empty array. I propose bringing the constructor's behavior more in line with standard WP function paramater behavior by accepting a string as a single dependency. Essentially this involves adding an is_string() check on $deps before checking if it's not an array, and creating an array with a single element in the case that it is a string. 


{{{
if ( !is_array($this->deps) )
  $this->deps = array();
}}}

becomes

{{{
if ( is_string( $this->deps ) )
  $this->deps = (array) $this->deps;
elseif ( !is_array( $this->deps ) )
  $this->deps = array();
}}}

See the attached diff for a proposed patch.",vhauri
21323,wp_delete_attachment (leaves stale image class wp-image-### in content of post).,,Media,3.4.1,normal,trivial,Awaiting Review,defect (bug),new,,2012-07-20T13:33:56Z,2012-07-20T13:33:56Z,"
Here is my Example I'm using:
Running a script below (placed in the wordpress docroot) to delete all thumbnails from the database:


{{{
require_once(""wp-load.php"");
echo 'Working... '; ob_flush();
global $wpdb; 
$attachments = $wpdb->get_results(""SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id'""); 
foreach($attachments as $attachment){ 
     $wpdb->query(""DELETE FROM $wpdb->postmeta WHERE meta_id = '$attachment->meta_id' LIMIT 1""); 
     wp_delete_attachment($attachment->meta_value, true); 
} 
echo 'done!';
}}}

Now after running something like above I'm left with (inside my content of each post) a stale image class tag that no longer points anywhere.

I think a simple regex replace of the post_content for wp-image-#### Inside an Image tag would remove the stale element.

I haven't checked this with other attachment types to see if it also exists, but my guess is it would.",eliddon
22342,"WP_DEBUG ""undefined index"" notices in get_metadata() for empty arrays",,Warnings/Notices,3.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-11-01T22:10:42Z,2012-11-13T01:29:41Z,"When the WP_DEBUG constant is set, calling get_metadata() in /wp-includes/meta.php with $single==true can cause ""undefined index"" notices when the meta data value is an empty array. As null is an acceptable return value for this function, silencing the notice with @ will remove noise when debugging without the overhead of checking the array length or that the 0 index isset().",doublesharp
22040,wp_dashboard_recent_comments queries do not skip comment_approved=spam,,Performance,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-28T17:56:47Z,2013-02-02T05:42:22Z,"There is am oversight in `wp_dashboard_recent_comments` which can cause a large delay in the admin area for large sites that may have a lot of spam (ie. set by akismet)

Ironically the function contains the documentation
""Select all comment types and filter out spam later for better query performance.""

This is not the case, in fact it's the opposite. Filtering out the spam later via php and wp filters is far far slower since there is (now) an index on `comment_approved`. 

As it is, it causes dozens of extra queries while it loops through all the comments 50 at a time in mysql when they contain a great deal of spam, and then via php filters the spam out (even for admin).

Since there IS an index on `comment_approved` that can be used, to fix this you should only show `WHERE comment_approved='approved'` OR `comment_approved='moderated'` Or do the reverse with `comment_approved!='spam'`

Since WP 3.5 has switched to a query class for comments, it should in theory be easy to add the additional WHERE condition for comment_approved.",_ck_
21164,wp_customize_support_script support for XHTML themes,,Validation,3.4,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-07-05T13:31:15Z,2012-11-07T08:53:41Z,The script just needs wrapping in a CDATA section for XHTML themes.,needle
24169,WP_Customize_Manager loads the current user too early,,Themes,3.4,normal,major,3.6,defect (bug),new,has-patch,2013-04-23T21:21:03Z,2013-04-24T17:55:17Z,"When previewing a theme, neither the locale nor the functions.php of either parent/child themes have had the opportunity to load ahead of the current user. This causes theme previews to load without translations in multisite setups where the user chooses their own language, and also means any theme that modifies the current user via actions or filters never has the chance to hook in in time.

The problem is introduced when WP_Customize_Manager prematurely calls is_user_logged_in() and current_user_can() before $wp->init() has fired, on the 'setup_theme' action.

From what I can tell, these specific checks can be moved into a new method, hooked to init, without any consequence. They are only responsible for maybe calling wp_die() where appropriate, meaning any past or subsequent actions or execution are irrelevant anyways.

Patch attached fixes this issue by adding an init() method to the WP_Customize_Manager class, and moves the user checks into this method.",johnjamesjacoby
21918,WP_Customize_Control() doesn't work with add_setting() default theme_mod type,,Themes,3.4.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-18T11:29:03Z,2012-09-18T13:54:58Z,"Consider the following code:

{{{
            $wp_customize->add_setting($color,array(
                    'default'           => '#000000',
                    'sanitize_callback' => 'sanitize_hex_color',
                    'capability'        => 'edit_theme_options',
                    'transport'         => 'postMessage'
                )
            );
            $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize,$color,array(
                        'label'         => 'somelabel',
                        'section'       => 'colors'
                    )
                )
            );
}}}
The default 'type' used for add_setting() is 'theme_mod' as defined in http://codex.wordpress.org/Class_Reference%5CWP_Customize_Manager%5Cadd_setting

The WP_Customize_Color_Control '''does not''' accept the 'default' setting when there is no 'type' specified.

The WP_Customize_Color_Control '''does accept''' the 'default' setting when 'type' is either set to 'option' or 'theme_mods'.

Setting it to 'option' makes no sense because that would imply that one would be using a custom option database field with get_option() instead of the default database field used by get_theme_mod().

Because setting it to 'theme_mods' works and 'theme_mod' does not i suggest checking code for typos.

Expected behavior would be for it to work with theme_mod/get_theme_mod stored values when the default 'type' is used.",sebstyle
14767,wp_create_user() does not check for a valid email address,,Users,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-02T21:38:23Z,2010-12-01T19:04:25Z,"When creating a new user an invalid email address (for example user@) will result in a zero-length string in the email field of the users table. If another new user is subsequently created with another invalid email address the error returned is ""This email address is already registered.""

It would be better for wp_create_user() to check if a valid email address has been given and return a more descriptive error. I attach a patch file for wp-includes/registration.php to include this functionality.",mrwiblog
15919,wp_count_terms() hide_empty not working,markjaquith*,Taxonomy,,high,major,3.6,defect (bug),accepted,has-patch,2010-12-20T17:13:46Z,2013-04-14T01:43:06Z,"For tax category, `wp_count_terms( 'category', array( 'hide_empty' => true ) )` returns all category and doesn't hide category with post count 0. Instead need to use `wp_count_terms( 'category', array( 'hide_empty' => true, 'hierarchical' => false ) )`.

Since hide_empty=false is the default args, `wp_count_terms()` should set hierarchical=false by default too.",zeo
21879,wp_count_posts() cache is not destroyed after post inserts and deletions,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-13T01:23:38Z,2012-09-13T02:11:19Z,"`wp_count_posts()` caches its results, but that cache is not destroyed when posts are inserted, deleted, or transitioned. This can lead to incorrect counts.

The attached patch fixes that (although it doesn't destroy the cache set when `$perm='readable'` in `wp_count_posts()`, which would be more complex as we wouldn't know the name of the key(s), though it could be done with `preg_match`).

",mark8barnes
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
17071,wp_count_attachments() is not filterable,,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-07T05:05:10Z,2011-04-07T05:12:06Z,"The Media Library attachments listing and edit links can be filtered via existing WP_Query and has_cap hooks. However, corresponding attachment counts are not cleanly filterable.",kevinB
17725,wp_convert_hr_to_bytes() fails on large numeric values,,General,2.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-08T12:24:41Z,2011-06-22T17:17:36Z,"The {{{wp_convert_hr_to_bytes()}}} function exists to convert values in form of a memory setting into it's value in bytes.

By doing so, the function modifies the input value in every case. This modification has an issue with integer limits.

Whenever a value of $size is passed to the function that is in it's numerical part larger than [http://php.net/manual/en/reserved.constants.php PHP_INT_MAX], the input value will be capped to {{{PHP_INT_MAX}}}.

This is an integer overflow.

This applies as well when size has a shorthand ending specifier and it's numerical part is greater than PHP_INT_MAX.

To illustrate the problem on a 32 bit system:

{{{
	$setting = '2147483648';
	echo ""'$setting' are "", wp_convert_hr_to_bytes($setting), "" bytes.\n"";
	// '2147483648' are 2147483647 bytes.
}}}

It shows that the last byte is missing. Every other byte on top will be capped as well. The number of bytes given are a value equally to '2G'.

Solution: Input values should not be capped to int but to float which has allows higher values.",hakre
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,2011-11-11T18:54:44Z,"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
23369,WP_Comment_Query meta query 'count' conflicts with 'group by',,Comments,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-02T13:39:20Z,2013-02-02T14:52:54Z,"This problem relates to {{{/wp-includes/comment.php}}}, both 3.5.1 and trunk are affected. The following line number refers to the 3.5.1 version. 

At line 195, definition of class {{{WP_Comment_Query}}} , a typical meta query will generate such SQL:

{{{SELECT * FROM wp_comments INNER JOIN wp_commentmeta ON (wp_comments.comment_ID = wp_commentmeta.comment_id) WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND comment_post_ID = 22 AND ( (wp_commentmeta.meta_key = 'my_flag' AND CAST(wp_commentmeta.meta_value AS CHAR) = 'my_value') ) GROUP BY wp_comments.comment_ID ORDER BY comment_date_gmt DESC }}}

Note that at line 357, a meta query will always generate a {{{GROUP BY}}} clause. This works for comment rows. Say that I've got 3 comments matching this query, I'll see each of them in a row:

{{{
comment row 1, data
comment row 2, data
comment row 3, data
}}}

However, this query doesn't work well then {{{$count = true}}}. Note that by specifying {{{$count = true}}}, the function only changes {{{'SELECT *'}}} into {{{'SELECT COUNT(*)'}}}. For 3 comment result, I'm seeing something like this:

{{{
1
1
1
}}}

And you can see, because there's a {{{'GROUP BY'}}} clause. And each comment has a unique ID. The result is 3 'grouped row' of comments, and each will always have count of 1.

Therefore, the result of {{{$wpdb->get_var()}}} will be either 1, or NULL (when nothing is matched). I believe this behavior is not by intention.

To get count working, {{{'GROUP BY'}}} clause must be removed when $count is true.",heshiming
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
16437,wp_category_checklist should have name parameter,,General,3.0.4,normal,minor,Awaiting Review,enhancement,new,close,2011-02-01T19:48:31Z,2011-12-14T23:12:37Z,"I found [http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php#L64 wp_category_checklist] is useful for creating my plugin/theme settings options. Unfortunately, it's currently don't have name parameter, the name is statically defined as '''post_category''' in the ''Walker_Category_Checklist'' default walker.

[[BR]]
''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true )''

[[BR]]
where it should be something like[[BR]]

''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true, $name='post_category' )''

So we don't need to create a new walker just to change the name.
Thank you.",takien
19354,wp_allowed_protocols() does not allow data URI scheme,,Editor,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-11-25T03:34:46Z,2012-03-26T03:27:19Z,"When inserting images into a post via copy-paste, Firefox will paste a base64 text string (using the Data URI scheme) into the post editor.  The result will look something like:

<img src=""data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg=="" alt=""Red dot"">

When the post is saved, the ""data:"" portion of the src attribute is stripped away by wp_kses_hair() via the line:

if ( in_array(strtolower($attrname), $uris) )
   $thisval = wp_kses_bad_protocol($thisval, $allowed_protocols);

""data:"" is treated as a protocol prefix, and is not seen as part of the src attribute.

To reproduce this error, try the following in Firefox:

1) Do a Google image search for a rendom image.
2) Right-click -> ""Copy Image""
3) Paste into rich text editor
4) Save post
5) View HTML tab of the editor and notice that the ""data:"" scheme has been removed.

A side effect of this issue is that the image src is treated as a relative image path on the server (in subdirectory ""image/png"" with long string of characters as the ""file name.""  The server will typically report an error in its log file about the request length of the URI being too long.",hardy101
24073,wp_ajax_ajax_tag_search,,Taxonomy,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-13T09:59:25Z,2013-04-14T04:39:03Z,"For some of custom taxonomies the tag autocomplete doesn't work I tried to solve this issue and changing t.name to name in 

  $results = $wpdb->get_col( $wpdb->prepare( ""SELECT name FROM  ..... "");

in wp-admin/includes/ajax-actions.php -> wp_ajax_ajax_tag_search() helped me to solve this problem.

now everything looks ok for me .

",samnajian
23805,wp_ajax_add_menu_item() closed to user-created menu item types,,Menus,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-18T01:41:52Z,2013-03-19T11:53:02Z,"I'm building a new Menus meta box, that can add a new type of menu item, lets call it 'foobar'.

The conditional inside `wp_ajax_add_menu_item()` is slightly off. It checks that the menu item type is not 'custom', then proceeds to assume that it's either post-type or taxonomy so it can do some DB look-ups and create an `$_object` variable which is then used. This means it's closed to other types of menu items.

I've chosen 'foobar', so I can distinguish those items later on when walking through the front-end output.",GaryJ
19541,wp_admin_bar_new_content_menu does not respect menu_position,nacin*,Toolbar,3.1,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-12-14T02:19:30Z,2012-11-07T22:01:32Z,"'''What is happening:'''

When registering a custom post type, you can specify the position in the left-hand admin menu by using 'menu_position' to move it up or down in the list.

However, the admin bar ""new content"" list does not use this same order, instead it will always display ""Post"", ""Media"", ""Link"", ""Page"" (in that order) before any custom post.

'''What should be happening:'''

The admin bar ""new content"" list should respect the menu_position attribute.",davistobias
23378,wp_(insert|update)_term() should accept term slug as 'parent' argument,,Taxonomy,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-04T02:54:38Z,2013-02-10T06:56:17Z,"For those programmatically using `wp_insert_term()` and `wp_update_term()`, it would be great if the 'parent' argument could be a term_id or term slug.",danielbachhuber
17604,wp.uploadFile overwrite doesn't work,,XML-RPC,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-05-29T10:27:21Z,2012-11-08T01:52:09Z,"Removing the following lines from the function ''mw_newMediaObject'' file ''class-wp-xmlrpc-server.php'' solves the problem:

{{{
$filename = preg_replace('/^wpid\d+-/', '', $name);
$name = ""wpid{$old_file->ID}-{$filename}"";
}}}

Why are these lines there anyway? overwrite is overwrite.

This, presumably, bug exists in WP 3.1 too.",M66B
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
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
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
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
20201,wp.Options lies about the updatability of options.,westi,XML-RPC,3.4,low,normal,3.6,defect (bug),new,dev-feedback,2012-03-08T12:04:08Z,2013-05-07T12:44:07Z,"When an XMLRPC client calls this API we give it a `readonly` status for each of the options returned which lets it know whether or not the options are writable or not.

This status is hardcoded in the code and not capability aware so a user with only subscriber level access is given the impression that they can update options they can't.",westi
23020,wp.getPageList should act like wp.getPages,,XML-RPC,2.2,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-12-20T13:47:13Z,2012-12-30T15:07:53Z,"I know that wp.getPageList is obsolete, but I think it should act like wp.getPages At the moment wp.getPageList returns even the trashed pages and doesn't return the status of the page. 

The weird behavior i've seen with wp.getPageList on a third-party client is shown below:
- Refresh the pages list.
- The Page 'A' is in the list.
- Select the page 'A' and delete it.
- Refresh the pages list and the page is still there. Doh!",daniloercoli
17959,WP-Tab css,WraithKenny,Administration,3.2,normal,minor,Awaiting Review,defect (bug),reopened,has-patch,2011-07-01T17:03:44Z,2013-01-21T23:20:35Z,"The classes wp-tab-panel, wp-tab-bar, and wp-tab-active should adjust to side tabs in the post column (to match the behavior of categories for example)

Also, there are several unneeded duplicate css classes that can be cleaned up.",WraithKenny
21662,wp-signup.php says there's no limit to the number of blogs even when that is not desired or impossible,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-22T20:48:26Z,2012-12-29T16:53:04Z,"Please remove the statement in '''wp-signup.php''' that exclaims that there's no limit to the number of blogs one can create. It's on line 169.

I ask for two reasons:
1. Hosters of WordPress Networks may not wish to encourage users to open a ton of blogs. I don't because I don't want to encourage a support nightmare.
2. We might use a plugin that limits the number of blogs that users may create, like [http://buddydev.com/buddypress/limit-blogs-per-user-plugin-for-wpmu/ Limit Blogs per User].

For #2, an acceptable alternative may be to make it a string that can be overridden by a plugin. But the current situation, where it's a one-size-fits-all string, is bad because I have to manually edit it each time I (frequently) upgrade WordPress.",novasource
23637,wp-signup.php has overly aggressive CSS,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-02-27T14:33:46Z,2013-02-27T18:25:15Z,"The CSS added through wp_head by wp-signup.php stops Multisite form fields from being styled through inheritance. Allowing inheritance will result in more consistent styling with the active theme (for example, field font-size).",kwight
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
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
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
20633,wp-includes/comment.php:738 - Undefined property: WP_Query::$comments,,Warnings/Notices,3.3.2,normal,normal,3.6,defect (bug),new,dev-feedback,2012-05-07T20:50:33Z,2013-03-15T09:29:29Z,{{{get_comment_pages_count()}}} can throw a notice. We use {{{$wp_query->comments}}} without checking it first.,markjaquith
21435,wp-includes/comment.php line85 causes slow query due to the non-indexed column,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-01T00:31:47Z,2012-08-01T00:31:47Z,"Following query is causes slow query if  the wp_comment table is huge.
{{{
$ok_to_comment = $wpdb->get_var(""SELECT comment_approved FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1"");                                                         
}}}

In my case, I have 600 thousand records in the wp_comments table and the query takes over 10 minutes to complete.

http://matsu.teraren.com/blog/wp-content/uploads/2012/08/a40b1291fd99413dc3057fbe0b792a93.png

To fix this issue, I added index on my running wordpress and returns 0.00sec.

I'll attach the patch for create table file.
",matsubobo
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
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
15583,wp-admin/options-discussion: make text consistent,,Text Changes,3.1,normal,trivial,Future Release,enhancement,new,has-patch,2010-11-25T19:41:58Z,2012-11-19T16:44:25Z,"In wp-admin/options-discussion almost all lines have no period at the end of the line, except two. Remove periods.",latz
15765,wp-admin/ms-sites.php doesn't indicate required fields,,Network Admin,3.0.2,normal,minor,3.6,defect (bug),new,commit,2010-12-10T16:14:49Z,2013-05-05T00:12:24Z,"In '''wp-admin/ms-sites.php''', apparently all fields under '''Add Site''' are required, but there is no visual indication.",novasource
19419,wp-admin/media.php: allow to add a default src,,External Libraries,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-12-02T21:15:34Z,2011-12-22T23:01:36Z,"something like 

in file wp-admin/media.php :

function type_url_form_image($image_url) { 
  
    .
    .
    .
    <input id=""src"" name=""src"" value=""'.$image_url.'"" type=""text"" 
    .
    .
    .

    }

might be helpful because the function can be reused for plugins",mostyk
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
21599,wp-admin post-screen: Make metabox visibility filterable,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-15T19:10:46Z,2012-09-25T17:57:10Z,"We are using wp as a cms and we want to influence the visibility options our users see. Right now, that part is hardcoded in wp-admin/includes/meta-boxes.php. We would appreciate a filter to influence the visibility options. I'd be willing to provide a patch, if I get a positive feedback from a core dev.",pampfelimetten
23684,wp-admin CSS style conflicts with jQuery-UI breaking form elements in Firefox,,Administration,3.5,normal,normal,3.6,defect (bug),new,has-patch,2013-03-04T07:10:22Z,2013-05-10T02:09:17Z,"A default CSS style in the wordpress admin interface, which is loaded through load-styles.php either under the name wp-admin or buttons (both of which are inaccessible for removal as they are not listed in the WP_Styles object) interferes with jQuery-ui in such a way that any radio buttons (and possibly other form elements) that are styled with jQuery-ui in the admin interface (such as with a plugin) cause the browser window to jump to the top of the page when clicked. This behavious occurs with the current Wordpress version 3.5.1 using the latest Firefox 19.0 on linux (haven't tested in windows yet). After spending a few hours tracking down the offending code I narrowed it down to this statement in the admin CSS:
{{{
.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible {
position:absolute;
left:-1000em;
top:-1000em;
height:1px;
width:1px;
overflow:hidden;
}
}}}

The .ui-helper-hidden-accessible class is what is causing the conflict, specifically the ""top:-1000em;"" statement; due to the negative positioning values when a button is clicked the browser tries to focus on something styled with the ui-helper-hidden-accessible class, which is of course way outside the limits of the browser window. In order to correct the error I had to override it with the following in another stylesheet declared after load-styles.php:
{{{
.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible {
position:fixed;
left:1em;
top:1em;
height:1px;
width:1px;
overflow:hidden;
display:none;
}
}}}

We should not have to override default styles like this when making plugins, especially when we are using a js library (jQuery-ui) that is included with wordpress. Either the ui-helper-hidden-accessible class needs to be renamed or the negative values removed and replaced with a display:none; statement to fix this bug.",Colin84
22986,WP uses header image's GUID as URL,,Themes,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-12-18T01:28:18Z,2012-12-18T11:57:53Z,"See summary. If I move my site (old domain becoming inaccessible), I cannot use my header images any more since
a) I am not allowed to change GUIDs.
b) GUIDs are used as URLs for header images:

http://core.trac.wordpress.org/browser/trunk/wp-includes/theme.php
{{{
1008        foreach ( (array) $headers as $header ) {
1009	                $url = esc_url_raw( $header->guid );
}}}",bersbers
22076,WP Upgrader: update_bulk_plugins_complete_actions and update_bulk_theme_complete_actions should pass information about all plugins/themes to the filter,,Upgrade/Install,3.0,normal,normal,Awaiting Review,defect (bug),new,,2012-10-02T07:56:19Z,2012-10-05T23:10:07Z,"In class-wp-upgrader.php, line 1214 there is this line:

{{{
$update_actions = apply_filters('update_plugin_complete_actions', $update_actions, $this->plugin);
}}}

When adding a filter to it like this:

{{{
add_filter('update_bulk_plugins_complete_actions','test_filter',99,2);

function test_filter( $update_actions, $plugins ) {
    echo print_r( $plugins, 1);
    return $update_actions;
}
}}}

Only the last updated plugin info will be printed. However, it should contain information about all the plugins that were updated (since we are dealing with a bulk upgrade here).",ragulka
20437,WP Upgrader filter to allow plugins to upload to existing directory,,Upload,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-13T16:52:30Z,2012-06-01T01:24:12Z,"Our plugin for WP uses various elements of the WP upgrader class to manage plugins for our plugin. ;)  This has worked great except when we went to extend it further and allow uploading of plugins through the WP Upgrader class much like you can with WP plugins.

The issue is that currently, the WP Upgrader class is coded to expect the upload destination to be empty - EXCEPT if the upload destination (the base directory) is one of these hard coded locations:

in_array( $destination, array(ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes') )

So since our plugin storage location is not one of those, it fails since there may already be some plugins there.

Sure would be nice if that array of locations that does not have to be empty (the important base dirs which allow dropping down a directory level)...  a simple filter would accomplish this...

Hope its not too late in 4.3 for a simple filter...",usermrpapa
17460,WP Updates througth SSH Script,bugdev,Administration,3.2,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-05-16T19:57:14Z,2011-05-16T20:45:56Z,"The current WP Update engine is very unsecure, because if there is a webserver issue or a connection timeout, memory overflow, connection issue than the wordpress update is corruptes.

More secure the update will be if we can do/execute a php script or ssh script througth the terminal, what also gives advanced informations about update errors ect.",bugdev
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
17723,WP Signon from external resource/php code,,Users,3.1.3,normal,normal,Awaiting Review,defect (bug),new,,2011-06-07T23:30:50Z,2011-06-07T23:30:50Z,"Wordpress has a lot of different functions available in the codec, such as the wp_signon.

The code to login a user from within the wordpress folder looks like:
{{{
$creds = array();
$creds['user_login'] = $username;
$creds['user_password'] = $password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
wp_set_current_user($user->ID);
}}}

If this is done outside of the wordpress user folder, by including the wp-config.php file 
{{{
including the wp-config, like the following:
global $wpdb;
define('WP_USE_THEMES', false);
require_once '/path/to/www/blog/wp-config.php';
wp();
}}}

then the cookies aren't created successfully and you can't properly login/logout a user.

There are a log of constants that set this up, yet the cookies aren't set properly, you are missing the wordpress_logged_in_COOKIEHASH essential cookie.

Such flexible function should work properly ",TeckniX
17227,wp should work around bug in move_uploaded_file for tighter security,,Security,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-04-24T00:28:50Z,2011-11-17T18:52:45Z,"Andrew Nacin said I should put this in a new ticket so others can weigh in.  Here's the email with the description:

Hey guys, so I'm trying to harden up (!) my wordpress installation, and the whole world-writable wp-content/uploads thing is avoidable by creating a group that includes me and apache (call it ""checkersites""), and making wp-content/uploads et al group writable, group checkersites, and the directories group sticky.  So, any new directories and files created are group checkersites so I can toast them, even though apache is the owner.

However, there's a bug in php's move_uploaded_file that it doesn't obey the directory group sticky bit, so any files uploaded and run through move_uploaded_file are apache:apache, which then breaks everything with this scheme (meaning, the files still work, but now I can't modify the them without su'ing, etc.).  This has been recorded on the php docs for move_uploaded_files since 2008  ([http://www.php.net/manual/en/function.move-uploaded-file.php#85149 note here]), so it looks like they just don't care. I was thinking about patching wordpress to work around this by checking if the destination directory's group sticky bit is set and changing the group to that if so.  Would you guys be interested in the patch?

As far as I can tell, this is the only thing that forces non-root users to make directories world writable (or even readable, assuming the admin will set up the shared group for them).  Seems like it's worth fixing.",chrishecker
11694,"WP should do sanity checks for paginated posts, pages and comments",dd32*,Template,2.9,normal,major,Future Release,defect (bug),accepted,has-patch,2010-01-02T19:45:15Z,2012-09-14T22:30:15Z,"Create a post with two pages using the <!--nextpage--> tag. Publish, and browse the post's *third* page.

WP should return a 404 here, rather than the last page of the post.

Along the same lines, it should return the correct canonical urls for paginated posts. Currently, rel=canonical will only ever return the post's first page.",Denis-de-Bernardy
12538,WP should cache menus,ryan,Menus,3.0,normal,normal,Awaiting Review,defect (bug),reopened,,2010-03-07T02:10:10Z,2012-01-04T17:34:26Z,"There's a prime example of how to do this in the menu ticket (i.e. the plugin I attached in #11817).

Shouldn't we be doing this in WP as well?

It basically goes:

 - if it's a page, then try a post meta
 - if it's search/404 request, then try a transient
 - if it's anything else, then try a transient

The plugin also handles conditional flushing of the cache based on whether or not the permalink and/or the label changed.",Denis-de-Bernardy
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
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
16990,WP Multisite doesn't use custom db-error.php,tmuka,Multisite,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-03-28T19:19:46Z,2011-07-18T01:23:14Z,"I suppose this is a feature request. I don't see a way to configure a Multisite install to use the same wp-content/db-error.php file as a single wp site install uses. Instead where the db is down the page dies on ""Error establishing database connection"" wrapped in an <h1>.

It could be a complication of using the HyperDB plugin, but it appears that on line 104 of wp-includes/ms-settings.php when the db is down get_blog_details() obviously fails and wp-includes/ms-load.php:ms_not_installed() is called. Unfortunately ms_not_installed() does not redirect to db-error.php, and instead dies, returning
$title = /*WP_I18N_FATAL_ERROR*/'Error establishing database connection'/*/WP_I18N_FATAL_ERROR*/;

Obviously i could hack in a call to wp-includes/functions.php: dead_db() in ms-load.php, but i try to avoid any core hacking to make upgrades easier.

Does anyone have a suggestion for overriding this behavior cleanly? perhaps something in wp-WP_CONTENT_DIR/sunrise.php ?

I suppose if somebody else is interested in the simple fix, here it is. In ""function ms_not_installed"" on line 224 of wp-includes/ms-load.php, insert dead_db();
like this...

{{{
function ms_not_installed() {
dead_db(); //hacked this in so we can get use our custom db-error.php
}}}

The bottom line is that now the visitor will potentially see a more friendly error message when the db or db table is unavailable.",tmuka
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
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
18079,WP has dropped support of the path field in the site table,,Multisite,3.0,normal,normal,Awaiting Review,feature request,new,has-patch,2011-07-12T05:06:31Z,2012-11-03T14:25:50Z,"I've had inquiries about sites that used to work in WordPress Mu that no longer work in WordPress 3.1.  

The idea is to have a path based network for each state/province and sites for each city under that, all networks hosted under the same domain. 

Like so
{{{
Network 1:
Network domain: example.com Network path: /ohio/
    site domain: example.com path: /ohio/akron
    site domain: example.com path: /ohio/canton
    site domain: example.com path: /ohio/uniontown

Network 2:
Network domain: example.com Network path: /pa/
    site domain: example.com path: /pa/pittsburgh
    site domain: example.com path: /pa/greensburg
    site domain: example.com path: /pa/erie

Network 3:
Network domain: example.com Network path: /indiana/
    site domain: example.com path: /indiana/indianapolis
}}}
There are two things that are preventing this. First, in new_site, instead of including the path from the sites table for the current network, it uses the global $base variable which is always / in this scenario. Using $current_site->path resolves that. 

The second issue is that the .htaccess code is too restrictive. It will the paths on two levels. /network/site/wp-admin/ doesn't work but /site/wp-admin/ does.

Adjusting lines similar to 
{{{
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1
}}}
over to 
{{{
RewriteRule  ^[_0-9a-zA-Z/-]+/(wp-(content|admin|includes).*) $1
}}}
resolves that.

The attached patch addresses both of these requirements.
",brianlayman
22230,WP adds <br /> before <select even where there is no line break in source code,,Formatting,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-19T21:49:26Z,2013-01-31T11:24:25Z,"My source code in the WP HTML editor:

{{{
<label for=""sellby"">How soon do you need to sell?</label><select id=""sellby"" name=""sellby"" required=""1"">
}}}

Note how there is *no line break* between </label> and <select

HTML generated by WP, however:

{{{
<label for=""sellby"">How soon do you need to sell?</label><br />
<select id=""sellby"" name=""sellby"" required=""1"">
}}}

Um, how (and why?) did that extra <br /> get in there?

This also happened when I was using the Visual editor; switched to the HTML editor to see if it was an error on my part but nope - there is no line break whatsoever in my HTML source code, so I have no idea why WP insists on adding one.

It's particularly vexing because I would like my text label to be next to (on the same line as) my select boxes, but WP is forcing it to be on the next line, which is making my form look awful.

AFAIK it's only happening with select boxes, but it's pretty consistent for me.

Since it's happening with the HTML editor as well as the Visual editor I left the Component as General so better minds than mine can categorize it appropriately.",chirael
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
23713,WP 3.5.1 wp-image-editor: Scaling up images does not work,,Media,,normal,normal,3.6,defect (bug),reopened,commit,2013-03-07T16:59:57Z,2013-03-28T15:17:58Z,"I can't scale up jpg within wordpress media library, while scaling down works as expected.
A new image file like somename-e1361912486333.jpg is created, but it has exact the same size as the original file.

phpinfo() says I have gd library installed. No imagick.

I already asked in WP Forums for help, with no reaction:
http://wordpress.org/support/topic/wp-351-wp-image-editor-scaling-up-images-does-not-work

",ullemehner
18896,WP 3.2.1 dynamic menu drop-down feature not displaying properly on multiple themes.,,Menus,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-10-10T21:31:03Z,2011-10-10T21:31:03Z,"It looks like there is a bug in the WordPress 3.2.1. dynamic menu feature or there is some code for drop-down menus that needs to be included on new themes that's not clearly outline in the codex.

After adding a WP 3.2.1 menu to my new theme( http://testing2.homesafetn.org) that was converted from html/CSS, the static menus display fine, but I could not get the drop-down menu items to display correctly. They would display as static menu items under the top level menu, or if there is room they will display to the right of the main menu items. I did some testing by downloading and activating a number of free themes and they all had problems displaying drop-down menus in WordPress using the dynamic menu feature. Two of the themes I tested with were the RedBel 1.3.1 and the BirdSite 1.02. I also tested this in three diffrent broswers (IE, Firefox, Safari) I know someone has a solution out there to make this work with drop-down menus. Because the Twenty Eleven 1.2 and Twenty Ten 1.2 themes drop-down menus using the dynamic menu feature in WP works fine! ",ggivens
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
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
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
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
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
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
23866,Wordpress xmlrpc wp_getPosts filter for slug,,XML-RPC,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-03-26T20:09:31Z,2013-03-26T22:29:43Z,"When using the Wordpress xmlrpc, it is sometimes very useful to get posts based off of slugs rather than post id.

A use case for this would be synchronizing or migrating two Wordpress sites with the same posts, but with different databases and post ID's.


 ",SunWaves
20069,Wordpress upgrade process removed executable bits on .php files and so broke Wordpress,,Upgrade/Install,3.3.1,normal,major,Awaiting Review,defect (bug),new,close,2012-02-18T12:55:48Z,2012-02-20T13:05:11Z,"I just upgraded from 3.2 to 3.3.1 on my shared hosting box (hosted by http://www.mythic-beasts.com). This uses suexec, and so .php scripts need to have executable permissions otherwise it won't execute them. I am told that many secure multi-user setups work like this.

My original install had the PHP scripts set as executable, but I did the upgrade (via the web GUI) and suddenly I got 500 Server Errors everywhere. I had to chmod all .php files back to executable before my blog would work again.

Wordpress should check the permissions on .php files before upgrading and preserve them across the upgrade.

Gerv",gerv
23251,WordPress tries to unnecessarily set the memory limit,,General,2.5,normal,normal,3.6,defect (bug),new,has-patch,2013-01-21T15:25:01Z,2013-04-11T17:10:33Z,"Fixed bug where !WordPress tries to unnecessarily set the memory limit when a value like '2G' is used instead of '2048M'.

See bad code & good code over at Github, which is what you should be using for stuff like this; https://github.com/WordPress/WordPress/pull/26

Discovered by @willem_o and @PeterJaap",peterjaap
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
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
21668,WordPress still does not save jpeg as progressive jpeg,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-23T16:44:06Z,2013-04-08T12:52:45Z,"Every time WordPress does `imagejpeg` it should be doing `imageinterlace` beforehand to set progressive mode, but it's not.

http://php.net/manual/en/function.imageinterlace.php

Progressive jpeg has been supported by ALL browsers since 2001 or so.

progressive demo: http://bbshowcase.org/progressive/

Note that even if an ancient browser is listed somewhere as not rendering progressive, progressive jpeg still will be displayed, simply showing it all at once rather than gradual. 

IE6 for example WILL load progressive jpeg, it will just not render it progressively, instead it will load the entire image and then render all at once at the end.

Progressive algorithm will also make slightly smaller jpeg as a side effect in most cases.

ie. in `media.php`  
`
imageinterlace($newimage,1);
imagejpeg( $newimage, ...
`

This update is years overdue.

It might be possible to futureproof this by adding a filter to `$newimage` before the final `imagejpeg`. I am uncertain if that would work since filters would not pass `$newimage` by reference and instead make a copy - while newimage is only a pointer to php/gd memory. Can apply_filters be forced to work somehow by reference instead of a copy? Maybe that should be another feature idea.
",_ck_
19721,WordPress should support multiple or nested plugin directories,scottnath,Plugins,3.3,normal,normal,Awaiting Review,feature request,new,,2012-01-03T16:33:34Z,2012-10-22T11:12:11Z,"WordPress currently only looks one directory deep for the plugin files. This is a limitation in get_plugins. It should look at least two (or more).

Our setup: We have many sites on WordPress and would like to share a set of plugins across them. However, we also have a requirement where each site should have its own unique set of plugins as well. (I realize this seems like an easy job for Multisite or mu=plugins, but they're not something we can adopt currently for various reasons).

Ideally, we can create a symlink (or external/submodule) to our shared plugins folder from inside the core plugins folder and have WordPress recognize plugins within that folder:

* plugins Folder
	* hello-dolly.php
	* akismet
		* akismet.php
	* shared-plugins (symlink)

* shared-plugins folder
	* hello-dolly-enhanced
		* hello-dolly-enhanced.php
	* akismet-enhanced
		* akismet-enhanced.php

Currently, WordPress will ignore both hello-dolly-enhanced and akismet-enhanced.

Themes already support nested folder; plugins should too please!

Thanks,
Scott Nath",scottnath
16612,WordPress should return nocache headers for requests with comment cookies,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-21T22:45:21Z,2011-11-16T00:51:57Z,"Most themes, when displaying the comment form, change the HTML to pre-fill username, email address, and website when comment cookies are received in the HTTP request.  Since the response does not have explicit nocache headers, per RFC2616 (http://www.ietf.org/rfc/rfc2616.txt) intermediate caches can use heuristics to determine the cache TTL for the response.  Since there is 0 freshness data in the response, it is not really possible to perform good heuristics, but in practice, caches will assign a default TTL to this type of response.  The result is that private information input by user A when submitting a comment can be returned to user B when making a request for the same URL.  

To protect ourselves against this, we should call nocache_headers() when comment cookies are sent and the comment form is being displayed.  Alternatively, we can send nocache headers for all requests with comment cookies regardless of the comment form being displayed or not (probably easier and maybe safer).

http://humboldtherald.wordpress.com/2011/01/27/gremlins/ is a story likely caused by an aggressive cache and the lack of nocache headers.",barry
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
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
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
19211,WordPress should be properly capitalized in the HTML title,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-08T23:49:59Z,2011-11-09T04:59:43Z,"The HTML title element doesn't get properly capitalized P's, only the post title does.

For example: http://gigaom.com/2011/11/08/wordpress-founder-matt-mullenweg-to-speak-at-roadmap/",evansolomon
20224,WordPress should always add a / at the end of URLs,,Canonical,3.4,normal,normal,Awaiting Review,enhancement,reopened,close,2012-03-13T09:54:17Z,2012-03-14T12:36:36Z,"Users can change permalinks. They can add whatever they whant at the end of each url. For example :[[BR]]
- mydomain.com/myurl
- mydomain.com/myurl/
- mydomain.com/myurl.php
- mydomain.com/myurl.html
- mydomain.com/myurl.htm
- ...

There is a bug with search engines and empty URLs (mydomain.com/myurl). Google, Yahoo or Bing consider that it's not the same URl as mydomain.com/myurl/. They always try to add a / at the end of those URLs : it creates duplicate content for search engines that harms website visibility. For example, if a WordPress Blog uses /%postname% as permalink, Google is going to index both url:
- mydomain.com/myurl
- mydomain.com/myurl/

In order to correct this issue, WordPress should always add a / at the end of empty URLs (for example, without a / or without extension like .php, .asp, .html, ...).",Confridin
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
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
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
20544,WordPress MultiSite/Network SiteURL error,,Network Admin,3.3.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-04-25T14:24:07Z,2012-11-20T11:49:45Z,"In the Network Admin -> Sites -> Edit Sites -> Info
Domain is set to: swordstudios.net
Path is set to: /helpdawson/

I am using Domain Mapping to mask this site with http://helpdawson.com however I wanted the admin and location of files to be http://helpdawson.com/wp-admin and /files...  not http://swordstudios.net/helpdawson/wp-admin

I changed the Domain to helpdawson.com and removed everything from the path and checked off ""Update siteurl and home as well.""

When I hit submit the Domain field in the Info tab was correctly set to helpdawson.com but the site was redirecting to comhelpdawson. which obviously returned an error.  When I went to Edit Site -> Settings I saw that the siteurul and home were set to http://comhelpdawson/  

I changed everything back to the swordstudios.net/helpdawson and did the whole process over again and was able to duplicate the problem.

[[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug.png)]][[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug2.png)]][[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug3.png)]][[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug4.png)]]",professor44
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
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
14824,WordPress is not updating Theme option after making a theme a child theme by adding the line 'Template' to the child`s css without refreshing Theem activation,,Themes,3.1,normal,normal,Future Release,defect (bug),new,,2010-09-09T23:27:35Z,2011-01-13T08:51:36Z,"Situation:

If you have 2 Themes on a 2 sites MultiSite install (each site is using one theme) and want to make one of them a child Theme of the other, you will go to one of them and add the line 'Template: NAME OF THE PARENT THEME' and save it.

After doing so the Child Theme will not inherit any Template Files from the parent until you deactivate/activate the Child Theme again.

Although it says in the ""Themes/Appereance"" section of the Child Themes backend 'CHILD THEME NAME uses templates from PARENT THEME NAME. Changes made to the templates will affect both themes.' even before deactivating/activating the Child Theme.

Looks like the template page might be checking the style.css and not update the option.",drale2k
16778,wordpress is leaking user/blog information during wp_version_check(),,Administration,,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-03-06T18:57:43Z,2012-09-04T11:06:26Z,"Hi,
we've noticed that wordpress will send how many users and blogs are in a given installation during the GET to api.wordpress.org together with the installation URL in the headers.

Is there any reason why this is done? It seems quite a leak of information. Can it be turned into an option defaulting to off and admins can opt-in if they want to report how many users/blogs are currently there?

thanks.

PS. slightly related, WP will also leak which blog in MU mode is requesting any URL via the user-agent in the WP_Http class (for example while updating the news feed on the dashboard)",investici
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
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_
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
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
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
22279,Wordpress Export/Import deletes carriage returns,,Export,3.4.2,normal,major,Awaiting Review,defect (bug),new,,2012-10-25T20:02:42Z,2012-10-25T20:02:42Z,"Wordpress export does not translate or escape bare CR characters in a CR/LF pair.  They show up unfiltered in the WXR export file.  I see this both in post_content and in strings that were serialized into a post_meta field.  The CR characters are in the WXR file, unfiltered.

Then, Wordpress import loses these CR characters.  They are simply erased.  It may be because SimpleXMLParser can't or won't open the XML file in binary mode, so line ending translation can & does happen.  That's just a theory, but if it's true then this behavior might *not* happen on all platforms or with all PHP versions.  (I'm seeing this on OS X 10.6.8, PHP 5.4.4.)

In the worse case -- mine -- the munged string is a small component of a complex datastructure that is serialized in a postmeta record.  In this case, the entire meta_value field is deleted on import, because the data won't unserialize, because its length has changed.

It seems to me that WP Export should escape any character that might be threatened in transit.  I'm no XML lawyer, but some sources claim that unescaped CR characters are invalid XML.

To reproduce: 

* store a carriage return in a post.  
* export it to a WXR file.
* examine the WXR file for the raw carriage return (^M).
* import that file.
* search for the carriage return.",mykle
23576,WordPress Editor Config to Stop Using Font Tag,,TinyMCE,3.5,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2013-02-21T09:10:57Z,2013-02-21T16:33:41Z,"Please could you change the default config so that the Font tag isn't used for styling, there is a option for the editor you use to switch to using spans instead but it isn't set to do that by default.

",jscampbell.05
23533,WordPress doesn't recognize IIS 8.0 (Windows Server 2012) properly,,IIS,3.4,normal,major,3.6,defect (bug),new,has-patch,2013-02-19T16:24:46Z,2013-03-02T20:40:50Z,"WordPress 3.5.1 doesn't recognize IIS 8.0 due to an invalid check in wp-includes/vars.php.

line 99:

{{{
$is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false);
}}}


Now WordPress, hosted on IIS 8.0, can't write a web.config for rewrites.

The check should be extended to include IIS 8.0, and preferably future verions. One more extended check to include IIS 8.0 only, and to patch this bug is:


{{{
$is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') || strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/8.') !== false);
}}}
 
Kind regards,
Jan",JanR
10690,WordPress does not support  non-ascii characters in URLs,markjaquith,Canonical,2.8.4,normal,normal,Awaiting Review,defect (bug),reopened,,2009-08-26T18:26:13Z,2013-03-08T20:31:45Z,"WordPress' clean_url() strips out most characters, which are non-ascii for security reasons. This is causing problems, if you want to run a WordPress blog on a domain containing non-ascii-characters (e.g. müller.com), because WordPress generates wrong URLs on redirects.",paddya
18266,WordPress does not signal DB errors when adding/updating post,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T05:56:18Z,2011-07-27T05:56:18Z,"WordPress does not signal DB errors when adding/updating post. As I checked, `edit_post()` (defined in wp-admin/includes/post.php) calls `wp_update_post()` but does not check if it returned error. Therefore end user never gets any error message.

I found this when I tried to replace valid SQL query with some invalid one, in order to stop insert operation when custom validation done in `wp_insert_post_data` hook failed.",sirzooro
22225,WordPress does not localize ordinal suffixes in dates,,I18N,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-19T08:39:08Z,2012-12-26T01:48:11Z,"In wp-includes/functions.php function date_i18n(), elements like month, month abbreviation, weekday etc.. are localized but not the ordinal suffixes (e.g. st, nd, rt, th)

effect: when using the ordinal suffixes for dates 

e.g. 
{{{
<?php the_time('F jS, Y'); ?>
}}}
 
on translated/localized page page, the month name is translated (F) but the ordinal suffix no.

Not browser/OS/environment dependent.",mihaimihai
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
17439,Wordpress Database Update reports errors but says it's successfull,,Upgrade/Install,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T09:23:30Z,2011-05-15T14:36:43Z,"I just updated my database on current HEAD of trunk by pressing the button while WP told be to do so. I got an error reported:
----
'''WordPress database error:''' [Out of range value adjusted for column 'post_parent' at row 4]
`ALTER TABLE wp_posts CHANGE COLUMN post_parent post_parent bigint(20) unsigned NOT NULL default '0'`
----

However right beneath of it, I was greeted with:

----
'''Update Complete'''

Your WordPress database has been successfully updated!
----

First of all I ask myself if I can trust that message as an error has been reported.

Then this looks like that the update is not compatbile with my MySQL server which is 5.0.19 and matching the [wordpress system requirements on the webpage](http://wordpress.org/about/requirements/) (which seems to be out of date for trunk, but, well 5.0 is required according to version.php).

Related: #3112
",hakre
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
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
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
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
23382,WordPress admin panel lags,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2013-02-04T19:02:20Z,2013-05-15T16:34:39Z,"I'm using Windows 7, brand-new laptop with i7 processor, 8GB RAM and 1080p resolution.

I have created a post with 15 1920x1080 images in it and a lot of content (25000 characters). Results:

=== CHROME & CHROME CANARY ===
It's far from being usable at all. It lags that much that cursor doesn't even change from ""default"" to ""pointer"" when I hover over ""Publish"" button. Even switching to WordPress Admin Panel tab takes 5 seconds. Textareas are not resizable because lags prevent my mouse cursor from doing anything. Actually, entire Admin Panel lags, all these Drag&Drop widgets etc.

=== FIREFOX ===
A bit better than Chrome, everything lags but at least I can resize textareas and after 10 seconds it becomes usable. Nonetheless, it's not as smooth as other websites.

=== IE10 ===
Excellent. Not even a single slowdown!

=== SAFARI ===
Very close to IE10.

I think that WordPress Admin Panel is stuffed with heavy Javascript. Maybe it's worth taking a look at that. The module that seems to be the heaviest is TinyMCE - when this appears then lags appear as well. Chrome works fine everywhere except WP Admin Panel.

Good luck guys and thank you for your hard work during WordPress development :) My complaints are here only to make it better. I can live with these lags (since I can do it in IE10) but those are just my thoughts (many people use Chrome).",Looimaster
18136,WordPress Adding Spurious </p>,,Formatting,,normal,normal,Awaiting Review,defect (bug),reopened,,2011-07-15T22:03:38Z,2012-11-14T02:06:32Z,If you look at this page: https://singpolyma.net/2011/06/dystoparx-part-12/ WordPress seems to be adding extra </p> tags before the </div>s  This causes major well-formedness problems on the page.,singpolyma
24297,WordPress 3.6 UI - Post Visibility Buttons Jumps User to Bottom of Page and Does Not Open Option,,Administration,trunk,normal,major,Awaiting Review,defect (bug),new,close,2013-05-09T17:40:52Z,2013-05-10T21:22:30Z,"Using the WordPress.com 3.6 UI test version, in Firefox older than version 19 (tested on 17-19 across multiple Windows computers in my college class) clicking Post Edit > Publish > Visibility jumps the user to the bottom of the web page and the Visibility option does not open to reveal the Public, Private, and Password Protection options. 

Works in Chrome, so the students all switch to Chrome for that exercise. 

This has been in play for almost three weeks. 

These tickets might be associated with the issue: #23817, #23684.

Thanks!


",Lorelle
24312,wordpress 3.4.1 muti-sites image has not appear in time on safari sometimes,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-11T01:11:37Z,2013-05-11T01:11:37Z,"I'm running muti-sites wordpress with nginx, and test on safari (chrome is fine).

A very important thing is, the image is upload by administrator.

I found sometime some image has not appear immediately, I was just thing a about network trouble before, but I found the rule today.

the rule is:

enter the page, image shown.
refresh the page(Command + R), image disappeared.
refresh again, image shown.
again again, it disappeared.
loops....
NOTICE: disappeared is means that's not apear immediately: loaded the page about 2 second later, the image could be loaded.

---- solution ----

When you refresh the page, safari send a image request to server with HTTP header `HTTP_IF_NONE_MATCH` and `HTTP_IF_MODIFIED_SINCE`.

Because of this is a mutiple site, nginx rewrite the request to ms-files.php to process it. ms-files.php found the image has not been modified, so it's response 304 with no content.

The bug is, the ms-files.php has already set `Content-Length` header before decided to response 304, so the response header going to be 304 with no content and `Content-Length > 0`. After that, safari was down.

Fixed the bug by add `header( 'Content-Length: 0' );` to wp-includes/ms-files.php line 79.

{{{
     75 if ( ( $client_last_modified && $client_etag )
     76     ? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) )
     77     : ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) )
     78     ) {
     79     header( 'Content-Length: 0' );
     80     status_header( 304 ); // new line
     81     exit;
     82 }
}}}

     ",ericdum
6430,WordPress 2.5 xmlrpc should return image thumbnail URLs in wp.uploadFile,jonquark*,XML-RPC,2.5,normal,normal,Future Release,enhancement,accepted,dev-feedback,2008-03-28T05:51:57Z,2012-06-23T19:59:51Z,"The xmlrpc call for wp.uploadFile (aliased to mw_newMediaObject) currently returns the URL of the uploaded file only. In WordPress 2.5, thumbnail files are automatically created. The xmlrpc API should provide a way to get the URLs of the thumbnail files, preferably in the returned hash from the wp.uploadFile call. 

That is, wp.uploadFile currently returns url = ""http://myhost/wp/wp-content/uploads/2008/03/myImage.jpg"". In addition, it should return ""thumbnailSmallUrl = ..."" and ""thumbnailMediumUrl = ..."". (I'm not sure if this would break MetaWeblog compatibility.)


Background:

WordPress 2.5 now automatically creates thumbnail images for uploaded image files according to the (maximum) sizes specified in the Miscellaneous settings page. When resizing, the aspect ratio is maintained, and the filenames are named for the exact size of the image. For example, if I upload:

dsc-0151.jpg

Using the default thumbnail settings of 150x150 and 300x300, these files will be created:
dsc-0151-300x199.jpg
dsc-0151-150x150.jpg

Note that the first filename for the medium thumbnail is called ""300x199"" not ""300x300"". It's thus difficult to guess the new thumbnail filename for the default settings.

Since these settings are user configurable, it's currently impossible for an xmlrpc client to guess the URLs of the thumbnails.
",mlossos
5117,WordPress (plugin) updates do not warn about unknown plugins,matt,Upgrade/Install,2.6,normal,normal,Future Release,defect (bug),new,,2007-09-30T11:34:17Z,2009-09-02T20:29:29Z,"The WordPress plugin update system does not notify the user if it could not find updates for a subset of plugins. That is, if the user has installed plugins not hosted with WordPress, they are not notified that new versions were ''not'' actually checked for. This can lead the user to believe that all of their plugins are up-to-date when they are not.

Fixing this will require both the server-side and the client to be updated. The WordPress update API will need to return data on which plugins it does not recognize as being hosted, and the WordPress installation will need to render that information so that the user understands which of his/her plugins are ''not'' automatically checked.",Quandary
23092,"Word count, Edit Post > Publish > Visibility, Published Date & Status ""Edit"" links don't work",,General,3.5,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-12-31T02:38:48Z,2012-12-31T23:03:22Z,"hosting platform:

Apache 2.2.23
PHP 5.4.10
FreeBSD 8.3
WordPress 3.5 (no modifications to codebase & themes, no plugins)

- client:
Mac OS X
Firefox and Safari

prior to upgrading to 3.5, Edit Post > Publish > Visibility, Published Date & Status ""Edit"" links worked as expected. I can make changes then hit Update.

after upgrade to 3.5, these Edit links no longer work. Tons of load-styles.php errors. Word count is always set to 0 - Quick Edit works just fine.

tw2113 (from #wordpress Freenode) suggested I enable script_debug in wp-config.php and that resolve the issues I was having. Word count now works also.

As tw2113 have mentioned, I shouldn't need to have script_debug enabled just to get your post editor working.

Any thoughts?

Please advise, thank you!",scaturan
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
24252,Windows Phones are ignored by wp_is_mobile,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-02T21:49:13Z,2013-05-07T18:46:30Z,"Reported in the forums by vaibhav3 - http://wordpress.org/support/topic/wp_is_mobile-returning-false-values/

wp_is_mobile() doesn't have an 'If Windows Phone' clause which throws off some phones which apparently don't have a 'mobile' fall back.

Attached is a patch that adds it in.",Ipstenu
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
24008,Widgets title improvement,,Widgets,,normal,normal,Awaiting Review,enhancement,new,,2013-04-09T18:12:17Z,2013-04-09T18:12:17Z,"we have now: 

{{{

$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base );
}}}


why not to use?


{{{
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? $this->name : $instance['title'], $instance, $this->id_base );
}}}
",alexvorn2
23909,Widgets Settings Loaded When No-Needed,,Widgets,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-30T16:02:05Z,2013-04-03T19:21:32Z,"Hi, This ticket about the performance in the back-end interface .

WordPress run query to get the active widgets settings in every page even in the dashboard ! , This makes the site admin slow especially when the site have many widgets !

You can use '''Debug Bar''' & '''Debug Bar Extender''' plugins to check the queries .",alex-ye
19444,Widgets page stale when pressing the Back button,,Widgets,,normal,normal,Awaiting Review,defect (bug),new,,2011-12-04T18:14:26Z,2011-12-05T16:54:31Z,"For several versions of Wordpress (maybe all of them), I've noticed that the Widgets page can be loaded from cache:

[[Image(http://img51.imageshack.us/img51/725/pictureen.png)]]

I'm not sure why this is happening, when the page is first loaded headers are sent including `no-cache, must revalidate, max-age=0`, all of which seems to be done correctly:

[[Image(http://img703.imageshack.us/img703/4526/screenshotwithshadow.png)]]

However, if I load the widgets page, make a change to the order of the widgets, then navigate to another page, and then use the back arrow to go back to the widgets page, a cached version of the widgets page (pre-change) is loaded. This can be especially troublesome if you spend a lot of time making changes and adding and removing widgets, or widget content, then go back to the page and make another change before you realize that the cached page is loaded, because it will overwrite all the changes that you had just previously spent so much effort on.

One possible solution would be to load all the widgets with AJAX if javascript is available, or possibly re-check that the correct widgets are in place with AJAX after the page loads (and use Javascript to reload the page again if they are not). The latter method would also enable the page to be loaded using standard methods if Javascript was not enabled.",willshouse
19291,Widgets move to Inactive after clearing all widgets from sidebars,,Warnings/Notices,3.3,normal,normal,Future Release,enhancement,new,early,2011-11-18T15:49:18Z,2011-11-23T22:44:56Z,"Jane reported in IRC that a theme switch dropped her widgets to Inactive.

> Jane: test site had 2010 as theme, with some widgets. activated 2011 on themes.php. Refreshed itself to themes.php?activated=true and showed alert message "" New theme activated. This theme supports widgets, please visit the widgets settings screen to configure them."" Go to widgets screen, widgets in primary sidebar in 2010 are not in sidebar, no widgets live anymore
> Jane: switch back to 2010, same message appears on themes.php?activated=true and 2010 sidebar comes back

[http://core.trac.wordpress.org/ticket/19091#comment:11 Reproduced by ocean90].

I was able to repeat the reported issue one only one specific case.

This only happens if you remove *all* widgets from all sidebars. Then add widgets back to sidebar(s). Then, switch back to a previously activated theme.

- It doesn't happen if you leave at least one widget in place in a sidebar
- It doesn't happen if you switch to a new theme (not previously activated)

Looks like we can solve it by the ""lost"" widget check just puts any old widgets into Inactive. We should orphan those, too.

To fix: If widgets registered but not in the new theme's sidebar, orphan it.

See #17979, #19091, #19092.",lancewillett
18446,Widget removes fields w/ default HTML on initial save in IE8 and 9,,Widgets,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-08-16T15:51:02Z,2011-08-17T02:43:18Z,"Weird problem, testd in IE8/9, Chrome, and Firefox. If you have a widget, with HTML in the default value, IE8/9 will remove the field entirely. However, if you then paste the HTML back into the field and save, it works fine. This ONLY happens after the initial drag/drop then save of the widget. It even happens if you drag/drop the widget, change the field and click save.

Example Plugin: http://wordpress.org/extend/plugins/ft-calendar/
Widget: Upcoming Events Widget

The Event Template (event_template) is set by default to: 
{{{
<a href=""%URL"">%TITLE%</a>
}}}

The event_template  source for the Available Widget is:
{{{
<input type=""text"" value=""&lt;a href=&quot;%URL%&quot;&gt;%TITLE% (%TIME%)&lt;/a&gt;"" name=""widget-ft_cal_event_list[__i__][event_template]"" id=""widget-ft_cal_event_list-__i__-event_template"" class=""widefat"" />  
}}}
 
The event_template source for the widget after it is dragged to a widget area is:
{{{
<input type=""text"" value=""&lt;a href=&quot;%URL%&quot;&gt;%TITLE% (%TIME%)&lt;/a&gt;"" name=""widget-ft_cal_event_list[8][event_template]"" id=""widget-ft_cal_event_list-8-event_template"" class=""widefat"" /> 
}}}

The source for the widget after it is first saved is:
{{{
<input type=""text"" value=""&lt;a href=&quot;%URL%&quot;&gt;%TITLE% (%TIME%)&lt;/a&gt;"" name=""widget-ft_cal_event_list[8][event_template]"" id=""widget-ft_cal_event_list-8-event_template"" class=""widefat"" />
}}}

I setup a test to output $new_instance and $old_instance during the ""update"" process.

Step 1: Moving widget from Available Widgets to Widget Area (in IE):
{{{
NEW INSTANCE:
Array
(
    [title] =>
    [date] =>
    [number_of] => 1
    [date_types] => Month
    [limit] => 0
    [timeformat] => g:i a
    [dateformat] => jS
    [date_template] => %DATE%
    [monthformat] => F Y
    [month_template] => %MONTH%
)
OLD INSTANCE:
Array
(
)
}}}

Step 2: Saving widget in Widget Area:
{{{
NEW INSTANCE:
Array
(
    [title] =>
    [date] =>
    [number_of] => 1
    [date_types] => Month
    [limit] => 0
    [timeformat] => g:i a
    [dateformat] => jS
    [date_template] => %DATE%
    [monthformat] => F Y
    [month_template] => %MONTH%
)
OLD INSTANCE:
Array
(
    [title] =>
    [show_rss_feed] => off
    [show_ical_feed] => off
    [date] =>
    [span] => +1 Month
    [number_of] => 1
    [date_types] => Month
    [calendars] =>
    [limit] => 0
    [dateformat] => jS
    [timeformat] => g:i a
    [monthformat] => F Y
    [event_template] =>
    [date_template] => %DATE%
    [month_template] => %MONTH%
    [hide_duplicates] =>
)
}}}

Step 3: Pasting HTML code back into Event Template and saving Widget:
{{{
NEW INSTANCE:
Array
(
    [title] =>
    [date] =>
    [number_of] => 1
    [date_types] => Month
    [limit] => 0
    [timeformat] => g:i a
    [dateformat] => jS
    [date_template] => %DATE%
    [monthformat] => F Y
    [month_template] => %MONTH%
    [event_template] => <a href=""%URL%"">%TITLE% (%TIME%)</a>
)
OLD INSTANCE:
Array
(
    [title] =>
    [show_rss_feed] => off
    [show_ical_feed] => off
    [date] =>
    [span] => +1 Month
    [number_of] => 1
    [date_types] => Month
    [calendars] =>
    [limit] => 0
    [dateformat] => jS
    [timeformat] => g:i a
    [monthformat] => F Y
    [event_template] =>
    [date_template] => %DATE%
    [month_template] => %MONTH%
    [hide_duplicates] =>
)
}}}

Here is a screenr showing the problem not working in IE9 and working in Chrome: http://www.screenr.com/mkhs
",layotte
14466,Widget position uses footer position styling,koopersmith,Widgets,3.0,normal,normal,Future Release,enhancement,reopened,,2010-07-30T08:13:12Z,2012-11-07T22:35:08Z,"Hi,

If you add a widget position called Footer with id footer, it has exactly the same id as the footer of the whole admin and because of that the widget position uses the styling from admin footer ie. bigger padding, italic font, darker background. Please see the attached pic.

newkind",newkind
14686,Widget Instance Form Update Bug,,Widgets,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-08-24T21:13:23Z,2013-04-02T10:57:57Z,"Hi.

When dragging and dropping a widget into a sidebar the widget form doesn't get properly updated, unless you manually press the ""Save"" button. However the widget instance data is saved (you can see the widget in the frontend even if you don't press 'save').

This problem is noticeable when you're developing a widget and want to display some widget options in the form based on the widget's location or position. You can't do this because '''$widget->id''' or '''$widget->number''' appear to be initialized within the form() function only after you press Save...

I can provide the code of a test widget if necessary
",digitalnature
20326,Widget dropped in sidebar with name=sidebar-two shows up in sidebar with id=sidebar-two (and different name: some-other-name),,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-03-29T12:53:15Z,2012-03-29T13:57:28Z,"Hi,

reproducing steps:
register 2 sidebars:

sidebar 1: 
id   = 'sidebar-one'
name = 'sidebar-two'

sidebar 2: 
id   = 'sidebar-two'
name = 'some-other-name'

drop a widget in sidebar 1, and it will also after reloading the widget page show up in sidebar 2...

Also: widgets dropped in sidebar 2 disappear.

OK, OK, i shouldn't be mixing up sidebar names and ids like i did (sorry), am going to change that in my setup now, I just wanted to point out that I thought that assigning a widget to a sidebar was related to its id only. This current behavior strikes me a little strange :)







",ruud@…
24241,Whitelist trackbacks/pingbacks from own site,,Pings/Trackbacks,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-01T18:50:16Z,2013-05-07T21:26:21Z,"Currently, if a user has only ""Comment author must have a previously approved comment"" selected in Settings->Discussion,  pingbacks from their own blog are still held for moderation every time. Users would expect that, given those discussion settings, once they'd approved one self-ping, all future self-pings would appear without requiring moderation. 

There is a past ticket about this here: #999",eurello
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
21931,White screen of death if theme can't be found,,Themes,,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-09-19T16:55:39Z,2012-09-21T15:31:41Z,"If the current theme can't be found or is renamed, the front-end of the site will white screen. This is developer error, as when WP_USE_THEMES is true, the template loader should always have a template to load (as far as I understand). 

It's rare, but I come across it every once in a while in developing. It might be nice to have a wp_die() if a proper template can't be found in template-loader. 

Proof of concept: 

{{{
if ( $template = apply_filters( 'template_include', $template ) )
	include( $template );
else
	wp_die(""Whoops! Looks like you're missing a theme."");
}}}",ericlewis
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
23328,While editing widgets in accessibility mode the position can be indicated by widget titles instead of numbers,,Widgets,,normal,normal,Awaiting Review,enhancement,new,,2013-01-30T18:32:33Z,2013-03-04T20:06:35Z,"Guess it title says it all. Right now you need to figure out the position you want the widget to be at and try remember it while editing the widget.

I suggest to change the text text of the position column header from ""position"" to ""position after"" and use labels in the drop down

1 => ""top""

2 => top widget title

3 => second widget title[[BR]]

etc",mark-k
21787,"While editing post, View Post link disappears if post status gets set to anything other than 'publish'",,Editor,,normal,normal,3.6,defect (bug),new,has-patch,2012-09-04T10:00:54Z,2013-01-14T11:11:27Z,"To reproduce, edit a post and change the Visibility to private. You'll notice the 'View Post' link next to the slug editor disappear. 

I would suggest that we match the interface here with the way the 'View Post' link works in the admin bar: check read_post cap for the user against the post, and display accordingly. ",ericlewis
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
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
23290,"When using switch_to_blog() with a persistent object cache that lacks wp_cache_switch_to_blog() support, non-persistent groups are not maintained",,Cache,3.0,normal,normal,3.6,defect (bug),new,has-patch,2013-01-25T05:28:44Z,2013-03-02T22:00:54Z,"If you're using a persistent object cache that lacks the new `wp_cache_switch_to_blog()` support, WordPress core `else`s into a complete cache clobbering branch. It is smart about grabbing the global groups and re-adding those after `wp_cache_init()` is called, but it doesn't do the same for non-persistent groups. Those are a hardcoded array. So if you call `switch_to_blog()`, you would lose any custom-added non-persistent groups.",markjaquith
21452,When uploading media wp_unique_filename() treats capitalisation as being different.,,Filesystem,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-02T13:24:11Z,2012-08-02T13:24:11Z,"On most web servers ""Photo.jpg"" and ""photo.jpg"" can be treated as different files.

The problem is when backing up a local copy (to my Mac) it will not let both these files exist at the same time - it wants to replace one with the other as it treats lowercase and uppercase as the same.

I suggest that we should do the same with uploads so that if ""Photo.jpg"" exisits and you upload ""photo.jpg"" is is renamed to a unique name.

I guess this would require a fix in the wp_unique_filename() function.",husobj
23363,When uploading batches of photos oversized photos fail silently,,Upload,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-02T01:52:42Z,2013-02-02T03:28:47Z,"Summary:
When uploading a batch of photos as part of a gallery, some of which are larger than the maximum allowable, the photos under the maximum size upload successfully while the photos that are too large fail silently.

Steps to Reproduce:
1. On a post or page, click ""Add Media"" button
2. Click ""Create Gallery"" and ""Upload Files""
3. Click ""Select Files"" and select several files, some of which are larger than the maximum allowable file size, and some which are smaller
4. Press select

Expected Results:
Either no files upload (as some are to large to upload) or the files small enough to upload upload successfully (as is the current case) ''and'' an error is displayed stating which photos cannot be uploaded and why.

Actual Results:
Only the photos that are small enough to be uploaded upload successfully while the photos that are too large fail to upload with no explanation, before, during, or after the upload process.

Browser:
Safari 6.0.2 on Mac OS",davidwillmore
16201,when updating a multisite blog subblogs getting 404 error,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-01-12T14:01:28Z,2013-05-08T20:26:43Z,"When I run an update at my multisite, I get 404 error when I try to view a post. This error resolves when I change or update the permalinks at each sub blog. But it is annoying to do so when you have hundreds of sub blogs. ",YogieAnamCara
21790,When set a static front page WP main query isn't set correctly,,Query,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-04T13:50:26Z,2012-09-05T16:00:06Z,"In my project I use on several places pre_get_posts filter. When setting a static frontpage and blog page I get several notices on my screen. When I var_dump the main query the only value that is set it the page_id.
Even the post_type isn't set.",markoheijnen
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
24122,"When opening a file in Plugin Editor, show correct plugin in the dropdown selector",,Plugins,,normal,minor,Awaiting Review,defect (bug),new,has-patch,2013-04-18T12:19:55Z,2013-04-23T02:48:31Z,"When opening a file in Plugin Editor, the reloaded page shows the first plugin according to alphabetical order in the dropdown next to ""Select plugin to edit:"". It should default to the plugin the loaded file belongs to.

Steps to reproduce

1. Open wp-admin/plugin-editor.php
2. Select any plugin from the ""Select plugin to edit:"" dropdown except the alphabetically first one, eg. WordPress Beta Tester, and click Select.
3. The page reloads and WordPress Beta Tester is shown as the default value in the dropdown, as expected.
4. Click any file under Plugin Files, eg. wordpress-beta-tester/readme.txt

-> The page reloads and shows the file in editor. However, ""Select plugin to edit:"" doesn't have a value set and shows the first plugin in alphabetical order by default.

-> However, if you chose the main plugin file, eg. wordpress-beta-tester/wp-beta-tester.php, ""Select plugin to edit:"" shows the correct plugin as the default value.

Any clicked file should lead to its plugin used as the default value for ""Select plugin to edit:"".",Daedalon
16435,"When only one image has been uploading, make Enter submit the Insert into Post button",,Media,3.0.4,normal,normal,Awaiting Review,enhancement,new,,2011-02-01T17:06:29Z,2013-04-08T14:25:02Z,"When I didn't use !WordPress for my website I had an online site creator and when you had uploaded a pic and edited the proporties and then pressed enter the pic placed itself.
But in !WordPress you get an error that no pic is selected. 

So tje idea is that when you have just uploaded a pic and selected no other that the just uploaded pic is placed when you press enter",JonezJeA
20105,When inserting a draft post with wp_insert_post you can't query it on name,,Post Types,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-22T23:50:01Z,2012-03-29T10:51:48Z,"When creating a draft post with wp_insert_post you can't query it with get_post.
In my case I used the argument: name. That is the problem. Not using it will find the post.

I'm not sure if this is an expected result. I would say no.",markoheijnen
19159,When Inactive Widgets list gets long it is hard to clear,cdog*,Widgets,3.3,normal,minor,Future Release,enhancement,accepted,has-patch,2011-11-05T09:48:59Z,2012-12-30T12:03:38Z,"If you have a lot of inactive widgets it can be really hard manual labour to remove them all.

It would be much nicer if there was a delete all button like this plugin adds http://wordpress.org/extend/plugins/remove-inactive-widgets/",westi
20073,When I publish a draft the posting date is not updated,,Editor,3.3.1,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-02-18T20:39:13Z,2012-02-19T15:23:57Z,"I believe this was a bug previously that has come back with the latest version.  If you create a draft post and edit it over time, then publish it the date is NOT automatically adjusted to the date you publish.  It keeps the original date the post was created as a draft, thus putting it behind in the RSS feed and on your posting list.  This used to be an issue before, and seemed to be corrected and has come back up again

Steps to re-produce:
1)  Create a draft today
2)  Wait a couple days then publish
3)  You will see the ""published Date"" is the date it was created NOT the date it was published

This also happens with scheduled publishes ",ccolotti
6405,"When deleting users without any links/posts, don't ask to whom they should be reattributed",rajnikmit*,Users,2.7,normal,normal,Future Release,enhancement,accepted,has-patch,2008-03-27T01:01:15Z,2013-03-09T12:34:39Z,"When deleting a user, it asks to whom their links/posts should be reattributed (or if they should be deleted).  We can skip this screen if they don't have any links or posts.",markjaquith
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
24143,"When define('WP_CONTENT_DIR', 'your-dir') twentythirteen - The theme directory does not exist.",,Bundled Theme,3.4,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2013-04-20T10:08:16Z,2013-05-06T22:57:39Z,"If you use either of following in you wp-config.php you'd automatically get a Broken Themes.

{{{
define('WP_CONTENT_DIR', 'your-dir');
define('WP_CONTENT_URL', 'your-url');
}}}

The following themes are installed but incomplete. Themes must have a stylesheet and a template.

Name 	Description

twentythirteen 	The theme directory does not exist.",azizur
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
10666,"When an upgrade borks, There needs to be an ability to rollback",,Upgrade/Install,,normal,normal,Future Release,feature request,new,,2009-08-20T21:46:58Z,2010-02-15T01:48:44Z,"When an upgrade borks, there should be a simple script that allow you to rollback to the previous version.  It should be mostly separate from the admin interface and allow for the restoration of both a database and the files associated with the previous version.  ",jorbin
24330,When adding the post_formats_compat the_content filter a post ID argument should be included,,Post Formats,trunk,normal,normal,3.6,defect (bug),new,,2013-05-13T17:07:55Z,2013-05-17T19:34:27Z,"The new {{{post_formats_compat()}}} function relies on knowing the {{{$post_id}}} to get meta data for the post format. By default, the function is bound as a {{{the_content}}} filter, which doesn't pass a {{{$post_ID}}}. One possible solution is to change the number of accepted arguments when adding the filter to 2, although this will require third-party developers that are calling {{{apply_filters( 'the_content', $content )}}} with an unset {{{$GLOBALS['post']}}} or the global set to a different post to pass in the post id: {{{ apply_filters( 'the_content', $content, $post_id )}}}. 

wp-includes/comment.php:1752 is an example from core of using {{{the_content}}} on content that is not pulled from the global {{{$post}}}.

For completeness, it may make sense to do the same with the {{{prepend_attachment}}} filter.",gcorne
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
20262,"When ""Automatically close comments on articles older than X days"" is enabled, comments appear closed on draft posts",,Comments,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-20T15:14:21Z,2012-09-05T17:12:08Z,"If the setting to ""Automatically close comments on articles older than X days"" is enabled via Settings -> Discussion, comments automatically appear as closed on draft posts until the post is published. This is regardless of the Discussion settings configured on the Post Edit page for the draft post.

To replicate:

1. Via Settings -> Discussion, click on ""Automatically close comments on articles older than X days."" 

2. Create a new post and save it as a draft. Make sure comments are enabled in your Discussion module.

3. When previewing the draft post, it will say ""Comments closed"" regardless of the Discussion settings.

The post will show comments as being allowed once it's published, they only show up as closed when in the draft format. ",evarlese
22884,What if I delete wp_posts table from database.,,Database,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-12T12:48:24Z,2012-12-13T11:51:20Z,"I am not a experienced or mature programmer but I have seen it While I was playing with database of WordPress.

I have deleted wp_posts table in database in WordPress - 3.5(beta).

It looks normal on other pages at admin side but when i open single post it shows post-new.php and when hit save, it shows ""wp_error"" with this message ""You are not allowed to edit this post.""

That's OK. I was expecting error but not this type of error.

It seems WordPress doesn't know that its most important table has gone away and that's why admin may not know( well for a while). I think its not good. well I don't know its issue or it is way it behaves with database and its normal but I think WordPress should know what exactly happened.

when I have updated WordPress with stable 3.5 it has updated but database is still same which is normal.

Should we( can we )track tables( some of tables which are important ) by PHP ?",mukkundthanki
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
23995,Weird Error After Post Published Successfully,,General,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-08T20:46:26Z,2013-04-09T23:20:59Z,"I didn't get the exact message, but I was stuck on the New Post screen after clicking Publish with something to the effect of: The server connection has been lost.  This message will go away once you get reconnected.

I ended up clicking on Visit Site and I could see that the post was already published.

My server has been acting up a bit today, so I figured this is a good time to test out the new post saving logic.  I'm not sure if this was the intended experience though?

Tested on 3.6-beta1.  Only happened once so far.",miqrogroove
7859,weighted category cloud and tag cloud instead of lists to choose categories and tags in the backend,,Taxonomy,,normal,minor,Future Release,enhancement,new,,2008-10-09T19:06:12Z,2009-06-13T02:29:49Z,"Hi,

choosing categories is still annoying if you have a couple of them. Scrolling and checking is needed. Tags are simpler to work with, but I think it would be extremely handy to use a category cloud / tag cloud to choose the categories/tags for a post/page. The category/tag cloud could be displayed in the metabox or, preferably, for space reasons, in a thickbox.

I used milestone 2.7 as there is so much admin work going on anyway and I'm not sure if the feature list is already definitive for the release.",youngmicroserf
14902,weblogUpdates.extendedPing does not implement standard,josephscott,Pings/Trackbacks,3.0.1,normal,normal,Awaiting Review,defect (bug),reviewing,,2010-09-19T23:35:37Z,2011-01-13T05:48:24Z,"When a blog post is published or updated, Update Services are notified if they are listed in the Wordpress Writing Settings panel.

The services are notified by the weblog_ping() function in comment.php

That function first attempts an XMLRPC call to the service's weblogUpdates.extendedPing.  If that fails, it attempts to notify weblogUpdates.ping.

if ( !$client->query('weblogUpdates.extendedPing', get_option('blogname'), $home, get_bloginfo('rss2_url') ) ) // then try a normal ping
	$client->query('weblogUpdates.ping', get_option('blogname'), $home);

'''1) The weblogUpdates.extendedPing does not match the published standard.'''

See: 

http://www.google.com/help/blogsearch/pinging_API.html

Where 5 parameters are specified:

* Name of site
* URL of site
* URL of the page to be checked for changes
* URL of RSS, RDF, or Atom feed
* Optional a name (or ""tag"") categorizing your site content. You may delimit multiple values by using the '|' character.

The third parameter should be the page to be checked for changes, and not the RSS feed.

No 4th or 5th parameter is passed.

'''2) The weblogUpdates.extendedPing does not take advantage of notifying the service of the exact page that changed (as is provided in the standard)'''

If implemented correctly, this would allow the receiving service (perhaps a search engine) to come directly to the correct page for re-indexing, instead of trying to figure it out from the RSS feed.

I am unable to find if pingomatic.com publishes a competing version of the standard.
",Scott Schram
21189,We should improve the nonce failure page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-08T09:07:17Z,2012-07-08T13:14:00Z,"Currently when a admin nonce expires, in most cases we catch this condition using `check_admin_referer()` which presents expired nonces with a rather ugly uninformative error message:
[[Image(http://f.cl.ly/items/26271g453h2y0K393Y1l/Screen%20Shot%202012-07-06%20at%2012.14.25%20PM.png)]]

I'd like to propose that we make this page a bit nicer to end users - who although are unlikely to hit it (I hope) it'd be nice to let them know what's actually happened.

My initial approach would be to change the page to 
- Include a !WordPress logo, and a link back to the Admin area
- Change the message to something like ""The link you've followed has now expired, In order to complete the action you were performing, please return to the previous page, refresh it, and attempt to follow the link again."".
- In the case where this is happening within the !WordPress admin, it would make sense to have some kind of UI on the page as well - This can currently be done by not using `check_admin_referer()` and using `wp_verify_nonce()` directly and redirecting to an error page.

The current message could often cause confusion, as of course the user wants to do it (They just followed a link!) but as there's no continue button, they're left confused.",dd32
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
16443,We need a way to programmatically tell if we are in a sidebar,,Widgets,2.2,normal,normal,Future Release,enhancement,new,,2011-02-02T20:10:28Z,2012-04-24T13:21:16Z,There is currently no way to tell if you are in_a_sidebar or doing a widget which makes me a sad stallman lookalike.,jorbin
12370,We need a smarter version of wp_title() and a few other template tags,hallsofmontezuma*,Template,3.0,normal,major,Future Release,feature request,accepted,,2010-02-25T08:47:06Z,2011-09-06T16:22:50Z,"Look at Twenty Ten's `header.php` and the code that is needed to output the `<title>`. That's a bit silly.

I suggest we should have a helper function of some type to replace all of that. A smarter and more sophisticated version of `wp_title()`.",Viper007Bond
19443,We can't use WordPress' editor inside a Thickbox,erayalakese,TinyMCE,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-04T16:45:36Z,2011-12-05T00:09:24Z,"At my plugin's admin page, a have a EDIT link like this :


{{{
<a class=""button-secondary thickbox button"" title=""EDIT"" href=""<?php echo WP_PLUGIN_URL.'/plugin-name/'; ?>edit.php?id=<?php echo $ID;?>"">EDIT</a>
}}}


When user click it, it'll open href in a thickbox . Thickbox should contain '''/plugin-name/edit.php?id=1''''s content, for example.

It's working very well. But i want to add WordPress' rich text editor to edit.php . I'll explain my problem with a short video.

http://screenr.com/eoEs
",erayalakese
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
16651,Warnings on dashboard: Notice: Trying to get property of non-object in wp-includes/capabilities.php,,Warnings/Notices,3.0,normal,normal,Awaiting Review,defect (bug),reopened,,2011-02-24T19:27:46Z,2012-12-20T08:59:34Z,"I just upgraded a local install to 3.1 and have the debug mode on. Now, on the dashboard the ""Recent Comments"" box is filled with notices. I will attach a screen-shot of the notices. Though this doesn't show when debug mode is off, I have to assume that something isn't working with all of these warnings.",grandslambert
9774,Warning: Division by zero in /wp-admin/custom-header.php on line 361 (and many more),,Themes,2.8,lowest,minor,Future Release,defect (bug),new,,2009-05-09T18:54:43Z,2011-03-20T17:59:00Z,we might want to check if the needed defines are around and > 0 before allowing the custom-header.php to work.,Denis-de-Bernardy
14752,Warn after theme activation if wp_head/footer is missing,,Themes,,normal,normal,Future Release,feature request,new,dev-feedback,2010-09-01T12:10:37Z,2010-10-28T10:34:33Z,"After theme activation, we can reliably test for wp_head() and wp_footer() with an HTTP call to the front page.

We should do that and check for two things:

 1. That wp_head() and wp_footer() are present in the theme.

 2. That they are in the correct location, immediately before </head> and </body>.

Then throw a warning that the theme may not function properly (with a link to a Codex page?) because it is not using the API correctly.

Is this core material?",nacin
22466,Want to View Pending Comments From Dashboard,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-15T18:49:39Z,2012-11-19T16:25:06Z,"This is a very awkward aspect of WordPress that I'm just attempting to articulate for the first time:  In the Recent Comments dashboard widget, there is no way to view fully the pending comments.

What it should link to:

* View Comment
* View Post
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

What it does instead:

* Visitor's site or e-mail address
* Edit Related Post
* View Related Post
* Reply to Comment
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

So there are several obvious points of confusion here.

Why would I want to reply to a comment that is pending approval, still hidden, and not even fully displayed to me?

Why can't I see the whole comment?  It only shows me an excerpt here, and in order to actually read the comment I have to click over to Comments on the admin menu and find what I'm looking for manually.

Why does the most prominent link for the comment take me to the post editing screen?  When is this ever useful?

Why is the post link displayed as a tiny little ""#""?",miqrogroove
19109,Want display fullscreen button only html editor mode.,,Editor,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-11-02T03:18:48Z,2011-11-02T03:37:55Z,"v3.2.1 writing fullscreen mode is display button both visual mode and html mode or visual mode only.

I want to display html mode only button. Want the following specification.

1. visual mode and html mode
2. visual mode only
3. html mode only <- new

Regards.",tatsuya
22700,Walker_Category_Checklist should sometimes set the value as the term name,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-12-03T19:45:57Z,2013-02-19T05:12:08Z,"The `Walker_Category_Checklist` class has been partially adapted to work with taxonomies other than `category`, but it does not seem to cope with non-hierachical taxonomies.

For non-hierachical taxonomies, the HTML form elements (checkboxes, radios, dropdowns, whatever) need to set the term **name** as the value, not the ID… otherwise WordPress will cast the ID to a string and create a new term with that string as a name.

To see the problem:

* Use `Walker_Category_Checklist` to create a checkbox in a metabox on the post edit screen for a non-hierarchical taxonomy
* Add some terms to the taxonomy
* Check the box for the taxonomy and update the post
* Watch a new term appear with its name set to the ID of the term you checked


",simonwheatley
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
11387,Walker Widget System,ShaneF*,Widgets,,normal,normal,Future Release,enhancement,accepted,needs-docs,2009-12-10T16:56:00Z,2011-01-08T19:34:01Z,"This is a new system for Widgets. The design for this system is based on the fact that every theme is different.

Currently the widget system does not care about one theme. It will still output it's own formating structure based on it's design and then bassed on a messy 'register_sidebar' arguments wrap that data inside one another.

The idea behind a Walker Widget system is that instead of the Widget outputing the data, it send it to a Walker where it assigns the relevant information and the theme's ""Widget Design"" class holds how Widget boxes are created based on the values pushed through the walker.

For example in my theme functions.php file:

{{{
class Walker_Widget_Rabbit extends Walker_Widget {

	function start_widget($args, &$output) {
		
		// @todo Updated with the correct vars.
		$output .= do_action('sidebar_before_module', $id);
		$output .= do_action('sidebar_before_module_' . $id);
		
		$output .= sprintf( ""<div id='%s' class='module widget %s'>"", $args['widget_id'], $args['classname'] );
	}
	
	function title_widget($args, &$output) {
		$output .= ""<div class='head'><h3>"" . $args['title'] . ""</h3></div>"";
		/*
		if ((bool) $this->get_option('scrolling') && $scroll['enabled']) { 
			printf(__(""navi: <a id=\""prev_%s\"">prev</a>&nbsp;/&nbsp;<a id=\""next_%s\"">next</a>""), $scroll['key'], $scroll['key']);
		} 
		*/
	}

	function content_widget($args, &$output) {
		$output .= ""<div class='wrap'>"" . $this->content_style($args, $args['output']) . ""</div>"";
	}

	function content_style($args, $output) {
		
		/*
		 * Here I am going to figure out how we are going to wrap most content
		 * and detirme if the information is scrolled information.
		 */

		$style = $args['style'];
		switch ($style) {
			case 'none': 
				$style = $output; 
				break;
			default: 
				$style = ""<ul class='dash-strip'>"" . $output . ""</ul>"";
		}
		return $style;
	}
	
	function content_scroll($args, $area = 'top') {
		//	@todo <div class=""content-scroll-large""> and <div class=""content-scroll"">
	}
	
	function end_widget($args, &$output) {
		$output .= ""</div>"";
		// @todo Updated with the correct vars.
		$output .= do_action('sidebar_after_module', $id);
		$output .= do_action('sidebar_after_module_' . $id);
	}
	
}
}}}

This also allows users to manipulate the data/design even further once they get it from the widget.

I have tested this on the default theme of WordPress with the all 12 of the built in WordPress widgets and they act/look just like if it was hardcoded into the system itself.
",ShaneF
18517,Visual Feedback for Nav Menu UI,,Menus,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-08-25T18:50:58Z,2013-04-16T12:40:56Z,"Currently if you go to:
/wp-admin/nav-menus.php

Then click the plus sign to add a Menu and then without putting a menu name in, click create menu, it gives you a visual indicator that you've missed a critical bit of data.

But, if you try to add a Custom Link to an existing menu: If one forgets to add a URL and just adds a label then tries to save it, there is not 'tactile feedback'. It just sits there not doing anything.

It should probably be consistent with how the rest of the UI behaves.",sterlo
20309,Visual Editor: Editor styles overwrite FF minimum font size settings when a small size is set,,Editor,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-03-27T14:08:50Z,2012-03-27T14:08:50Z,"This issue can be found when using Minimum font size accessibility settings in Firefox, instead of the Zoom settings.

* When editor-style.css defines a specific font size, the text in the visual editor cannot be made smaller than this font size.
* If I set the default font size to a bigger value than the one set in editor-style.css, it works.

Could we change this, so that all contents in the dashboard always fit the minimum font size defined in FF, whether that size is a small value or a big one?

Possibly related: #12825",hd-J
19462,Visual Editor Preserving Whitespace Instead of Stripping It,,TinyMCE,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-12-07T00:58:09Z,2013-03-15T08:08:39Z,"When using the Visual Editor, double spacing and beyond (otherwise known as whitespacing) is preserved.  The expected behavior is that these whitespaces, intentional or not are stripped accordingly to conform to XHTML standards, with only preformatted text being the exception.

This behavior is particularly observed by those who double space between sentences, where the Visual Editor adds an invisible &nbsp; after the first space.",lincolnadams
6562,"Visual Editor preserves multiple sequential spaces, fouls up shortcode parsing",,TinyMCE,2.5,normal,normal,Awaiting Review,defect (bug),reopened,,2008-04-03T02:54:27Z,2012-04-09T20:29:12Z,"The Visual Editor (TinyMCE) preserves multiple sequential spaces by turning the second (and following) spaces into some sort of funky invisible hard-space character.  Unfortunately, this character is NOT matched by ' ' (space) or '\s' (whitespace) in PCRE (preg_*() functions).

Example:

Put the following into the HTML editor on a post with uploaded images.

{{{
[gallery                 orderby=             ""RAND()""]
}}}

Save the post, then preview.  Multiple refreshes should shuffle the images around randomly, because you're ordering by RAND().

Now switch to the visual editor, and insert the same thing, with all the superfluous spaces, and save.  Preview the post -- you won't get random images, because the funky TinyMCE pseudo-space characters prevent the regex from parsing the attributes of your shortcode.

Proposed solution: turn off TinyMCE's whitespace preservation code when within square brackets.",markjaquith
18222,Visual clue after saving in fullscreen edit mode,,Editor,,normal,minor,Awaiting Review,enhancement,new,close,2011-07-22T19:45:00Z,2011-07-23T08:09:24Z,"You can save your current state while writing an article in fullscreen edit mode by pressing Ctrl+S.

However, there is no visual indication after this that the article has been saved or while saving.

This should be added.",mathbr
23691,Visiting post-new.php using the back button overwrites an existing post,,Autosave,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-04T18:54:46Z,2013-03-04T18:54:46Z,"1) visit post-new.php
2) write a post
3) publish it
4) click back in your browser
5) write a new post
6) if you save it as draft or publish it, it will overwrite the old post

Reproducable in Firefox, Chrome and Safari.",jkudish
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
16482,Visibility: password-protected breaks with redirected domains,,General,3.0.4,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-02-07T18:58:45Z,2012-09-05T18:47:28Z,"Pre-requisite to reproduce: domain.com must redirect to www.domain.com (haven't tested with other subdomains than www, but I'm sure it would be the same).

1. password protect a page
2. visit domain.com/protected (which redirects to www.domain.com/protected)
3. enter password
4. something about the redirect OR the way the password is stored/checked is broken; you are redirected to the wp-admin (WordPress login) page.

Sanity check:

1. password protect a page
2. visit www.domain.com/protected (requiring no subdomain redirect)
3. enter password
4. successful log-in
",monkeyhouse
21010,View Post Link on edit-comments.php,mordauk,Comments,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-18T15:10:27Z,2012-12-23T03:47:41Z,"Anytime I approve a comment, I'm always irritated by the fact that there isn't a ""View Post"" link anywhere that links to the live post on the front end. The title of the post, such as ""Hello World"", is shown, but it links to post.php.

A lot of times I want to read back through the original post before I answer the comment, and I'd prefer to do that on the live site, not the admin, so I think there needs to be a ""View Post"" link next to the post title that links to the live site.",mordauk
20461,View All Gallerys,Jesse Techno,Gallery,3.4,normal,normal,Awaiting Review,feature request,new,close,2012-04-16T22:55:56Z,2012-12-17T15:39:20Z,If you could it would be SO nice to have it so you can see every gallery you have ever posted on your site and then add one gallery to to more then one page/post.,jessetechno
24055,Videos should be responsive when admin size shrinks,,Media,trunk,normal,normal,3.6,enhancement,new,,2013-04-11T22:41:25Z,2013-04-17T22:43:50Z,,wonderboymusic
24134,Video Shortcode ignores sizes and aspect ratio,,Media,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-04-19T05:12:23Z,2013-04-24T20:40:12Z,"I think this may be related to #23955

Uploaded video and resized it:


{{{
[video width=""300"" height=""400"" mp4=""http://elfshot.org/wp-content/uploads/sites/3/2013/04/IMG_0328.mp4""][/video]
}}}

Looks fine in the post editor, it's got the right aspects yay.

Then on the live post, the placeholder HTML5 shows sideways (landscape) but when I click play, it shows as full sized to the content.

http://test.ipstenu.org/video-test.2013/ has the example on TwentyThirteen but it happens on all videos on all themes that I've tested. When I viewed source the video tag has the size of the content area, as do media elements.

At revision 24036.

",Ipstenu
23395,Video elements removed after revision,,Embeds,3.5.1,normal,critical,Awaiting Review,defect (bug),new,,2013-02-05T14:19:40Z,2013-02-05T14:19:40Z,"Users have been reporting that when they make a revision to an article that includes embedded videos, their updated version removes all YouTube embed videos. This is occurring from both Text & Visual editor views. Restoring a previous revision does not resolve the issue. This also happens when ""previewing"" a post prior to publish. 

Site with issues: http://porchdrinking.com

Thanks!
- Chris",chris_pd
24296,"Viddler oembed has new endpoint, old one strips maxwidth",,Embeds,,normal,normal,Awaiting Review,defect (bug),new,,2013-05-09T17:34:41Z,2013-05-09T17:34:41Z,"Viddler changed their oembed endpoint:

http://developers.viddler.com/documentation/oembed/

Now it's ""http://www.viddler.com/oembed/"" instead of ""http://lab.viddler.com/services/oembed/"".

They have the old endpoint redirecting, but unfortunately, the redirection strips off the maxwidth (and possibly other) parameters, which can result in incorrectly sized videos when using oembed with Viddler.

Example:
http://lab.viddler.com/services/oembed/?url=http://www.viddler.com/v/bdce8c7&format=json&maxwidth=250

Redirects to:
http://www.viddler.com/oembed/?url=http://www.viddler.com/v/bdce8c7&format=json

We should change the endpoint in class-oembed.php to the new one. If the new endpoint is used directly, with no redirect, then it does correctly handle the maxwidth parameter.
",Otto42
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
20531,Version No. removed from theme name in themes,,General,3.4,normal,minor,Awaiting Review,feature request,new,,2012-04-24T11:12:54Z,2012-04-25T09:06:55Z,"The version no. of themes is removed in 3.4 from the themes page. There was a direct display of theme version no. in 3.3 and was a great help for developers with lots of theme with different versions. But now we have to click on Details to see the version number, which is just a bit time consuming. Hope you would consider my request. 

Thanks
Sanam",kcssm
24066,Version field in Trac's New Ticket form inappropriate for WordPress.org site tickets,,WordPress.org site,,normal,minor,WordPress.org,enhancement,new,,2013-04-12T18:29:32Z,2013-04-14T03:02:55Z,"WordPress.org site bugs are not related to WordPress versions.

After selecting ""WordPress.org site"" as a component on the Create New Ticket form in Trac, the version field should be either hidden or disabled.",Daedalon
18201,Verify updates with md5 checks,,Upgrade/Install,,low,normal,Future Release,feature request,new,,2011-07-21T21:18:07Z,2012-12-03T23:50:16Z,"Before an update, we should verify core files with a list of md5s, returned through the API. We should do this in order to determine whether we can safely do a partial build, or if we should just copy over everything.

During the update, we can avoid copying over any files that are up to date, as verified by md5 results beforehand. This should save a number of FTP calls, in particular.

After the update, we should md5 files we've copied over, and see if anything went wrong, and try again if necessary. Unfortunately we don't always know why updates fail, so we're going to need to test the hell out of this and see what kinds of cases we can cover. (Maybe it's time for error reporting back to WP.org?)

Any other thoughts?",nacin
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
11959,Value Truncation Still Unchecked in registration.php,,Users,,normal,normal,Future Release,defect (bug),new,,2010-01-20T22:59:50Z,2010-11-13T07:38:28Z,"Functions such as username_exists() fail to perform sanity checks against the storage schema.  As a result, it is possible to register multiple users with the same username, if the length is greater than or equal to the username field size.  Only the first user can login, however anyone re-registering that username can impersonate the first user to reset their password.",miqrogroove
17093,Validation and context parameter for query filter application,,Query,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-09T13:54:45Z,2011-04-09T19:47:21Z,"One improperly implemented query filter can easily crash a site, and this risk only increases with use of filterable get_posts() calls throughout wp-admin.

In the most common scenario, a posts_where or posts_request filter fails to return a value. Even if the filter was intended for wp-admin but was not added selectively based on is_admin(), the site front end is crashed.  It's the plugin's fault, but leaves the end user wondering why WP can't be more robust.

The associated patch eliminates that scenario by checking is_null() before accepting a filtered value.  If null, the filter is ignored, with a warning triggered if WP_DEBUG is defined.  Since this validation is performed in apply_query_filters() rather than the heavily-used apply_filters(), new overhead is minimal.

Another benefit of a dedicated apply_query_filters() function is the ability to apply filters selectively based on a query_context specified by supplemental get_posts() calls.  This will also tend to mitigate the scope of query filtering errors if use of the context parameter becomes standard practice for get_posts() execution and filtering.",kevinB
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
22414,validate_current_theme() should validate cached theme roots,,Themes,,normal,normal,Future Release,defect (bug),new,,2012-11-11T21:57:54Z,2012-11-11T21:57:54Z,"See ticket:22252#comment:14. To handle edge cases like the same theme being in multiple roots, validate_current_theme() should validate the cached theme roots, and update or delete them as appropriate.",nacin
21622,Validate or sandbox file edits before saving them,,Administration,2.7.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-17T20:50:45Z,2012-09-24T23:20:03Z,"While using the [http://www.wpzoom.com/themes/academica/ academica] theme, I accidentally missed an ending bracket while editing functions/wpzoom-seo.php in the theme editor. This is used as part of a set of pages creating a theme options page on the dashboard. When the function went bad, it caused my entire installation to be unaccessible.

It was necesssary to ftp to fix the error, because even the dashboard was blanked out by a fatal error. Messing something up in the theme should not cut off access to the dashboard.",eschwartz93
15058,Validate option and transient name lengths,,Validation,3.1,normal,normal,Future Release,enhancement,new,needs-unit-tests,2010-10-07T15:37:46Z,2013-05-17T15:52:23Z,"The option_name column in the options table holds up to 64 characters yet there aren't any length checks to ensure that the length isn't exceeded. This leads to all sorts of odd behavior as the name will be truncated to fit, saving the option but not allowing it to be retrieved with the same name.

This issue affects all uses of the options system. A particular annoyance is transients. A transient that doesn't expire has a max name length of 53 characters yet a transient that does expire has a max name length of 45 characters. When attempting to save an expiring transient of name length between 46 and 53 characters, the transient will store but will be deleted before being used when get_transient is called due to the missing _transient_timeout_ option (since it was too long).

The core issues are that the functions don't return any type of failure condition on names that are too long and no warning is created. So, I've created a patch that addresses both of these issues.

The patch shows an example of how option and transient name length validation can be added. In order to allow users to modify the option_name column length, a new constant, WP_OPTION_LENGTH, is created with a default value of 64. This constant is checked for all length validation.

This is simply an example of how I'd like the validation to function. I'm not attached to the wording of the warnings or the name of the constant.",chrisbliss18
20109,Valid htaccess rule causes 404 after upgrade to 3.3.1,,Rewrite Rules,3.3.1,normal,critical,Awaiting Review,defect (bug),new,,2012-02-24T06:26:42Z,2012-02-27T19:42:29Z,"On 2/18/2012, I upgraded WP from 3.2.1 to 3.3.1. on www.denverhomevalue.com. I later noticed that Google webmaster tools started reporting 404 errors on lots of pages that were fine before. WP was still returning the proper pages and content, not my custom 404 page, so the issue was not readily apparent except in WMT reports. Running http header response checkers confirmed 404 responses, despite good contents being returned. 

Deleting sections of the htaccess file until the problem went away, the issue was isolated to two rules meant to escape following rewrite rules on certain urls:

{{{
RewriteRule ^city(.*) - [L]
RewriteRule ^areas(.*) - [L]
}}}

These were the same family of urls that started returning 404s after 3.3.1 upgrade. These rules were in place since 12/5/2011, with WP 3.2.1 and never caused a problem.

I was able to revert a backup of the site to 3.2.1, on the same exact server environment, and confirm that these same valid htaccess rewrite rules were not a problem in that release.",ronnieg
19368,UTF-8 characters truncated mid-byte sequence in excerpt in RSS2 feed,,Feeds,,normal,normal,Awaiting Review,defect (bug),new,,2011-11-27T05:54:33Z,2011-11-27T15:08:14Z,"I received [https://code.google.com/p/feedparser/issues/detail?id=306 a bug report at a project I maintain] and discovered what appears to be a bug in Wordpress 3.2.1.

The trouble is that the `description` element is being truncated in the middle of a UTF-8 multibyte character, which is producing garbage binary data. An example can be found at:

http://www.arnaudmontebourg.fr/?feed=rss2

I downloaded [http://themocracy.com/2009/07/alibi3col-free-wordpress-theme/ the site's theme] but found nothing that would affect `post_excerpt` or `the_excerpt_rss`. I then downloaded Wordpress trunk and attempted to figure out where the problem might be, but I'm unfamiliar with the Wordpress source and couldn't find anything after tracing through multiple files using grep.

I did discover that `trackback_url_list()` in `wp-includes/post.php` appears to be using a simple `substr()` call that might cause problems with multibyte characters. However, I'm more concerned with the potential for malformed feeds.

I've included a copy of the feed XML in question for longevity.",kurtmckee
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
23562,Using Speech Recognition Software with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T16:06:02Z,2013-02-20T17:59:42Z,"Linked to #23560 this ticket specifically concerns the speech recognition user's accessibility experience of the Add Media functionality.

I'm using Dragon Naturally Speaking with IE9 on Windows 7 - a typical setup as Dragon works best with IE.

Within the Edit Post screen I can use Dragon to action the Add Media link successfully. The command in Dragon for such an action is ""Click Add Media"". This works, but then I run into the following problem:

* With the exception of Set Featured Image, none of the other links on the panel appear to be directly accessible with Dragon.
* If I select Set Featured Image I can't action any of the other links.

Dragon users can use voice commands to replicate pressing the tab key. The experience then mirrors that outlined in #23560 - but of course this cannot be used to select the images or other files.

It is possible for Dragon users to interact with screens using mouse commands but it is an incredibly laborious and time consuming process - used only as a last resort.

If one of the images is selected, the information panel for that images opens to the right. Unfortunately none of the input fields (for title, alt, etc) are directly available to Dragon. Ironically, the Insert Into Post button can be accessed directly with a voice command.

Some investigation needs to be done as to why most of the links and input fields cannot be directly accessed by Dragon when the panel is opened. This is a parallel with the situation on the Theme Customizer panel. 

It is interesting that the Set Featured Image link and the Insert Into Post button '''can''' be directly accessed. What is different about them?

",grahamarmfield
19688,Using pathinfo permalinks in a subdirectory causes some 404's,,Permalinks,3.3,normal,normal,Awaiting Review,defect (bug),new,,2011-12-29T20:09:10Z,2012-01-06T21:45:59Z,"Due to circumstances beyond my control, I have a Wordpress site that must be installed to a subfolder named ""s"". I also must use pathinfo type permalinks - thus a page with a slug of store-locator would have the url /s/index.php/store-locator. Unfortunately this results in a 404, but other pages on the site work properly.

I tracked this down, and what I found is that code in class_wp->parse_request is causing this - particularly the code starting around line 166ish in version 3.3. The lines in particular that mess things up are these three:
{{{
$pathinfo = trim($pathinfo, '/');
$pathinfo = preg_replace(""|^$home_path|"", '', $pathinfo);
$pathinfo = trim($pathinfo, '/');
}}}
Coming into these lines of code, $pathinfo is /store-locator/, but after those three lines of code $pathinfo is tore-locator (the leading s is missing). This is because $home_path comes from home_url() which strips trailing slashes. The code right before this block further strips $home_path down to just the subdirectory portion, which in my case is just ""s"". Then the preg_replace fires and the leading s on the path is lost. 

Temporarily, I added the following line before the three lines above and my problems went away:
{{{
$home_path .= ""/"";
}}}
Obviously this only works in my particular situation, and I'd like to be able to run vanilla Wordpress, but I can't find any combination of settings that will preserve my required permalink structure and still work. If there's a configuration combination that I'm missing, I'd be very happy, otherwise, feel free to contact me if you would like more info or if I can help in any way.",mose9634
21017,Using force_feed() for simplepie in core,nacin,Feeds,3.4,normal,minor,Awaiting Review,enhancement,reviewing,dev-feedback,2012-06-18T22:21:48Z,2012-06-27T14:32:13Z,"Receiving the following error in the ""Incoming Links"" widget in the admin dashboard:
[[BR]]

{{{
RSS Error: A feed could not be found at http://www.google.com/search?
ie=utf-8&partner=wordpress&q=link:http://mysite.com/
&tbm=blg&tbs=sbd:1&output=rss. A feed with an invalid mime type may fall
victim to this error, or SimplePie was unable to auto-discover it.. Use
force_feed() if you are certain this URL is a real feed.
}}}

[[BR]]
The support forum thread which can provide more specific information can be found here:
[http://wordpress.org/support/topic/incoming-links-error-message-1?replies=41]
[[BR]][[BR]]

It has been suggested adding '''force_feed()''' to the core might alleviate this issue in future dev.
",josh401
23561,Using a Screen Reader with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T15:16:55Z,2013-02-20T17:59:54Z,"Linked to #23560, this trac specifically concerns accessibility issues found when using the Add Media panel with a screen reader.

I used NVDA 2012.2.1 with IE9 and FF16.0.2 on Windows 7.

'''IE9'''

* On initially clicking Add Media link in Edit Post page the focus appears to initially be transferred into the edit content textarea within the main page. There is no audible notification that the panel has opened.
* Further tabbing shows that the focus has not been transferred into the panel - so this would be a showstopper for most users.

If you continue tabbing you eventually do come to the panel in the tab order at the bottom of the main page maybe...

* It is possible to tab round the text links in the panel. However actioning the Insert Media or Create Gallery links does not apparently do anything - there is no audible feedback that the contents of the next panel have changed. Suggest that when one of these links is actioned that focus is transferred into the relevant panel - to the heading would be a good place.
* The 'images' select does not have an associated label so it's purpose would not be clear to all users.
* The search box does not have an associated label so screen reader users in IE9 receive no feedback as to the purpose of this text box.
* There is no Go or Search button available to trigger the action for these two input fields - both of which change the content of the panel below. For accessibility reasons the user should be in control of triggering the filtering.
* As mentioned in the other ticket #23560 the main accessibility problem here is that it is not possible to select any of the previous uploaded media.


'''Firefox'''

* When the Add Media panel opens it is not clear where focus sits. But after this first link the focus is transferred into the Add Media panel.
* The close link does not announce itself when tabbing forwards, but it does when reverse tabbing.
* See IE9 section re actioning Insert Media, Create Gallery links.
* AS IE9 re label for media type select box. NVDA does announce Search box label in FF.
* As IE9 re lack of Go or Search button for these input fields.
* As IE9 it is not possible to tab to any of the previously uploaded images/files.

Separate ticket to be raised for Speech Recognition software experience.",grahamarmfield
17680,"Using ""update automatically"" can destroy a theme in a Windows environment",,Upgrade/Install,,normal,major,Future Release,defect (bug),new,has-patch,2011-06-03T22:33:18Z,2011-06-04T05:44:39Z,"If there are any locked files or files in use, Update Automatically destroys the theme.

I've experienced this three different ways:
 1. The machine is really slow to delete the original theme dir, when the update is moved into the themes dir, an error occurs: ""Could not create directory"".  The theme is now gone.
 1. If there are any locked files in the outdated theme (e.g. SVN), all the files except the locked one will be deleted.  Upgrader bails and you're left with a broken/empty theme.
 1. If any of the files are in use, all files inside the theme will be deleted but the file system will throw an error.  The updater bails with an empty theme directory.

Steps to duplicate:
 1. On a Win hosted install, open the twentyten theme directory
 1. Edit stylesheet, change version to 1.0
 1. Open screenshot.png in paint
 1. In the wp-admin, upgrade the theme
 1. Sad times (screenshot attached)

Proposed solution is to try to rename the old theme first.  Provides two benefits:
 1. Have a backup of original theme if something breaks mid-way
 2. Never left with a broken site

Note: all the more reasons why one should not use Windows :/ but I have no choice.
",blurback
19286,Users without access to Comments screen can see links to it,,Post Types,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-11-18T11:09:17Z,2011-12-02T04:42:09Z,"The comments bubble that shows on up next to each post on post listing screens doesn't check for the `edit_posts` capability. This means on post type screens where a user has the `edit_{post_type}` capability but not the `edit_posts` capability, the comment bubble links to the Comments screen which they do not have access to.

We should still show the comment bubble in this case but not link it to the Comments screen.
",johnbillion
8234,Users with upload_files capability should be able to edit and delete uploaded files without having the edit_post/delete_post capability,,Upload,2.7,low,minor,Future Release,enhancement,new,,2008-11-15T22:17:14Z,2009-11-20T20:31:07Z,Users with upload_files capability are able to upload files but can't edit/delete his/her own uploaded files without having the edit_post/delete_post capability. Users capable to upload files should also be capable to edit/delete their own uploaded files.,olethomas
14757,users with no posts are not exported,,Export,3.0.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2010-09-01T18:14:31Z,2011-04-02T19:49:19Z,"I just exported a large standalone site and imported into a multisite setup, and I discovered that a number of users who hadn't yet posted anything didn't get moved to the new site.",sillybean
18258,Users should not edit upstream themes,,Themes,,normal,normal,Awaiting Review,enhancement,new,,2011-07-26T12:11:06Z,2011-10-02T10:50:10Z,"Currently, when users are entering the theme editor from the administration UI, they get the ability to edit the theme with very basic knowledge required. The downside with that that their tweaks will lost as soon as they update the theme or if this is WordPress default theme if they update the WordPress core. 

I purpose the following change – Users will be prompted with a message if they try to edit a message with an upstream link and presumably won't be able to edit the theme styles. Instead, they will get the opportunity to automatically create a child theme of the upstream theme with a default template which might contain theme metadata, and @include rule to add the stylesheet of the other theme.

Making this will help promote the usage of child themes and will make it easier to novice bloggers to hack their themes. It is also better from the current implementation by extensions as it doesn't require runtime database queries to fetch the additional author stylesheet.",Tomer
21737,"Users should have to jump through hoops to set passwords of their choosing, and we should guard better against weak passwords",westi*,Security,,normal,normal,Awaiting Review,feature request,accepted,,2012-08-30T04:07:17Z,2013-04-18T02:44:43Z,"People are terrible at choosing secure, unique, complex, unguessable passwords. Unless someone is using a password storage system, the chances are good that the passwords they're choosing are really weak.

We can mitigate this problem.

1. Let's make the default to always be that WordPress picks a password for you. When installing WordPress, or when creating a new user account, or when changing your password on your profile. The default should be that we generate a secure password for the user. They can remember it, write it down (not ideal, but generally more secure than choosing a weak password), or copy and use it once, check the ""remember me"" box, and not worry about it until their cookie expires on that computer.

2. If they do opt to manually create a password, we need to do better than our current password strength meter. And the lowest level should actually nag them with an AYS before they proceed. I suggest the following, to start, which would trigger the lowest level, and cause them to have to dismiss a warning (or check a checkbox... UI TBD) before continuing:

* compare the strtolower'd version of their password to strtolower'd versions of all their info (username, first/last name, part of e-mail address before the @, etc).
* any password that is shorter than 8 characters
* a blacklist of popular passwords (these lists are available... even grabbing the top 100 would give use good coverage)
* 3 or more consecutive digits (""123456"" and company are very popular)
* anything that looks like a date",markjaquith
22367,"Usernames with ""@"" char are assumed email addresses, causing incorrect look-up in several places",,Users,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-06T00:45:19Z,2013-01-10T10:57:23Z,"'''Problem'''

Usernames containing the ""@"" character are mistakenly assumed to be email addresses when:

* wp-login.php - Resetting passwords
* /wp-admin/user-new.php - Adding an existing user to a site, in multisite
* /wp-includes/user.php - Searching for a user

----

'''Duplicate'''

* Create a user with the login ""@testing""
* Verify the account, etc...

'''Bug in Search'''

* Visit: wp-admin/network/users.php - attempt to search for: ""@testing""
* Result: no users found
* What should happen: find the user

'''Bug in Add New'''

* Visit: wp-admin/wp-admin/user-new.php - attempt to add: ""@testing""
* Result: no users found
* What should happen: add the user

'''Bug in Reset Password'''

* Visit: wp-login.php - attempt to reset password for: ""@testing""
* Result: retrieve_password() accidentally succeeds, because strpos() check returns 0, which is the correct position of the ""@"" character. If the username was ""testing@"" this test would fail

----

'''Solution'''

The attached patch fixes these bugs by using is_email() instead of an strpos() for an @ character.",johnjamesjacoby
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
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
22895,user_can_admin_menu() is Type-Insensitive for Users who Can't Create Pages,,Role/Capability,3.5,normal,normal,3.6,defect (bug),new,,2012-12-12T18:32:53Z,2012-12-29T07:32:41Z,"Utilization of the new separation edit_posts /create_posts capability separation reveals a flaw in admin menu privilege checking.

The issue occurs when:

1. For any post type other the ""post"", the user has $type->cap->edit_posts but not $type->cap->create_posts

2. User also does not have a manage_terms capability for any associated taxonomies

In that situation, access to ""edit.php?post_type=whatever"" fails unless the user has the ""edit_posts"" cap for the ""post"" type.

This occurs because:

1. '''wp-admin/includes/menu.php''' removes solitary submenus that have the same destination as the parent

2. '''get_admin_page_parent()''' returns nullstring if there is no $submenu item

3. '''user_can_access_admin_page()''' performs a type-sensitive capability check only if get_admin_page_parent() returns an existing $submenu key.

For now, my plugin workaround is to hook into 'admin_menu' and add a dummy submenu with nullstring caption. ",kevinB
14343,user_can_access_admin_page not recognising taxonomies,,Taxonomy,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-18T08:37:30Z,2010-12-07T23:29:51Z,"Hello,

I have a custom taxonomy with custom capabilities.
The ""edit_customtaxonomy"" cap is removed from all roles.

The problem is that the user is still able to click on each term (in the taxonomy page). 
When each term is clicked, the user goes to the ""Update term"" page and  he is able to click the ""Update"" submit button.

After all, he can't update and get a ""cheatin huh?"" message.

The problem is they should't have access to the update page from the first place.

 ",ClementN
15642,user-new input fields stretch to the edge of the screen,JohnONolan,Users,3.1,normal,normal,Future Release,defect (bug),assigned,,2010-12-02T09:01:05Z,2010-12-02T11:59:22Z,They shouldn't.,nacin
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@…
14412,User Registration via Templates,,Users,3.0,normal,normal,Future Release,feature request,new,,2010-07-25T00:21:41Z,2010-08-03T00:35:36Z,"To improve the vast multitude of WP installtions that utilize member registrations, I suggest and implore the development team to improve user registration via templates. The reasons are as follows:

- More secure
- More flexible
- Better customization options
- Better integration

I was prompted by this post: http://www.cozmoslabs.com/2010/05/31/wordpress-user-registration-template-and-custom-user-profile-fields/ the development of Hooks and Filters has made it relatively easy to make such improvements system-wide.",GuruXL
20294,User profile edit: no label on second password field,,Accessibility,,normal,normal,3.6,defect (bug),new,has-patch,2012-03-24T13:08:23Z,2013-05-05T05:35:32Z,"When editing a User profile in admin, there are 2 fields for password, the second one asking to ""Type your new password again"".

This second field has neither a {{{label}}} element nor a {{{title}}} attribute associated to it.[[BR]]
The first field has a label, the one in the {{{th}}} element: ""New Password"", correctly associated to the input via its for attribute (e.g. {{{for=""pass1""}}} when the input field has an {{{id=""pass1""}}}).

Any form field should have an associated label (or at least a title) per WCAG 2.0, see the Technique ''[http://www.w3.org/TR/WCAG-TECHS/H44.html H44: Using label elements to associate text labels with form controls]''. This helps screenreader and other assistive technologies users to understand without a doubt what is the role of each form field, improving the accessibility of the admin and thus ATAG and WCAG compliance of WordPress).

A simple solution would be to use the existing hint ""Type your new password again."" (right after the second password field) as its associated label.[[BR]]
{{{span.description}}} thus becomes:

{{{
<label class=""description""><?php _e(""Type your new password again.""); ?></label>
}}}

This new label isn't styled in italic anymore (because the applied selector is ''span.description'') so, in {{{wp-admin/css/wp-admin.dev.css}}}, one should also add {{{label.description}}} to the existing selector rule and to the one at the end of the same CSS file that removes italic for zh_CN localization.

Related ticket: [http://core.trac.wordpress.org/ticket/9445 #9445] ''(All Input Tags are not Section 508 Compliance)''",PhilippeVay
23391,User in contributor role can add images to post only via the text editor,,Role/Capability,,normal,normal,Awaiting Review,enhancement,new,,2013-02-05T07:34:26Z,2013-02-05T10:15:34Z,"1. Create a user with contributor role
2. start new post with it
3. notice there is no ""add media"" button anywhere
4. switch to text editing
5. use the img button to insert a URL to a valid img on the web
6. request approval for the post
7. let admin/editor approve it
8. go the the post's URL and notice that the image is shown

So, it is not that contributors are not allowed to use images, it is just that WP makes it hard to do so.

Either HTML needs to be sanitized and have all img tags removes for contributors, or access to the media library should be allowed for contributors denying only access to uploading. I vote for the second option.",mark-k
22434,User E-Mail Change confirmation email is not being sent in multisite,,Multisite,3.4.2,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2012-11-13T16:09:13Z,2012-11-14T00:14:41Z,"Hi there,

I noticed a slight issue for Wordpress Multisite 3.4.2.

When trying to change the super-admin e-mail address wordpress notifies that an email confirmation needs to be sent out to the e-mail address. 

That confirmation is never sent, however all other emails generated by wordpress are being sent fine. This occurs on a private server (so no shared hosting restrictions)

I am trying the email change on the main network home site (site id=1).
Password reset instructions and comment notifications are being sent successfully from the same site (id=1).

I know that the email address can be changed from within the database, but I thought I'd let you know. 

Please let me know if you require additional info about the environment or wp install. 

Thank You,

Adrian",taropaa
18499,User count / roles inconsistency if roles no longer exist but users still do,,Users,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-08-23T13:53:43Z,2011-09-10T09:29:54Z,"The count_users logic (from line 833 onwards in wp-includes/user.php) is based on user roles.

If the roles were created by a theme or plugin which is then deactivated, wordpress loses count of the users, but still lists them.  The behaviour is confusing and inconsistent.  See attached screenshot.

1) the user count total at the top (all) ignores the users with no 'active' role, however users are all listed (the users are shown as 'no role' in the list)

2) the old roles are shown in the dropdown selection however are not listed in the totals


Suggestions:

1) the total user count should at the very least be correct wrt to the list.

2) Perhaps a total of 'no role' users could/should be shown (since the users are listed anyway ?)

3) If the old roles are shown in the dropdown, perhaps they should be flagged as inactive in some way?",anmari
20825,User activation in multisite should happen in the main blog..,,Multisite,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-04T11:00:41Z,2012-11-02T22:52:08Z,"In multisite mode ( subdomain ) , when a user activates his account, it should happen in the main blog ( or not ? ) .

In ms-settings.php ( line 118 ) , we assume that the main blog is always blog=1 ( which may be wrong ) . 

The attached patch uses the constant BLOG_ID_CURRENT_SITE if defined instead.",rahal.aboulfeth
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
19097,use wp_register() in wp-login.php,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-31T17:35:15Z,2012-10-01T00:33:09Z,"wp_register() calls a filter to change the registration link, but wp-login.php still has the link hardcoded to the default link.
",linuxarchitect
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
21414,"Use the ""Keyboard Shortcuts"" checkbox in the user profile to turn on/off all custom shortcuts",,Accessibility,,normal,normal,Awaiting Review,enhancement,new,,2012-07-29T20:24:36Z,2012-10-14T11:42:23Z,"Custom keyboard shortcuts can be very handy not only for better accessibility but for faster access to many actions that usually require ""mousing"". For example we could potentially add shortcuts to access the top menu items or the more commonly used toolbar items.

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

It would be good to let the users decide whether to enable them. As we already have a checkbox for the comment moderation shortcuts, best would be to make it ""global"". For now that would only affect TinyMCE.",azaozz
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
20352,Use str_getcsv() to parse search terms in WP_Query,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-03T23:05:25Z,2012-04-04T01:39:31Z,"We use an [http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/query.php#L2183 ugly regex] to split search terms like these:

{{{
term1 term2 ""exact match""
}}}

We could use str_getcsv() instead, for better readability.",scribu
23886,Use set_url_scheme for draft Preview links in post table,,Administration,trunk,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-29T01:20:52Z,2013-03-29T01:23:03Z,"When using FORCE_SSL_ADMIN and this filter to prevent non-SSL preview of posts:

{{{
add_filter('secure_logged_in_cookie', '__return_true');
}}}

Preview links for unpublished drafts on `wp-admin/edit.php` do not use SSL and will 404.

This can be fixed by using `set_url_scheme` for the unpublished preview link. A similar unpublished preview link in `meta-boxes.php` was changed to use `set_url_scheme` in [21664]. For context, see #20759, #13328.",reidburke
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
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-06T18:00:51Z,"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
14224,Use NCR instead of HTML entity in feed autodiscovery links,,Template,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-07T04:23:35Z,2011-05-10T18:54:35Z,"Currently, &raquo; is used as the separator. This will break sites served with the internet media type ""application/xhtml+xml"". The equivalent numeric character reference &#187; should be used instead.",peaceablewhale
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
19968,Use named regular expression groups to simplify shortcodes code,,Shortcodes,3.3.1,normal,minor,Awaiting Review,enhancement,new,,2012-02-04T18:03:28Z,2012-02-06T08:21:33Z,"Currently in {{{get_shortcode_regex()}}} in [source:trunk/wp-includes/shortcodes.php] you are welcomed by:
{{{
// WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag()
}}}

because these functions use the regular expression match from the shortcode parser.

Instead, we could use named regex groups: {{{(?P<year>\d\d\d\d)}}} or {{{(?'year')\d\d\d\d}}} which appear indexed by name in the matches array: {{{$matches['year']}}} instead of {{{matches[1]}}}.

Benefits:

0. Future-proof code. Won't rely on indices, but on names, which we can control. Now, if we want to add a group we will have to offset all the indices, scattered all over the place.

1. Less ugly and unreadable code like:

{{{
if (!empty($m[1]))
    $atts[strtolower($m[1])] = stripcslashes($m[2]);
elseif (!empty($m[3]))
    $atts[strtolower($m[3])] = stripcslashes($m[4]);
}}}",nbachiyski
23731,Use jQuery Menu Aim to improve responsiveness of our admin menus,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-09T16:00:11Z,2013-03-15T21:01:34Z,"This is a fantastic read: http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown

And it resulted in an MIT-licensed jQuery plugin that we should absolutely consider using to improve our menus: https://github.com/kamens/jQuery-menu-aim",markjaquith
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
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
21510,Use get_background_color() in _custom_background_cb(),,Themes,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-07T17:57:52Z,2012-08-07T21:53:35Z,"When themes add a default background color via the `custom-background` feature, it isn't shown until the user saves it in the admin.  The issue is that the `_custom_background_cb()` uses `get_theme_mod( 'background_color' )` instead of `get_background_color()`, which will handle the default.

The attached patch should correct this.",greenshady
20027,Use get_(template|stylesheet) instead of get_option( '(template|stylesheet)' ),,Themes,,normal,normal,Future Release,enhancement,new,has-patch,2012-02-12T19:56:23Z,2013-01-09T21:29:03Z,"While working on Gandalf we noticed, that it's not enough to filter the current theme with
{{{
add_filter( 'template', array( $this, 'get_template' ) );
add_filter( 'stylesheet', array( $this, 'get_stylesheet' ) );
}}}

The reason are some uses of `get_option( 'template' )` or `get_option( 'stylesheet' )`.

Means we need additional filters:
{{{
add_filter( 'pre_option_stylesheet', array( $this, 'get_stylesheet' ) );
add_filter( 'pre_option_template', array( $this, 'get_template' ) );
}}}

It would be handy if `get_option( '(template|stylesheet)' )` could be replaced with `get_(template|stylesheet)`.",ocean90
7580,Use Exif description to autofill the caption,,Upload,2.6,high,normal,Future Release,feature request,new,,2008-08-23T06:26:39Z,2011-11-19T19:58:35Z,"Hello,
I test a lot of softwares to create a Exif description for my pictures.
Like ""Exif Farm"" or other kind of this softwares.
But When I Upload this picure in wp 2.6 the description will not show!
but i have some picture from the web, and when i upload them, wordpress show the description of it automatically in description Box!
like this picture:
http://www.hinhxinh.com/data/media/8/Beijing_Olympic_2008_-___075.jpg
and show description on it correctly:
http://i33.tinypic.com/2yyqk1t.jpg
Please tell me:
the problem is from Wp,
Or My software is not original?
'''So What should i do to show Description Exif Data in wp Correctly?'''",mrmax
17092,use dirname(__file__).'/file.php' instead of './file' for includes,,General,3.1.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-04-09T12:57:35Z,2012-12-16T12:18:01Z,"most initial includes prior to having ABSPATH defined are usually of the format:

{{{
#!php
require('./wp-blog-header.php');
}}}

as seen in the main index.php. Most of these occur in /wp-admin.

which is fine in most cases. Except on some windows servers where relative paths can get a bit funky. or if you're trying to include the file which contains a relative include in a file found in another directory (which happens when you're trying to use wordpress for something other than its intended purpose, like developing a more practical multisite system, on multiple domains, with a single copy of wordpress files for all the sites).

anyway, I just wanted to request that absolute paths be used for includes.

for example:

{{{
#!php
in /index.php
 require('./wp-blog-header.php');
becomes:
 require( dirname(__FILE__) . '/wp-blog-header.php' );
}}}
{{{
#!php
in /wp-admin/admin-ajax.php
 require_once('../wp-load.php');
becomes
 require_once( dirname(dirname(__FILE__)) . '/wp-load.php' );
}}}
{{{
#!php
in /wp-admin/maint/repair.php
 require_once('../../wp-load.php');
becomes
 require_once( dirname(dirname(dirname(__FILE__))) . '/wp-load.php' );
}}}

it may not look as pretty but I think it's a saner/safer method of inclusion. Just a suggestion for the next major release. Or as you gradually update files.

Attached is the patch I made from 3.1.1. It replaces every relative include|require(_once)? by absolute ones. As far as I've tested, works the same as unpatched and no includes are broken.",ketwaroo
19623,"Use Comment API in comments_template, rather than hardcoded SQL",,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-20T18:07:44Z,2012-08-14T08:36:00Z,"Currently the function {{{comments_template}}} uses hard-coded SQL queries, rather than {{{WP_Comment_Query}}} or {{{get_comments}}}. There's a note above the queries saying [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/comment-template.php#L888 /** @todo Use API instead of SELECTs. */].

To replace the queries using the API, the {{{WP_Comment_Query}}} class will need to be extended to allow querying for comments which are '''either''' approved '''or''' unapproved ({{{hold}}} status) but by a particular comment author email and comment author name ''or'' by a particular {{{user_id}}} to replace these two queries:

* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )  ORDER BY comment_date_gmt}}}
* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt}}}

If we change to use the API, there's also an opportunity to add a filter for the args, which would be lovely for plugin developers. :)",simonwheatley
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
19647,Use add_node() instead of add_menu() in core,ryan,Toolbar,3.3,normal,minor,Awaiting Review,enhancement,assigned,dev-feedback,2011-12-22T16:45:31Z,2012-09-17T06:10:56Z,"It's clear through [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/class-wp-admin-bar.php class-wp-admin-bar.php] and Nacin [http://wpdevel.wordpress.com/2011/12/07/admin-bar-api-changes-in-3-3/ has stated this] too:

  The API previously emphasized {{{add_menu()}}}, but this can be confusing, so {{{add_node()}}} is now being promoted a bit more.

Another step towards this would be that the core used {{{add_node()}}} instead of {{{add_menu()}}} when building menu items in [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/admin-bar.php admin-bar.php].

Proposed patch replaces all references to the {{{add_menu()}}} method with the {{{add_node()}}} one. (Also some code structure modifications for {{{wp_admin_bar_appearance_menu()}}}.)",linuxologos
23601,Use ACE Code Editor for Theme and Plugin editors,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-25T06:56:00Z,2013-03-21T21:33:49Z,"Ace is an embeddable code editor written in JavaScript. It's the code editor used on GitHub and is actively developed by Mozilla. Its license is Modified BSD which is compatible with GPL. 

The plugin and theme editors in their current state are lame. Upgrading the experience with ACE could lead to a more robust file editing solution in the admin. Perhaps, ability to add files?

Here's the link to the project:
http://ace.ajax.org/",wonderboymusic
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
18885,Use 'View Comment' instead of '#',,Text Changes,3.3,normal,normal,Future Release,enhancement,new,has-patch,2011-10-08T04:21:55Z,2013-01-22T00:28:59Z,"Similar to #18846 but for Dashboard Recent Comments.

Feel free to refresh/tweak the patch if accepted.

",zeo
8911,Use $WP_User as the standard unit of user information,jeremyclarke,Users,,normal,normal,Future Release,feature request,new,,2009-01-21T19:51:14Z,2011-08-04T23:15:43Z,"Right now much of the core code and most plugins use the old get_userdata() function to fetch information about users. This works okay for most cases but fails to take advantage of the new $WP_User object type. Using the objects makes the user information much more powerful because you can immediately call methods like $user->has_cap('edit_posts') without messing around. It also just makes sense, and not using the pretty object is silly.

In some places, like edit-user.php, where more functionality is needed there are functions like get_user_to_edit() that make use of the $WP_User object. I think that WP should clearly move towards always using the modeled object version rather than the straight db version in all places, and encourage plugin authors to do the same. 

Luckily the $WP_User wrapper uses get_userinfo to fetch its data and rewrites all the elements into its first level, so effectively the resulting object from $WP_User has all the same data as get_userinfo() and thus deprecates perfectly in all situations. 

My proposal would be to create a new wrapper function to be used instead of get_userinfo():


{{{
get_user($id, $name = '')
}}}


This would just initiate the object and return it, similar to get_post. It's also fits much better in the overall naming conventions of wp with friends like get_term. 

If possible, it might also be good to move the actual database sql from the get_userdata() function into the $WP_User object definition somewhere, that way its all in one place. Looking at it now it also seems like the whole _fill_user() function thing could be done more elegantly to explain itself and the cache better. [problem: pluggable.php has get_userdata(), which complicates things]

Finally, since get_userdata() currently calls _fill_user() every time then fetches all meta_value/key's for the user, wouldn't it be faster to make just one db call that fetches the row from wp_users AND the values from the usermeta table? If you are checking 30 users on your page for some reason (say, a twitter style list of your authors in the sidebar) that would save 30 database connections, which makes a difference no matter what! 

[probably should be in another ticket, but it would also be great to have access to a global function get_users() that fetched a set of users (say, active ones or a specific role) all at once based on criteria like get_terms() or get_posts(), it would save time if you are getting many users and if it added them all to the cache after fetching it would probably be a lot faster than checking each user individually]

I'm very interested in feedback. I'll try to work on a patch at some point soon (mental note: before 2.8 feature freeze)",jeremyclarke
24040,"Use ""posts"" instead of ""topics"" (in tagcloud tooltips)",,Widgets,,normal,minor,Awaiting Review,enhancement,new,,2013-04-11T01:56:36Z,2013-04-11T06:30:42Z,"Hello,

I suggest use ''post(s)'' instead of ''topic(s)'' [http://core.trac.wordpress.org/browser/trunk/wp-includes/category-template.php#L563 here].

""Topics"" is very related to forums (bbPress), while ""Posts"" are more general term I think?

Thanks",Dianakc
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
16858,Usage of HTTP_HOST in the administration,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2011-03-15T13:33:47Z,2012-08-09T18:46:29Z,"In some files like wp-admin/includes/class-wp-list-table.php (there are more files I think), some links are created by using the HTTP_HOST variable.

It's better to use the defined wordpress URL to create those links.

In our case, we have a wordpress running behind a Squid cache. When you check for HTTP_HOST you get the *real* HOST and not the one with the Squid server.

To bypass the problem, I added in the main config.php a line like this :

{{{
$_SERVER['HTTP_HOST'] = 'www.my-visible-http-host.com';
}}}

Without this setting and in our case, some links in the admin (next, previous page, re-ordering...) where pointing to the wrong server.
",amirhabibi
22429,Usage of @$_GET/@$_POST,,Performance,,normal,trivial,Awaiting Review,enhancement,new,,2012-11-13T02:13:40Z,2012-11-13T08:13:12Z,"Hello

I think we should use '''isset()''' in place of '''@''' in front of 6 $_GET and $_POST in the following files:[[BR]]
''/wp-admin/includes/ajax-actions.php[[BR]]
/wp-admin/includes/media.php[[BR]]
/wp-includes/theme.php''[[BR]]
[[BR]]
Example in ajax-actions.php:[[BR]]

{{{
<?php selected( @$_GET['m'], 0 ); ?>
}}}

becomes

{{{
<?php selected( isset( $_GET['m'] ) ? $_GET['m'] : 0, 0 ); ?>
}}}


@ is also bad at perf.",juliobox
10364,Usability problem on the Widgets admin interface,azaozz,Widgets,,high,minor,Awaiting Review,enhancement,reopened,has-patch,2009-07-09T04:48:56Z,2012-12-30T16:03:45Z,"On the widgets page, when I have lots of widgets available it's a nightmare to drag and drop one by one on the intended sidebar.
I have to scroll down and up the page while keeping the mouse button pressed. 
When someone is using a Notebook and no mouse it's really a pain.
And with all that netbooks today it's even worse.

What I think could be done: just put a toggle button (like the dashboard widgets) on each widget and when someone press this toggle button it opens a menu with some links like: add to sidebar 1, add to sidebar 2,...

This would really be a usability improvement since it's not usable the way it is now. 
And off course the drag and drop doesn't need to be replaced. People should be able to use it either way.
If you have a big monitor, go for drag and drop since you should be able to view all your available widgets on multiple columns without the need to scroll down the page.
Otherwise just click the toggle and Add to sidebar.",vteixeira
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
23578,URLs wrapped in <> parsed as HTML when wp_mail_content_type set to text/html,,Mail,3.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-21T17:04:34Z,2013-02-22T18:22:02Z,"[16285] wrapped the password-reset URL in the e-mail sent from retrieve_password() in greater-than/less-than signs in order to prevent it from breaking when line wrapped (see #14140). That has the side-effect of causing the URL to be parsed as HTML by the mail client when the message's content-type is set to text/html via the wp_mail_content_type filter. I don't see any other places in Core where this happens.

Using wp_mail_content_type to enable HTML e-mails is a common technique documented on the Codex and across the Web. Is it considered a bad practice to enable it globally -- as opposed to adding it before calling wp_mail(), then removing it after; or just setting the content type in the $headers param of wp_mail()? If so, we should document that on the Codex and possibly in wp_mail() where the filter is applied. 

Even if it is, I don't think it'd hurt to have retrieve_password() check the content-type and behave accordingly. If it's ""text/html"", then create a proper link; otherwise wrap the URL in greater-than/less-than signs.

If everyone agrees on that approach, I'll submit a patch.",iandunn
9064,URLs with commas are not pinged,,Pings/Trackbacks,2.7,high,major,3.6,defect (bug),new,needs-unit-tests,2009-02-07T11:07:20Z,2013-02-17T02:29:45Z,"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
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
23587,url_to_postid() needs to use # or @ for preg_match start/end character,,Rewrite Rules,1.5.2,normal,normal,3.6,defect (bug),new,has-patch,2013-02-22T19:10:21Z,2013-03-02T21:54:16Z,"[source:/tags/3.5.1/wp-includes/rewrite.php@23479#L344 url_to_postid()] uses ! for the start/end characters of regular expressions, which doesn't allow you to use expressions containing `!`, like `(?!negativelookahead)`.

The solution is to use `preg_match(""#^$match#"", $request_match, $matches)` or `preg_match(""@^$match@"", $request_match, $matches)`


See also: #7486 and [source:/tags/3.5.1/wp-includes/class-wp.php#L204 WP::parse_request()]",coreygilmore
16830,url_to_postid() doesn't resolve attachments when rewrite rules are disabled,,Rewrite Rules,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-11T01:09:14Z,2011-04-03T04:11:21Z,"The code of {{{url_to_postid()}}} is pretty clear in the case of disabled rewrite rules: all URLs not using the {{{p=N}}}, {{{page_id=N}}} or {{{attachment_id=N}}} forms are not parsed and the function return 0. That make sense.

Now there is a special case for attachments. Attachments can be saved under a the {{{/wp-content/uploads/year/month/}}} folder structure while rewrite rules are disabled at the same time.

This means there is a missed opportunity for {{{url_to_postid()}}} to resolve attachment's URLs of the long-form when rewrite rules are disabled.

This was tested and reproduced on WordPress 3.1.",Coolkevman
17771,URL-encoded comment_author_url gets broken by MySQL varchar 200 length limit,,I18N,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-12T03:46:44Z,2012-04-06T11:38:41Z,"!WordPress sometimes pings back with long permalinks that exceed comment_author_url column length limit of 200, which  results in generating unusable broken links to the post. 
It easily reaches to the limit, especially if the permalink contains url-encoded multibyte title as postname. (e.g. 23 characters of UTF-8 Japanese become a 207 characters long url-encoded string. Incomplete url-encoded string may trigger 400 Bad Request too.)

'''Solution:'''
In pingback(), use shortlink instead of regular permalink if the URL is longer than 200 characters.
It seems to work ok with wp.me shortlinks.",tenpura
20257,Url of navigation menu item of alternative type removed,,Menus,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-18T19:49:26Z,2012-03-18T20:15:25Z,"When creating a new navigation menu item with `wp_update_nav_menu_item` the url is removed if the type of the item is not 'custom'. If the type of the item is 'taxonomy' or 'post_type', the url is then set appropriately. However, if the item has a type other than 'custom','taxonomy', or 'post_type' the menu item is saved without an url.

`wp-includes/nav-menu.php L314`

{{{
if ( 'custom' != $args['menu-item-type'] ) {
     /* if non-custom menu item, then:
     * use original object's URL
     * blank default title to sync with original object's
     */

     $args['menu-item-url'] = '';
}}}",stephenh1988
16884,URL generation in setup-config's get_bloginfo(),,Upgrade/Install,3.1,normal,normal,Future Release,defect,new,dev-feedback,2011-03-18T11:49:08Z,2012-06-02T19:12:24Z,"See [http://php.net/manual/en/function.str-replace.php str_replace()]

Replacing some string with something in an **empty string** is obviously bogus.",hakre
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
22195,URL for views are defined statically.,,Administration,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-10-15T11:31:11Z,2013-05-08T10:44:27Z,"URLs for views/screens on wp-admin/edit.php are defined statically.
[[BR]][[BR]]
why we are not using add_query_arg(); or remove_query_arg(); while adding URL? This is causing serious issues like resetting extra parameters passed to view/screens.
[[BR]][[BR]]
need expert opinion on this i can write patch if required.
[[BR]][[BR]]

{{{
WP_Posts_List_Table->get_views();
}}}



",valllabh
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
23750,Uploads go into subdirectory install of WordPress,,Multisite,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-12T22:10:59Z,2013-03-13T02:26:44Z,"In upgrading a few sites to WordPress 3.5 and then giving WordPress its own directory (`wp/`), we continually see the uploads end up in `wp/wp-content/blogs.dir` instead of `wp-content/blogs.dir`.

For the time being as a work around we have enabled a network wide plugin that consists of 

{{{

function ms_upload_fix($uploads) {
	$uploads['path'] = str_replace('/wp/', '/', $uploads['path']);
	$uploads['basedir'] = str_replace('/wp/', '/', $uploads['basedir']);
	return $uploads;
}
add_filter('upload_dir', 'ms_upload_fix');

}}}

We do have `WP_CONTENT_DIR` defined and assume it should use this if set.",jondavidjohn
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
22146,Uploading Media does not show an error when connection is interrupted,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,,2012-10-10T03:30:20Z,2013-03-19T21:16:36Z,"When using the multi-file uploader, it doesn't show an appropriate error message when the connection is interrupted briefly. Instead, it jumps to ""Crunching..."" and gets stuck there, giving the impression that the upload was successful.

To reproduce:

- Begin an upload - I suggest a file at least a few MB, so you can see the effect more easily. Also, upload to a remote server, so the connection can be easily killed.
- Upload a few %, then disconnect your computer from the network. I found a 15-20 second disconnect worked most consistently. I was testing with an ethernet connection, I assume WiFi will be the same.
- Reconnect, and observe the upload bar. If it continues counting up, try disconnecting again, for a little longer.

If you successfully reproduced the bug, it jumps to ""Crunching..."", without showing an error message.

I've reproduced this behaviour in 3.4.2 as well as trunk.",pento
8754,Uploading images whose dimensions are greater than the maximum size allowed fail to generate thumbnails and no error/failure message is displayed.,,Upload,2.7,normal,normal,Future Release,defect (bug),reopened,,2008-12-30T02:50:09Z,2011-08-05T08:31:26Z,"The process of uploading images that have dimensions (physical size) greater than the maximum size allowed by the global setting will fail part way through the process without an error or failure message being displayed.

Example: Uploading a JPEG image with a width of 625 pixels and height of 938 pixels.  This physical size is greater than the maximum size allowed by the default WordPress configuration.

When uploading such an image using the ""Add an Image"" panel the the Flash uploader will stop with the upload progress bar at 100% and displaying ""Crunching…"".  The Browser uploader will return a blank ""Add an Image"" panel display.

In both cases the images are uploaded to the appropriate directory on the server and appear when the post's media gallery is refreshed.  Thumbnail images are not generated for these uploads.  It appears the failure is before or during thumbnail generation.

Note: The maximum image dimension allowed for upload is not the same as the Administration > Setting > Media > Large Size: Max Width and Max Height settings.  In my case these settings are both set at 1024 pixels (above the size of the image I am working with).  It appears this control panel setting only impacts the HTML image tag attributes for posts, so as not to break the visual design with images that are wider than a layout allows.

Now you may ask what is the default maximum dimension for uploaded images.  Unfortunately I cannot find my notes on where exactly the setting is in the WordPress code (it has no Web GUI access that I am aware of).  I had changed this setting once to work around this problem and hoped 2.7 would have fixed the issue.  It is a pain to track down as the location of this setting has changed over time as it moved to different files and functions with each new version of WordPress.

My understanding is that this maximum image dimension setting was set to prevent images over 3 megapixels from being uploaded since those are really big and readers shouldn't have to deal with such images.  This is old thinking from before broadband and photo blogs took off.

See: http://lorelle.wordpress.com/2007/03/28/wordpress-thumbnail-size-limit-hack/

I think the default limit should be raised, but that would be a feature request.  This ticket is to have error messages displayed.

",DRGDC
22694,Uploading File with Apostrophe in filename,,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-03T11:33:20Z,2012-12-03T14:40:31Z,"When uploading a file with an apostrophe in the filename wordpress returns a 'HTTP Error' message.

I have replicated this on two separate installs of wordpress, on different LAMP hosting environments.

The filename used for testing was Trend_Forecaster's_Handbook_1.jpg",ianatkins
22840,Uploading an existing plugin saves the zip in media library,,Upgrade/Install,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-09T19:35:25Z,2012-12-10T14:01:45Z,"Action: Install the same plugin twice.

Expected behavior: Second time, plugin should fail and not install.

Actual Behavior: Install fails, but the plugin's .zip shows in the Media Library. (Shows in Site #1 on Multisite)

This ''is not'' a 3.5 regression, same things happens in 3.4.2",Ipstenu
19374,Uploader uses wrong path when inserting images,,Upload,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-11-27T23:09:36Z,2011-12-19T19:55:20Z,"== Issue: ==
I recently had someone whose WordPress install I take care of tell me that when they went to upload images, they weren't being shown. At the time, she was using a svn copy that hadn't been svn up'd in a few weeks. I noticed that the uploads were being stored in the right location, but the uploader was using the default `wp-content/uploads` location when it inserted it into the post, causing the images to not show up.

I just confirmed that this still exists in r19456. It happens with all plugins deactivated and on the default theme.

== To replicate: ==
1.  On the options-media.php, change the upload path to something of your choosing. For mine, I chose `/usr/home/user/domains/my-domain.com/public_html/wp-content/my-uploads/`
2.  If needed, created the folder and adjust permissions.
3.  Create a new page/post, upload an image, and insert it into the post. Take note of the address, it should be wrong according to the newly set upload path.
4.  On the server, check the new location, as well as wp-content/uploads. The file will be in the new location (as expected), and not in wp-content/uploads.",ryanmurphy
18043,Uploaded images dissapear after loading if using compression w/Apache,,Multisite,3.2.1,normal,major,3.6,defect (bug),new,dev-feedback,2011-07-08T22:49:15Z,2013-05-10T03:05:25Z,"I have found an issue between WordPress (Multisite) + Google Chrome (Mac) which I think appeared on my sever when I enabled compression a few months ago, but could never reproduce because it only happens with images managed by a Multisite WordPress install, not static images.

With images that are static Apache sends the file and calculates the Content-Length its self so these images work fine but if you access a file uploaded to WordPress it uses the .htaccess redirect so the image requests are sent via ms-files.php for what ever reason.

The problem is that WordPress decides to calculate its own Content-Length header in the HTTP Response which means that security conscious browsers like Google Chrome freak out when the data they receive is less than they we're told by Apache and they resultantly disable the image.

The Content-Length calculation comes on line 43 of ms-files.php I don't know why its needed because Apache seems to sort it out automatically if you don't send your own header, in fact most of the file seems like an unnessisary load of processing, perhaps it needs reviewing but this is a major issue as it is a growing browser, on a growing platform.

Here is a great video of it in action: http://www.screencast.com/t/cUYKSegW0N

This issue has been repeatedly reported on the forum:

http://wordpress.org/support/topic/disappearing-images
http://wordpress.org/support/topic/multisite-images-broken
http://wordpress.org/support/topic/image-not-show-in-google-chrome-timthumbphp

Please fix this asap!",ctsttom
16191,Uploaded files with quote marks in the filename are undisplayable in MS,,Upload,,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2011-01-11T19:28:49Z,2011-01-14T03:17:05Z,"If you upload a file with quote marks in the filename, e.g. `""Test"".jpg`, WordPress records the filename as `%22test%22.jpg` but the file is called `""Test"".jpg` (on 'nix-like systems anyway) so is undisplayable.

I'm unsure about the implications (security and otherwise) of my suggested patch (attached), so please give feedback. (I guess the other approach would be to retain the url-encoded characters and ensure that the file is named with the URL encoded version of the filename.)",simonwheatley
21185,Upload/insert popup not scrollable on iPad,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-07T20:58:36Z,2012-07-07T20:58:36Z,"When using iPad (testing with a v1 iPad) the upload/insert popup is not scrollable so if you expand an image by clicking ""show"" you cannot scroll down to the"" insert into post"" link.",husobj
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
16020,Upload custom avatar for user in Dashboard,nacin,Users,,normal,minor,Future Release,feature request,reviewing,dev-feedback,2010-12-29T08:07:53Z,2013-01-29T20:18:15Z,It would be nice to be able to upload a custom avatar for a user in the WordPress Dashboard rather than making each user sign up for a Gravatar account and upload the image to that account.,computerwiz908
20978,Upload a theme like an image,,Themes,3.5,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-06-15T18:26:31Z,2012-12-15T16:45:15Z,"add option to drag zip files like images on 'theme-install' page, enable multiupload.",alexvorn2
13875,Upgrading from pre-2.3.0 yields database errors,,Upgrade/Install,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-06-14T00:01:56Z,2010-10-28T01:51:56Z,"When upgrading a 2.2.3 to 3.0-rc3 using wp-admin/upgrade.php, three database errors appear signaling that delete_site_transient() misfunctions, as a column value for option_description is not given 
(in a way, this is #4921 again).

The upgrade script should either a) give a default value to that column or b) delete it earlier in the upgrade process.

--8<-- (error msgs follow)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_doing_cron', '1276472580', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_timeout_theme_roots', '1276479782', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

WordPress database error: [Field 'option_description' doesn't have a default value]
INSERT INTO `options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_theme_roots', 'a:2:{s:15:\""philippus-do-de\"";s:7:\""/themes\"";s:9:\""twentyten\"";s:7:\""/themes\"";}', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)
",tinne
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
18286,Upgrade script to fix non-unique page GUIDs,,Upgrade/Install,3.2.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2011-07-28T23:07:19Z,2011-08-02T17:22:28Z,"There were versions of WordPress prior to 3.1 that created non-unique GUIDs in the posts table.

http://core.trac.wordpress.org/ticket/15041

This bug is fixed, but the bad data persists in many WP installs. Attached is a proof-of-concept plugin that could be included in the WordPress upgrade process to clean up these GUIDs.

In the interim, I'll probably release this as a plugin as we've got some folks using tools we built that need this fix ASAP.",alexkingorg
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
4027,Upgrade function don't do ANY error checking whatsoever,,Upgrade/Install,2.1.2,normal,normal,Future Release,enhancement,new,,2007-03-25T12:58:51Z,2009-06-14T13:43:39Z,"When I upgraded from 2.0.5 to 2.1.2, there was an error in my MySQL privileges, so the ALTER TABLE commands failed:

{{{
    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN link_count bigint(20) NOT NULL default '0'

    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN posts_private tinyint(1) NOT NULL default '0'

    WordPress database error: [ALTER command denied to user 'aasmunds'@'localhost' for table 'wp_categories']
    ALTER TABLE wp_categories ADD COLUMN links_private tinyint(1) NOT NULL default '0'
}}}

There were also a lot of secondary errors due to the above failed commands. However, the upgrade.php script still claimed that all was well:

{{{
There's actually only one step. So if you see this, you're done. Have fun!
}}}

It would be more helpful if WP would detect the MySQL errors and actually say that something went wrong and must be fixed, instead of saying that all is well even though there were heaps of errors.

This only happens once: If I run the upgrade.php script again, it just says 'all is well' without any errors, so the MySQL commands that would fail are not run again. However, the database is still broken.

It would be better if WP discovered that an upgrade failed, and set a flag somewhere that said 'this upgrade must be run again'.

See also http://wordpress.org/support/topic/111398?replies=2
",skjaeve
22881,upgrade fails when disk space is exhausted due to quotas,,Upgrade/Install,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T11:38:41Z,2012-12-12T11:38:41Z,"The upgrade from wordpress 3.4.2 to 3.5 failed due to a disk space limitation:

{{{
Downloading update from http://wordpress.org/wordpress-3.5-new-bundled.zip…

Unpacking the update…

The package could not be installed.: PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

Installation Failed
}}}
A similar bug occurs if the space for the files themselves is exhausted.  On the same installation, functions.php was truncated at 112k, leaving the installation in a non-functional state.

This kind of behaviour can be avoided with an upgrade function of the form:
{{{
# test for 64k free disk space ...
dd if=/dev/zero of=biggish-test-file bs=1024 count=64 && 
rm biggish-test-file &&
wget -O - http://wordpress.org/latest.tar.gz | tar -zvx --strip-components=1
}}}
Streaming the download imposes no additional disk space requirements for the intermediate .zip file, but does require a change in the extraction code.  Streaming an update cannot be done with zip files, since the index is at the end.  ZIP files have to be complete, since the tag is at the end.  'tar' files are more suitable for streaming.",list2010@…
15731,Updating multiple plugins at once throws FTP error and leaves wp in maintenance mode,,Upgrade/Install,3.0.2,normal,normal,Future Release,defect (bug),new,,2010-12-08T10:01:19Z,2010-12-11T13:29:57Z,"[[Image(http://img.skitch.com/20101208-pc3k6gej2piiewts246qrwwt18.jpg)]]

The ftp error seems related to my iptables config and not a wp bug

{{{
LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: ' 
}}}

But after the fail, I'm stuck with ""Briefly unavailable for scheduled maintenance. Check back in a minute.""",koke
24161,Updating long post quickly could result in post truncation,,Editor,3.5.1,normal,critical,Awaiting Review,defect (bug),new,,2013-04-23T00:45:20Z,2013-04-23T02:30:41Z,"I've observed a bug yesterday when updating a 10,000 word post frequently while testing another feature. The last update ended up eating almost half of the post at the end and went unnoticed until today when it was pointed out by users.

I've examined the update history and indeed found the last update to not contain a good portion of the post - it just cuts off.

The only explanation I have for this behavior is that because the post is so long, the update button was pressed while the textarea field was still loading, which interrupted the loading process and submitted whatever was loaded at the time. This is very dangerous - a race condition like that could demolish long posts or posts on slower connections.

A solution here should be a validation function that makes sure the post was loaded before the Update button is clickable. Perhaps just tie the onload to the Update button so it's disabled until the browser confirms things are loaded. I'm open to other suggestions, but I'm now definitely scared of one of the authors or myself accidentally truncating content.",archon810
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
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
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
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
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
22807,Updating a non-expiring transient with a new expiry date does not make it expire,,General,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-07T11:38:18Z,2012-12-07T11:38:18Z,"Consider this:
set_transient( 'Bug', 'v1');
set_transient( 'Bug', 'v2', 10 );

The second line will update 'Bug' with 'v2', but will not set autoload to 'no'. Hence, 'Bug' does never expire, and you can get its value 'v2' infinitely using

echo get_transient( 'Bug' );",bersbers
18577,Updates and downloads should be signed or delivered securely,,Upgrade/Install,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-03T01:23:16Z,2011-09-03T12:05:36Z,"All channels for downloading Wordpress installations and plugins (e.g. from downloads.wordpress.org) should either be signed or delivered securely (e.g. via SSL) to mitigate man-in-the-middle attacks. Such attacks can lead to arbitrary code execution.

It appears that currently, downloads and automatic updates are neither signed nor delivered securely.",wplid
16914,Updated List of HTTP status codes for wp_header_to_desc (2),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-21T12:54:46Z,2011-12-18T20:03:45Z,"http://www.iana.org/assignments/http-status-codes

Hypertext Transfer Protocol (HTTP) Status Code Registry 

(last updated 2010-11-05)

Related: #9297",hakre
18067,update_post_thumbnail_cache - accept WP_Query instance,,Post Thumbnails,3.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-07-11T15:03:21Z,2011-07-11T15:03:21Z,"Following what [http://core.trac.wordpress.org/ticket/15447#comment:26 scribu said in another ticket];
> ...What would be nice would be to allow update_thumbnail_cache() to be used for custom loops too. 
> 
> I'm thinking of adding an optional $_wp_query parameter. Then, knowledgeable developers could call it before rolling their custom loop.

I agree - it would be dead handy to be able to just call {{{update_post_thumbnail_cache( $my_query )}}} - see revision.",TheDeadMedic
21900,update_post_meta() returns FALSE when meta_value to be updated is the same,,General,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-15T17:15:17Z,2012-10-13T00:52:12Z,"Since [14564] update_metadata() (wp-includes/meta.php [20435]) in lines 129-136 checks to see if the meta_value to be updated is the same as the value that already exists in the database.  The point of this check, presumably, is to prevent running a needless UPDATE query.  That's fine and good.

Currently, if the values are the same the function returns FALSE.  I think it should return TRUE in this case.  While I understand that from one point of view it should be false, since nothing was actually updated, if I'm trying to update my metadata to a certain value, and the end result is that the value in the database matches the value I submitted, isn't that a win?  In other words, even though no UPDATE query was actually executed, the postmeta was ""updated"" to have the value that was specified in update_post_meta().

Here's an example of when this could be an issue:

{{{
function my_plugin_ajax_save_metadata() {
    // create a success flag
    $success = true;
    // $postid passed in via post variables
    $postid = $_POST[ 'postid' ];
    // data fields from post passed in from a serialized array
    parse_str( $_POST[ 'data' ], $fields );
    // my custom post meta fields all have names that begin with _mymeta
    foreach( $fields as $key => $val ) {
        // if a field is one of my meta fields, attempt to update it
        if ( false !== strpos( $key, '_mymeta' ) ) {
            // if $val is the same as what's already in the db, $success will be false
            $success = update_post_meta( $postid, $key, $val );
        }
        if ( false === $success ) {
            // uh-oh, update_post_meta failed, need to handle it
            // but updating a meta value to the same value is not really a fail
            $message = ""Error updating metadata: $key = $val"";
            break;
        }
    }
    echo ( $success ) ? 'Success.' : $message;
    exit;
}
add_action( 'wp_ajax_save_meta', 'my_plugin_ajax_save_metadata' );
}}}

Of course, I could use get_post_meta() to find out if values have changed before calling update_post_meta(), but since update_metadata() already does this (line 131), it seems wasteful for me to have to do it.

I guess another alternative would be to return something besides TRUE or FALSE when the values are the same, but I'm not sure what that would be.
",mcbenton
18210,"Update_post_meta is case insensitive on meta_key, but get_post_meta is NOT",,Database,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-22T07:05:28Z,2013-02-28T16:06:54Z,"In WordPress 3.3-aortic-dissection and 3.2.1

get_post_meta is case sensitive on the meta-key

BUT

update_post_meta is NOT case sensitive

Thus If there is a pre-existing meta record with a key in say UPPERCASE, then one can issue an update for a lowercase key that one can not then fetch as it does not exist - only the uppercase key exists. 


Example Code

{{{

	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />got upper: '; var_dump($meta);
	}
	update_post_meta (21, '_allday','Tried to update lowercase');
	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	else { echo '<br />Tried to get lower but no go';
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />Still have upper: '; var_dump($meta);
	}


}}}



Output of above:



got upper: array(1) { [0]=> string(14) ""tis the upper."" }
Tried to get lower but no go
Still have upper: array(1) { [0]=> string(25) ""Tried to update lowercase"" } ",anmari
24266,update_post_meta doesn't change post modified date,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-05T05:10:14Z,2013-05-06T04:04:17Z,"In building an application I wanted to query for posts that were modified since a specific date/time. 

The only issue is the majority of our changes are to post meta and not to post content, this means these changes don't show up in the query. 

To solve this I'm tying into the action, but I feel like this is something that should be done by default.",DennisSmolek
20323,update_post_caches causes time-out on large queries if cache_results flag not set,,Query,3.3.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-03-29T12:25:56Z,2012-10-31T23:18:05Z,"I ran into this problem when debugging why the Advanced Custom Fields plugin's option screen was timing out on my site. I have over 8000 items in my wp_posts table, and the plugin pulls back every post to populate a dropdown (I plan on bringing up this issue with the plugin author) 

I was relieved to find out that it wasn't actually the query that was choking, (for a moment I thought mysql was horribly misconfigured) but actually the update_post_caches function. 

I realize that the cache_results flag was added to avoid this issue, but it occurs to me that many plugin developers will not foresee sites with as much content as mine. 

My suggestion is this: Place a ""cache_threshold"" option in the Wordpress settings... make the default something reasonable like 20 (or maybe even ignore this option all together and grab the value from the posts_per_page option, as set on the admin screen.. it's important it come from the admin screen and not the query options because in the case I encountered it, the posts per page option in the query was set to -1). If the cache_results flag is not set, check after the initial database query is completed to grab the number of returned posts... if it's more than the cache_threshold, then don't call update_post_caches. 

This will increase the stability of the core, and prevent plugins from accidentally breaking things with unreasonable queries on large sites. 

Sorry if anything in this ticket doesn't make sense... it's early and I haven't had my coffee yet. 
",bytesmasher
23381,update_option() stores unserialized value in object cache,,Cache,3.0,normal,normal,3.6,defect (bug),new,has-patch,2013-02-04T15:03:53Z,2013-02-22T12:11:37Z,"`update_option()` and `add_option()` have inconsistent behaviour when storing items in the cache. `add_option()` stores the serialized version, whereas `update_option()` stores the raw data. When using APC for object caching, this can result in objects being loaded in `wp_load_alloptions()` before the class for it is defined in a plugin.

In `update_option()` (storing raw data):
{{{
	$_newvalue = $newvalue;
	$newvalue = maybe_serialize( $newvalue );

	// ...
			$alloptions[$option] = $_newvalue;
			wp_cache_set( 'alloptions', $alloptions, 'options' );
	}
}}}

Whereas in `add_option()` (storing serialized data):
{{{
	$_value = $value;
	$value = maybe_serialize( $value );

	// ...
			$alloptions[$option] = $value;
			wp_cache_set( 'alloptions', $alloptions, 'options' );
}}}

Example plugin included, breaks horribly when using the APC cache, as that doesn't enforce serialization internally. This only occurs when using `update_option()` on an existing option.

Looks like this was introduced in r13673.

= Steps to reproduce =
  1. Install markjaquith's APC object caching plugin
  2. Activate my plugin. Each refresh will append an object to the array
  3. Note output is:
{{{
array(0) {
}
}}}
  4. Refresh. Note new output is:
{{{
array(1) {
  [0]=>
  object(rmccue_Test_Object)#275 (0) {
  }
}
}}}
  5. Refresh again. Output should be:
{{{
array(2) {
  [0]=>
  object(__PHP_Incomplete_Class)#5 (1) {
    [""__PHP_Incomplete_Class_Name""]=>
    string(18) ""rmccue_Test_Object""
  }
  [1]=>
  object(__PHP_Incomplete_Class)#6 (1) {
    [""__PHP_Incomplete_Class_Name""]=>
    string(18) ""rmccue_Test_Object""
  }
}
}}}",rmccue
22233,update_option() fails when value has nested objects,,General,3.4.2,normal,minor,Awaiting Review,defect (bug),new,,2012-10-20T16:29:08Z,2012-11-22T03:28:30Z,"This gist has an example of how this problem can be reproduced: https://gist.github.com/3923757

If you run the three functions in three separate page loads you will see that the foo attribute of `$b` doesn't get saved. It seems to be some kind of cache problem. 

I've been able to reproduce this in 3.4.2, 3.4.3-alpha and 3.5-beta2 ",exz
21989,update_option() calls sanitize_option() twice when option does not exist,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-25T05:04:34Z,2012-09-25T05:54:32Z,"
I just spent several hours tracking down an issue when using the Settings API where `sanitize_option()` is called twice which is unnecessary execution especially if sanitization includes calling an external API for username/password authorization ''(this was how another developer set it up for a plugin I was debugging.)''

What happens is that a call to `update_option()` will call `sanitize_option()` and then if the option wasn't previously in the options table `update_option()` will delegate to `add_option()` which calls `santize_option()` a second time.  This would normally be easy to workaround by first calling `get_option()` and testing for `false` and calling `add_option()` instead of `update_option()` if `false`, but not when the Settings API chooses how to call it.

I've looked at the problem and can envision several different ways to solve it such but don't know which the core developers would choose ''(or if they'd choose yet another option I haven't envisioned)'' so I didn't submit a patch:

- Adding a 3rd parameter `$mode` to `sanitize_option()` that identifies the mode ''('add', 'edit', default = 'unknown')'' and thus allow the hook to ignore one of the options ''(this would be more backward compatible but would put the onus on the developer to know to do this)'',  
- Adding a 5th parameter `$bypass_sanitize` to `add_option()` defaulted to `false` that is only passed as `true` in `update_option()` allowing `update_option()` to disable the call to `sanitize_option()` found in `add_option()` ''(this would be less backward compatible and hacky, but seemless to the developer)''
- Adding a 3rd parameter `$bypass_sanitize` to `update_option()` defaulted to `false` that is only passed as `true` from `/wp-admin/options.php` allowing `update_option()` to bypass the call to `sanitize_option()` if an `add_option()` will happen ''(this would be less backward compatible and hacky, but seemless to the developer)''
- Have `/wp-admin/options.php` test for no pre-existing option and then call `add_option()` or `update_option()`, respectively ''(this would be seemless to the developer but less backward compatible and not hacky, and it wouldn't handle the general case.)''

So is this worth fixing to save other users and developers debugging time, and to reduce the chance of subtle errors in new code? If yes, how best to approach?",MikeSchinkel
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
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
14254,update_meta_cache fails; query too large?,,Cache,2.9.2,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2010-07-09T19:49:22Z,2013-03-13T10:10:05Z,"In the file meta.php, around line 183 in the 'update_meta_cache()' function, it tries to do a query but I noticed this can fail (ie. crash wordpress) if there are too many post id's in the query.

The function is being called from query_posts(), with 'posts_per_page' set to -1.

An example query that crashed it:
{{{
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (1009,1006,989,933,902,860,859,858,857,793,838,837,836,827,825,310,780,777,776,775,774,773,770,763,760,759,758,757,728,756,755,754,753,752,751,750,748,746,
732,736,729,726,725,724,723,722,720,719,717,716,715,710,709,503,692,289,625,268,593,583,582,332,32,30,28,26,24,22)
}}}
Maybe there is some limit associated with queries of this type internal to wordpress, as this query works fine in phpMySql.

Apologies if this is already reported or irrelevant in 3.0!
",newpixel
16156,update-core is oblivious to api.wp.org being unreachable,,Upgrade/Install,,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-08T09:51:38Z,2011-04-04T07:46:30Z,"A server running 3.0.4 had trouble reaching *.wordpress.org for some unknown reason. (This wasn't during the brief api.wp.org outage, and it worked otherwise.)

Problem is, update-core was completely oblivious to this. It's even worse when running 3.1, because the 'Check Again' button will refresh the page and tell you we last checked for updates *just now*.

Try Again or Check Again should reflect that the API is unreachable when this can be determined. Claiming that we checked for updates is also really lame, so we should see if the transient tells us how long it's been since the last one.

Side note, the plugin install et al. HTTP error messages are rather cryptic, and we should also make those more user friendly.",nacin
23944,Update to latest jquery.form,,External Libraries,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-04T21:16:51Z,2013-04-04T21:37:17Z,"Any chance of getting the included jquery.form update to the latest version?  We keep running into various script errors (mostly access) within jquery.form with IE.  Updating to the latest jquery.form corrects these errors.

WP using version 2.73 and the latest is 3.32

Thanks for consideration...",usermrpapa
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
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
14465,Update Plugins Hangs while displaying 'updating',,Upgrade/Install,3.0.1,normal,normal,Future Release,defect (bug),new,,2010-07-30T07:45:17Z,2012-06-28T14:49:09Z,"Hi,

Whenever I try to update a plugin the update plugins screen hangs indefinetly.

Example message while this is happening would be-

""The update process is starting. This process may take awhile on some hosts, so please be patient.

Enabling Maintenance mode…

Updating Plugin Link Library (1/1)""

The plugin ulitmately gets updated if I wait a minute or two but this page never refreshes.

I am running WP 3.0.1 but this happend on 3.0.0 as well.

My host is running 
MySQL 5.0.90-community
PHP 5.2.13

and my browser is IE8.",jamesfed
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
22134,"Update Network causes ""WordPress database error Table 'wp_signups' already exists for query""",,Database,,normal,normal,3.6,defect (bug),new,has-patch,2012-10-08T20:58:37Z,2013-04-19T10:54:17Z,The CREATE TABLE statements in wp-admin/includes/schema.php don't use IF NOT EXISTS so they create lots of SQL errors every time you update the network.,tomdxw
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
15101,Update Message Reduces User Orientation reg. WordPress Version,,Upgrade/Install,3.1,normal,normal,Future Release,defect (bug),new,,2010-10-12T12:06:13Z,2011-01-13T20:51:27Z,"This is a usability issue many customers are telling me: When there is a WordPress update message, the current version is not prominent any longer.

Normally the current version is displayed in the admin's footer. If there is a (very promintent ""on top"") update message, this version information get's hidden in footer as well.

The only place where a user can find the current version is in some dashboard widget. That location is hard to find. And that location is hard to describe on the phone, e.g. in support.

I suggest to restore the current version display in the footer, because a footer is very easy to find and to describe by phone.

Additionally the update message on top should display the current version number as well. Something Like There is a new version available, you're currently running (should be 65%-70% of the width in english text of a 1024 width screen (970 or so viewport size) to allow this to be translated w/o consuming too much of the screen real estate).",hakre
23076,Update menu item title when editing menu item label,,Menus,3.5,normal,minor,Awaiting Review,enhancement,new,,2012-12-29T13:59:46Z,2012-12-29T13:59:46Z,"I'd like to suggest that the menu item title gets updated when the user is editing the ""Navigation Label"" field. That results in a nicer preview, when the menu item is collapsed again before saving.",tillkruess
22633,Update Icon Inconsistency,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-29T11:37:57Z,2012-11-29T14:44:27Z,"The update icon at the moment is 2 arrows in a circle in the admin bar ( aka the refresh icon ). In Network Admin it's a pair of tools.

I'd suggest we change these to the same icon rather than have 2 inconsistent icons. I'd also suggest we use a single arrow as the new icon, a refresh/recycle icon isn't as clearcut as it could be ( and what if a caching plugin implements a refresh button to the admin bar? ).

We could follow Google by using an arrow pointing upwards, or we could follow Apples convention with a downwards pointing arrow in a circle",TJNowell
24088,Update get_users_drafts() to support custom post types,,Users,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-15T11:17:52Z,2013-04-15T11:17:52Z,Currently get_users_drafts() access drafts of 'post' type only. Would be useful if it could support custom post types as well.,navjotjsingh
22801,Update documentation on wp_insert_term to state that it will return an error if inserting an existing term.,,Inline Docs,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-07T04:51:53Z,2012-12-07T04:51:53Z,"phpdoc for wp_insert_term() states:

If both the term id and taxonomy exist previously, then an array will be returned that contains the term id and the contents of what is returned.

However it returns an error object instead. That may have changed with #13481. Anyway, returning an error seems to be an acceptable solution. Although, #16567 might change that a bit.

Should we just adjust the docs to fit the current behavior?",lgedeon
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
13071,Update bubble appears only at the second load,dd32,Upgrade/Install,3.0,normal,normal,Future Release,defect (bug),new,,2010-04-21T15:51:25Z,2011-04-03T10:54:48Z,"Change the version of a plugin and go directly to ''wp-admin/update-core.php'' page.[[BR]]
You will see the plugin update in the list but the bubbles on the menu appears only after a reload.

",ocean90
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
11735,unwrap text in theme and plugin editors,,Themes,3.0,lowest,minor,Future Release,enhancement,new,,2010-01-06T02:42:04Z,2011-01-27T05:44:06Z,"Anyone who actually has to do any editing in these boxes must know what a pain word wrap is, especially when dealing with PHP that's tab-indented a few times.

A little CSS is all that's needed for the appropriate textarea elements:
white-space: nowrap; overflow: auto;",miken32
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
23364,Unstable sorting with jQuery UI 1.9.1 and above,,External Libraries,3.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-02-02T03:07:18Z,2013-02-02T03:09:35Z,"There seems to be an issue with jQuery UI (sortable) 1.9.1 and above that affects (rather severely) sorting of elements inside sortable source and target containers. I haven't seen this affect core, but since WP has been shipping with one of the affected versions (1.9.2) since 3.5, I'm worried about potential repercussions on WP theemes, plugins or projects relying on this script. For instance, Ultimate Tinymce, by Josh Lobe and myself (recently), has been affected by this.[[BR]]
[http://elblawg.com/jqueryui-test/ Here] is a testing platform I created on my server about the problem. Choosing any version of UI newer than 1.9.0 will result in said behavior.[[BR]]
[http://bugs.jqueryui.com/ticket/9041 Here] is the ticket I submitted to jquery UI Trac and [https://github.com/MarventusWP/jquery-ui/commits/master here] the Commits to their github project.[[BR]]
Finally, as recommended by Andrew Nacin on the wp-forums list, [http://jsfiddle.net/Marventus/THwqS/1/ here] is a JSFiddle that reproduces the problem.[[BR]]
I am not really sure what to do about this, but I thought I should leave it on record just in case.
Thanks!",Marventus
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
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
21876,unregister_default_headers() will sometimes return null,,Themes,3.4.2,normal,minor,Awaiting Review,defect (bug),new,,2012-09-12T19:23:07Z,2012-09-12T19:27:38Z,"File: wp-includes/theme.php
Function: unregister_default_headers()
Line: ~1046

Problem: 
PHPDoc comment says: @return True on success, false on failure.

Expected:
true or false:

Actual:
`var_dump(unregister_default_headers(array('FAKE')));` will return NULL

Suggested fix, change:
{{{
function unregister_default_headers( $header ) {
	global $_wp_default_headers;
	if ( is_array( $header ) ) {
		array_map( 'unregister_default_headers', $header );
	} elseif ( isset( $_wp_default_headers[ $header ] ) ) {
		unset( $_wp_default_headers[ $header ] );
		return true;
	} else {
		return false;
	}
}
}}}

To:
{{{
function unregister_default_headers( $header ) {
	global $_wp_default_headers;
	if ( is_array( $header ) ) {
	        $_ret = array_map( 'unregister_default_headers', $header );
	        return in_array(false, $_ret, true) ? false : true;
	} elseif ( isset( $_wp_default_headers[ $header ] ) ) {
		unset( $_wp_default_headers[ $header ] );
		return true;
	} else {
		return false;
	}
}
}}}

Thank you for your consideration.",conner_bw
20948,Unnecessary post type check in wp_get_attachment_url,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-14T02:38:16Z,2012-12-16T23:21:48Z,"Not sure why this needs to be done. You wouldn't be calling this function on a post if it wasn't an attachment. If you are, then you must have a good reason to be doing so, like I do.",jfarthing84
20046,Unnecessary default category code remains in wp_insert_attachment,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-02-15T00:13:30Z,2012-02-16T06:46:13Z,"After the default arguments are set, post_type is forced to 'attachment', negating any requirement for default categories to be added.

Quick patch removes:

(1) The test performed for 'post' post_type in order to assign default categories to an array. Result was always an empty array.

(2) The call to wp_set_post_categories with this empty array, which sends the post_ID through a bunch of taxonomy related code that passes over it. This does cause the action 'set_object_terms' to be skipped, which should be okay as attachments don't have terms.",jeremyfelt
17920,Unnecessary code in wp.getPage,,XML-RPC,3.2,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-06-28T16:33:00Z,2012-06-24T20:22:32Z,Pages Does not have categories,nprasath002
17785,Unlink button is active even when there's no link,,TinyMCE,3.1.3,normal,minor,Awaiting Review,defect (bug),new,,2011-06-13T13:27:16Z,2011-06-13T16:17:08Z,When I am writing and want to put in a link it is working just fine. But why is the 'remove link' button active when there is no link at all? I think the 'remove link' button needs only to be active when there is a link selected.,JonezJeA
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
24173,Unit tests: Support subdirectory multisite installs,,Unit Tests,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-24T05:57:49Z,2013-04-24T09:06:15Z,"I have unit tests set up at:
localhost/wordpress-tests/

And have set:
`define( 'WP_TESTS_MULTISITE', true );`

However, currently, unit testing doesn't support subdirectory multisite installs.  It fails when installing multisite.

Attached patch addresses this and introduces a new constant called `'WP_TESTS_PATH'`.

If this is set in `wp-tests-config.php`, this will make sure that PHPUnit can install WP for subdirectory multisite installs.",r-a-y
17199,Unintuitive tax query 'operator' values,,Query,,normal,normal,Awaiting Review,enhancement,new,,2011-04-20T21:52:00Z,2012-10-31T01:24:43Z,"Currently, the accepted values for the tax_query 'operator' arg are:

{{{AND}}}, {{{IN}}} and {{{NOT IN}}}.

It would be better if they were instead:

{{{AND}}}, {{{OR}}} and {{{NOT}}}.

which would be more intuitive and consistent with wp_list_filter().

Obviously, we would still have to keep backwards compatibility with the old values.",scribu
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
17451,Unify plugin update notices and include changelog data,nacin*,Upgrade/Install,,normal,normal,Future Release,enhancement,accepted,,2011-05-16T09:23:25Z,2013-01-16T00:27:00Z,"Currently the after_plugin_row hook is only used on plugins.php which is used by the Changelogger plugin to show plugin changelogs inline.

If the hook is also added to the bottom of list_plugin_updates in update_core.php then changelogs could also be displayed on that page too.

It's only a single line change so not sure how/if it's worth me attaching a patch for this?",dempsey
22069,unify function naming convention get_ vs. the_,,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-01T10:24:15Z,2012-10-01T10:24:15Z,"even after about 400 custom wordpress instalation i always got problem remembering the proper name of many functions, if they are returning the content or echoing it.

Most of the functions got get_something() and the_something() but some functions got get_the_something() (e.g. get_the_post_thumbnail) and some got the_something(echo=false) or something(echo=true) etc.

It would be nice if we would consolidate the naming convention (IMO get_ and the_ would be the best) and make current functions obsolete.",thomask
16243,Unhelpful error messages when updating default category,,Administration,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-15T12:23:36Z,2011-12-07T07:15:45Z,"If we try and change the default category slug to one that has already been used we get conflicting error messages between quick edit and full edit.

If you use Full Edit you're simply told ''Item Not Updated'' however, if you use quick edit, you are informed that the slug has already been used.

The full edit error message is, I think, on line 223 of wp-admin/edit-tags.php - I'm unable to find where the error message for the quick edit functionality is, however.

Having correct and useful copy in error messages is vital, especially for relative newcomers to WP.

This oversight was found by Relly Annett-Baker (@RellyAB on twitter) - one of the best copy writers and content strategists out there. Perhaps we could look at overhauling the error messages and ask (someone like) Relly to give them a once-over or offer advice on them.",iamfriendly
21448,unfiltered HTML comments from a frame js fix breaks js in windowed comments,,Comments,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-01T21:58:53Z,2012-08-02T17:56:36Z,"Noticed this today.

We have comments loading up in a jquery colorbox on a site being developed and it loads the comment form via ajax.  When it's loaded, the fix in #20812 breaks javascript because the property ""name"" is null.

Attaching a patch after posting this for only executing when `document.getElementById(""_wp_unfiltered_html_comment_disabled"")` != null.",nerrad
23849,Unexpected results when running WP_User_Query with role and meta_query,,Query,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-03-22T19:48:50Z,2013-04-24T00:42:11Z,"There appears to be a couple of bugs in WP_User_Query when doing a role query and adding additional meta_query options (especially when relation is set to ""OR"").

This code:
{{{
$args = array(
	'role'		=> 'Author',
	'number'	=> 100,
	'offset'	=> 0,
	'meta_query' => array(
		'relation' => 'OR',
		array(
			'key'		=> '_my_key',
			'compare'	=> 'NOT EXISTS',
		),
		array(
			'key'		=> '_my_key',
			'value'		=> 'off',
			'compare'	=> 'NOT LIKE',
		),
		),
);
$users = new WP_User_Query( $args );
}}}

Expected results:
Any author where _my_key either does not exist or if it does exists is set to ""off""

Returned results:
All authors and/or all users with _my_key set.

The above generates this SQL:
{{{
SELECT DISTINCT SQL_CALC_FOUND_ROWS wp_users.* 
FROM wp_users 
INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id
INNER JOIN wp_usermeta AS mt1 ON (wp_users.ID = mt1.user_id)
INNER JOIN wp_usermeta AS mt2 ON (wp_users.ID = mt2.user_id) 
WHERE 1=1 
AND (wp_usermeta.meta_key = '_pigeonpack_subscription'
	OR  (mt1.meta_key = '_pigeonpack_subscription' AND CAST(mt1.meta_value AS CHAR) NOT LIKE '%off%')
	OR  (mt2.meta_key = 'wp_capabilities' AND CAST(mt2.meta_value AS CHAR) LIKE '%\""Author\""%') ) 
ORDER BY user_login ASC LIMIT 100
}}}


This seems like a bug to me, the ""Author"" meta should not be modified by the relation => 'OR' argument and thus should not be included in the other meta query statement. Further, the NOT EXISTS isn't a true NOT EXISTS statement. In fact, I'm not even sure why the NOT EXISTS statement looks the way it does. I haven't had too much time to look into this any more in depth.

I tested this in WP3.5 and Trunk
			",layotte
24301,Unescaped user input in image preview,,Post Formats,trunk,high,major,3.6,defect (bug),new,has-patch,2013-05-09T23:45:53Z,2013-05-15T20:15:39Z,"On line 36 of `wp-admin/includes/post-formats.php` as of r24227, user inputted data is printed to the screen without being escaped. The data is the fourth fallback for the image data.

To recreate the issue:

1. Go to Posts > Add New.
2. Click the Image post format icon.
3. Click ""use an image URL or HTML"".
4. Enter `<img src=""http://placehold.it/200x200 />`, being sure to omit the last `""`.
5. Enter a title.
6. Save the post.
7. Things are messed up.

The problem is that on line 36 of `wp-admin/includes/post-formats.php` a value is printed directly to the screen without being escaped. I am not sure how this should be fixed as not all mangled HTML can be repaired; however, I do not think that unescaped user input should be printed to the screen like this. My example is annoying, but harmless. This seems like something that is exploitable.",tollmanz
16773,Unescaped preg_match breaks with PHP 5.3 Namespaced Widget Classes.,,Widgets,3.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-03-06T13:31:25Z,2012-11-28T17:05:18Z,"In file '''/wp-admin/includes/widgets.php''' at line '''118''' in function '''next_widget_id_number''' we have:

{{{
preg_match( '/' . $id_base . '-([0-9]+)$/', $widget_id, $matches )
}}}

It generates very ugly warnings ''for Namespaced Widget Classes'' as it should cuorrectly be:

{{{
preg_match( '/' . preg_quote($id_base, '/') . '-([0-9]+)$/', $widget_id, $matches )
}}}

Thanks.

'''PS''': ''I think you should do a whole sanity check regarding use of Namespaces and Closures. I'm currently switching completely to PHP 5.3 style and I'll keep you updated if I find other... problems.''",5ubliminal
22043,Undocumented default of post_type parameter to WP_Query with taxonomy queries,,Query,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-28T19:24:35Z,2012-11-01T11:53:41Z,"post_type parameter default depends on the is_tax attribute. This is not documented here: http://codex.wordpress.org/Class_Reference/WP_Query#Type_.26_Status_Parameters

If is_tax is true, and post_type is not provided, the default of 'any' kicks in, and if is_tax is not set, the default of 'post' kicks in.

Either it is a bug, or perhaps just the documentation needs to be updated.

Please let me know what you think.

Thank you for sharing your software.",dbernar1
21213,Underscores get stripped out in $type ( get_query_template() ),,Template,2.5,normal,normal,3.6,defect (bug),new,has-patch,2012-07-11T05:29:37Z,2013-05-10T13:21:59Z,"What happens is:

{{{
$type = preg_replace( '|[^a-z0-9-]+|', '', $type );
}}}

strips underscore. Effectively, incoming ""front_page"" becomes frontpage, which leads to not working (but documented) hook front_page_template.

I tested this on: nginx 1.2.1/php-fpm 5.4.3 (homebrew macos) and nginx 1.0/php-fpm 5.3.3 with the latest revision ATM

The fix is as simple as 
{{{
$type = preg_replace( '|[^a-z0-9-_]+|', '', $type );
}}}

Patch is attached.",rinatkhaziev
17964,Underlined text is gone when copied.,,TinyMCE,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-02T08:30:41Z,2011-09-14T10:10:23Z,"If you underline a piece of text and you select it to copy/paste it on another spot at the page or post the line under the text is gone.
This bug doesn't appear with bold or italic text.",JonezJeA
23429,undefined tinyMCE: no ?> at the end of load-scripts.php,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-02-08T22:01:36Z,2013-02-14T03:47:40Z,"I noticed a theme throwing an error in console today. I noticed ""Uncaught ReferenceError: tinyMCE""

In particular, switchEditors.switchto() and a few others like .do - where undefined. I thought that was strange. I googled the error and eventually found this thread: http://wordpress.org/support/topic/javascript-error-in-admin-panel-with-load-scriptsphp?replies=2

Adding ?> to the end of load-scripts.php fixed the issue.

Very strange bug. I have seen it on 2 installations now (4 referencing the two in the support forum thread) - but I am unable to recreate it anywhere else.",chaos1
17736,Undefined Index in image-edit.php,,Media,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-09T18:57:48Z,2013-03-29T21:59:24Z,"PHP Notice:  Undefined index:  thumbnail in wp-admin/includes/image-edit.php on line 649

{{{
			if ( $thumb = $meta['sizes']['thumbnail'] )
}}}

",miqrogroove
16705,"Unclear wording: ""An administrator must always approve the comment """,,Text Changes,3.1,normal,normal,3.6,defect (bug),new,commit,2011-02-28T21:22:12Z,2013-05-05T01:04:18Z,"I'm not certain if I should classify this as a bug or as a need to revise wording in the options menu, or if I should put in a feature request for a refined option...

...but...

If, under Settings->Discussion you have ""An administrator must always approve the comment"" checked, if the author of the post receiving the comment has the ""edit_comment"" capability, they will receive an email notification to moderate the comment in the queue.

After viewing the wp_notify_moderator function for 3.1 in pluggable.php (and comparing it to 3.0.5's version) I can see this functionality seems to be coded in by design.

What's confusing is that the option reads ""An administrator must always approve the comment"" and it's difficult to discern if that means the user role of ""Administrator"" or anyone who can be an ""administrator"" of the comments.

It's also hard to tell from the reading of the option text whether or not this means that the function is implemented incorrectly, or if the option is simply poorly worded.

In either case, it would be useful to be able to have more granular control over who is getting these email notifications for comment moderation.

Failing that, if the ""An administrator must always approve the comment"" is checked, that should mean that only users with the ""Administrator"" role should be able to approve the comment.

...depending on what the expected behavior of this functionality is meant to be.",joe.woidpress
16731,Unchecked array_merge() returns NULL in wp_update_user();,,Users,3.1,normal,normal,3.6,defect (bug),new,has-patch,2011-03-02T20:58:40Z,2013-02-01T19:08:27Z,"I am running PHP version 5.3.3-1ubuntu9.3 and encountered a bug in a simple plug-in I wrote that worked up to Wordpress v3.0.5 but not in 3.1. It uses wp_update_user(), which is causing the issue. I traced the bug to line 1563 of wp-includes/user.php:

$userdata = array_merge($user, $userdata);

If $user is NULL, then array_merge returns NULL, making $userdata useless to other functions that follow like wp_insert_user().",milan.chotai
6297,Unbalanced tags across more and nextpage tags,,Formatting,2.5,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2008-03-19T09:55:50Z,2013-04-26T11:39:08Z,"It's easy to produce broken front page markup by including a --nextpage-- tag that breaks an enclosing bold or italic tag.  There's some code in get_the_content that fixes this for --more-- tags, but it doesn't handle --nextpage--, and it'd be more efficient to do it at post save time.

The enclosed patch fixes this by splitting the content into slices at those boundaries and separately balancing each slice.  Balancing happens in the content_save_pre action.  No filtering is needed on the output side for posts saved after this filter.

It was a bit of a struggle figuring out where to fit this but I think the solution is fairly clean.  It includes a new split_nextpage() function that can be used instead of ad-hoc regexps for splitting a post into pages.

",tellyworth
21689,Unbalanced <p> tags are generated when shortcodes are followed by HTML tags and wpautop is enabled,,Formatting,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-26T06:58:21Z,2013-03-07T03:42:49Z,"This bug was encountered in separate plugins, but it seems that its source is in the core:

http://wordpress.stackexchange.com/questions/21414/wordpress-wpautop-shortcode-generating-invalid-markup

https://github.com/pods-framework/pods/issues/271",dandv
24360,Unable to use supports=>post-formats without support for thumbnail,,Post Formats,trunk,normal,normal,3.6,defect (bug),new,,2013-05-18T13:44:52Z,2013-05-18T14:01:16Z,in custom post type you cant choose post-formats capability whithout using thumbnail. Post formats UI shows but after changing format it redirects me to normal posts not the custom one.,zabatonni
21091,Unable to upload media with custom permissions,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,close,2012-06-28T03:13:19Z,2013-03-11T10:31:24Z,"on the current version of wp-admin/media-upload.php there are now several checks to ensure that the user can edit the post using current_user_can( 'edit_post', $_REQUEST['post_id'] ). it appears that there is a typo as the capability as it is written currently is 'edit_post' and it should be 'edit_posts', correct?

I noticed this on a site I manage where contributors have been given the capability to upload media but are no longer able to unless media-upload.php is edited to match their built-in capability.",havahula
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
14401,Unable to locate WordPress Content directory (wp-content).,,Upgrade/Install,3.0,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2010-07-23T15:56:19Z,2011-08-14T01:58:27Z,"Hi, I encounter this message on one server during plugin install: ""Unable to locate WordPress Content directory (wp-content).""

PHP Version 5.2.0-8+etch1

Another info from Core Control plugin:

Direct Not Available

SSH2 Not Available

PHP FTP Extension Available

PHP FTP Sockets Available

ABSPATH: /home/www/domain.eu/subdomains/www/ 

WP_CONTENT_DIR /home/www/domain.eu/subdomains/www/wp-content
 
WP_PLUGIN_DIR /home/www/domain.eu/subdomains/www/wp-content/plugins

DOCUMENT_ROOT (from phpinfo)  /home/www/domain.eu/subdomains/www

I tried some hacks in wp-config.php, but I was not successfull.

When I tried ftpsockets, following error appears:

Warning: socket_last_error() expects parameter 1 to be resource, null given in /home/www/domain.eu/subdomains/www/wp-admin/includes/class-ftp-sockets.php on line 59

When I tried direct, following error appears:

Downloading install package from http://downloads.wordpress.org/plugin/wp-memory-usage.zip…

Unpacking the package

Could not create directory. /home/www/domain.eu/subdomains/www/wp-content/upgrade/wp-memory-usage.tmp",pavelevap
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
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
21853,Unable to Add Whitespace After Hyperlinks,,Editor,3.3.2,normal,major,Awaiting Review,defect (bug),new,,2012-09-09T06:22:43Z,2012-09-09T15:10:02Z,"This bug seems to have developed somewhere after version 3.1.

To reproduce this bug:

1. Start a new post or page.
2. Click the HTML tab.
3. Paste this snippet:

{{{
<ul>
	<li><a href=""http://www.google.com/"">Parent item</a>SPACEME
		<ul>
			<li>Child item</li>
		</ul>
	</li>
</ul>
}}}

4. Click the Visual tab and note how the hyperlink runs up against the word ""SPACEME"".
5. Click the HTML tab.
6. Add a space before ""SPACEME"".
7. Click the Visual tab.
8. Like magic, the space has vanished! :(

Curiously, I am unable to reproduce this behavior if I add the space on the Visual tab rather than the HTML tab.  Very buggy!",miqrogroove
20271,Un-marked up text in the Add Users admin section for multi-site,,Users,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-21T15:17:35Z,2013-01-22T15:21:36Z,"When looking at the page for adding a new user on a multi-site setup, the top option is to add an existing user.

This text: ""Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.""

has no html markup around it.  Immediately above it is an h3 tag.  The text should have a <p> around it at the very least.

My goal here is actually hide the whole section with css for some roles, but I have no way to refer to it.",topher1kenobe
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
16834,UI problem in Permalinks SubPanel (on RTL sites),ramiy,RTL,3.1,normal,normal,3.6,enhancement,reopened,has-patch,2011-03-11T15:15:12Z,2013-05-18T07:11:57Z,"hi,
i want to report a UI problem in RTL sites, on the Settings->Permalinks SubPanel.

See the  Attached screenshots.",ramiy
16280,UI improvements to Themes API,,Themes,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-01-18T06:11:00Z,2011-02-08T17:31:07Z,"Following on from #16132, some improvements to the Themes API UI. Here's a patch for one particular issue, but there may be more overhaul for WP 3.2",solarissmoke
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
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
18172,Two lay-out buttons active at the same time,azaozz,TinyMCE,3.2.1,normal,minor,Awaiting Review,defect (bug),reviewing,,2011-07-19T11:26:49Z,2012-06-29T13:50:48Z,"1) Click on the center button for writing in the middle. It doesn't matter if you write something or not.
2) Upload a image and line it out at the left or right side.
3) When you select the image two buttons are active. One for the text and one for the image...

(See screen)
",JonezJeA
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
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
13780,Twenty Thirteen: WordPress Version Requirement Support,ryan,WordPress.org site,,high,normal,3.6,feature request,new,,2010-06-08T04:15:45Z,2013-03-27T17:06:20Z,"Right now, there seems to be no way to add a minimum required version to a themes style.css.

This should be used for the automatic update of themes build into WordPress. The theme update should only be applied after WordPress is updated to at least that version.",kretzschmar
24298,Twenty Thirteen: RTL for editor styles,,Bundled Theme,,normal,normal,3.6,defect (bug),new,,2013-05-09T20:11:15Z,2013-05-17T18:12:36Z,TODO,lancewillett
24363,Twenty Thirteen: Remove unused param in twentythirteen_switch_theme(),,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-18T17:23:58Z,2013-05-18T17:28:51Z,Patch removes the unused `$theme_name` parameter and adds a param description for `$theme` in `twentythirteen_switch_theme()`.,DrewAPicture
24269,Twenty Thirteen: Remove twentythirteen_search_form_format(),,Bundled Theme,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-05-06T11:24:32Z,2013-05-16T17:12:49Z,"Per [comment:ticket:23850:19], we can replace `twentythirteen_search_form_format()` with an `add_theme_support()` call once the latest patch is committed.",SergeyBiryukov
24307,Twenty Thirteen: display issues if gallery images are smaller than 300x300,,Bundled Theme,trunk,high,normal,3.6,defect (bug),new,has-patch,2013-05-10T18:02:53Z,2013-05-17T19:22:40Z,"WordPress 3.6-beta2-24227

Browser: Only tested on Firefox 20
 
Gallery excerpts on the home page are magnified.

Also missing captions on both excerpt and gallery page.
This may be addressed by  #23584 ""closed defect (bug) (fixed)
Twenty Thirteen: Gallery captions are hidden"" but I'm not sure if captions were still meant to be hidden or displayed.

On the gallery page the centered images look out of place. Much better to displayed them from the left side as done for 2012.

See attached files for screenshots.

Also attached 2012 gallery screenshot for comparison which is the same on both the excerpt and the gallery page.

Andy Bruin",professor99
24329,Twenty Thirteen: Comment Name to length stretches into comment,,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-13T16:58:36Z,2013-05-17T19:34:58Z,"I finally moved twenty thirteen to my actual website (yeah!) and I found an issue in a comment author area. 

His nickname is CambridgeBayWeather which is 20 characters long and all one word. This make his nickname stretch into the actual comment field.
See Screenshot: http://cl.ly/image/1C313Z0Q1N1O

And Direct Link:  http://robertdall.com/2013/04/29/expo-86-lies-and-wikipedia/#comment-18 
",rdall
24306,Twenty Thirteen: border-box box sizing will break many plugins,,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,,2013-05-10T17:14:19Z,2013-05-17T17:48:25Z,"WordPress 3.6-beta2-24227

/wp-content/themes/twentythirteen/style.css
{{{
* {
    -moz-box-sizing: border-box;
}
}}}

The setting of box-sizing to border-box for all elements rather than the default content-box (as used for twentyten, twentyeleven, and twentytwelve themes) will break the styling of many plugins for Firefox.

Strange that this is only done for firefox and the default setting of content-box is used for other browsers.

Suggest this css property be only used only the elements that need it in conjunction with the CSS3 box-sizing property and other browser equivalents.

Andy Bruin


",professor99
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
24308,Twenty Thirteen: Add Editor Styles for Post Formats,,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-10T21:14:36Z,2013-05-17T18:44:37Z,"Since the post formats UI is adding/changing the current post format to the tinyMCE iframe body class, we might as well include the post format styling in the editor. This has several advantages, including additional visual distinction between post formats for Twenty Thirteen users. It also makes it clearer what sort of content is expected in the editor, because you can compare directly to where it appears on the site. For example, the editor expects the quote itself, with or without blockquote tags. By making the editor display just like the output, it becomes obvious that the quote itself is expected here, and that quotation marks are provided.

The average first-time user won’t necessarily know that the different post formats are treated with an array of bold colors in Twenty Thirteen; they may not try publishing or previewing the different post formats, but instead just play with the PF admin UI. By reflecting the theme styling in the editor, they immediately know that the different formats feature different colors (and other minor layout changes), and are therefore more likely to start publishing with the different formats right away.

And, of course, by doing this we’re showing the thousands of default-theme-dissectors how easy it is to do separate styling per-format and encouraging them to as well. For me, it really completes the post formats UI. After all, the point of editor-style.css is to make editing a visually similar experience to the end result.",celloexpressions
23504,Twenty Thirteen,,Bundled Theme,trunk,normal,normal,3.6,task (blessed),new,,2013-02-18T23:05:01Z,2013-02-21T19:08:48Z,"The Twenty Thirteen team has handed the theme over, and we're ready to land it in core and start smoothing out the rough edges. Open new tickets with a component of ""Bundled Theme"" to track this, and try to attend the Twenty Thirteen office hours on Tuesdays and Thursdays at 1700 UTC.",markjaquith
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
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
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
13529,Twenty Ten max-width in editor style wraps too early,iammattthomas,TinyMCE,3.0,normal,normal,Future Release,defect (bug),assigned,,2010-05-25T04:46:34Z,2010-11-13T01:26:47Z,"While I get where iammattthomas was going with his change to the mceEditor, in practice it looks confusing...while editing my text, there are arbitrary line breaks that I didn't ask for, and there's no explanation why...

See file: http://core.trac.wordpress.org/browser/trunk/wp-content/themes/twentyten/editor-style.css?rev=13178

I propose eliminating the max-width property.

I apologize if this isn't the right way to do this, it's my first ticket.

I've attached a screenshot so you can see the issue as I see it...",longjasonm
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
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
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
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
24291,Tweaks to Image post format UI,,Post Formats,trunk,high,major,3.6,task (blessed),new,has-patch,2013-05-08T22:12:31Z,2013-05-13T04:19:11Z,"The image post format UI is not friendly enough. There is too much emphasis on providing a URL or HTML, and not enough emphasis on using the !WordPress media library.

We should hide the HTML behind a click, kind of like !WordPress.com's toolbar-poster does.",markjaquith
22812,Tweak the media modal styles for longer strings in ru_RU,,I18N,3.5,normal,normal,3.6,defect (bug),new,has-patch,2012-12-07T15:38:16Z,2012-12-29T06:53:57Z,"1. In Attachment Display Settings, the Alignment dropdown is a bit off.
2. In Gallery settings, the Random checkbox is misaligned.

See the screenshots.",SergeyBiryukov
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
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
22051,Turning off italic at the end of the word de-italicizes whole word.,,TinyMCE,3.4.2,normal,minor,Awaiting Review,defect (bug),new,,2012-09-30T07:34:16Z,2012-10-02T01:55:39Z,"I'm on a mac so I am using command-I to turn on italics in the post editor, visual mode, as I write.

To replicate: Write the first letter of a word. Then backspace. Then press command-I, and write the whole word, which will now be italicized. Before pressing the space bar, hit command-I again. Instead of just turning off italics for your next word, it turns the word you just wrote back into non-italicized text.

Through testing I discovered that it does not happen if you press command-I at the beginning of the word, it only happens when you back up in the middle of the word and then press command-I. And it doesn't happen when you press the ""I"" italics toolbar button to turn italics on and off, it only happens when using the keyboard shortcuts.

This is new behavior that started with one of the recent updates, but I don't know which one.

I know it's not a huge bug, but it's not expected behavior and it really gets in the way of my typing flow. I have to stop, go back to select the word, and make it italic again.",cheekyboots
16832,Trouble if the slug of a custom taxonomy is the same as the url of page/post,,Rewrite Rules,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-11T11:50:43Z,2011-09-29T23:26:24Z,"I got some troubles with the 3.1 version of WordPress concerning the slug of custom taxonomy.

'''An example that work in 3.0.5'''[[BR]]
www.example.com/agency (url of a page)[[BR]]
www.example.com/agency/john-smith (url of a custom type's detail)

Apparently having the same ""folder"" 'agency' only works for one or the other url but not both.

Hope I made myself clear.",LucasHantz
19904,Trim Leading and Trailing White Space in a Post Title,,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-01-26T23:37:15Z,2012-01-27T00:55:01Z,"In working with clients today I realized that they were copying and pasting post titles but including a leading space in it by accident.  Because of this the orderby feature of the query wasn't appearing to work.  Turns out it was but the spaces where all correct so it was messing with the query.  

I think it would make sense that on a title field of a post/ page that any leading whitespaces and any trailing white spaces should be trimmed off.

something like 


{{{
trim($post_title);
}}}


",greenspeakmedia
23960,Trigger local autosave when full save is initiated,,Autosave,trunk,high,major,3.6,defect (bug),new,,2013-04-06T13:44:18Z,2013-04-11T02:51:53Z,"It appears that a fresh local autosave isn't triggered when you initiate a real update. So if something goes wrong, the version you'll be offered to restore may not be the version you had when you clicked the save/publish version.",markjaquith
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
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
24171,"Trashing a page selected as ""Page on Front"" produces homepage 404",,General,,low,minor,Awaiting Review,defect (bug),new,,2013-04-23T21:58:26Z,2013-04-23T22:33:28Z,"Steps to produce:

1. Create a new page called ""My Home Page"". Add some bacon ipsum.
1. Assign the page as your static home page.
1. Trash the page, but don't delete it.

Expected behavior: My homepage reverts to a list of my most recent posts

Actual behavior: 404 template is loaded.

In r6337, we started listing most recent posts when the page is ''deleted''. However, there's a short circuit (added later) in `wp_delete_post()` to `wp_trash_post()`, which doesn't delete the option. This results in the homepage not being reset until the post is actually deleted.

I think the trashing behavior should be consistent with deleting behavior. 

Related: #16379, #14403",danielbachhuber
11863,Trashed items interfere with page/post slug generation,,Trash,2.9,normal,normal,Future Release,enhancement,reopened,,2010-01-11T12:40:38Z,2012-09-23T19:10:06Z,"Create a static page called test. Trash it. Create a new static page called test. It'll want to use the slug ""test-2"" instead of the expected ""test"".

This is extremely confusing for non-technically oriented users.",Denis-de-Bernardy
20883,Translating all plugin headers?,,I18N,2.6,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T20:20:34Z,2012-11-07T13:40:32Z,"I am really not sure if translators should be able to localize Author, Author URI or Plugin name? Description is very helpfull, but why translating strings like ""Matt Mullenweg"" or ""http://ma.tt/"" which are in current admin localization file?

Related: #19597",pavelevap
23865,Trailing slash is not enforced when editing the path for a subdirectory site in multisite,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2013-03-26T19:53:23Z,2013-04-01T09:38:28Z,"It is possible to edit an existing subdirectory site so that the path does not end in a trailing slash, this causes the subdirectory site in question to have an inaccessible home URL.

To reproduce:

 * Create a multisite network in subdirectory mode
 * Create a new subdirectory site
 * Visit the subdirectory site successfully
 * Edit the site to change the path so there is no trailing slash
 * You should be unable to visit the subdirectory site now",simonwheatley
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
20153,Track Plugin actions/history,,General,,normal,minor,Awaiting Review,enhancement,new,,2012-03-02T14:58:50Z,2012-03-02T14:58:50Z,"It would be great if WP could track any activity around plugins, eg. install, activate, disable, update, delete.

Seeing as plugins are most often the causes of problems with WP, it would be good to know which was the last plugin activated, or updated, particularly on sites with many plugins.

For example, I'm currently troubleshooting a problem which may be due to a plugin I recently updated, however I have no idea which one it could be, and disabling/re-enabling all plugins is not really the best solution.

A fairly simple nice-to-have that would greatly aid troubleshooting.",SecGen
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
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
23023,Touch UI Menu Code doesn't address flyout menus two-levels deep.,,Menus,3.5,normal,minor,Awaiting Review,defect (bug),new,,2012-12-20T15:21:17Z,2013-03-08T15:54:40Z,"The code we did in #20614 only addressed the single dropdowns you normally see in a single site install.

A multisite install will have flyouts coming out of the dropdowns that we need to account for as well.

Related: http://wordpress.org/support/topic/wp-admin-bar-doesnt-play-well-with-touch-device-in-wp-35",georgestephanis
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
23316,Top level admin sidebar menu items with conflicting positions bury one another,,Administration,3.5.1,normal,major,Awaiting Review,defect (bug),new,,2013-01-29T21:07:27Z,2013-01-30T04:23:58Z,"I have now seen two separate instances where a top level admin sidebar menu item wasn't showing up when another Plugin or Theme was activated. In the most recent case, using WP 3.5.1. my Plugin was creating a top level menu item with no position specified (blank, default). When I activated my client's Theme, our Plugin sidebar item disappeared and in place came the Theme Options item. I set our Plugin to use position 70, and it came back in place of the Users top level menu item.

In the earlier case, I had a custom post type that was requesting position 20. Whenever I activated Gravity Forms, my custom post type menu item was disappearing. This was with WordPress v3.5

According to the codex page: ""''WARNING: if two menu items use the same position attribute, one of the items may be overwritten so that only one item displays! Risk of conflict can be reduced by using decimal instead of integer values, e.g. 63.3 instead of 63 (Note: Use quotes in code, IE '63.3').''""

This seems like a bug to me. Why should items be allowed to completely overwrite one another? Shouldn't they just fall in line, albeit randomly when two conflict? I can see tons of problems with Themes and Plugins killing one another's top level menu items, and the user not understanding what's going on when they loose something unexpectedly.",beautomated
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
18556,Toolbar dropdowns when dragging items,drecodeam*,Toolbar,3.2.1,normal,normal,Awaiting Review,defect (bug),accepted,has-patch,2011-08-31T19:15:17Z,2013-01-22T01:17:35Z,"When dragging metaboxes, widgets, menu items, etc to the top of the window in order to scroll to drop the item on a portion of the UI that's above the viewing window, the toolbar interferes and produces dropdowns, etc.

If dragging an item, can we disable toolbar actions?
",chexee
22505,Toolbar dropdowns don't hide on front end on tap away,,Toolbar,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-19T14:46:03Z,2012-12-01T21:12:52Z,"In the wp-admin pages I can open the Howdy or New menus and tap away to close them.

In the front end admin bar, the menu stays open until navigating to a new page.

Found on 3.5-beta3-22637 using iPad3 iOS 6.0.1.",miqrogroove
18218,Too many similar translation string,,I18N,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2011-07-22T17:12:26Z,2012-06-06T18:30:59Z,"WordPress .po/.mo file is too big (3,312 strings). I know that we can't delete strings '''but''' we can reduce the file size by merging simmilar strings. WordPress has too many simmilar string. English developers don't notice this but non-english translators are frustrated by this when they have to translate the same string in 2 or 3 different variations.

I suggest to merge simmilar strings, this way will achive two things:

1. Smaller .po/.mo files.
1. Easier translation process as there will be less string to translate. I belive 200-300 strings less.

(Check out the bbPress ticket #BB1584 for more information and examples)

Few WordPress examples:

----

'''No login ID submitted'''
* wp-includes/class-pop3.php:168

'''no login ID submitted'''
* wp-includes/class-pop3.php:115

(change n->N)
----

'''You are not allowed to post as this user.'''
* wp-admin/includes/post.php:65

'''You are not allowed to post as this user'''
* wp-includes/class-wp-xmlrpc-server.php:2263

(add '.')
----

'''Log out'''
* wp-includes/general-template.php:189

'''Log Out'''
* wp-includes/admin-bar.php:92
* wp-admin/admin-header.php:165

'''Log out &raquo;'''
* wp-includes/theme-compat/comments.php:73

'''Log out of this account'''
* wp-includes/theme-compat/comments.php:73

(change all to ""Log Out"")
----

'''Log In'''
* wp-includes/general-template.php:261
* wp-login.php:627
* wp-login.php:646
* wp-admin/install.php:144
* wp-admin/install.php:238

'''Log in'''
* wp-includes/general-template.php:187
* wp-login.php:419
* wp-login.php:444
* wp-login.php:475
* wp-login.php:531

(change all to ""Log In"")
----

'''E-mail'''
* wp-includes/theme-compat/comments-popup.php:80
* wp-login.php:520
* wp-admin/user-new.php:229
* wp-admin/user-new.php:291
* wp-admin/comment.php:160
* wp-admin/includes/class-wp-users-list-table.php:165
* wp-admin/includes/template.php:356
* wp-admin/user-edit.php:329

'''Email'''
* wp-includes/comment-template.php:1525

'''E-mail address'''
* wp-admin/options-general.php:104
* wp-admin/options-general.php:123

'''Your E-mail'''
* wp-admin/install.php:128
",ramiy
18946,Too long tags make the cross not moving anymore.,,Editor,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-10-14T13:13:48Z,2011-10-22T13:29:27Z,"If you have a long tag like a long title of a book or movie title or game title and you more the cross doesn't move with the tags.

Look to the screenshot for more info",jonezjea
22839,Toggle spinners by adding/removing a class instead of show()/hide(),,Administration,3.4.2,normal,normal,3.6,defect (bug),new,has-patch,2012-12-09T18:17:02Z,2013-01-24T22:13:37Z,"I've noticed a bug with the spinner while updating a previous submission (ticket:19159). It worked in 3.4 when .ajax-feedback was used instead of .spinner.

Elements with class .spinner don't show up in any .sidebar-name (e.g. Main Sidebar, Inactive Widgets etc.) when an action is in progress (e.g. clearing inactive widgets).",cdog
20203,To return 404 page when user request not existing category and existing at once (in URL),,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-08T14:45:04Z,2012-06-13T10:45:59Z,"I have category 'category1' with posts in it. I want to get posts from 'caegory1' and not existing category 'not_existing'.
if I use URL like 'http://mysite.com/category/category1+notexisting' I get normal archive page but this is a page without post because there are no posts in 'category1' and 'not_exists' at once.
But maybe it is better to return 404 page? Because it produces additional duplicate pages for search engines like google.",egorpromo
22362,Titles of RSS feeds lacks spacing - words are run together,,Feeds,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-05T15:30:23Z,2012-11-05T16:40:58Z,"Line 24 of wp-includes/feed-rss2.php has:

<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>

There's no space between those two parts. In my (development) site, for the feed for a category ""News"" (which is the main one I'm offering up), that results in:

<title>SitenameNews</title>",DavidAnderson
23980,Title placeholder text disappears when post format is switched,,Post Formats,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-07T14:22:57Z,2013-04-11T06:34:07Z,"Title text box has a place holder text that disappears when you focus on it. If you change the post format to something like quote while still being focused on the title box, you suddenly see several text boxes which are labeled, but the box you are focused on is not labeled and you are not sure what is that box for, is it still the title or something specific for the post format.

I suggest to use place holder everywhere.

(sorry for the hebrew ui screenshot, but it is clear enough IMO)",mark-k
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
6956,Title for Feed Links: post_comments_feed_link,,Template,2.5.1,lowest,trivial,Future Release,enhancement,new,has-patch,2008-05-11T05:43:33Z,2011-02-04T07:18:13Z,"Should not all functions that create URLs not include a title?

Sure is more user friendly.

link-template.php line 319 (wp 2.5.1)

Change From:

echo ""<a href='$url'>$link_text</a>"";

Change To:

echo ""<a href='$url' title='Permanent Feed Link'>$link_text</a>"";",war59312
21934,Title field on Insert/edit link form shouldn't allow autosuggest,,Editor,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-19T21:10:18Z,2012-09-20T22:37:44Z,"When entering a link through the ""Insert/edit link"" thickbox form, Firefox displays autosuggest dropdowns for both the URL field and the title field.

This would be helpful, except that the javascript keyboard handlers bound on keydown/keyup prevent the browser UI from being accessible.

What happens is:

1. User tries to add link to text through the editor (Visual or HTML).
1. User enters the correct URL into the URL field, and exits that field by hitting ""tab"".
1. User begins typing the link title. Firefox browser UI helpfully suggests some similar titles.
1. User sees a title they'd like to use, and hit the keyboard down arrow, thinking that this will select the correct title for them.
1. What actually happens is that the first link listed below in the link to existing content gets selected. This overwrites what's been entered in the URL and title field.
1. User says, WTF just happened.

Solutions:

- Adding `autocomplete=""off""` to these two form fields would prevent Firefox from displaying its autosuggestions. This might fix the problem, but feels kind of like a bandaid.

- A keydown/keyup handler could be attached to each of the text input fields with event.stopPropagation could stop the ui keyboard behavior when typing into those fields.",goldenapples
23337,"TinyMCE, webkit and backspace/linebreak/italic issues",,TinyMCE,3.5.1,normal,normal,3.5.2,defect (bug),new,,2013-01-31T08:23:50Z,2013-04-30T08:42:07Z,"On WP 3.5.1 and nightly I notice irregularities in TinyMCE on webkit (Chrome, Safari).

When editing existing paragraphs in TinyMCE visual mode:

- After deleting a paragraph break, it is impossible to insert a single linebreak
- When deleting paragraph breaks, sometimes text will be wrapped in `<em id=""__mceDel"">...</em>`

Steps to reproduce:

1. In a new post, type: ""One[return]two[return]three"" (i.e. three paragraphs)
2. Position the caret before the word ""three"". Hit [delete] to merge paragraphs two and three.
3. Do a shift+return key combo, which should insert a single linebreak. Instead, a paragraph break is inserted.
4. Place the caret before the word ""two"". Hit [delete] to merge paragraphs one and two. The third paragraph is italicised. Viewing the HTML source will show that it has been wrapped in an `em` tag with the id `""__mceDel""`

Expected behaviour:

- After deleting the space between two paragraphs, shirt+return should insert a single linebreak.
- Text should not be italicised without the user having specified for TinyMCE to do so.

I can consistently reproduce this behaviour in Chrome and Safari. Firefox seems to work as expected.

I have tested with a clean install of WP 3.5.1 and the nightly build. I have tested on two different computers.

OS: OS X Lion
Browser: Chrome 24.0.1312.56, Safari 6.0.2",jnicol
18325,"TinyMce, noscript, and the gallery icon.",,TinyMCE,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-08-04T03:35:59Z,2011-08-23T22:03:10Z,"If you include the shortcode for a gallery in an html noscript tag, and switch between visual and html mode, the gallery ""icon"" is replaced by html addressing the icon... which shouldn't be visible in visual edit mode. If you publish the page with the html showing, it will then save the gallery shortcode and discard the noscript tags. I haven't been able to understand this behavior.

I'm trying to use a slideshow shortcode followed by a gallery shortcode in a noscript tag as a backup for those without JS. This works so long as I don't republish the page from the visual mode. Then I get a slideshow and a gallery.

I've tested it on a different site of my multisite install with no plugins on and it still occurs, so I'm relatively confident the problem is in the way tinymce handles the noscript tag.",cmdrmatt
9841,TinyMCE's kitchen sink button should also hide lines 3 and 4 when present,azaozz,TinyMCE,2.8,normal,minor,Future Release,enhancement,new,has-patch,2009-05-16T17:02:55Z,2011-11-14T13:11:17Z,"Currently, adding a button to line 3 or 4 of TinyMCE results in their always being present.

Would it be possible/desirable to make the hide as well?",Denis-de-Bernardy
23343,tinymce supports sevaral spellchecker but there is no option to configure it in wordpress,,TinyMCE,,normal,normal,Awaiting Review,enhancement,new,close,2013-01-31T14:15:25Z,2013-02-01T11:38:45Z,"tinymce configuration is in wp-includes\js\tinymce\plugins\spellchecker\config.php, at seems to support pspell, pspellshell, google spellchecker and rpc.

Will be nice if it will be possible to configure it. A use case is create a network installation for a company which want to have its own vocabulary shared among all its writers.",mark-k
7810,TinyMCE Spell check doesn't recognise 'WordPress',,TinyMCE,,normal,normal,Future Release,enhancement,new,has-patch,2008-09-30T09:04:34Z,2013-05-17T22:43:54Z,"I realise that its not WordPress itself which is responsible for the Spell Checking, However, I feel that if WordPress includes a spellcheck functionality, It would be good for it to actually recognise ""WordPress"" instead of ""Word-Press"" or ""Word Press"" (It even goes on to suggest ""WarDress"" and ""Depress""

Does anyone have a contact (Or know who to contact) in order to get ""WordPress into the dictionary used, Or maybe how to ignore the WordPress corrections on the result?",DD32
6331,TinyMCE should have a code button,,TinyMCE,2.5,normal,normal,Future Release,enhancement,assigned,,2008-03-21T10:52:42Z,2009-10-25T11:23:00Z,"The html editor has a code button on the quicktags bar but TinyMCE doesn't.

This is the only missing feature from TinyMCE that makes me switch to the HTML view when writing my weekly digest posts.",westi
16578,TinyMCE plugins are not loaded as .dev.js when SCRIPT_DEBUG is enabled,,General,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-02-17T06:58:15Z,2011-02-17T13:31:40Z,"In trunk, when SCRIPT_DEBUG is enabled, TinyMCE does not load plugins using  `.dev.js` scripts. It would be nice if it did.",solarissmoke
18134,"TinyMCE messes up text when its ""caption"" contains only a space",,TinyMCE,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-15T19:58:23Z,2012-09-09T16:32:03Z,"1.) Have a long text [[BR]]
2.) Insert an image inside there with no link pointing anywhere and a caption that contains only a space [[BR]]
3.) Make some <dl>-s, numbered lists etc after that [[BR]]
4.) Insert a new image with full size also, and a caption with only a space. [[BR]]

After this everything is messed up. The whole text before the second image becomes the caption of the first image and the second image disappears.",szotsaki
23280,TinyMCE issue with table wrapped with shortcode,,TinyMCE,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-24T01:07:43Z,2013-01-25T03:02:55Z,"TinyMCE will generate unbalanced <p> tags when a table is included as the content of a wrapping style shortcode. In this example, assume a shortcode called `[div] ... [/div]` that simply brackets the content with a `<div> ... </div>`.

This is an example as it would be in the editor's Text view (and it works if you switch back and forth to Visual.):

-----------------
{{{
There will be a table following.

[div]
<table>
<tbody>
<tr>
<td>Simple table</td>
</tr>
</tbody>
</table>
[/div]

Next line is here.
}}}
------------------------
The HTML output generated is this:

{{{
<p>There will be a table following.</p>
<div></p>
<table>
<tbody>
<tr>
<td>Simple table</td>
</tr>
</tbody>
</table>
<p></div>
<p>Next line is here.</p>
}}}
------------
The shortcode is very simple - just a demo. It returns simply:

{{{
return '<div>' . do_shortcode($text) . '</div>';
}}}

Doesn't seem to matter with or without the do_shortcode() call.
--------

So note the excess </p> after the added starting <div>, and the extra <p> before the </div> from the shortcode. Seems to happen only with a wrapping style shortcode, and I think only with tables.
",wpweaver
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
17154,TinyMCE inserts spans with font-styles atributes,,TinyMCE,3.1,normal,normal,3.6,defect (bug),reopened,has-patch,2011-04-17T12:04:38Z,2013-05-15T21:38:38Z,"This is continuation of #14218 which seems to be not fixed in 3.1 and still exist even in current 3.2. Reproducing steps
1. Open WP in latest Chrome (any version) - and probably also in other webkit browsers
2. Create new post
3. create UL with clicking on bullet icon
4. type some Li elements
5. close ul with <- icon (in advanced tinymce line)
6. type some text
7. switch to html view or publish article and see the code, you will see something like

{{{
asdfasdfh
<ul>
	<li>asfasdfa</li>
	<li>asdfa</li>
	<li>asfd</li>
</ul>
<span style=""font-size: small;""><span class=""Apple-style-span"" style=""line-height: 24px;"">adfasdfasd</span></span>

<span style=""font-size: small;""><span class=""Apple-style-span"" style=""line-height: 24px;"">asfasd</span></span>

<span style=""font-size: small;""><span class=""Apple-style-span"" style=""line-height: 24px;"">
</span></span>
}}}

P.S.: i can't select Version 3.2 in the bug report properties
",thomask
14737,Tinymce Googlespell: Json return wrongly encoded special char,,TinyMCE,3.0.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2010-08-30T15:48:14Z,2011-01-13T07:04:45Z,"The Json returned by the googlespeel method is broken.

I don't have time to create a patch now:

SO this is it in the file GoogleSpell.php:

original:
(line 41,42)

if (count($matches) > 0)
			$sug = explode(""\t"", utf8_encode($this->_unhtmlentities($matches[0][4])));

Fix:
(line 41,42)

if (count($matches) > 0)
			$sug = explode(""\t"", $this->_unhtmlentities($matches[0][4]));",jli
22795,TinyMCE does not recognize finger selections in WIndows 8 / MSIE 10,,TinyMCE,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-06T19:24:16Z,2012-12-06T20:07:14Z,"MSIE 10 (and/or Windows 8) seems to treat finger selection and mouse/keyboard selections differently. A symptom of this can been seen in the attached screenshots, when selecting text in visual mode with one's fingers vs a keyboard or standard mouse.

When selected via iOS style gestures, TinyMCE does not recognize the text as selected, and therefore does not let the user insert a link (note how the link tool is disabled). When selected via the mouse or kb, all is well. Everything also works fine with touch, mouse and kb when in text mode, pointing to an issue in TinyMCE.

Screenshots were taken while running core trunk, r23108

This might be affecting more versions of MSIE, or different contexts.
We've recently seen similar reports from users on WordPress.com.
",stephdau
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
24067,TinyMCE 4.0,,TinyMCE,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-12T18:34:58Z,2013-04-12T21:40:47Z,"Hi everyone,

Do we have any plans on implementing Tinymce 4.0 into core?

http://www.tinymce.com/presentation/index.html

Thanks.",josh401
20545,TinyMCE - Edit/Delete Image Buttons Show For Non-editable Items,,TinyMCE,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-25T15:09:10Z,2012-04-25T15:09:10Z,"Forgive me if this has already been reported and/or fixed in 3.4. I've yet to have a chance to try out the BETA.

The wpEditImage plugin creates Edit and Delete buttons for every image on selection. There are several instances where images need to be used as content placeholders like in the instance of the <!-- more --> tag and [gallery] shortcode. The plugin provides a special class ""mceItem"" which prevents these image editing buttons from appearing on any image with the class.

However, the class apparently isn't checked in all the places it needs to be because you can make these image editing buttons appear even when they're not supposed to. These even occurs in the case of the [gallery] shortcode which has it's own Edit/Delete buttons. If you use one of these hacks, you can actually make the Edit/Delete ""Image"" buttons appear over the gallery-specific ones.

Here are a few examples and attached are some screenshots:

1. '''Firefox 11''' Even if an image uses the mceItemNoResize, the resize handles will still appear on hover. If you try to drag these handles, the image doesn't resize (as it shouldn't) but the Edit/Delete image buttons do appear. ''See Firefox Screenshot Suite''

2. '''IE 9''' Insert a [gallery] and hover your mouse just below an image until the ""text editor cursor"" appears. Simply click and the Edit/Delete image buttons will appear. You can differentiate these buttons from the Edit/Delete gallery buttons by hovering your mouse over them to read their title text. Unfortunately, I could not get a good screenshot of this.

Note: I could not get this error to occur on Safari or Opera.",Master Jake
23479,tiny_mce_before_init filter is not fired for users with Author role,,TinyMCE,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-02-15T10:01:01Z,2013-02-15T17:56:41Z,"http://www.designzzz.com/how-to-stop-wordpress-editor-from-removing-iframe-and-embed-code/ explains how to change wordpress so that you can embed an iframe in a post without tiny MCE removing it.

This works fine if you are logged in to wordpress as an administrator. It has no effect when you login to wordpress as an author.

I guess that the tiny_mce_before_init filter is not fired unless the user has an administrator role.",paulmackinlay
23110,"Tiny MCE - when adding blockquote, entering twice no longer backs out of blockquote",,TinyMCE,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-03T16:48:00Z,2013-01-03T19:47:08Z,"When using the visual editor you used to press enter twice to back out of a blockquote and continue writing paragraphs, but now it just adds a nbsp; in the blockquote. Without going into the html view and actually adding content below, there's no way to get out of writing in the blockquote. ",jack.nycz
24288,Timestamps in chat formats should have IDs,,Post Formats,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-08T20:32:35Z,2013-05-17T21:59:58Z,"If we add IDs to the time elements in the chat post format, and possibly wrap them in <a> tags.  This would let you link to a specific line in the chat, like our IRC logs.",aaroncampbell
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
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
20570,"Tidying Admin CSS, bringing it up to CSS Code Standards (work in progress)",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,,2012-04-29T16:24:09Z,2012-12-24T11:27:12Z,"as per http://codex.wordpress.org/CSS_Coding_Standards, this is an attempt to bring the internal admin stylesheets up to CSS Coding Standards

Some of the changes being made are ...

* Properly intenting top: left: right: bottom: attributes two tabs when following a position:absolute position:fixed or position:relative declaration
* Alphabetizing css properties
* Removing unnecessary browser prefixes
* Placing browser prefixed css properties before the non-browser prefixed versions
* Removing extraneous spaces
* Applying a consistent ordering of browser-prefixed properties (based on length of prefix to get an aesthetically pleasing diagonal line, rather than jagged, inconsistent line endings -- yes, I know it's silly, but it's better than randomness, and alphabetical isn't as useful)
* Applying a uniform method to attribute selectors and url references by wrapping double-quotes around the values (there was no prior standard and a motley assortment of usages)
* Changing colors to 3-character shorthand ( 888888 becomes 888 )
* Changing colors to lower case ( EEE becomes eee )

and probably a couple others that aren't coming to mind right now.",georgestephanis
23729,"Ticket #11289, IE bug fix: always pad the error page with enough characters",,General,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-03-09T06:25:21Z,2013-03-20T15:59:02Z,Is it really such a good idea to put the padding where it is currently in the error pages? This causes all sorts of problems with Dom parsers... it should be placed somewhere after the html tag or better yet in the body... almost looks like someone is very proud of their fix and wants the world to see it lol,wp4j
7491,thumbnail creation fails silently,,Upload,,normal,normal,Future Release,enhancement,new,,2008-08-09T19:16:19Z,2010-03-06T16:13:08Z,"When thumbnail creation fails, it fails silently, with no indication why it fails. That is a real pain in the ass if you're trying to debug. Frankly, I assumed for months that thumbnailing just wasn't implemented yet- it was only because I noticed that it does work on ma.tt that I even went back and tried to debug the situation.

I'm still not succeeding in actually getting the thumbnailing working, for what it is worth- extensive googling suggested I should install libgd, which I've now done, but no helpful errors from wordpress means I'm just back at square one in terms of figuring out why it is breaking.

There are no other directly pertinent bugs, but #7039 and #1952 mention instances of silent failure being a problem and #2794 has a (now bitrotted) patch creating an error reporting system.

",tieguy
20900,Throw an error in `get_default_post_to_edit` if the specified post type is not defined.,,Post Types,,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-06-10T23:07:23Z,2012-06-10T23:07:23Z,"Currently get_default_post_to_edit will generate a post with the specified post type, even if it doesn't exist.  Let's give it a chance to do something else.

If this is conceptually a good idea, also do it during wp_insert_post() and other similar functions.",georgestephanis
23060,Throw 404 if URL Rewriting is Used With Default Permalinks,,Permalinks,3.5,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-12-26T20:54:55Z,2012-12-26T21:34:04Z,"Suddenly I discovered that my blog is not returning error 404 page. My blog permalink is set as default style http://test.onetarek.com/?p=123 
Now I am trying to create 404 error by using this url http://test.onetarek.com/adsfjkasjdd , it showing home page. Then I tested http://test.onetarek.com/?p=123654 now it shows 404 page. 
Then I tried to load a not existing image http://test.onetarek.com/wp-content/themes/twentyeleven/images/headers/not-image.jpg it shows my home page instead of 404 page. 
I changed my permalink settings to ""Day and name"" then it show 404 page.

I tested this problem in my another blog, this blog is return 404 page but that is not generated by wordpress. Wordpress 404 theme page is not being loaded. A blank page is being loaded with a message by Apache Server ""Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request....""
 
So what is the problem with permalink settings and 404 page.",onetarek
23984,Thickbox top margin,,Themes,2.8,normal,minor,3.6,defect (bug),new,has-patch,2013-04-08T07:54:55Z,2013-05-08T00:45:01Z,"The ""theme update details"" popup looks funky, the thickbox titlebar is hidden behind WP's adminbar: http://cl.ly/image/2m27131t3508",tillkruess
17249,thickbox modal window dimensions are fixed in wp-admin,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-27T05:01:38Z,2012-01-19T00:03:35Z,"Hello,

When invoking a thickbox modal in wordpress wp-admin, the dimensions of the modal window can't be customized. Because of media-upload.js is replacing the tb_position() function.

This is not needed that way, and media upload modal window size can be set when calling it.

The workaround is rather complicated, please read: http://binarybonsai.com/2010/02/27/using-thickbox-in-the-wordpress-admin/ down to ""The Media Manager Horror""",DreadLox
21826,There should be more filters when displaying a theme in the list table,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-06T22:54:43Z,2012-09-15T22:27:50Z,"In `WP_Themes_List_Table::display_rows()`, there is a filter for the theme actions, but no filters for the theme information itself: screenshot, title, author, version, and description. Why not fix that?

The attached patch introduces `theme_list_*` filters within the `display_rows()` method. Suppressing one of the pieces of information is simply a matter of returning an empty value through the filter.",ethitter
23120,There should be indication that widget settings have been saved,,Widgets,3.5,normal,normal,Future Release,enhancement,new,has-patch,2013-01-04T16:28:05Z,2013-05-14T12:45:51Z,"There's currently no confirmation that adding a widget or changes to a widget have been saved. In some cases(fast hosting and a solid internet connection) the changes are saved so quickly the spinner is barely on the screen at all. I think a best course of action would be to have the word ""Saved"" appear briefly after the spinner goes away. Or perhaps a check mark as that doesn't need to be translated.
Related post on make.wordpress.org: http://make.wordpress.org/ui/2013/01/02/this-morning-i-ran-2-users-through-some/",jacopo.vip
13816,There should be built-in index pages for taxonomies,,Taxonomy,,normal,normal,Future Release,feature request,new,,2010-06-10T12:20:29Z,2013-01-11T07:45:26Z,"By default, if you enable 'pretty' permalinks, you get URLs like this for categories and tags: /category/slug,   /tag/slug.  The same pattern is used when adding custom taxonomy types.

These URLs often suggest to people that it should be possible to go 'up' one level, and access index pages at /category and /tag which list all of the available categories or tags (or maybe just the top x most popular ones for tags).

I'd suggest that we add a new template type of is_archive_index() which uses, in order of preference, taxononmyname-index.php (eg category-index.php), archive-index.php.

Within these templates, the 'loop' should return taxonomy items rather than posts.

This is all possible already using custom templates and get_terms(), but it'd be handy if it was built-in.
",frankieroberto
23355,"There should be away to select ""no color""/""theme color"" at the editor's text color selection",,TinyMCE,,normal,normal,Awaiting Review,enhancement,new,,2013-02-01T08:42:51Z,2013-02-01T11:38:48Z,"If I changed the color of a selected text the only way to revert the change is by using the ""delete styling"" button which is totally not obvious",mark-k
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
17525,There should be a datetime_format option to specify whether the date or the time comes first,,General,,normal,normal,Awaiting Review,feature request,new,,2011-05-20T20:09:11Z,2011-05-20T20:09:11Z,"As a theme author it would be very useful to have a global option for formatting a full datetime (and a the_datetime() function too).

Sometimes datetimes are formatted ""$date $time"", sometimes it's ""$time $date"", sometimes it's even ""$date at $time"".

I think there should be an option for this in the general settings alongside the date and time format options.",holizz
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
19380,There is no way to specify placement of a new menu item in the Admin Bar,,Toolbar,3.3,normal,minor,Future Release,defect (bug),new,,2011-11-28T14:38:12Z,2011-11-28T17:16:46Z,"I recently opened ticket #19371 and scribu has added a fantastic and simple solution to be able to modify existing menu items. The only problem, however, is that it is impossible to control placement of a new menu item.

For example, if I wanted to add a class on the ""wp-logo"" menu item, I would use the method specified in #19371 to remove it, modify it, and add it back.

{{{

add_action( 'admin_bar_menu', function( $admin_bar ) {
	$node = $admin_bar->remove_menu( 'wp-logo' );

	$node['meta']['class'] = 'foo';

	$admin_bar->add_menu( $node );
}, 99 );

}}}


The only problem is that it would put the menu item at the far right of the other menu items. I could then remove and re-add all the other menu items. However I don't think there is a way to get a list of all the top level menu items from within the admin bar class, so you would have to know the ID of each one from a print_r debug of the object and hard code the items in. This would break if a plugin added a menu item that wasn't in the hard coded list.

My thoughts would be either add a parameter to the add_menu() function such as priority, which could be boolean and cause the item to be added with array_unshift() instead of the current method, or a parameter that would be be for the id to ""add before menu item x"" , or just a method that would return a list of ids of the root menu items.

ps: I don't really need to add a CSS class to the wp-logo menu item, but this is the far-left-most item and I thought it would make the best example.",willshouse
21442,Themes: change allowed term taxonomy from Width to Layout and add responsive-layout term,,Themes,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-01T17:48:53Z,2012-08-06T00:18:10Z,"See #21065 and discussion with WPTRT on http://make.wordpress.org/themes/2012/07/18/id-love-your-thoughts-on-adding-two-new/.

""Width"" is not accurate since themes can have fluid, fixed, or responsive height as well as width.

""Layout"" makes this more abstract.",lancewillett
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
14955,Themes should support uninstall.php or uninstall hook,,Themes,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-09-23T22:59:57Z,2012-10-09T16:13:14Z,"Related tickets on extending Themes to have Plugin features: #7795 and #14849 but those deal primarily with activation and deactivation centering around 'switch_themes' action.

From looking at /wp-admin/includes/plugin.php, adding support for uninstall is a separate concern (and it doesn't have the issue blocking activation/deactivation).

Should is_uninstallable_plugin, register_uninstall_hook and uninstall_plugin be extended to check theme directory or should versions (is_uninstallable_theme, register_uninstall_theme_hook and uninstall_theme) be added to theme.php?

Advantage of the first method is that the register_uninstall_hook could be reused for Themes where in the second, a new, less attractive name would be needed (register_uninstall_theme_hook?) Also, there's no theme_basename as it was reverted/removed.",WraithKenny
19627,Themes should be able to opt-in to a static front page,koopersmith,Themes,,normal,normal,Future Release,feature request,assigned,,2011-12-21T01:42:05Z,2013-03-02T21:47:58Z,"A theme should be able to register that they are designed to have a static front page by default. Core should then pick up on this as part of the activation process and allow them to pick or create a page, or ignore it and show posts on the front.

Twenty Twelve will most likely need this (http://wpdevel.wordpress.com/2011/12/20/default-theme-twenty-twelve/).",nacin
17635,Themes page should have search subtitle,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-06-01T12:15:05Z,2011-06-01T14:26:16Z,"Most admin pages display the term that the user has searched for when displaying search results, but the Themes page (under site admin) doesn't.

[16525] seems to have excluded it in the AJAXified list tables, but gives no reasoning.",kawauso
22794,Theme screenshots scaling breakpoint should be different when admin menu is collapsed,,Themes,3.4,normal,normal,Future Release,enhancement,new,,2012-12-06T19:14:10Z,2012-12-06T19:14:20Z,"The goal of the breakpoint was to ensure we had 3 themes across.

When the admin menu is collapsed, we get an extra 100+ pixels to work with. This means we should adjust our 1200px breakpoint to something less.",nacin
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
15646,Theme menu locations don't appear until a menu is created,,Menus,3.0,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2010-12-02T12:33:47Z,2013-03-07T19:17:49Z,"Nacin told me this was by design, but he said to create a ticket after I asked him this: How can a user know what menu to create or whether to create a menu if they don't know the locations that the theme supports?

Related: http://wordpress.org/support/topic/register_nav_menu?replies=29",JohnONolan
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
20509,Theme idea - generic.php,,Themes,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-04-21T23:37:30Z,2013-03-18T23:48:35Z,"Problem: How do plugins that introduce completely new functionality (I.E. BuddyPress/bbPress) interface with themes, without needing to move template files directly into a theme's folder?

Solution: generic.php

----

generic.php would be a template file that includes skeletal layout of the theme. In place of the content and the comment logic, is an action; for the sake of discussion, let's name this action 'generic_content'

A concept file is attached for twentyeleven.

This type of ability would help prevent a ton of additional processing that plugins currently need to do to hi-jack the_content output and noop the comment stream, in situations where a plugin needs to output HTML into the main content area of a theme.

Rather than guessing at template names, and hoping 'page.php' or 'index.php' will be close enough, a convention of having themes come with a dedicated template for plugin compatibility would be incredibly helpful.

BuddyPress components have a similar convention already, with a plugin.php having only the header, footer, sidebar, and generic action in them.

The use case is currently small, and there's very little (if anything) needed in WordPress core to make this work. Wanted to post the idea here to get some developer talk going, and get opinions on other possible approaches.",johnjamesjacoby
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
19816,Theme details should be able to include multiple screenshots,,Themes,3.3,normal,normal,Future Release,enhancement,new,,2012-01-12T18:32:27Z,2012-12-14T23:48:54Z,"Per 3.4 scoping, themes should be able show multiple screenshots. This would require an API change on .org.

Ideas include showing a gallery inline with the current placement of the screenshot. Other visual ideas welcome. The thickbox will likely disappear and would not serve as a good place, as it is used for installing and not shown for installed themes.",helen
21483,Theme Customizer: Use any image from media library for background image,,Appearance,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-05T22:42:31Z,2013-04-11T10:28:09Z,"I suggest that users be able to use any image in the media library as a background image from the customizer. At this time, if a user changes the theme background from the customizer, he/she must upload the image. This is already available from the dashboard, under Appearance > Background - it gives the option ""Or choose an image from your media library:"" I suggest that this option available on the dashboard also be available on the customizer. A similar option should be available for header images.",jjonesftw
21919,Theme Customizer: loading preview with FORCE_SSL_ADMIN does not work,,Multisite,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-18T14:17:28Z,2012-09-18T14:17:28Z,"When FORCE_SSL_ADMIN is configured theme customizer JQuery will try and load the theme preview over ssl and get a 302 redirect error.

The path is

https://site.com/?customize_messenger_channel=preview...

redirects to

http://site.com/?customize_messenger_channel=preview...

since site is non-SSL.",Jasonheffner
20714,Theme customizer: Impossible to preview a search results page,,Themes,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-05-20T19:20:30Z,2012-05-24T06:57:40Z,"Steps to reproduce:

 1. Open the theme customizer
 2. Attempt to do a search in the site's search box in order to preview the search results page

The form won't submit and you won't be able to preview your search results.",johnbillion
21666,Theme customizer reset,,Appearance,3.4.2,normal,normal,Awaiting Review,feature request,new,,2012-08-23T10:09:49Z,2013-05-18T13:13:22Z,"It would be useful to be able to reset the settings to the defaults as specified in the add_setting() class method when setting up each setting.

These could be reset on a section by section basis and/or for ALL settings.",dgwyer
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
23455,Theme Customizer does not load when static Front Page is moved to Trash,,Appearance,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-12T12:27:37Z,2013-04-23T22:33:32Z,"Steps to reproduce:

1. Go to Pages > Add New, and publish a new page
2. Go to Appearance > Themes > Customize
3. Under Static Front Page, set this new Page as your Front Page. Save changes
4. Go to Pages > All Pages, and trash the page
5. Go back to the customizer
    * The sidebar loads, but not the preview
    * I see the following error in the console: http://i.wpne.ws/MpDR

When commenting out {{{$this->handle_404();}}} in [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php#L550 wp-includes/class-wp.php#L550], the Preview appears again, but generates quite a lot of notices.

Tested with WordPress Trunk (Version 3.6-alpha-23400)",jeherve
21492,Theme customizer > Static front page: missing error message when front page and posts pages are similar,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-06T00:15:25Z,2012-08-06T01:11:40Z,"Steps to reproduce:

1. Activate Twenty Eleven
2. Open the Customizer
3. In ""Static Front page"", choose the same page as your front page and Posts page:
  * You do not receive any warning 
  * http://i.wpne.ws/IYAO
  * In Reading Settings, you do actually receive a warning: http://i.wpne.ws/IY2S (see http://core.trac.wordpress.org/browser/trunk/wp-admin/options-reading.php#L99 )

Would it be possible to display the same warning in the Customizer, to avoid any confusion for the users?

Related: #19627 and #16379",hd-J
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
16414,Theme and Plugins options pages need improved tabs,chexee,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-30T22:13:52Z,2013-02-17T21:48:14Z,"We've talked about this in UI group before, this is essentially a continuation of [12412].

The tabs currently look rather big and bulky. We'd like to find a more graceful, subtle way to show multiple screens under one nav item.

Some notes:

 - Tabs should be different sections of one nav item (primarily Themes and Plugins).  They are not children of that nav item.  There shouldn't be any visual hierarchy between the h1 and the tabs.  The tabs, essentially, are the different h1s.

 - I use the word tabs loosely.  They do not necessarily have to look like traditional tabs.  Creative solutions to this would be awesome.

 - We are also open to suggestions to changing the wording on the tabs, especially for themes.  Current they read, ""Manage Themes"" and ""Install Themes"".  ""Install Themes"" is a bit misleading, ""Add New Themes"" would be more descriptive.

Attached are previous proposals.  ",chexee
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
19450,the_widget won't replace the widget class if not using the default sidebar arguments,,Widgets,3.2.1,normal,minor,Future Release,defect (bug),new,has-patch,2011-12-05T21:29:41Z,2012-04-27T19:31:04Z,"

When using the_widget(), the $before_widget argument only receives the widget class if using the default sidebar arguments...

on lines 1129 - 1130 of wp-includes/widgets.php (wp 3.3 rc 1)


{{{
$before_widget = sprintf('<div class=""widget %s"">', $widget_obj->widget_options['classname'] );
$default_args = array( 'before_widget' => $before_widget, 'after_widget' => ""</div>"", 'before_title' => '<h2 class=""widgettitle"">', 'after_title' => '</h2>' );

$args = wp_parse_args($args, $default_args);
}}}


could be replaced by:


{{{
$default_args = array( 'before_widget' => '<div class=""widget %s"">', 'after_widget' => ""</div>"", 'before_title' => '<h2 class=""widgettitle"">', 'after_title' => '</h2>' );

$args = wp_parse_pargs($args, $default_args);
$args['before_widget'] = sprintf($args['before_widget'], $widget_obj->widget_options['classname']);
}}}
",Felipelavinz
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
14361,the_title does not escape HTML special characters properly,,Template,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-20T13:45:52Z,2012-09-11T12:46:20Z,"The 'the_title' function does not escape HTML special characters properly, causing invalid HTML.

Test case: ""<test>This is a test</test>""",peaceablewhale
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
24341,the_post_format_audio() and the_post_format_video() don't work with [embed],,Post Formats,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-15T01:14:47Z,2013-05-15T22:13:10Z,"This embed code in a video post content isn't picked up by `the_post_format_video()`.

{{{
[embed]http://wordpress.tv/2009/03/16/anatomy-of-a-wordpress-theme-exploring-the-files-behind-your-theme/[/embed]
}}}

This embed code in an audio post content isn't picked up by `the_post_format_audio()`.

{{{
[embed]http://soundcloud.com/dubstep/on-my-way-by-party-ghost[/embed]
}}}

However, both of these will work without the `[embed]` shortcode.",greenshady
17039,the_excerpt() - <!--more--> handling,,Formatting,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-04-03T22:15:48Z,2011-12-23T17:13:50Z,"If a post has a manually inserted <!--more--> ''before'' the default break at the excerpt length, then the_excerpt() fails to generate any [...] or call the ""excerpt_more"" filter. Thus, there is no indication that there is more content to the post.",wpweaver
8532,the_date() doesn't function as intended,,Template,,normal,normal,Future Release,defect (bug),new,,2008-12-08T23:11:44Z,2011-10-10T14:17:19Z,"If my memory serves the idea behind the_date was that it would echo out the date, but only if it was different than the previous item it echoed out in the loop, which would be handy for doing things like day headers in index templates or month headers in archives.

At some point this seems to have been lost, I think because some variable names changed.

This restores the_date to its original behaviour.",matt
17993,the_content vs get_the_content,,Formatting,3.2,normal,normal,Awaiting Review,feature request,new,close,2011-07-05T14:00:01Z,2012-09-14T17:28:19Z,"Wordpress lacks of a main function: obtain full formatted ""content"" without echo! Maybe good to add a param to the_content() like echo(bool)?

I wrote it:

{{{
function the_content_noecho($more_link_text = null, $stripteaser = 0) {
       $content = get_the_content($more_link_text, $stripteaser);
       $content = apply_filters('the_content', $content);
       $content = str_replace(']]>', ']]&gt;', $content);
       return $content;
   }
}}}
",merlinox
24083,the_author_posts_link() not properly escaping HTML output,,Template,3.5.1,normal,normal,3.6,enhancement,new,,2013-04-14T19:07:11Z,2013-04-15T00:46:38Z,"I was running an HTML5 validator on one of the sites I manage and noticed that the_author_posts_link is not properly escaped.

For example,

{{{
<a href=""http://www.chud.com/author/William Thomas-Berk/"" title=""Posts by William Thomas Berk"" rel=""author"">William Thomas Berk</a>
}}}

Notice that the URI has a space in it that should be encoded as {{{%20}}} before being output.  As a result, there are a lot of HTML validation errors being shown as a result.",bradkovach
18731,The XML-RPC Endpoint filename is hardcoded in the code (aka: my Host Blocks XML-RPC Access!),,XML-RPC,3.2,high,major,Future Release,enhancement,new,has-patch,2011-09-21T10:56:26Z,2012-12-29T20:48:32Z,"It's impossible to rename the file 'xmlrpc.php' to something different (for eg when your hosting provider blocks the access to the xmlrpc.php file) since the prefix ""xmlrpc.php"" is hardcoded within the src code. You can rename the file but the XML-RPC call wp.getUsersBlog always returns the hardcoded URL.

Same issue for the pingback link and the EditURI link.

We pubblished a plugin that should help users for the time being:
http://wordpress.org/extend/plugins/rename-xml-rpc/",daniloercoli
20094,The wpEditImage TinyMCE plugin is broken when TinyMCE is served from another domain,,TinyMCE,2.6,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-22T00:48:46Z,2012-02-22T09:05:26Z,"If TinyMCE is served from another domain (for example a CDN), the wpEditImage plugin tries to open the image editing iframe from that other domain.  This breaks inter-iframe communication due to a violation in the same-origin policy.

The code is the same all the way back to 2.6, but I didn't verify the problem occurs there (TinyMCE's API may have changed since then).

Attached:
* Ensures the iframe is always served from the same origin as the parent page.
* Fixes the iframe cache busting.",mdawaffe
24103,the wp_dropdown_cats filter should pass the args as a second parameter,,Template,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-16T14:45:18Z,2013-04-17T02:28:37Z,"effectively filtering the output of the wp_dropdown_categories function is only possible knowing their args



{{{
Index: wp-includes/category-template.php
===================================================================
--- wp-includes/category-template.php	(revision 24000)
+++ wp-includes/category-template.php	(working copy)
@@ -370,7 +370,7 @@
 	if ( ! $r['hide_if_empty'] || ! empty($categories) )
 		$output .= ""</select>\n"";

-	$output = apply_filters( 'wp_dropdown_cats', $output );
+	$output = apply_filters( 'wp_dropdown_cats', $output, $r );

 	if ( $echo )
 		echo $output;
}}}",olivM
22929,"The text for themes under ""Available Themes"" could use some structure",,Themes,3.5,normal,minor,Awaiting Review,enhancement,new,close,2012-12-14T00:09:18Z,2012-12-30T21:32:51Z,"The text for each theme under Available Themes seems to be just floating in space, adding a border around it might look cleaner.",wycks
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
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
20522,the sanitize_file_name_chars filter and ch(0),,Formatting,,normal,minor,Awaiting Review,enhancement,new,needs-unit-tests,2012-04-23T08:26:28Z,2012-04-24T00:41:12Z,"the sanitize_file_name_chars filter is tricky to use due to the chr(0) ending the array :

both 
{{{
special_chars[] = $my_char; 
}}}
and 
{{{
array_push($special_chars, $mychar);
}}}
have no effect.

so the only way to add some char to the array is to use array_unshift :
{{{
array_unshift($special_chars, $mychar);
}}}

adding 

this is mostly a php issue, but it could be useful to add some notice to the WordPress documentation.

",olivM
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
16318,The reset password process could be clarified,,Users,3.1,normal,normal,Future Release,enhancement,assigned,early,2011-01-20T16:27:57Z,2013-01-22T16:51:08Z,"I find the process of resetting a user password confusing, and sI guess I am not the only one.

Here is why:

The fist screen in this process is almost ok:

[http://snapplr.com/mbtp]

only the text on the button is confusing as users won’t “get a new password” but are going to input a new password (I guess this is an heritage of the past procedure).

The second screen is where most users get lost:

[http://snapplr.com/811w]

I think that the login form should not be visible here as it gets the user’s focus, so they do not see the text above telling them to check their mailbox and do not know what to type here.

I know that changes are planned in the reset password process, but these two relatively small changes could make the process a lot easier to follow for users.",paolal
22999,The position of the cursor is ignored when inserting media in DFW and Text mode (IE),,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-19T00:58:22Z,2012-12-19T01:07:36Z,"When editing a post in IE8/IE9 in either full screen mode or in text mode, media is always inserted at the top of the post when regardless of where the cursor is positioned prior to opening the ""Add Media"" modal. I suspect that IE7 is also affected, but I have not tested it.",gcorne
22746,The metadata_exists() function should return the correct value if the get_$meta_type_metadata filter returns a non null value,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-05T00:04:20Z,2012-12-05T00:04:20Z,"The line [http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php?rev=23043#L324 324] should return $check instead of true, otherwise the filter doesn't normally work when someone wants to always return false for a given meta key.

Here's a quick way to reproduce it
{{{
> add_filter('get_user_metadata', '__return_false'); return metadata_exists('user', 1, 1)
TRUE
}}}",xknown
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
21082,"The Gallery shortcode relies on #gallery-instance to hook the CSS, but the id sometimes isn't specific enough",,Gallery,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-26T18:43:28Z,2013-01-24T09:14:02Z,"The Gallery CSS selector uses the id attribute, which is of the form #gallery-{instance}. On some scenarios (like infinite scroll) a follow up gallery on a another post can have the same #gallery-x selector, thus over-writing the previous gallery style.

Proposed solution: make the #id more unique by including the postid number. (Attached patch.)

(It could potentially impact some themes that used #gallery-1 to style galleries, but theme's shouldn't be using that in the first place, I believe.)

Furthermore, it may be good to change the whole style block to use classes instead of the id so that it's easier for themes to deal with CSS specificity—and helps them not fall back to the #id.",matveb
11576,The future of the 'uncategorized' category,,Taxonomy,2.9,normal,normal,Future Release,enhancement,assigned,,2009-12-23T14:32:42Z,2011-04-15T08:44:01Z,"Is there any plan for removing the 'Uncategorized' category, or at least removing its requirement?  Some users want the ability to only show the_category() when the post is part of a real category. Also, with the introduction of custom taxonomies in 2.9, not all hierarchical taxonomies will have a default term, so this flexibility needs to be introduced anyway.  

I'm curious why the default category was introduced in the first place?  Was it solely for permalink handling?

If attachment:ticket:10122:hierarchical_metaboxes-2.patch is accepted (specifically handling hierarchical taxonomies as int) the following just needs to be added above the checkbox list to allow deselecting of all terms from the taxonomy:

{{{
<input type=""hidden"" name=""tax_input[<?php echo $taxonomy?>]"" value="""" /> 
}}}
",prettyboymp
16770,"The comments field in the post table gets set to 'closed' for all posts, and commenting options change from those set",,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-06T00:48:21Z,2011-03-06T17:25:27Z,"these problems are documented in this forum topic. http://wordpress.org/support/topic/why-is-my-comments-closed-in-all-posts-open-in-all-pages?replies=13#post-1768692 

It has happened to me twice",linusinutah
18780,"The caption ""Comment author must fill out name and e-mail"" is ambiguous",gabrielhtc,Text Changes,,normal,normal,Awaiting Review,enhancement,new,,2011-09-26T14:46:14Z,2013-02-15T13:38:47Z,"
== Observation ==

Users tend to think that if they uncheck that option, the name and email fields will not be displayed.


== Problem ==

The caption ""Comment author must fill out name and e-mail "" in the ""Other comment settings"" of the Discussion settings is ambiguous.


== What is expected ==

With the current caption, users expect that the name and email fields aren't shown.


== What happens instead ==

The name and email fields are still displayed, but they are now optional instead of being required. Some of the themes do not explain whether the fields are required or optional, so the users think that unchecking the option has no effect.


== Solutions ==

* Changing the caption to a less ambiguous one such as: ""Name and email is optional for guests comments""
* Make sure that the themes show clearly which field is required or not to be able to post the comment.",gabrielhtc
21460,The accesskeys in Quicktags don't work in all browsers,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-03T19:21:56Z,2012-08-03T22:01:43Z,"IE (Alt+letter) works properly. Firefox (Alt+Shift+letter) only focuses the corresponding Quicktags button sometimes. Doesn't perform the action. If the button is hidden, performs the action (this shouldn't happen in Quicktags). Chrome doesn't seem to do anything. Opera works differently: Shift+Esc brings a list of all defined access keys on that page. The Quicktags access keys are not listed there.

",azaozz
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
22154,The 'More' tag placeholder looks terrible,,Editor,,normal,minor,Awaiting Review,enhancement,new,,2012-10-10T20:12:36Z,2012-10-11T05:17:18Z,"Really, it does.",johnbillion
21425,the 'edit_users' capability also allows 'promote_users',,Role/Capability,3.4.1,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-07-30T17:07:52Z,2012-09-22T10:11:33Z,"Hello all,

I have found an issue where I have created a Support role in order to have a user make changes to basic user information. What I noticed was that the capability 'edit_users' allows said User (role) to promote users to any role - including admin! I tried removing the cap 'promote_users' and it does nothing.

add_role(
			'support',
			'Support',
			array(
				'read' => true,
				'edit_feedback' => true,
				'edit_others_feedback' => true,
				'list_users' => true,
				'edit_users' => true
			)
		);",ew_holmes
21311,"The ""Paste as plain text"" feature in TinyMCE produces double-line breaks between paragraphs.",,Editor,3.4.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-07-19T10:41:13Z,2012-07-20T08:44:55Z,"Mac OSX Lion, Chrome, WordPress 3.4.1

See attached SWF for a screen-video demonstration.

 • In WP-Admin -> Posts -> Add new, with the editor in visual mode, click the ""Pase as plain text"" icon [[BR]][[BR]]
 • Paste your content into the window that pops up and click ""Insert"" [[BR]][[BR]]
 • Note that two paragraphs seem to be double-line breaked. [[BR]][[BR]]
 • Switch to HTML mode and note that there are extra ""&nbsp;"" spaces inserted between paragraphs. [[BR]]

 ",uxtremist
19455,"The ""magic_quotes_sybase"" Problem",夏天,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-06T10:13:21Z,2011-12-22T19:47:01Z,"
Post A Post, titled (in the double quote) : `""Charlie's little cat""`

It will become  (in the double quote) : `""Charlie''s little cat""`

Notice that, single quote become double quotes!!

YES , My 'magic_quotes_gpc' and 'magic_quotes_sybase' are enabled!

Here is The PHP.NET links: http://php.net/manual/en/security.magicquotes.disabling.php",summerblue
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
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
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
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
18714,terms_updated_messages filter,nacin*,Taxonomy,,normal,normal,Future Release,enhancement,accepted,has-patch,2011-09-20T07:57:18Z,2011-09-27T05:11:23Z,"In the same vein as #18710 we should add a `terms_updated_messages` filter for the term management screen. Messages are currently hardcoded as 'Item added', 'Items deleted', etc.",johnbillion
17689,Terms should not be sanitized inside term_exists(),,Taxonomy,3.2,normal,normal,3.6,defect (bug),new,needs-unit-tests,2011-06-05T03:49:48Z,2013-05-05T04:05:44Z,"When adding a term to a post, the title of the term is sent through term_exists(). If term_exists finds and returns the ID of an existing term for the passed taxonomy, that ID is added to the post object. If no term is found, it returns false and a new term is created for that taxonomy with the same title that was passed to term_exists().

The problem is that term_exists() uses sanitize_title($term) on line 1457 of wp-includes/taxonomy.php while wp_insert_term uses stripslashes($name) on line 1985 of the same file.

This doesn't cause a problem in many circumstances, but if the term title happens to be something like $$$, that means it will always be added correctly in wp_insert_term() but never found as existing in term_exists(). The result is that every time you add $$$$ to another post it gets added as a new term with a unique slug so that you have  several terms with the title $$$$ for the same taxonomy but different IDs. 

The attached patch corrects that by passing the term title through stripslashes in term_exists() rather than through sanitize_title().

I haven't found any undesired side effects in testing.",blepoxp
21237,"Terminology for ""Front"" and ""Home""",,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-12T13:59:40Z,2012-08-17T19:25:29Z,"The following related tickets all have discussions concerning the Terminology for ""Front Page"" and ""Home Page"" is some way.

#16379 - Better UI for doing ""Page on Front"" [[BR]]
(UI effected by the terminology)

#10158 - Deprecate is_home() and is_single(), in favor of is_blog() and is_post() [[BR]]
(Conditional Tags effected by the terminology)

#18705 - home_url() and is_home() with a static front page [[BR]]
(URL function effected by the terminology)

Additionally, Template files are effected by the terminology (home.php and front-page.php)

This ticket is intended to discuss the best options that address the above terminology concerns for the sake of consistency and usability. If a determination is made here, hopefully we can use the terminology to inform the above tickets.",WraithKenny
18609,term_id collisions possible with InnoDB tables and global_terms_enabled,,Taxonomy,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-09-07T02:41:41Z,2011-10-19T01:05:47Z,"This bug relates to the ""global terms"" feature that uses the wp_sitecategories table to store all terms used across the multi-site install. This feature is enabled by setting global_terms_enabled to ""1"" in the wp_sitemeta table.

I have found that when global_terms_enabled is on, and you are using InnoDB tables, it is possible for a new term insertion in the local terms table (wp_x_terms) to fail due to an ID collision. This happens because InnoDB does not handle auto_increment in the same way as MyISAM, and the code for the global terms feature does not account for this difference.

In MyISAM, any change to a value in an auto-incremented column causes the table's AUTO_INCREMENT value (next value to be used, as seen via ""show table status"") to change. For example, if I have a MyISAM table, and I use an update statement to change the value of an auto incremented column to a value larger than the current AUTO_INCREMENT, the AUTO_INCREMENT is automatically increased as needed, so the next insertion cannot collide.

However, InnoDB does not do this. It only changes AUTO_INCREMENT on an insert. It does not change it when a column value is increased via an update statement. You can see this in the MySQL docs, or you can see it by creating a test case, like this:

- Create an InnoDB table with 2 columns: ID (auto_increment, primary key) and data.
- Insert a row using an insert statement, without specifying an ID.
- Observe that ID = 1 for that row, as expected.
- Use an update statement to set ID = 2 on that row.
- Insert another row without specifying an ID.
- Observe that the insertion fails. MySQL has attempted to insert a row with ID = 2, but there is already such a row.

If you do the same steps with a MyISAM table, the insertion does not fail, because AUTO_INCREMENT was automatically changed from 2 to 3 when your update statement was executed.

Going back into the context of the global terms feature: This problem happens when a new term is created in a site. The new term is initially inserted into the local terms table for the current site (wp_x_terms). After this, the function global_terms (in ms-functions.php) is called. This function finds or creates a matching entry in the wp_sitecategories global terms table, and uses an update statement to change the term_id of the row we just inserted in wp_x_terms. When wp_x_terms is an InnoDB table, the AUTO_INCREMENT value for the table does not change.

Suppose the AUTO_INCREMENT value was 58 after the original insertion, and further suppose that 58 was (coincidentally) the ID found in wp_sitecategories and written into our new row by the update statement described above. Now suppose we are ready to insert another new term into wp_x_terms. AUTO_INCREMENT is still 58, so we attempt to insert a term with term_id = 58, but it fails because there is already a row in the table with that ID.

Fix for this would be to reorder the operations so that no row is inserted into wp_x_terms until after wp_sitecategories has been queried and updated. That way, we know the ID we need to use when inserting into wp_x_terms before that insertion takes place, so we can specify it in the insert statement rather than depending on AUTO_INCREMENT.

I have marked this as severity major, because these unpredictable term_id collisions can cause weird errors, and the only workaround I have at this time is to disable global terms and restart MySQL (to regenerate AUTO_INCREMENT values on all tables).",andrew_l
18625,term_exists() doesn't make a difference between z and ẓ,,Taxonomy,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-09T12:23:25Z,2011-09-09T15:31:21Z,"I spent hours before discouvering why wp_insert_term doesn't want to create some of my categories list;

{{{
$alphabet = array ( 
	array( 's', 'sth' ),
	array( 'ṣ', 'sth' ),
	array( 'h', 'sth' ),
	array( 'ḥ', 'sth' ),
	array( 'd', 'sth' ),
	array( 'ḍ', 'sth' )
);

foreach ($categories as $category ) 
{
	if( term_exists(  mb_strtolower($category[0]), 'category' )) 
		continue;
	else
		wp_insert_term( $category[0], 'category',  array( 'slug' => $category[0] ) );
}
}}}

term_exists() doesn't make a difference between ""normal characters"" and diacritic characters.
",abdessamad idrissi
21606,term_exists returns 0 and null,barrykooij,Taxonomy,3.4.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-08-16T09:27:33Z,2012-11-06T23:26:58Z,"The function ''term_exists'' in ''wp-includes/taxonomy.php'' has two different return values, ''0'' and ''null''. The function does a few checks and returns ''0'' if the condition of the check is not met. If the checks are met, the return value will be the result of a ''$wpdb->get_row'' or ''$wpdb->get_var''. If the term is not found in the database the methods ''get_row'' and ''get_var'' will return ''null''.

Because of the different type of return values it's not possible to do a strict check on the return value to see if a term was found. I've changed the return ''0'' in ''term_exists'' to return ''null'', so that if there is no term found the result of ''term_exists'' will always be ''null''.",barrykooij
16632,"Template title tags shouldn't ignore the prefix,even if 'display' is false",,Template,3.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-02-24T11:03:31Z,2011-09-12T12:03:58Z,"Some template title tags that accept both the $prefix and $display paramater ignore the prefix if the display is set to false, i.e. single_post_title(), single_term_title().

Some don't, i.e. single_month_title().

It doesn't make sense to ignore the prefix - if the developer doesn't want it, he can leave it empty.
",yoavf
22355,Template stack - Beyond parent/child theme relationships,,Themes,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-03T21:45:25Z,2013-05-15T14:02:52Z,"'''Problem'''

Robust plugins (!BuddyPress, bbPress, et all) are unable to break out of the parent/child restrictions that !WordPress imposes on template output. For these plugins to include their own template parts, elaborate code must be written to hook into several different execution points, requiring an intimate knowledge of the inner workings of !WordPress's template loading system.

----

'''Solution'''

Create a stack of template locations, and allow !WordPress to transverse this array following the same STYLESHEETPATH/TEMPLATEPATH order it always has, while also enabling additional paths to be added with a priority (similar to the filters API.)

----

'''Details'''

The attached patch includes two new functions in wp-includes/template.php:

* register_template_stack()
* get_template_stack()

Register template stack is a wrapper for the 'template_stack' filter. get_template_stack() is a variation of apply_filters() that returns the array of filtered template locations.

A modification to wp-settings.php calls register_template_stack() two times, passing get_stylesheet_directory() and get_template_directory() as callbacks, to initialize the core parent/child relationship, ensuring complete backwards compatibility.

----

'''Result'''

This allows for plugins to register additional paths in the template loader hierarchy, and enables plugins that may come with their own default template parts the option of registering a fallback template location.

This works with both locate_template() and get_template_part(), and has the added benefit removing duplicate items inside of get_template_stack(), resulting in avoiding an additional file system check should the parent and child themes be the same.",johnjamesjacoby
23049,Template hirarchy for 404,,Template,,normal,normal,Awaiting Review,enhancement,new,,2012-12-22T17:19:05Z,2012-12-22T19:43:02Z,"load 404-{post-type}.php when url structure matches post permalink structure but there is no post at that address.

load 404-{taxonomy}.php when url structure matches taxonomy permalink structure but doesn't match any specific taxonomy tag URL.

And so on....

The idea is to have different 404 pages based on the context to which the URL refers. For example if a site has a blog and a shop it might be better to show a blog specific 404 page when the URL might be interpreted as a post and a shop specific 404 page when the URL might be interpreted as a product.",mark-k
15741,Taxonomy: Duplicate term slug error message refers to the name,,Taxonomy,3.0.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2010-12-09T01:03:10Z,2011-02-25T15:52:39Z,"You can't create a term if there is another existing term with the same slug. The error message indicates this warning incorrectly, referring to the term ""name"" instead of ""slug"":

 A term with the name provided already exists with this parent.

Problem in action:

 1. Create a category name ""Example"" with slug ""example"" without any parent category.
 2. Once that is saved, try creating the exact same category again.
 3. ""A term with the name provided already exists with this parent."" error shows up.
 4. Create a category name ""Example"" with slug ""example-2"".
 5. No error. Category with the same '''name''' can be created, contrary to the error  message in step 3.

The error message should refer to the slug not name if this is an intended behavior.  If the same term name should not exist under one level, step 4 should not be allowed either (especially with Tags).",Nao
23397,Taxonomy Parent Dropdown Concealed,,Administration,,normal,normal,3.6,defect (bug),new,has-patch,2013-02-05T18:21:58Z,2013-02-05T19:11:15Z,"When a taxonomy has a really long term, the parent select drop down in the Add New form can be concealed behind the list table.

Normal
[https://dl.dropbox.com/u/2200339/WordPress%20Tickets/TaxSelects/normal.png]

Really Long Taxonomy Item
[https://dl.dropbox.com/u/2200339/WordPress%20Tickets/TaxSelects/really-long-title.png]

Fix
[https://dl.dropbox.com/u/2200339/WordPress%20Tickets/TaxSelects/fixed.png]",desrosj
22511,"Taxonomy manage screen checks for manage_terms and edit_terms, instead of just manage_terms.",,Taxonomy,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-11-19T23:13:56Z,2012-11-20T03:14:40Z,"I'm trying to set up permissions so the Contributor role can add terms but not edit or delete terms. I setup my taxonomy so it looks like this:
{{{
register_taxonomy( 'custom_taxonomy', array( 'post' ), array(
	...
	'capabilities' => array (
		'manage_terms' => 'edit_posts',
		'edit_terms' => 'manage_options',
		'delete_terms' => 'manage_options',
		'assign_terms' => 'edit_posts'
	)
) );
}}}

However, when logged in as a contributor I get the error ""You are not allowed to edit this item."" In edit-tags.php there are two checks for caps, one is for manage_terms and one is for edit_terms. I don't believe the second one should be there, because looking at the other code it should be like this:

* User with manage_terms can access the main taxonomy page
* They can also add terms
* There are checks in WP_Terms_List_Table to restrict showing the Edit/Quick Edit/Delete links for users without those capabilities (edit_terms/delete_terms).
* There is even plenty of other checks on edit_terms in edit-tags.php to include/change the content shown to the user.. if the entire page is restricted for users without edit_terms, why are any of those necessary?

Even if I'm wrong on the fact that roles with edit_terms can't add new terms (it's not completely clear anywhere, it seems like manage_terms should be enough), I still think that this page should be viewable at the very least considering the other code in that page and the list table.

Recommended solution: move the edit_terms check back into case 'edit' (line 121 of edit-tags.php in trunk, currently) as it was before [15491].

This was introduced in: [15441] and [15491]. Related: #14343.",andrewryno
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
20901,Taxonomy descriptions should be TinyMCE editable,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-11T07:49:17Z,2013-05-16T10:16:18Z,"Right now taxonomy descriptions are filtered heavily for HTML and are output as a simple textarea, making it impossible to make those into ""nice"" tinymce editors without a kind of hackish plugin. 

I'd be in favor of making taxonomy descriptions tinymce by default.",joostdevalk
9547,Taxonomy - interesting 'unused' term_order column in table term_relationships.,ryan,Taxonomy,2.8,high,normal,Future Release,feature request,reopened,needs-unit-tests,2009-04-16T15:19:42Z,2013-05-14T14:06:03Z,"During development of plugin [http://wordpress.org/extend/plugins/xili-language/ xili-language], and to sort term by term list of languages in a taxonomy, I discover unused column '''term_order''' in ''term_relationships'' table and lack of functions in core about this column. Like medias in post, here the user can define languages list with first, second, third,... languages for his website (and xml header). Taxonomy tools are here very powerful without adding tables or annoying coding.

([http://plugins.trac.wordpress.org/browser/xili-language/tags/0.9.8.2/xili-language.php  see code here line 1309-1370]). 

Before to complete these very basic functions,…

Is it forecast to have more basic / generic functions using '''term_order''' in taxonomy.php ?

[http://core.trac.wordpress.org/ticket/9546 Related ticket]",michelwppi
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
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
20133,Tags with diacritical marks issue,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-02-28T18:06:15Z,2012-02-28T18:06:15Z,"I can't add tags to post with diacritical marks (for example polish word ""bąk"") and then the same word without diacritical marks ""bak"" from edit post panel, because function term_exists() in wp-includes\taxonomy.php returns true when checking if this tag already exists. I can do this from tag edit panel, but this is more time concuming.",partyzant
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
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
16369,Tag to category and categories to tag converter links,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-25T10:44:06Z,2011-01-25T13:44:28Z,"In the Post Tags and Categories pages, links are made available to direct the users to the Categories and Tags Converter in Tools.

While it is normal that these links go to the Tools>Import page as long as the Categories and Tags Converter is not installed, once it is, the links should go one step further and bring the user directly inside the Categories and Tags Converter.",paolal
16125,Tag cloud widget: hide dropdown when there's only one taxonomy,GautamGupta*,Widgets,3.1,normal,normal,Future Release,enhancement,accepted,dev-feedback,2011-01-06T18:56:09Z,2012-05-07T16:20:55Z,"~~We should use `get_taxonomies()` instead of `get_object_taxonomies()`. Attaching a patch.~~ [20285]

When there's only one taxonomy to select from, we shouldn't show the dropdown at all.
",GautamGupta
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
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
23083,Tag balancing for text widgets,,Widgets,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-30T09:11:18Z,2013-01-29T20:58:48Z,"Based on inspecting the code it looks like tag balancing is not applied to th content of the text widget. 

IMO people are more likely to produce broken HTML when adding HTML in a text widget then when writing post, but tag balancing is done only for posts and comments (in which HTML is rarely used).",mark-k
24150,tabindex doesnot work proper if metabox added,,Accessibility,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-21T04:12:43Z,2013-05-02T12:24:00Z,"Hi,
In {wp-admin} default post add form, if metabox added tab button skips metaboxes and directly goes to Publish box to take action.

Developer who wants to add tabindex to all metaboxes created, add_meta_box function should have parameter to set tabindex which will allow to go through it before publish post or skip if false. ",amolv
3567,Synchronize options for functions that display lists,,Template,,normal,normal,Future Release,enhancement,new,,2007-01-12T04:30:50Z,2009-06-13T02:52:05Z,"It would be nice if wp_list_cats, get_archives, wp_list_pages, etc, all had ""format"" and ""before"" and ""after"" options :)",Randy
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
20822,Switching visual/html on wp_editor used on front end not saved as new default,,General,3.3.2,normal,minor,Awaiting Review,defect (bug),new,,2012-06-04T06:45:12Z,2012-06-04T06:45:12Z,"Using the wp_editor on the frontend it doesn't default to the last used state it defaults to the last used state on the back end.

I did find that using:
add_filter( 'wp_default_editor', create_function('', 'return ""tinymce"";') );

inside the function I am using to replace the front end comments with the visual editor worked around this a for me by defaulting to visual which works as well for me in this case as last used, but the default should probably change globally when a logged in user toggles between the two _or_ should get saved independently.



",jb510
19666,Switching from HTML to Visual editor removes some line breaks inside PRE,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-12-25T21:34:59Z,2013-02-09T12:49:25Z,"All line breaks inside PRE elements used to transmit correctly when switching editor mode from HTML to Visual. Around WP3.1 or so, line breaks started to be removed if they happened to be inside an inline element. The common use case is a single CODE element in a PRE element:
{{{
<pre><code>Line 1
Line 2
Line 3</code></pre>
}}}
The above markup used to be handled correctly when switching between editor modes in either direction, but now the line breaks are converted to spaces when switching from HTML to Visual mode.

Many users have posts with a single CODE inside PRE, as it's semantically correct for source code, and is the convention required to support some syntax highlighters like Chili.",mrclay
19572,switch_to_post() stack implementation (similar to switch_to_blog()),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T21:54:57Z,2012-01-23T20:21:14Z,"One of the challenges themes and plugins have is the balance between utilizing the core APIs that rely on global variables, while leaving things in a ""clean"" state for the next worker in the chain.

For example, I might have a shortcode that pulls content from another post, outputs a title or some other data, then needs to restore the previous post environment. The attached patch provides APIs for doing just this - using the same stack approach that switch_to_blog() takes in a multi-site instance.

To set up a post context, call: switch_to_post($post_id);

This can be called multiple times, diving deeper into the stack. Then each process is responsible for restoring the $post context by calling: restore_post();

This goes back to the stack, bumps out the current post and restores the previous post's context.

There is some test code for demonstration here:

https://gist.github.com/1309915",alexkingorg
20861,switch_to_blog() breaks custom post type permalinks,,Multisite,,normal,normal,Awaiting Review,defect (bug),reopened,,2012-06-06T22:30:53Z,2013-04-15T12:18:49Z,"When using switch_to_blog() and custom post types, there are very strange results when calling the_permalink() or get_permalink().  For reference, we'll say the root site is blog1 and the second site containing the posts is blog2.

Using this code inside the loop:

{{{
switch_to_blog( $post->blog_id );
get_permalink();
}}}


If the post type is not registered on the current blog, the permalink given will be sitename.com/blog2/slug - when clicking it as href, it brings you the first instance of that slug in the database.

If the post type is registered on the current blog, the permalink given will be sitename.com/blog2/blog1/post-type/slug - this link will 404.

Related issue: #14992",sickhippie
15648,switch_theme action hook may provide the old template value,,Themes,,normal,trivial,Future Release,enhancement,new,,2010-12-02T14:16:03Z,2011-01-30T20:00:37Z,"When someone change its theme, and both support custom header, then the banner and the text color are not preserved (these options are theme specific)


Anyway, one may want to preserve these values :
 * check if the new theme has its default value
 * check if the old theme values are compatible
 * ...
 * migrate the values

But in order to do this, WordPress should provide the value of the old theme in use. It would be easy to get it in switch_theme() and to send it as a second argument to the action hook.",drzraf
23358,Switch to a usermeta key for email confirmation in Multisite,,Multisite,3.0,normal,normal,Awaiting Review,enhancement,new,,2013-02-01T13:54:05Z,2013-02-01T13:54:53Z,"Background: #23146

In `send_confirmation_on_profile_email()`, an option is used to store the new email: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/ms.php#L238

A usermeta key should be used instead.",SergeyBiryukov
16668,SWFUpload 2.2.1,,External Libraries,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-25T20:38:07Z,2011-09-19T15:24:55Z,"Update SWFUpload to version ""2.2.1 2009-03-30"" from ""2.2.0 2009-03-25.""

Changes how settings are passed to functions, using function scope instead of object scope. Looks like some other code simplification during those five days.

[http://code.google.com/p/swfupload/source/browse/swfupload/trunk/core/ SWFUpload repo]

Updates the SWF as well. Looks like an ExternalInterface change based on project commits.

Files swfupload-all.js and handlers.js left as is since they are not part of the external repo. If swfupload-all.js is a rollup it should obviously be updated.",niallkennedy
18590,"Swap out ""return false"" JS calls for preventDefault",,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T03:43:16Z,2012-12-10T23:12:00Z,"While trying to hook into someone clicking the expand/collapse arrow in the nav menu UI, I realized that the existing Javascript is using `return false;` to abort the hyperlink click from going through.

[http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ This is bad and incorrect.]

We should be using `object.preventDefault()` instead so that other bound functions aren't aborted.",Viper007Bond
23492,svn:ignore wp-config.php,,General,trunk,low,minor,Awaiting Review,defect (bug),new,,2013-02-17T17:59:42Z,2013-02-17T17:59:42Z,"`wp-config.php` very often exists in Subversion checkouts, but it should never be committed. Could we add a `svn:ignore` property for it?",nbachiyski
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
21153,supporting protocol-relative urls,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-07-04T10:04:09Z,2012-07-04T11:04:29Z,"changing http:// and https:// generated links to // links would easily add support for hosting a site both under http and https easily

one place I've found this to be changed is in wp-includes/link-template.php around line 2006

the first if could be changed to:

$url = str_replace( ""https://"", ""//"", $url)
$url = str_replace( ""http://"", ""//"", $url)",nagyv
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
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
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
13661,Support id=>name in fields arg of get_terms(),,Taxonomy,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-05-31T18:46:52Z,2010-10-27T12:30:23Z,"In trying to use `get_terms()` I found it didn't support what seemed a common use case; an array where keys were `$term->term_id` and the values where `$term->name`. 

This patch adds functionailty for a ""`id=>name`"" in `fields` arg of `get_terms()`. It returns array of term names keyed by the term id.

This path is similar to changeset:12729 by ryan on 2010-Jan-15.

I searched for a similar ticket but didn't find anything recently related.
",mikeschinkel
23622,Support Google Maps / Docs / Spreadsheet embeds,,Embeds,,normal,normal,Awaiting Review,feature request,new,,2013-02-26T06:08:17Z,2013-05-06T21:19:58Z,"Google Maps and Drive (docs, spreadhseets, and presentations) all can do embeds, but don't support oEmbed. Still, I think they're big enough for the core to have support for natively. We already have Google Video support, and it's pretty much dead now.

Initial patch attached. 

- To get a Maps URL, view a Google Map, then select the ""Link"" icon in the left menu bar, top-right corner.
- To get a docs/sheet/presentation URL, open the item, select ""File->Publish To Web. Once it's published and visible to the web, the dialog will give a link for you to copy/paste.

This uses the normal embed handler, meaning that either the [embed] shortcode or just pasting the URL on a line by itself will trigger the embed. Width and height parameters are supported, and Presentations has special parameters to allow full-screen viewing.
",Otto42
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
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
22810,Support for theme changelogs,,Themes,,normal,normal,Future Release,enhancement,new,early,2012-12-07T14:39:22Z,2013-02-20T20:40:06Z,"Plugins' changelogs are shown in the WordPress plugin repository in tabs, eg. http://wordpress.org/extend/plugins/events-manager/changelog/.

Plugins' changelogs are also linked to when viewing available updates in WP-admin, so the siteadmins can know if the update could mess with their customizations.

Theme changelogs are not visible in either place. They should be supported in both places. Also http://codex.wordpress.org/Theme_Review should be updated to reflect that the theme changelogs are much recommended if not mandatory to use and to specify the exact format for them. Currently it uses language that is not clear for those who don't speak English as their first language: ""In lieu of..."" and then ""...Themes are recommended to include a changelog"", which doesn't let the theme author know what format should the changelog be in.

At the moment I've seen changelogs for themes in different formats, but none of them is supported.

Summary of the issues:

1. Add support for theme changelogs on https://wordpress.org/extend/themes/ theme pages in tabs.
2. Add support for theme changelogs in wp-admin theme list views.
3. Clarify Theme Review codex page on the supported format(s) and use more simple English than ""in lieu of"".",Daedalon
6425,Support for RTL in feeds,nbachiyski,I18N,,normal,normal,Awaiting Review,enhancement,assigned,close,2008-03-27T20:56:51Z,2012-02-08T06:07:07Z,"In the current state of most Feed readers, the only surefire way to make RTL content display properly is to have directionality enforced inside the content - that is, either with {{<div dir=""rtl"">}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or &#8235; and &#8236;, or U+202B and U+202C.) for excerpts or titles.

While we currently have pretty good support for RTL languages, there is no support for RTL in feeds - all is left up up to the feed reader.

I suggest adding a mechanism to automatically insert these tags/characters for blogs that have text_direction set to RTL - much in the same way RTL css style sheets are loaded for these blogs.

I have attached a patch that modifies the feed templates to insert these tags/characters. Note that there is no checking of blog directionality here - this is just an example of how to enforce RTL in feeds, not how to enforce it conditionally.

This relate to a previous ticket I submitted (#5517), regarding adding an option to set the feed language - which currently just defaults to EN. Certain feed readers know to display RTL text in proper directionality according to feed language (for e.g., feeds that have their feed language set to HE (Hebrew), will get displayed from Right to Left). While setting feed language is not a comprehensive solution, it is a step in the right direction.",RanYanivHartstein
23932,Support for remove_post_type_support() in attachment post type,,Media,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-03T22:07:02Z,2013-04-03T22:07:02Z,"In the past it was possible to remove certain fields from the media editor by hooking ""attachment_fields_to_edit"" and unset'ing the fields you didn't want included (e.g. caption).

After the media library got the major rework in WP3.5 its longer possible to remove those fields.

I believe that since the attachment post type has been more closely lined up to normal posts it should support remove_post_type_support() et al.

The easiest (and probably popular) case for this is removing the editor.  I believe this code should do the trick:

{{{
#!php
remove_post_type_support( 'attachment', 'editor' );
}}}
",flyingtrolleycars
24098,Support for HTML5 roles,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-16T07:44:16Z,2013-05-12T00:01:07Z,"I was going through http://core.svn.wordpress.org/trunk/wp-includes/kses.php and I realized that most of the new HTML5 tags have been introduced but `role` is a missing attribute.

I feel that since WordPress has already made a move towards HTML5 by supporting `<article>`, `<section>` and other tags, all attributes should be made available too. `role` should be added to the required tags falling under `$allowedposttags`.

Go through the link for more information on [http://www.w3.org/wiki/PF/XTech/HTML5/RoleAttribute roles].",aniketpant
23017,Support for fatal errors on XML-RPC,,XML-RPC,3.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-12-20T11:24:27Z,2013-03-19T11:22:13Z,"Similar to #16748, when a fatal error occurs, PHP will output some HTML code which at best is confusing for XML-RPC clients.

Using the `shutdown` action, we could die more gracefully and return a XML-RPC formatted error",koke
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
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
16471,Support default values for non-existant query vars in get_query_var() et al,,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-06T15:48:58Z,2011-03-07T02:43:46Z,"When using {{{get_query_var($var)}}} or {{{$GLOBALS['wp']->get($var)}}} and {{{$var}}} is the name of an unexistant query variable, those functions will return an empty string.

Next to that there is no function that provides information about whether or not a specific query variable has been set.

I therefore suggest to make both functions able to optionally return a chooseable default fallback value then the empty string we have.",hakre
18995,Superfluous check in WP_Users_List_Table::display_rows(),,Users,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-10-19T01:21:11Z,2012-08-05T22:25:26Z,"Specifically, this one:

{{{
if ( is_multisite() && empty( $role ) )
    continue;
}}}

It seems to have been a misguided attempt to fix something that should have been (and currently is) handled at the SQL level: #12711",scribu
20459,Super admin should be able to bypass banned/limited domains when creating users,,Network Admin,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-16T16:12:25Z,2012-04-16T16:12:25Z,"The function `wpmu_validate_user_signup()` is run whenever a new user is created, either through self-registration (wp-signup.php) or through manual user creation by an admin. `wpmu_validate_user_signup()` does two different kinds of validation: 
(1) validation that is more or less technically required by WP, like spaces in usernames, email/login uniqueness, etc.
(2) checks against some admin-set membership restrictions, namely, email domain whitelist (limited_email_domains) and blacklist (`is_email_address_unsafe()` and banned_email_domains).

The second kind of validation is problematic in the following use case: An MS install might restrict open membership based on email domains, but the admin might occasionally want to make exceptions to the rule and manually create an account. Currently, there are two ways to bypass the built-in checks: to temporarily remove the domain restrictions at Network Admin > Settings, or to filter `'wpmu_validate_user_signup'` and remove the error messages. 

Having to manually change settings for this purpose is pretty hackish. The filter method works, but my experience (from consulting with a fairly large number of MS network admins) is that this is a pretty common use case, so it seems like it should be supported by default. 

So I'm proposing that the domain checks be skipped when `is_super_admin()`. Patch attached.",boonebgorges
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
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
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
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
18400,"Suggested label change for ""Stick this post to the front page""",,Text Changes,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-08-14T01:19:53Z,2012-11-19T16:46:13Z,"In the Publish meta box, it would be more clear to say ""Stick this post to the top of the front page"" compared to saying ""Stick this post to the front page"".",designsimply
18518,suggest.js: don't store the URL in the options object,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-25T20:35:21Z,2011-11-16T00:51:03Z,"...because it prevents re-using the same instance for different URLs:

{{{
var suggest_args = {
	multiple     : true,
	delimiter    : ',',
	resultsClass : 'qc-suggest-results',
	selectClass  : 'qc-suggest-over',
	matchClass   : 'qc-suggest-match',
};

$( '#ticket-assign input' ).suggest( QC_L10N.ajaxurl + '?action=qc-user-search', suggest_args );

$( '#ticket-tags input' ).suggest( QC_L10N.ajaxurl + '?action=ajax-tag-search&tax=post_tag', suggest_args );
}}}

With the above code, both inputs will look for items in the same URL: the second one.

Attached patch fixes this.",scribu
23748,Suggest rewrite rules on IIS Network (Multisite),,Multisite,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-12T18:23:35Z,2013-03-12T18:23:35Z,"Server: Microsoft IIS - 8
Wordpress: 3.5.1 (multisite)

On subfolder install, suggest for web.config is:
{{{
<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name=""WordPress Rule 1"" stopProcessing=""true"">
                    <match url=""^index\.php$"" ignoreCase=""false"" />
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule for Files"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?files/(.+)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""wp-includes/ms-files.php?file={R:1}"" appendQueryString=""false"" />
                </rule>
                <rule name=""WordPress Rule 2"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?wp-admin$"" ignoreCase=""false"" />
                    <action type=""Redirect"" url=""{R:1}wp-admin/"" redirectType=""Permanent"" />
                </rule>
                <rule name=""WordPress Rule 3"" stopProcessing=""true"">
                    <match url=""^"" ignoreCase=""false"" />
                    <conditions logicalGrouping=""MatchAny"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" ignoreCase=""false"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" ignoreCase=""false"" />
                    </conditions>
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule 4"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:1}"" />
                </rule>
                <rule name=""WordPress Rule 5"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?([_0-9a-zA-Z-]+/)?(.*\.php)$"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:2}"" />
                </rule>
                <rule name=""WordPress Rule 6"" stopProcessing=""true"">
                    <match url=""."" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""index.php"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>		
}}}

On sudomain install, it is:
{{{
<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name=""WordPress Rule 1"" stopProcessing=""true"">
                    <match url=""^index\.php$"" ignoreCase=""false"" />
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule for Files"" stopProcessing=""true"">
                    <match url=""^files/(.+)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""wp-includes/ms-files.php?file={R:1}"" appendQueryString=""false"" />
                </rule>
                <rule name=""WordPress Rule 2"" stopProcessing=""true"">
                    <match url=""^wp-admin$"" ignoreCase=""false"" />
                    <action type=""Redirect"" url=""wp-admin/"" redirectType=""Permanent"" />
                </rule>
                <rule name=""WordPress Rule 3"" stopProcessing=""true"">
                    <match url=""^"" ignoreCase=""false"" />
                    <conditions logicalGrouping=""MatchAny"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" ignoreCase=""false"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" ignoreCase=""false"" />
                    </conditions>
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule 4"" stopProcessing=""true"">
                    <match url=""^(wp-(content|admin|includes).*)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:1}"" />
                </rule>
                <rule name=""WordPress Rule 5"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?(.*\.php)$"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:2}"" />
                </rule>
                <rule name=""WordPress Rule 6"" stopProcessing=""true"">
                    <match url=""."" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""index.php"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>	
}}}

I think that Wordpress Rules for files and Wordpress Rule 4 and 5 should follow same rules than htaccess suggest. 
When following actual suggest in a subfolder installation, I get an HTPP Error in call to sub site, error is always reproductible for me - can you confirm.

A fix could be to add a subdir replacement rule {R:1} for subdomain install and {R:2} for subfolder.

Implementation in the network.php file (adding $iis_subdir_replacement_12):
{{{
$iis_subdir_replacement = $subdomain_install ? '' : '{R:1}';
$iis_subdir_replacement_12 = $subdomain_install ? '{R:1}' : '{R:2}';

$web_config_file = '<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name=""WordPress Rule 1"" stopProcessing=""true"">
                    <match url=""^index\.php$"" ignoreCase=""false"" />
                    <action type=""None"" />
                </rule>';
				if ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) {
					$web_config_file .= '
                <rule name=""WordPress Rule for Files"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . 'files/(.+)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""' . $iis_rewrite_base . 'wp-includes/ms-files.php?file='.$iis_subdir_replacement_12.'"" appendQueryString=""false"" />
                </rule>';
                }
                $web_config_file .= '
                <rule name=""WordPress Rule 2"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . 'wp-admin$"" ignoreCase=""false"" />
                    <action type=""Redirect"" url=""' . $iis_subdir_replacement . 'wp-admin/"" redirectType=""Permanent"" />
                </rule>
                <rule name=""WordPress Rule 3"" stopProcessing=""true"">
                    <match url=""^"" ignoreCase=""false"" />
                    <conditions logicalGrouping=""MatchAny"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" ignoreCase=""false"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" ignoreCase=""false"" />
                    </conditions>
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule 4"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . '(wp-(content|admin|includes).*)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""' . $iis_rewrite_base . $iis_subdir_replacement_12 . '"" />
                </rule>
                <rule name=""WordPress Rule 5"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . '([_0-9a-zA-Z-]+/)?(.*\.php)$"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""' . $iis_rewrite_base . $iis_subdir_replacement_12 . '"" />
                </rule>
                <rule name=""WordPress Rule 6"" stopProcessing=""true"">
                    <match url=""."" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""index.php"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>';
}}}

Sorry for my english :)

regards


",guy_fr
12705,Suggest add new filter to wp_insert_user(),,Users,,normal,normal,Future Release,feature request,new,,2010-03-25T13:59:20Z,2010-03-26T00:46:48Z,"Now, there is no way to change new registration workflow. When every attribute is valid, user registration is approved. I want to add  filter to interrupt this workflow to wp_insert_user(). Such as:
// in registration.php line 105
$userdata = apply_filter(filter_name, $userdata)
if( !$userdata ) return

I want to use this filter to interrupt normal registration flow.",nkucyd@…
21994,Subdomains may not exceed 63 characters in length,,Network Admin,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-25T22:31:44Z,2012-09-28T07:57:15Z,"According to section 3.1 ""Name space specifications and terminology"" of  [http://www.faqs.org/rfcs/rfc1034.html RFC1034], domain names are nodes in a tree structure and ""Each node has a label, which is zero to 63 octets in length.""

WP should help to correctly enforce this requirement, so I've attached a patch that adds a maxlength=""63"" attribute on the input field on line 126 of wp-admin/network/site-new.php. This should help sites and network admins prevent the creation of blogs hosted on subdomain installs that will not resolve properly, and at the same time allow for maximum length subdomains.",humanshell
23371,Subdir front-end Toolbar bug on first login,,Toolbar,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-02-02T22:36:59Z,2013-02-04T20:17:25Z,"In an obscure set of circumstances, I encountered a small bug where the Toolbar doesn't display on the front-end of a subdirectory install on the first login where the site URL points to the root domain.

`show_admin_bar_front` is rightly set to true both on first and second+ logins, but the Toolbar doesn't display on the front-end. The js isn't even being loaded.

I can reproduce this all the way back to 3.3.

To reproduce:
1. Install a fresh copy of !WordPress in a subdirectory.
2. Login.
3. Change site url to point to the main domain.
4. Visit the front-end, observe the Toolbar isn't displayed.
5. Logout.
6. Login again.
7. Re-visit the front-end, observe the Toolbar now displays as expected.

I'm unable to trace back what's causing the Toolbar not to be displayed after the initial login. Maybe we should just force the user to login again after changing the site url.",DrewAPicture
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
18225,Sub-blog on Network site redirects to wrong URL for user registration,,Multisite,3.2.1,normal,critical,Awaiting Review,enhancement,new,,2011-07-23T03:35:06Z,2012-11-04T06:00:36Z,"When a user clicks on the '''register''' button of a sub-blog, it redirects the user to the signup form on the primary blog, which means they end up creating an account with it instead of the sub-blog.

When the user tries accessing the sub-blog login after activation, they are denied access because the registration took place with the parent blog instead.  There's also no way to transfer users to another blog.

This issue sounds similar to the one in #16866 , but it's not a feature request, instead it's a bug.

My test case is:
network blog is installed in sub-directory, such as '''http://mydomain.com/blogs/'''.
A sub-blog is created at say '''http://mydomain.com/blogs/my-sample-blog/'''.
I register a new user account with the sub-blog, which takes me to '''http://mydomain.com/blogs/wp-signup.php''' instead of http://mydomain.com/blogs/my-sample-blog/wp-signup.php.

Running on Ubuntu 10.04, Apache 2, PHP 5.3, WordPress 3.2.1.",amereservant
16919,style.css can sometimes conflict with custom background image,,Themes,3.1,normal,normal,Future Release,defect (bug),new,reporter-feedback,2011-03-21T21:54:10Z,2011-06-10T16:27:10Z,"Steps to repeat:

1. Theme with the following body style (or something similar):

{{{
body {
	background: url(images/texture.jpg) #fff;
}
}}}

2. Use `add_custom_background();` in functions.php

3. Select custom bg color, but no custom bg image.

4. View site. Custom bg color shows under the default background image, looks strange. No way to eliminate the use of textured or patterned background without editing style.css.

Intended result would be that if no bg image is chosen, none is needed.

Attached patch should address this.",nathanrice
22402,Stripping non-alphanumeric multi-byte characters from slugs,,Formatting,,normal,normal,Awaiting Review,enhancement,new,,2012-11-10T05:07:10Z,2012-11-22T03:13:41Z,"`sanitize_title_with_dashes()` strips non-alphanumeric characters from a title to create a slug. Unfortunately it only strips ASCII non-alphanumeric characters. Apart from a few exceptions, all multi-byte characters are preserved. This means all non-Western (and plenty of Western) non-alphanumeric characters end up in the slug as they're treated just like any other multi-byte character.

As an example, here are some common non-alphanumeric Chinese characters which would ideally be stripped from slugs, but are not:

 * 。 (U+3002, Ideographic Full Stop, %E3%80%82)
 * ， (U+FF0C, Fullwidth Comma, %EF%BC%8C)
 * ！ (U+FF01, Fullwidth Exclamation Mark, %EF%BC%81)
 * ： (U+FF1A, Fullwidth Colon, %EF%BC%9A)
 * 《 (U+300A, Left Double Angle Bracket, %E3%80%8A)
 * 》 (U+300B, Right Double Angle Bracket, %E3%80%8B)

Obviously it would be impractical to make a list of ''all'' the non-ASCII characters we want to strip from slugs. The list would be gigantic.

So the question is, would it be possible to use Unicode ranges to blacklist (or whitelist) whole ranges of characters to be stripped from (or preserved in) slugs? Is this practical or even desirable?

Or would it make more sense to continue using a list of just the most common multi-byte characters to be stripped?

The latter makes a whole lot more sense, but the former is a more complete solution.

Thoughts?",johnbillion
7559,strip_tags() breaks category names with left angle brackets,ryan,Taxonomy,2.6,normal,minor,Future Release,defect (bug),reopened,,2008-08-20T22:17:19Z,2010-07-01T17:44:25Z,"If you create a category named ""<something"", the category name doesn't show up on any of the category listings.  If you create a category named ""some<thing"" the category name shows up as ""some"".",squirreling
17270,strip_tags function in XML RPC needs replacing with regex,,XML-RPC,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-28T16:32:46Z,2011-04-28T16:32:46Z,"I've been working on a plugin that works with pingbacks, and I have come across a problem with a line in class-wp-xmlrpc-server.php which uses strip_tags. 

(line 3422 in WP 3.1):
$linea = strip_tags( $linea, '<a>' ); // just keep the tag we need

For some reason this function is not working properly at all on some templates (or that is the way it seems) and instead of returning all the <a> tags is cutting a lot of them out, making it seem to the server like there is no target link in the source URI, and thus returning a pingback fault 17 unnecessarily. And this means a large percentage of genuine pingbacks are failing without the user even knowing about it!

I suspect the function is having trouble with plugins that insert javascript near the header of the page, though it could be otherwise, as I have done a test to see what is left after this line is run, it returns some garbled javascript, no links at all from the post content (where the source links actually were), and then the menu links.

I have included a workaround in my new plugin:
http://wordpress.org/extend/plugins/pingchecker/
Basically it does a regex match for links in your content, then echoes them in a hidden div in the footer, making it much easier for the strip_tags function to actually find them. It works pretty well so I'm not fussed myself, but I thought it worth writing about..

This line really needs to be replaced with the regex match in the actual server code for future WordPress users too. I don't know regex myself, but I used sample code I found here (http://regexadvice.com/forums/thread/48395.aspx) for this regex expression, which seems to work really well.

In any case, strip_tags is not doing a reliable job at this and needs replacing. Hopefully this finds its way to the right person able to fix this. Thanks!",majick777
20740,strip_shortcodes Chokes On Empty Shortcodes,,General,3.3.2,normal,minor,Awaiting Review,defect (bug),new,,2012-05-23T22:58:56Z,2012-05-23T22:58:56Z,"It appears the regex for strip_shortcodes doesn't recognize empty shortcodes. For example, a caption shortcode like this would only have the opening shortcode tag stripped:


{{{
[caption id=""attachment_3360"" width=""288"" caption=""Some caption""][/caption]
}}}


The closing caption tag remains in the resulting string.

I realize this is a fringe case (why would you have an empty caption?), but it popped up for me when working with a popular plugin that attempts to generate an excerpt by doing the following:

{{{
$content = strip_tags($content);
$content = strip_shortcodes($content);
}}}

Seems harmless--but if a caption contains only an image tag, the strip_tags removes it, and the strip_shortcodes chokes on the now-empty shortcode. Or even worse, if you have a second caption shortcode in the content, it strips EVERYTHING between the first opening caption tag and the second closing caption tag.

And I have to imagine there are some custom shortcodes that may be legitimately empty for some reason. I dunno.

To reproduce:

{{{
$content = '[caption][/caption]

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

[caption][/caption]';

$content = strip_shortcodes($content);

echo $content;
}}}
",MathSmath
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
18953,"String index handling mistake in TinyMCE's JSON.php causes a PHP ""Notice"" message",azaozz,TinyMCE,3.2.1,normal,normal,Awaiting Review,defect (bug),reviewing,has-patch,2011-10-14T21:42:55Z,2011-12-20T20:20:22Z,"In the SpellChecker plugin for TinyMCE with a PHP backend, in file JSON.php, in lines 332 (""read"" function) and 350 (""peek"" function), the $this->_data string index ($this->_pos) is compared with $this->_data string length ($this->_len). These allow errors in lines 339 and 351 of their respective functions, when the $this->_pos index gets to be equal to the length of the string.  This situation generates the following messages to show up in PHP servers configured to show notice-level debug information:

Notice: Uninitialized string offset: <length of _data> in <WordPress path>/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php on line 351

Notice: Uninitialized string offset: <length of _data> in <WordPress path>/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php on line 339

I will attach a patch file to illustrate how I solved this situation.",carlosman
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
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
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
4463,Strange paging links,ryan,Permalinks,2.3,normal,normal,3.6,defect (bug),new,has-patch,2007-06-14T03:00:49Z,2013-04-12T23:22:37Z,"Ryan:

{{{
In trunk, with cruft free links, I get stuff like this:

http://foo.blog/page/3/?s=test

That's not right. Maybe we should revert back to pre [5454] to fix the trunk problems.
}}}

[5454] was the commit for #3930

If at all possible, I'd like to work with the new code.",markjaquith
22127,strange behaviour with shortcode with the_content filter,,Shortcodes,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-08T11:04:01Z,2012-10-08T12:03:34Z,"let's say i have installed any lightbox/thickbox/... plugin (same behaviour with 'auto thickbox plus', 'lightview plus', 'jquery lightbox', 'fancybox plus', 'wp jquery lightbox' ...) and i have a shortcode, which uses the_content filter, e.g.

{{{
function test_shortcode( $atts, $content = null ) {
   return apply_filters('the_content', $content);
}
add_shortcode( 'test', 'test_shortcode' );
}}}

then if i use [test] shortcode anywhere in the post, the lightbox does not work. e.g. 

{{{
[test]test[/test]

[caption ... /] // this is standard image
}}}

if the shortcode do not have the_content filter, or the shortcode is not use anywhere in the post, or i put the 'lightbox' etc. class to [a] directly than it works as a charm.

There may be a bug in the lightbox plugins, but it is strange, that it is in ALL lightbox plugins.

But even in that case for me it is very strange, that something what is INSIDE the shortcode affects OUTSIDE of the shortcode. That's why i think it is a bug of core.",thomask
21762,Storing a multidimensional array using register_setting double-serializes subarrays identified with a string,sekatsim,Database,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-31T22:43:16Z,2012-09-01T16:36:41Z,"Storing a multidimensional array, such as `$options['my-option'][$id] = ""value""`, into the database using register_setting results in the ""my-option"" string getting double serialized. The option_value is stored as:

`s:9:""'my-option'"";a:1:{s:9:""option-id"";s:5:""value"";}`

The my-option array is encased in both single and double quotes, so that `isset($options['option-id']` evaluates false, but `isset($options[""'option-id'""]` evaluates true.",sekatsim
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
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
23559,Sticky single post page doesn't have .sticky class,,Template,2.7,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-20T11:34:44Z,2013-02-20T13:52:10Z,"As explained in summary, it's impossible to style a single page for a sticky post without modifying content.php, why this? it's a behavior wanted.

wp-includes\post-template.php, line 344:

{{{
	// sticky for Sticky Posts
	if ( is_sticky($post->ID) && '''is_home()''' && !is_paged() )
		$classes[] = 'sticky';
}}}

Thanks :)",sgr33n
23336,"Sticky Posts lack sanity bounding. If used too much, can severely degrade performance.",,Query,,normal,normal,3.6,defect (bug),new,has-patch,2013-01-31T05:09:37Z,2013-04-16T15:06:24Z,"Came across an issue where a site was using sticky posts for a slider on the front page. The rest of the front page used custom taxonomy queries. As such, they'd mark items as sticky, have the slider grab the first three. Over years, they accumulated thousands of sticky posts, which, as you can imagine, made the front page of their site absurdly slow, as it was querying those thousands of posts every time.

Should we establish some sort of sanity limit here, to keep people from shooting themselves in the foot? I found this a REALLY hard issue to diagnose. Even with debug bar, there is no indication that sticky posts are being queried. There's just a giant WP_Query call that does a giant `IN()` query.

Something like a limit of 100 with FIFO would keep things from getting too crazy, without restricting people too much. If you have a need for more than that, you need to be using a taxonomy query.",markjaquith
11950,Sticky Posts are too aggressive,,Query,2.9.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2010-01-19T15:43:50Z,2011-12-19T03:19:07Z,"I don't think the default behavior should be to have sticky posts included every time a query_posts() is used.  I realize you can set the 'caller_get_posts' argument to avoid sticky posts from being added, however having to do this everywhere becomes a burden.  

What are your thoughts on having the WP class add 'include_sticky' var to the_query if it isn't already set and then not include the sticky posts by default?",prettyboymp
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
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
24153,Sticky flag gets unset if author doesn't have publish_posts permission,,Role/Capability,3.5.1,normal,major,Awaiting Review,defect (bug),new,,2013-04-22T05:03:20Z,2013-04-23T04:58:05Z,"I'm observing a bug with the sticky flag. I set up a special user with a role of ""Grammar Nazi"" who should only have access to editing of other people's posts, but not publishing his own.

The permissions given to this role are:
- edit_published_posts
- edit_others_posts
- edit_posts
- read
- read_private_posts

This user works out great - he's limited to only editing errors in other authors' posts.

However, there is a bug with sticky posts. If a grammar nazi edits a stickied post, '''the sticky flag gets unset'''. As a possibly related observation, there's no Edit button on the post edit page next to the Visibility area.

This bug is worked around by adding the ''publish_posts'' permission. However, this permission is unwanted in this case as grammar nazis shouldn't be able to post their own posts. Adding ''publish_posts'' enables the Edit button next to Visibility, and saves retain the sticky bit correctly.

So, in short: the sticky bit should be retained even when users without the ''publish_posts'' permission update a post.",archon810
22476,Standardize single and double quotes in CSS url()s,,Administration,,low,trivial,3.6,enhancement,new,has-patch,2012-11-16T17:26:05Z,2013-04-10T19:48:14Z,"As per http://www.w3.org/TR/CSS2/syndata.html#value-def-uri (and other locations), single quotes {{{'}}} and double quotes {{{""}}} in {{{url()}}} values in CSS like
{{{
body { background: url(""../img/image,gif"");
}}}
are optional. Most of core's CSS is already written without such quotes. The patch 22476-remove-quotes-in-url.diff removes the remaining ones, for consistency and to save us some bytes again, even in the minified CSS.",TobiasBg
20890,Standardize line endings of wp-config-sample.php and wp-fullscreen.css,,General,,normal,trivial,Awaiting Review,defect (bug),new,,2012-06-08T15:24:46Z,2012-06-08T15:57:59Z,"Two core files seem to have invalid line endings (\r).
{{{
~/data/wp$ ack -l ""\r""
wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css
wp-config-sample.php

~/data/wp$ cat -vT wp-config-sample.php | head
<?php^M
/**^M
 * The base configurations of the WordPress.^M
 *^M
 * This file has the following configurations: MySQL settings, Table Prefix,^M
 * Secret Keys, WordPress Language, and ABSPATH. You can find more information^M
 * by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing^M
 * wp-config.php} Codex page. You can get the MySQL settings from your web host.^M
 *^M
 * This file is used by the wp-config.php creation script during the^M
}}}",xknown
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
23575,Standard UI Classes and Functions,,Administration,3.5,normal,normal,Awaiting Review,feature request,new,,2013-02-21T09:09:27Z,2013-02-22T02:31:55Z,"It would be nice if wordpress allowed you to use the Post UI natively in my plugins, at the moment I've had to write a few classes for my Plugin Framework that mimic the Publish Metabox and Tabbed Metabox. 

As there is simply no easy way to do this at the moment, I think there should also be a better way of registering hidden menus. I have to jump through loads of hoops just to do this.

",jscampbell.05
21506,Standard Theme Hooks,,Bundled Theme,,normal,normal,Awaiting Review,enhancement,new,,2012-08-07T02:10:55Z,2013-03-28T22:12:58Z,"During the hack day at WordCamp SF, Konstantin Kovshenin and I sat down to work out a solution to allow for better communication between themes and plugins. We propose that core introduce 4 new hooks into the default WordPress themes allowing plugins to add custom markup relative to common theme elements. While many other theme locations could be recognized, we have only included hooks that we could provide at least three use common use cases for.

header_after: Allows custom markup to be inserted after all visual header elements have rendered. Possible use cases for this hook include:

 * Breadcrumb navigation.
 * Links to social profiles.
 * Advertising.
 * log in/out form.

post_after: Allows custom markup to be inserted after all visual elements have rendered for the current global post object. This hook would fix the issue originally reported in #18561. Possible use cases for this hook include:

 * Sharing links.
 * Related posts.
 * Ratings.
 * Author bio.

comment_after: Allows custom markup to be inserted after all visual elements have rendered for the current global comment object. Possible use cases for this hook include:

 * Upvote/Downvote control.
 * Ratings.
 * Show/hide threads functionality.

footer_after: Allows custom markup to be inserted after all visual elements have rendered for the footer. While this action is similar to {{{wp_footer}}}, it would be possible for the theme author to move this into nested html elements. To my knowledge, {{{wp_footer}}} is intended to fire immediately before the closing {{{body}}} tag. Possible use case for this hook include:

 * Links to social profiles.
 * Advertising.
 * The ""small print"" or copyright information.

If standardized hooks such as these were recognized by core, it would also have a positive effect on child theming. Theme authors would no longer need to override entire files just to introduce an element of two.

We have prepared 3 patches for the default themes to demonstrate placement of these hooks as well as a plugin to demonstrate their usage.",mfields
20253,SSL login in custom port,,Template,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-18T09:08:12Z,2012-04-19T03:21:13Z,"From my blog article, http://blog.1407.org/2012/03/18/log-into-wordpress-with-ssl-on-custom-port-if-needed/

In order to login into WordPress with SSL you just need to add the following to wp-config.php:

{{{
    define(‘FORCE_SSL_LOGIN’, true);
    define(‘FORCE_SSL_ADMIN’, true);
}}}

But that redirects you to https://www.yourDomain.org/. What if you need to redirect into https://www.yourDomain.org:8443/ ? What then?

Well, the following patch will allow you to add a property called CUSTOM_PORT which you will define as your desired port. In case of my small example, 8443 like this:

{{{
    define(‘CUSTOM_PORT’, 8443);
}}}",rseabra
21610,ssh2/sftp doesn't work with chrooted/openssh sftp-internal user accounts (no shell),albert@…,Filesystem,3.4.1,normal,normal,Awaiting Review,feature request,new,,2012-08-16T16:06:35Z,2012-09-10T18:20:52Z,"The current wordpress 3.4.1 wp-admin/includes/class-wp-filesystem-ssh2.php  code will crash php or spin in an endless loop when someone supplies ssh/sftp credentials (username/password) to an (open)ssh server where users don't have a shell and are chrooted to their home directory e.g. by using openssh's sftp-internal server and ChrootDirectory functionality.
There is no neat fix for the code in the WP_Filesystem_SSH2 class. I've implemented a new WP_Filesystem_SFTP class making use of the portable phpseclib library.

At this moment it is necessary to change a line in wp-admin/includes/file.php to be able to use WP_Filesystem_SFTP.
Attached is the code for this new class up for review or for anyone with the same problem.",albert@…
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
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
23278,Spin PressThis off into a plugin,,Press This,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-01-23T21:43:23Z,2013-01-24T12:25:15Z,"PressThis has really been the ignored stepchild of WordPress for quite a while now.  I'd like to propose that we spin it out of core and into a plugin (either installable via the plugin repo or bundled with wp, whatever)

Several things to consider:

* Backwards Compatability: What happens when someone upgrades then uses an old bookmarklet?  I'd suggest either autoinstalling, or prompting them immediately to install the plugin through a special catch in core.
* Press This doesn't have an includes file in wp-admin/includes that other plugins could pull in, so extracting it is very unlikely to break plugins that could be manually pulling that in.
* This will make it easier to upgrade in plugin form, and let other people have an easier time hijacking it to use their own implementations.

In today's IRC chat, as sabreuse pointed out, everyone seemed to either favor spinning it out into a plugin, or didn't have much of an opinion.  If you really want it in core, please speak up!  I'd love to hear your reasons.

I'm willing to throw a massive chunk of time at this to make it work, if that's the decision that we decide to move forward with.",georgestephanis
20016,Spellchecker returns suggestions with wrong encoding,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T17:59:00Z,2012-02-10T20:34:01Z,"Steps to reproduce:

* Create new post
* Type 'canamo'
* Set spellcheck language to Spanish
* Click on 'canamo' for suggestions

",koke
23341,Spell checker in the editor shows languages not supported by google spellchecker like hebrew,,I18N,3.5,normal,normal,3.6,defect (bug),reopened,,2013-01-31T13:56:06Z,2013-02-01T05:52:57Z,"The spell checker in the editor uses via tinymce code the google translate service. Problem is that WordPress code assumes that the service supports all languages

{{{
/*
translators: These languages show up in the spellchecker drop-down menu, in the order specified, and with the first
language listed being the default language. They must be comma-separated and take the format of name=code, where name
is the language name (which you may internationalize), and code is a valid ISO 639 language code. Please test the
spellchecker with your values.
*/

$mce_spellchecker_languages = __( 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv' );

/*
The following filter allows localization scripts to change the languages displayed in the spellchecker's drop-down menu.
By default it uses Google's spellchecker API, but can be configured to use PSpell/ASpell if installed on the server.
The + sign marks the default language. More: http://www.tinymce.com/wiki.php/Plugin:spellchecker.
*/
$mce_spellchecker_languages = apply_filters( 'mce_spellchecker_languages', '+' . $mce_spellchecker_languages );
}}}

But google insist that they support only 12 languages http://support.google.com/toolbar/bin/answer.py?hl=en&answer=32703, therefor not any localization can localize it (ok it can, but it is pointless). The end result for hebrew is that any gibberish text thrown at the spell checker returns as good text.

",mark-k
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
20844,Specify titles using <!-- nextpage -->,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-05T09:49:51Z,2012-06-19T23:05:04Z,"Hi,

I'm planning to code a plugin but maybe you're going to code it into WP core, so I prefer to ask before.

The idea is to modify <!-- nextpage --> code in order to give a title to every page, also better in SEO to have an url like www.wordpress.org/2012/my-article and www.wordpress.org/2012/my-article/conclusion/ instead of www.wordpress.org/2012/my-article/2/.

Maybe is possible to modify it this way: <!-- nextpage['Conclusion'] -->

It's different from subpages because it will be usable on every post type, not even on pages, and you will create just one post, not more.

Last but not least you could have a page selector with titles not page numbers.

Thanks :)",sgr33n
19846,"Specify 'primary' sidebar, so widgets land in correct sidebar when changing themes",,Widgets,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-16T21:49:42Z,2012-06-25T19:58:19Z,"With the improvements to widget handling in 3.3, the widgets in a previous theme's sidebar are transferred to your current theme's sidebar. But there's no way to specify which sidebar should receive them.

For example, when you activate the Genesis theme it has three widget areas:
- Header Right
- Primary Sidebar
- Secondary Sidebar

If you install a fresh copy of WP and then activate Genesis, the Header Right widget area is populated with the 6 default widgets ( http://twitpic.com/8618x5 ). It's definitely not ideal for new users unfamiliar with this.

It would be great if there were some way to specify a primary sidebar when registering it, and that's the one the default widgets flow into. 


{{{
register_sidebar( array( 'name' => 'Primary Sidebar', 'id' => 'primary-sidebar', 'primary' => true );
register_sidebar( array( 'name' => 'Secondary Sidebar', 'id' => 'secondary-sidebar' );
// Default: 'primary' => false
}}}

There might be better ways to handle this, but I think it should be done in WP core. If it's up to the themes to solve, we'll have to use solutions like this: https://gist.github.com/1623202",billerickson
22135,Special characters in caption lead to failure of inserting images,,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-08T21:25:46Z,2012-10-11T16:26:47Z,"Found this when double-checking #22132:

1. Go to add a new post.
2. Click ""Upload/Insert"" (the ""old"" media upload).
3. Upload an image, or go to choose one from the media library.
4. Insert {{{Title""<script>alert('Title');</script>}}} in the ""Caption"" field.
5. Click ""Insert into Post"".

Instead of the image (or Shortcode) being added to the editor (with a somehow escaped caption field), the media upload iframe just gets a new content:
{{{
[/caption]'); /* ]]> */
}}}

Reproduced in 3.4.2 and trunk.",TobiasBg
22909,Special characters are not displayed properly on the menus,,Menus,3.5,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-12-13T08:09:46Z,2012-12-15T18:52:14Z,"The previous version of Wordpress 3.4 did handle special characters like ★ and ✄ pretty well. Wordpress 3.4 displays such special characters and they can be used on the Wordpress menus, however in version 3.5, these characters are displayed as empty squares, which does mean that 3.5 can't recognize them properly.",varna_city
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
20120,Space before slash to close BR,,Formatting,3.4,normal,trivial,Awaiting Review,enhancement,new,,2012-02-25T04:08:58Z,2012-02-28T14:57:50Z,"Kind of a petty, I admit, but I noticed http://codex.wordpress.org/WordPress_Coding_Standards shows this as the standard, and I figured I'd help out by checking if any such occurrences exist (using the following):

`find -name '*.php' -type f | xargs egrep -n ""<br\/>""`

Diff attached (my first)...but I won't have my feelings hurt if the ticket is closed and I am banned from trac :)",bananastalktome
24342,Source link should be avaliable in other post formats,,Post Formats,trunk,normal,minor,Awaiting Review,enhancement,new,,2013-05-15T04:47:27Z,2013-05-15T04:47:27Z,"I guess being able to cite a link source for the quote is fine (although the UI label suggest is just a generic link like in the ""image"" format), yet I believe it may also be extensible for other post formats like in Tumblr; particularly if one have in mind using them with ""press this"" and one want to mention outside sources.",atoon
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
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
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
21128,Sort Users by Sites,,Users,3.4,normal,major,Awaiting Review,feature request,new,,2012-07-01T18:10:12Z,2012-07-01T18:57:16Z,In wp-admin/network/users.php please add the option to sort users by site name. ,jsaf
17179,Sort user by metadata value,,Users,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-04-19T16:11:57Z,2011-04-19T16:11:57Z,"It would be nice to sort users by metadata value, the way it works for posts. For instance: 

{{{
#!php
$users = get_users(array(
  'orderby'  => 'meta_value_num', 
  'order'    => 'DESC', 
  'meta_key' => 'score', 
));
}}}

Therefore it needs to add the lines below at line 436 of file wp-includes/user.php:


{{{
#!php
} elseif( (!empty($qv['meta_key'])) && ( 'meta_value' == $qv['orderby']) ) {
  $orderby = ""$wpdb->usermeta.meta_value"";
} elseif( (!empty($qv['meta_key'])) && ( 'meta_value_num' == $qv['orderby']) ) {
  $orderby = ""$wpdb->usermeta.meta_value+0"";
}}}",ziofix
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
23969,"Sometimes when opening the theme customizer, then closing it, the URL gets 'stuck' at /wp-admin/customize.php",,Appearance,trunk,normal,normal,3.6,defect (bug),new,,2013-04-06T23:58:26Z,2013-04-16T09:06:40Z,"Just what I said.

If I open the customizer, scroll down a bit, then back up, then click to close it, the URL doesn't change back as it should.

I can then click through to any other page on the admin or front-end, and the URL will still stay as /wp-admin/customize.php

View the bug in action here: http://youtu.be/RbdkudX6yGw",georgestephanis
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
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
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
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
22623,"Some string tweaks - duplicity, context, mistake",,I18N,3.0,normal,normal,3.6,defect (bug),new,,2012-11-28T20:56:41Z,2013-01-16T00:03:41Z,"1) String ""Path"" has a little different meaning for TinyMCE (HTML position) and Multisite list sites column (subdirectory address). Can we have a context?

2) When you click ""Deactivate"" action link bellow any site (in Multisite admin), site is marked as ""Deleted"" instead of ""Deactivated""? You can ""Activate"" deleted site? Strange...

3) We have strings ""No results found."" (twice) and ""No matches found."" One string would be better instead of three similar strings?

4) String ""Show header text with your image."" is not accurate. You can show header text without header image.",pavelevap
19641,Some problems with updating plugins by uploading zip archive,,Plugins,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-12-21T20:55:20Z,2011-12-21T22:06:07Z,"I found several UX problems with updating (re-installing) plugins by uploading zip archive.

1) I installed small plugin (outside official WordPress plugins directory) foo.php (zipped in foo.zip) by uploading zip archive. Then I wanted to install updated version (also foo.php in foo.zip). But new folder foo1 with file foo.php was created, so my plugin is duplicated in WP plugins directory. It is not expected behaviour for users, I guess...

2) When foo.php is in foo folder and together zipped (foo/foo.php in foo.zip), then it is not possible to update (re-install) this plugin (directory already exists) by uploading zip archive. So, for plugins outside WordPress plugins directory (or with nonfunctioning automatic updates) it is problem, because there is no way to update plugins by uploading zip file (only manually through FTP). Another possibility is deactivate and delete plugin first, but some plugins use hooks to delete all plugins data when they are deleted through administration.

3) I automatically installed plugin (inside WordPress plugins directory) which is in folder foo. I changed several files and wanted to re-install plugin with the same (original) version from plugins repository. I did not find a way to do it from admin (I did not want to run FTP manager). When there is possibility for re-installing core, then it could be possible also for plugins, I guess...

4) Another problem was with installing plugins beta versions, but there is Plugin Beta Tester plugin available (but old).

http://wordpress.org/extend/plugins/plugin-beta-tester/",pavelevap
23406,Some notices messages which can maybe fixed,,Warnings/Notices,3.5.1,normal,trivial,Awaiting Review,defect (bug),new,,2013-02-06T17:59:55Z,2013-02-06T18:07:32Z,"Hi,

I use wordpress multisite on my own cms and I notice there are many notice messages when I load WP (include($wppath.""includes/wp.inc.php"") :

1) Declaration of Walker_Category::start_el() should be compatible with that of Walker::start_el()) in /wp-includes/category-template.php line 902

2) Declaration of WP_Scripts::set_group() should be compatible with that of WP_Dependencies::set_group()) in wp-includes/class.wp-scripts.php

3) Declaration of Walker_Nav_Menu::start_el() should be compatible with that of Walker::start_el()) in wp-includes/nav-menu-template.php

4) is_a(): Deprecated. Please use the instanceof operator) dans le fichier wp-includes/capabilities.php

Hope it helps
Regards,
Alexandre",uniterre
16909,some Location headers are using relative url's (2),,General,3.1,normal,normal,Awaiting Review,defect,new,,2011-03-21T00:25:26Z,2011-04-02T13:24:37Z,"I started this in #14062 and already did some fixes for 3.1.

Just collecting some more and providing patches.",hakre
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
23505,Some files still have closing PHP tags,,General,3.4,lowest,trivial,Awaiting Review,enhancement,new,has-patch,2013-02-18T23:33:19Z,2013-05-14T15:36:25Z,"[19712] removed EOF `?>` from nearly all the files, including `wp-content/index.php`: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/index.php

In a couple of files, however, it's still there, which doesn't seem intentional: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/plugins/index.php [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/index.php

We should probably make the same change there for consistency.",SergeyBiryukov
17453,Some default widgets break XHTML pages,,Widgets,3.1.2,normal,major,Awaiting Review,defect (bug),new,has-patch,2011-05-16T10:47:49Z,2011-05-16T10:47:49Z,"Some default widgets use HTML named character references, which breaks webpages when served as application/xhtml+xml.",peaceablewhale
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
17619,Soft 404 at /wp-content/plugins/,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-05-30T16:31:30Z,2011-08-17T00:51:19Z,"/wp-content/plugins/index.php would be better written with a proper 404.

{{{
<?php
header('HTTP/1.0 404 Not Found'); // Silence is golden.
?>
}}}",miqrogroove
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
16448,Smilies should not be placed inside of pre or code tags,,Formatting,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-03T04:00:52Z,2011-07-13T09:46:36Z,Smilies should ignore content inside of `<pre>` and `<code>` tags. The author likely is posting code and doesn't need smilies messing it up.,Viper007Bond
20124,Smilies Fail Combinations,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-25T22:34:25Z,2012-02-26T12:37:54Z,"I have found that certain combinations of smilies break the monster of a regular expression that parses them.

{{{
8-O :-(]
8-) 8-O
8-) 8O[
8-) :-(
8-) :twisted:
8O :twisted: :( 8-( :(
}}}


...are some examples where the regular expression appears to be failing to match. Any smilie after a smilie with an 8 in it appears to be skipped. Will try to pinpoint the flaw in the regexp soon.",soulseekah
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
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
20338,Slugs and special chars,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-31T16:18:03Z,2012-03-31T16:18:03Z,"When Wordpress generates a slug, the apostrophe mark is stripped.

Examples :

""I'm open"" > im-open[[BR]]
""L'équipe"" > lequipe[[BR]]
""Suzy's Place"" > suzys-place[[BR]]

If the apostrophe is changed to ""-"" the auto generated slug will be more ""readable"" (and better for seo) :

""I'm open"" > i-m-open[[BR]]
""L'équipe"" > l-equipe[[BR]]
""Suzy's Place"" > suzy-s-place[[BR]]

Maybe a constant to define what strategy to adopt ? ",amirhabibi
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
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
19995,Slow down of access to Multi-Site Admin area when Upgrading to 3.3.1,,Multisite,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-02-08T22:57:26Z,2012-02-09T00:14:42Z,I've done a search and didn't see a trouble ticket for this so I wanted to post it and see what the feedback looked like. With the upgrade to WordPress 3.3.1 I've seen a very big slow down of access to the Admin area for both the Network sites as well as the Network Admin. I thought it was my server lagging at first or maybe an issue with me having to clean up my MySQL server but I've heard from others whom I know that also run Multi-Site installs having the same problem as well. One gentlemen's client thought his site had even been hacked because of the amount of time it was taking to get to the admin area but after running the necessary security tools it was realized that the server was secure but the lag did exhist. Any thoughts?,bastosmichael
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
20221,Skip Confirmation Email option only visible to Super Admins,,Users,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-12T20:08:13Z,2012-11-22T03:52:17Z,"When adding a new user in WordPress Multisite, the ""Skip Confirmation Email"" option is only available to Super Admins.  

If you enable the ""Add New Users"" featured for site admins, they'll have the ability to create new users under Users > Add New.  However the ""Skip Confirmation Email"" option is hidden because they are not a Super Admin.  

Super Admins and Admins should have the ability to enable this option when adding new users. ",williamsba1
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
19765,site-users.php in network admin doesn't display users with custom roles,,Network Admin,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-06T18:04:20Z,2012-01-07T14:03:30Z,"In the network admin when looking at the users of a specific site, if the site has a custom role the users with that role will not show up. The patch attached ensures that switch_to_blog() is used at the correct places so that data is being gathered from the correct site, not from the main site.",wpdavis
17913,Site-level comment options may override individual post settings. Improve communication.,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-27T20:46:43Z,2011-06-27T20:46:43Z,"Post comments may be automatically closed for a  site's posts if site option 'close_comments_for_old_posts' is true and the post was published before 'close_comments_days_old' days ago. These two options are set in options-discussion and override the 'comment_status' of an individual post.

The edit posts screen's comment meta box displays comments open/close status, allowing publishers to open or close comments for a single post. It's possible the site-level discussion settings will override the individual post yet we still might display a different post comment status than the site settings allow.

1. Enable site-level option to close comments on articles ( wp-admin/options-discussion.php#close_comments_for_old_posts )
1. Enter a days value of 1 for maximum impact
1. Edit a post published over a day ago
1. View the Discussion meta box ( #commentstatusdiv )
1. Interact with the 'comment_status' field

I would like to better communicate expected failure and let the post author or editor know this particular setting has been overridden at the site options level. If the current user can manage options I might you could link to the override in the options page.

I created a new test blog, set comments to auto-close after a day, and checked allow comments in the post screen. I was wondering why comments_open() was false for the post when I was looking at a checked box on the post screen.",niallkennedy
16235,Site Welcome Email sent without regard to noconfirmation flag,,Users,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-14T19:18:34Z,2011-09-15T23:31:22Z,"In multisite and the super_admin adds a new user to a site, 
if the user is new to the network, WP sends out the welcome email (but not the confirmation of being added to the site)

In my client's use case, they were looking for the SBD (silent but deadly) mode, as in no email at all should go out.

The language implies there is ""no"" notification but the welcome email belies that language.

if even the welcome email should be disabled, then 
in wp-admin/user-new.php (around line 108)
adding
`add_filter('wpmu_welcome_user_notification', ''__return_false');`
would kill the new user notification from wpmu_activate_signup() (a few lines later)
",transom
22846,Site transient autoload even when they have expiry time,,Performance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-10T09:14:36Z,2013-05-13T04:40:52Z,"I guess set_site_transient should set autoload to NO after calling add_site_option when there is expiration time.

As far as I can see the all of the site transients right now are used only by cron and admin so no reason to auto load",mark-k
21546,Site Settings page is a hot mess,,Multisite,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-10T21:44:07Z,2012-08-20T16:50:59Z,"I found out just how bad this page is when debugging an issue related to {{{WPLANG}}}. {{{WPLANG}}} is an option for a blog in your network (overrides {{{WPLANG}}} in {{{wp-config.php}}}), but if you delete the option on purpose or accidentally, there is no way of restoring it in the admin.

Site Settings just loads your options table and POSTs back to itself. The only reference to the original options map (the defaults) is in schema, which WP has zero access to outside of upgrade.

I have abstracted the default options and the default ""fat"" options into functions in {{{ms.php}}}. Also, when loading your Site Settings options - if a default option is missing, I display it in the admin so you can save it (it is populated with its default value).

I have also streamlined and condensed some code that was happening in and around {{{populate_options()}}}",wonderboymusic
21837,Site search for a domain by text fails in subdomain installs of multisite with www in primary domain,,Multisite,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-08T00:30:50Z,2013-04-28T16:21:22Z,"To reproduce:

1) Create a subdomain network install where the main site's domain contains www
2) On the Network Admin->Sites search for an existing site based on the domain name, such as some* to find somedomain.domain.com.
3) Search returns ""No sites found."" even when the site exists and was searched for using a valid technique.

I've tested the problem on Apache and Nginx servers, with Twenty Eleven as the theme on the main site, and network activated plugins.  Existing sites can never be found by domain name.

Subdomain installs in a network are allowed where the main site is www.domain.com. DOMAIN_CURRENT_SITE in wp-config.php points to www.domain.com.  But blogs.domain stores the domain of a multi-site site named somedomain as somedomain.domain.com (without the www).

As a result, any site search for a domain based on text (the name of the domain) fails because of how the query is built on lines 70-73 of wp-admin\inludes\class-wp-ms-sites-list-table.php.  A search for some* produces a query that searches for some%.www.domain.com instead of some%.domain.com; the result is that nothing is ever found.

Searches based strictly on site ID work fine.

Possible fixes: 1) leave as is but warn that subdomain network installs where the primary domain includes www will have a broken site search (not ideal) and encourage no www on primary site of a subdomain network install or 2) check if the primary domain contains www and strip it out prior to building the query (ideal).",frisco
22860,Site list in Network Admin shows Master Site where each network site should,,Multisite,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-11T19:27:54Z,2012-12-11T19:56:49Z,"When in the Network Admin area, hovering on My Sites should present a list of all the active sites on the network, however, while it shows the correct number of sites, the name and links all point to the master site, and not the network sites. This behaviour is not reflected when on the child sites and acts correctly. It is only when in Network Admin.",thewanderingbrit
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
18859,Single theme template for custom post by slug,,Template,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-10-04T19:27:23Z,2013-02-05T21:00:06Z,"I was working on adding a custom template for an individual post in my custom post type and discovered that you could only make a single-{post-type}.php. This patch adds the ability to make single-{post-type}-{slug}.php

It's pretty straight forward, and only adds 1 line of code to wp-includes/theme.php",ericjuden
23183,Single Page Application/OData API,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T18:15:34Z,2013-01-11T22:45:13Z,I am interested in helping out. Are there any plans to move to a Single Page Application model. I know this would take a lot of work as we would have to code a secure Web API into the core (I would go with standard OData service API) but as mobile devices become more critical to web success WordPress needs to find a way to minimize requests and allow for occasionally connected solutions. I know this would be for major release 4 or possibly even 5 depending on the impact to plugin developers but it make a noticeable difference on the scalability of wordpress.,cportwood
20223,simulate mysql_real_escape_string when not yet connected to DB,,Database,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-13T09:16:53Z,2012-05-16T19:49:33Z,"Currently wpdb::_real_escape() falls back to addslashes() when you're not yet connected to the database

Instead, have it fall back to a closer mimic of mysql_real_escape_string():

Use this to make patch:
http://pastebin.com/5vMaBhQe

Reference: 
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html
http://www.php.net/manual/en/function.mysql-real-escape-string.php",scottconnerly
24081,Simplifying the 5 minute setup,,Upgrade/Install,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-14T05:22:53Z,2013-04-14T06:14:21Z,"I decided to simplify the five minute setup. I teach a beginners class for WordPress, since it was badly needed and people usually get really confused when it asks for a database name and username. Please add onto my quickly written tutorial.php and let me know if you would be interested in putting it as a link in the five minute setup. ",ryansatterfield
24106,Simplify wp_slash(),,Formatting,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-16T19:37:12Z,2013-04-17T03:12:26Z,"[23416] added the function {{{wp_slash()}}} for the slashing sanitization in #21767.

[https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-04-16&sort=asc#m595515 According to ryan], it has been modelled after {{{$wpdb->prepare()}}}, and therefore uses a custom {{{foreach}}} loop with an {{{if}}}-check in it.
I suggest to instead model it after {{{stripslashes_deep()}}} and {{{urlencode_deep()}}} to simplify the function and make it better readable.

The attached patch also makes it clearer that this function works in a recursive manner.",TobiasBg
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
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
22209,Simplify logic to generate home path when parsing request,,Query,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-17T03:37:24Z,2012-10-17T04:25:45Z,"In `WP::parse_request()` we go through a few steps to generate the `$home_path` variable.  Since we now require PHP 5.2, we can use `parse_url()`'s second argument to get the path directly.",evansolomon
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
16833,Signup mechanism shortens usernames without warning,,Users,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2011-03-11T15:09:23Z,2012-08-29T23:40:31Z,"When a user signs up for an account on a wordpress blog, if their chosen username is longer than the limit, wordpress chops of the end of the username, without warning the user, and without offering the user the opportunity to choose again.

Steps to reproduce:  Go to a wordpress blog, sign up with a long username, and read the confirmation email.  An example: forum.xbmc.org, which has a limit of 15 characters.",hughcharlesparker
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
15222,show_option_all_included for wp_dropdown_categories,,General,3.0.1,normal,normal,Awaiting Review,enhancement,new,,2010-10-26T12:50:15Z,2010-10-26T12:51:32Z,"this little addition lets user have an option which allows searching in all categories included in dropdown only. put it below handling of show_option_all option in wp_dropdown_categories


		if($show_option_all_included)
		{
			$show_option_all = apply_filters( 'list_cats', $show_option_all_included );
			$selected = ( '0' === strval($r['selected']) ) ? "" selected='selected'"" : '';
			$vals = '';
			foreach($categories as $cat)
				$vals .= $cat->term_id.',';
			$vals = substr($vals, 0, -1);
			$output .= ""\t<option value='$vals'$selected>$show_option_all</option>\n"";
		}",roxaz
22202,Show/hide Kitchen Sink button doesn't remain active,,TinyMCE,3.2,low,minor,Awaiting Review,defect (bug),new,,2012-10-16T12:40:16Z,2012-10-17T09:53:12Z,"If you enable all the formatting toolbar buttons by clicking ""Show/Hide Kitchen Sink"" in the editor toolbar, the button doesn't remain active when you save a post or otherwise return to the editing screen.

Tested back to 3.2, probably occured since forever.",johnbillion
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
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
19609,Show the 'Mine' filter on the manage posts screen for all users,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-19T08:01:36Z,2013-04-04T17:42:04Z,"Authors and Contributors get a handy filter on the manage posts screen called 'Mine' which shows just that user's posts. It's also the default view for those user roles.

Editors and Admins don't see this filter at all. It'd be nice if it was available, even if it's not the default view like it is for Authors and Contributors.

If no-one else wants to then I'll look at doing a patch after the holidays.",johnbillion
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
22599,Show reviews in the plugin installer,,Plugins,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T03:48:50Z,2012-12-14T23:51:19Z,"Pretty much as it says. Add reviews to the API endpoint, and then allow them to be shown as a tab in the modal. Seems like users should be able to vet via reviews from the comfort of the admin, now that they exist.",helen
20377,Show notice that site Network Admin is viewing is disabled,,Multisite,3.0,normal,minor,Awaiting Review,feature request,new,,2012-04-06T14:47:29Z,2012-11-17T16:15:48Z,"In Multisite, site admins can click ""delete site"" from their Tools menu, but this actually just sets it to disabled.  If a Network Admin tries to view the site, they can still view it just fine.  This can be pretty confusing/misleading.  I think it would be an improvement if while a Network Admin is viewing a Disabled site, that a message is displayed along the lines of:

This site is currently Disabled. [re-enable link]",MadtownLems
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
18502,Show ID on Custom Post Types Permalinks,,Rewrite Rules,,normal,normal,Awaiting Review,enhancement,new,,2011-08-23T18:43:19Z,2011-08-23T18:50:35Z,"Hi...
I have been using now lots of custom post types for different portals, and found that it's something no one ever knew, thought would be a cool feature if possible.

Now i have one custom post type for dvds, when the user publishes, it gets to 
/dvd/name-of-dvd

The other settings for permalinks is set to show /%post_id%/ so in the blog it gets
/1/name-of-post

Just on custom post types it's imposible to make that.
For some things, like jobs, dvd, books, maybe there are things with same name, and an ID would be better to identify...

",kaiserlino
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
10989,Show changelog for core upgrade,nacin*,Upgrade/Install,,normal,minor,Future Release,feature request,accepted,,2009-10-21T01:36:14Z,2011-11-15T01:53:20Z,"When clicking on the admin notice that there is an update available, it would be interesting to see a short changelog with a link to the complete changelog of the upgrade besides the two download buttons

Example with the 2.8.5.
Show on the page:
The headline changes in this release are:

    * A fix for the Trackback Denial-of-Service attack that is currently being seen.
    * Removal of areas within the code where php code in variables was evaluated.
    * Switched the file upload functionality to be whitelisted for all users including Admins.
    * Retiring of the two importers of Tag data from old plugins.

More info : http://wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/",petervanderdoes
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
22966,Show admin-cropped thumbnails instead of Wordpress-cropped thumbnails,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-12-16T22:22:59Z,2012-12-16T23:27:18Z,"Used to be able to see which images have been cropped (and which ones haven't) in image search results. Now have to click 'edit image' and check the image individually.

It's valuable for the publisher to see what his/her readers will see on the front end of the site when the 'thumbnail' function is called (either publisher's hard-cropped image or full un-cropped image). Useful especially for publishers that are pulling images from a time before 'thumbnails' existed in WP.

Main reason this is an issue is that when an un-cropped thumbnail is selected as the featured image, it will be stretched/distorted to dimensions of thumbnail settings in function.php.",beerpulse
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
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
20462,Shouldn't have to pass 'post_category' to wp_update_post(),,Post Types,,low,minor,3.6,defect (bug),new,has-patch,2012-04-16T23:35:53Z,2013-01-08T07:00:21Z,"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
20180,Should wrap all links in a div,,Widgets,,normal,normal,Awaiting Review,enhancement,new,,2012-03-05T19:43:51Z,2012-03-06T02:28:10Z,"The links widget creates a separate div for every category. This does not allow to style all categories at once.

Please wrap all links into one more level of div.",porton
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
12839,Should sandbox themes on activate to prevent fatal errors,,Themes,3.0,normal,normal,Future Release,enhancement,new,,2010-04-04T06:16:25Z,2010-10-28T09:11:30Z,"I've just made a child theme of TwentyTen by copying the folder over, renaming, and adding a Template: header to the style.css file.

Upon activation, I've been thrown to a page with a fatal error due to redefining a twentyten function.

Ideally, theme activations should be passed through a sandbox style activation the same as plugins.",dd32
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
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
21644,Should contributors be allowed to edit their posts once scheduled?,,General,3.4.1,normal,normal,Awaiting Review,feature request,new,,2012-08-20T21:36:55Z,2013-01-29T19:42:14Z,"
This may not be a ""bug"" per-se,but seems to have a lot of negative consequences so I'll give it a shot.

According to the rules:  A contributor can edit their own Posts - irrespective of who scheduled it.
http://codex.wordpress.org/Roles_and_Capabilities#Contributor

This creates problems for large publications where there is an editor who makes changes to posts and then schedules them, sometimes a couple days in advance.

As it stands now, a contributor can still log in after that process is done which means unexpected changes and shenanigans might take place.

Wouldn't it make more sense for a contributor to lose editing privileges as soon as something is no longer in draft modea?

Just my two cents.


",nickaster
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
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
23786,Shortcodes working inside HTML and PHP comments,,Shortcodes,,normal,minor,Awaiting Review,enhancement,new,,2013-03-15T11:59:25Z,2013-03-15T14:06:02Z,"I think that shortcodes should not work inside html or php comments. The following comment inserted in the Wordpress editor shows the images gallery, breaks the layout of the theme and shows after the gallery these characters -->

<!--[gallery ids=""4585,4515,4587""] -->

If I use do_shortcode() in a plugin with a shortcode inside a php comments, it's the same as it is with html comments.",javitxu123
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
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
22272,shortcode_unautop() Doesn't Account for Opening/Closing Shortcode tags each Being on Their Own Line,,Shortcodes,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-24T17:54:22Z,2012-10-24T17:54:22Z,"The shortcode_unautop function does not appear to account for when the opening and closing shortcode tags are put on separate lines from the paragraph they are surrounding. 


For example: the following is after wpautop() adds the paragraph tags.

{{{
<p>[cool_shortcode]</p>
<p>A paragraph about something you should know.</p><p>[/cool_shortcode]</p>
}}}

I would expect that shortcode_unautop would remove the paragraph tags from around both the opening and the closing shortcode tags. Instead it treats it all as if the entire thing were in one paragraph. Resulting in the following code being output. 

{{{
[cool_shortcode]</p>
<p>A paragraph about something you should know.</p><p>[/cool_shortcode]
}}}
",bonnerl
20077,shortcode_parse_atts should not force arguments to be lowercase,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2012-02-19T19:21:33Z,2012-02-20T17:42:42Z,"Inside wp-includes/shortcodes.php, the shortcode_parse_atts() function forces shortcode arguments to be lowercase.  So if your shotcode had something like [my_shortcode MyVar=123], then your code that uses something like ""print $MyVar;"" fails... you have to use ""$myvar"" instead.  This is counter-intuitive.  I understand that there needs to be some restrictions on what is a valid parameter name (see http://core.trac.wordpress.org/ticket/9405), but I think it makes the most sense that the parameter names can correspond to any valid PHP variable name;  PHP variables ARE case-sensitive, so this arbitrary restriction of forcing lower-case parameters seems like the incorrect approach.",fireproofsocks
23307,shortcode_parse_atts may return empty string,,Shortcodes,,normal,minor,Awaiting Review,defect (bug),new,has-patch,2013-01-28T11:08:50Z,2013-01-28T11:15:33Z,"See http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/shortcodes.php#L243 .

If there are no attributes in a shortcode e.g. `[foobar]`, then shortcode_parse_atts returns an empty string. This is not reflected in the long description or `@return` tag.

Ideally though, it should return an empty array, so that it's not only consistent, but writing a shortcode function can type hint the `$atts` argument to be an array e.g.

{{{
add_shortcode( 'foo', 'my_shortcode' );
function my_shortcode( array $atts ) {
   ...
}
}}}

This might also be combined with checking if the incoming `$text` is empty, and returning an empty array immediately.",GaryJ
23517,"Shortcode: if last parameter ends with '/', it is mistaken for self-closing shortcode closure",,Shortcodes,3.5.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-02-19T05:45:16Z,2013-02-19T13:39:12Z,"In example:
{{{
[shortcode urlparam=http://somesite/path/]content text[/shortcode]
}}}
{{{
""[shortcode urlparam=http://somesite/path/]"" 
}}}
is interpreted as self closing:
{{{
[shortcode/] with urlparam=""http://somesite/path""
}}}
All examples in http://codex.wordpress.org/Shortcode_API include whitespace before `'/]'`

This prevents implementation of bbcode parser for people to paste flickr photo snippets.",sergem
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
23694,Shortcode attributes mess up html strings,,Shortcodes,3.5.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-03-05T15:15:48Z,2013-03-07T03:42:37Z,"{{{
[shortcode attribute=""<b>some HTML</b>""/]
}}}

produces:

{{{
<b>some HTML</b> <p>
}}}",prometh
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
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
21265,settings_fields() conflict with admin-ajax.php in ajax requests,,Plugins,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-13T19:30:32Z,2012-07-13T19:30:32Z,"I created a plugin, which uses the function 'settings_fields()' to generate required fields. When I save the plugin options, I decided to use Ajax Requests to save time.

Until 3.3.2 this was working well, but with 3.4.1 admin-ajax.php code update generates a errors. Because ""settings_fields()"" generate hidden field called ""action"" and before 3.4.1 admin-ajax.php used $_GET['action'] to call ajax action dynamically.

'''How reproduce:'''
1. Use WP 3.4.1
2. Put this code snippet in a .php file in wp root folder: 
{{{
<?php
	require 'wp-load.php';
	
	add_action('wp_ajax_mysettings_save' , 'mysettings_save');
	
	function mysettings_save() {
		//DO SOMETHING USEFULL HERE
		exit('It worked!');
	}

?>
<script src=""http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js""></script>
<form>
	<p><input type=""text"" name=""my_settings_field"" value=""""></p>
	<button>Save</button>
	<?php settings_fields('my_settings'); ?>
</form>
<script>
	$('form').submit(function(event){
		event.preventDefault();
		
		$.post('wp-admin/admin-ajax.php?action=mysettings_save', $(this).serialize(), function(data){ console.log(data); });
	});
</script>
}}}


In wordpress 3.4.1 field 'action' changes to 'update', because $_REQUEST['action']. In wordpress 3.3.2, field 'action' is 'mysettings_save'.

I have to redo all my work with my plugin with this change in Wordpress 3.4.1. ",vdvtt
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-01-03T19:25:28Z,"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
18307,Settings mixed with WP installations sharing same database,,Administration,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-07-31T21:22:09Z,2012-02-20T20:27:18Z,"I have WP website installed on main domain, and another WP installation on subdomain. These two share users tables.

When I rearrange admin dashboard widgets, or post editor widgets in one installation, other one uses same settings making the mess due to differences in available elements (different plugins installed).

All WP settings cookies are saved without proper setting of the cookie path/domain, and all sub-domains use same cookies as the main domain does. Cookies have to have full domain set to avoid mix-up like it happens now.

Same issue happens with Opera, Chrome and Firefox.

Milan ",GDragoN
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
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
15237,Settings -> Permalinks blank on PHP 5.3.2,,Permalinks,3.0,normal,major,Awaiting Review,defect (bug),new,,2010-10-28T12:30:07Z,2011-04-26T13:34:11Z,"I've setup a brand new wordpress with a fresh db for testing this.

To replicate this, install WordPress in an environment with PHP 5.3.2: 

# run through the standard installation
# login
# click Settings -> Permalinks
# Observe the bleak, white, cold content area looking back at you

Works fine in this scenario when I revert to PHP Version 4.4.9.

I tried enabling debug mode, then in php.ini setting display_errors = On and ERROR_REPORTING = E_ALL but still couldn't view any output on the page in question.

I'm attaching the phpinfo for the broken setup to this bug.",EdwardIII
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
18488,set_transient crashes when value parameter is a SimpleXMLElement object,,Cache,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-08-19T18:58:02Z,2012-09-01T18:03:16Z,"I have been developing a plugin that obtains information about high and low tides in the UK. The data is obtained from another site as a SimpleXMLElement. I found that when I passed a value to set_transient that had been assigned directly from the SimpleXMLObject then it was being received as an object and somewhere in the innards of the function the routine crashed. My workaround was to cast the assignment.
e.g. this failed

{{{
$title = $channel->item->title;
$store = '1';
$secs = bw_time_of_day_secs();
$secs = 86400 - $secs;
$set_transient( ""bw_tides_title_"" . $store, $title, $secs);

}}}

but change line 1 as below and it works

$title = '''(string)''' $channel->item->title;

Two questions therefore. 
1. Am I misinterpreting the documentation that says I don't need to serialise the value? What does mixed actually mean.
2. Does set_transient have to crash when the parameters are wrong?

The problem is completely reproducable. I now have a working solution so I don't need a fix right now. I just want to understand.
Herb 

",bobbingwide
14721,set_theme_mod() needs a filter,,Themes,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-28T17:56:12Z,2013-01-16T20:59:49Z,"'''`set_theme_mod()`''' '''needs a filter'''!!!

'''Background:''' I was answering [http://wordpress.stackexchange.com/questions/972/ this question on WordPress Answers] about how to create a second background option in the admin.  I was able to do so relatively easily except for the fact that the only hook available for swapping the value to save for `set_theme_mod()` is within `get_option()` and `get_option()` has no context for the name of the theme mod so I had to resort to the highly brittle technique of determining what was being saved based on the order it was called. One small change to `/wp-admin/custom-background.php` and it all breaks.

'''Prospective Update:'''
Here's what the filters might look like:

{{{
function set_theme_mod($name, $value) {
	$theme = get_current_theme();

	$mods = get_option(""mods_$theme"");

	$value = apply_filters( ""set_theme_mod"", $value, $name );
	$value = apply_filters( ""set_theme_mod_$name"", $value );
	$mods[$name] = $value;

	update_option(""mods_$theme"", $mods);
	wp_cache_delete(""mods_$theme"", 'options');
}

}}}


I would submit a patch but I always struggle with that. I even asked others to [http://wordpress.stackexchange.com/questions/990/ help me streamline and understand the patching process a bit better].",mikeschinkel
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
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
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
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
17375,Serialzed option values broken for classes and strings on unserialize for C and S,markjaquith,General,3.1,normal,normal,3.6,defect (bug),reviewing,has-patch,2011-05-11T11:42:09Z,2013-01-14T01:06:27Z,"Wordpress has a feature build in to store arrays and objects into option values.

This is done by transparently serializing on storing and unserialize on retrieving.

The implementation is broken.

Wordpress is unable to unserialize serialized option values if they contain a serialized representation of classes implementing the [http://www.php.net/manual/en/class.serializable.php PHP serializeable interface] (C instead of O).

This is because the is_serialized() does not recorgnize that type of value.",hakre
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
23531,Separate tests into unit / integration / ... directories,,Unit Tests,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-02-19T15:51:16Z,2013-02-19T15:51:16Z,"To improve the speed how tests can be run - especially the unit-tests - I suggest to divide tests into sub-directories, for example:

''unit'' - for unit tests[[BR]]
''integration'' - for integration tests[[BR]]
''functional'' - for functional tests  

Right now all tests are roughly labeled as ""Unit-Tests"" even they are not unit-tests per-se, e.g. some of them interacting with the database or the file-system.

Background: [http://stackoverflow.com/q/4904096/367456 What's the difference between unit, functional, acceptance, and integration tests?]",hakre
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
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
19990,Separate ID and display name for add_image_size,,Media,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-08T17:19:01Z,2012-12-31T02:05:50Z,"Currently, the first argument in `add_image_size()` is used as both the id (and key in the global array `_wp_additional_image_sizes`, and as the displayed name, since nothing else is available.

As such, the `$name`, when it is displayed, is not translatable, since some other code might be hard-coded to use a specific image size.

Instead of adding a 5th argument to the function, one solution might be to allow the first argument to be a string or array, and if it is an array, passing that as a new item in the array that is set. Theme or plugin authors could then check for the existence of this array value item, before falling back to using the key as per now.

Current Usage:
{{{
add_image_size( 'primary-sidebar', 150, 100 );
}}}

New Optional Usage:
{{{
add_image_size( array( 'primary-sidebar' => __( 'Primary Sidebar', 'my-textdomain' ) ), 150, 100 );
}}}",GaryJ
15977,Send the Locale in Plugin/Theme Update Check Requests,nacin*,Upgrade/Install,3.1,normal,normal,Future Release,feature request,accepted,early,2010-12-25T20:59:43Z,2013-01-22T00:00:56Z,"Currently, we send locale (and other information about installation) only in wp_version_check and not in wp_update_plugins and wp_update_themes.

Since we still don't know how system for plugins/themes localization will work, I propose that we send this from 3.1.

Why? As said above, there is no definitive agreement on how will localization system work, but it is possible that system wont require changes in core, ie. be same or similar to one I [http://wppolyglots.wordpress.com/2010/12/10/proposal-for-plugins-localization-system/ suggested] over at Polyglots.

In that case localization system will be made independently what means that it'll can start working before 3.2 version. If we don't send locale for plugins/themes, we will need to wait for 3.2 even though that wont be significant change.

In theory, plugin/theme developers could also benefit if alongside locales, we would send all information we send in wp_version_check and later show them as are plugin versions shown now.

I know that is very late for this change but issue with plugin localization tool has been ignored for a very long time as I described in my post mentioned above in more detail.",dimadin
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
24202,Self-explanatory argument values for new media functions,,Media,trunk,high,major,3.6,enhancement,new,dev-feedback,2013-04-26T13:14:52Z,2013-05-17T19:43:58Z,"We've introduced a bunch of functions, some with a relatively long list of arguments, which accept booleans:
{{{
function get_content_media( $type, &$content, $html = true, $remove = false, $limit = 0 )
function get_embedded_media( $type, &$content, $remove = false, $limit = 0 )
function get_content_audio( &$content, $html = true, $remove = false )
function get_embedded_audio( &$content, $remove = false )
function get_content_video( &$content, $html = true, $remove = false )
function get_embedded_video( &$content, $remove = false )
function get_content_images( &$content, $html = true, $remove = false, $limit = 0 )
function get_content_image( &$content, $html = true, $remove = false )
function get_content_galleries( &$content, $html = true, $remove = false, $limit = 0 )
function get_post_galleries( $post_id = 0, $html = true )
function get_post_gallery( $post_id = 0, $html = true )
function get_content_chat( &$content, $remove = false )
function get_content_quote( &$content, $remove = false, $replace = '' )
function get_content_url( &$content, $remove = false )
}}}
I wonder if we can convert them to use arrays instead for future-proof changes, or at least switch from booleans to self-explanatory values, per our [http://make.wordpress.org/core/handbook/coding-standards/php/#self-explanatory-flag-values-for-function-arguments coding standards].

Otherwise, we might fall into a trap of `submit_button()`: #20492.
",SergeyBiryukov
20225,"Self-contain wp-includes/load.php, wp-includes/plugin.php",,Performance,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-13T10:50:01Z,2012-04-01T09:44:46Z,"I'm trying to write a high-performance plugin.

I still want the whole of WP to be used by the admins, and the main part of WP to still be used by most user workflows, but I want certain end users to instead be using an alternate controller, instead of /index.php, when they're doing certain things. 

This new controller I'll write will use a couple of the core files, but skips most for the goal of increased performance. The proposed core files to re-use are:
* wp-includes/version.php
* wp-includes/load.php
* wp-includes/plugin.php
* wp-includes/wp-db.php
* wp-includes/class-wp-error.php

However, wp-includes/functions.php is a can of worms, that if I included, would require me to include many other files, and it spiders out from there.

What would be better is if the following functions that wp-includes/load.php and wp-includes/plugin.php require be moved into those files from the functions file. Specifically:
* wp_die()
* validate_file()
* stripslashes_deep()
* add_magic_quotes()
* _doing_it_wrong()
* trailingslashit()

If they aren't, I'll have to copy-paste them into my custom controller, maintaining separate versions of them (less than optimal).

Of course, this process still requires me to write my own simpler versions of many more complex functions:
* wp_cache_init()
* wp_cache_close()
* wp_get_active_network_plugins()
* is_blog_installed()
* get_option()
* update_option()

but that's completely acceptable.

Moving those first 6 functions from the functions file to the load and plugin files would not negatively affect core, but would positively affect plugin authors' abilities to write high-performance plugins.",scottconnerly
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
18513,Searching with explicit post types unsets page post type,,Query,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-24T22:13:08Z,2012-05-23T15:06:19Z,"Tested on WP 3.2.1, Twenty Eleven with no plugins, multisite.

If I explicitly limit a search query via a GET request using an array of post_type values, the post_type for page is automatically excluded.

To reproduce:
 * Do a search on a WP install (perhaps through a modified search form), such that the URL is like:
  http://example.com/?post_type[]=post&post_type[]=page&post_type[]=attachment&s=Test
or
  http://example.com/?post_type[]=post&post_type[]=page&post_type[]=book&s=Test

That's searching for ""Test"" on post, page and attachment/book post types.

 * Adding the following to a theme's functions.php:
{{{
add_filter( 'pre_get_posts', 'wpcpt_search' );
/**
 *
 * @param array $query
 */
function wpcpt_search( $query ) {

	if ( ! $query->is_search )
		return $query;

	print_r( $query->query_vars );

	return $query;

}
}}}

That spits out (and seemingly confirmed via the values shown in the Debug Bar plugin) the following at the beginning:
{{{
  Array ( [s] => Test [post_type] => Array ( [0] => post [2] => attachment ) 
}}}
and only returns results for posts and attachments (or books). The fact that key 1 is missing makes me think that page was in the array at some point, but it's been unset, but I can't see where, or why, this might be done.

(When no post_type is set, giving a post_type of 'any', which in turn gives all of the non-excluded_from_search post types, then page is one of the array values, and the search results correctly include pages.)
",GaryJ
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
23850,Searchform Format,SergeyBiryukov,Widgets,trunk,normal,normal,3.6,enhancement,reopened,commit,2013-03-22T19:51:03Z,2013-05-10T16:36:05Z,We should use a filter instead of an argument.,WraithKenny
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
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
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
17636,Search subtitles are handled inconsistently across admin,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T12:15:48Z,2011-07-09T11:44:29Z,"Try the following strings in the Comments admin screen and any other:

`\'""\fs""\\\""` 

`imareallylongstringlookatmegoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgo`

The Comments screen uses `strip_slashes()` and `wp_html_excerpt()` to limit search strings to 50 characters, while other screens do not.",kawauso
20008,Search Results Paging Doesn't Work on Lighttp 404 Handler,,General,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-10T07:01:47Z,2012-02-10T23:02:55Z,"Quote from http://core.trac.wordpress.org/ticket/11723

I'm running Wordpress on lighttpd, using server.error-handler-404 = ""index.php"", all the pretty permalinks work perfectly. However, when doing a search, i only get the first results page, that is mysite.com/?s=query works but '''mysite.com/page/2/?s=query''' doesn't (i get shown the home page saying it's on page two of it). Paging on categories, archives and tags works as expected too.

I believe this is a Wordpress error, as the variables are being correctly passed to the script. Strangely '''mysite.com/index.php/page/2/?s=query''' or '''mysite.com/?s=query&page=2 works''' as expected, i have tried exploring the code but i don't really know about the internals of the wordpress core.

I tried the solution but not working for me.

{{{
function wp_fix_lighttpd() { //checks if URI has parameter and sets globals
	if (isset($_GET) && isset($_SERVER['QUERY_STRING'])) return;
	$donga = explode('?', $_SERVER['REQUEST_URI'], 2);
	if (count($donga) > 1) { 
		$_SERVER['QUERY_STRING'] = $donga[1];
		parse_str($donga[1], $_GET);
		$_REQUEST = array_merge( (array)$_GET, (array)$_REQUEST);
	}
}
}}}

I hope anyone can help me fix this. Thanks.
",anniyan07
18851,search form in edit.php should keep parameters it does not understand,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:48:17Z,2011-11-15T11:29:40Z,"the component is class-wp-list-table.php.

if you carry along some kind of status in the url in the post list (e.g. url=https://example.com/wp-admin/edit.php?post_type=post&my_status=""abcdefg"") the search field should not remove the parameter.",ibotty
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
16022,Search does not look for tags,,Taxonomy,3.0,normal,normal,Future Release,enhancement,reopened,has-patch,2010-12-29T15:28:51Z,2011-03-23T17:07:08Z,"While 3.1 Beta Testing I ran over this:

Ajax search is to search the (paginated) table. The table has tags in it's display. Search is not looking for those.

----


'''How to reproduce?'''

 1. Edit a Post.
 2. Add a new Tag that doesn't exist so far. 
 3. Update the Post.
 4. Go to Posts.
 5. Search for the just created Tag.
 6. You get an empty search result.

----

See #14579 and #15580
",hakre
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
14749,Scrollbar position jumping in the Appearance->Editor newcontent textarea,,Editor,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-09-01T01:32:10Z,2012-11-01T05:14:52Z,"As I am editing code in the Appearance Editor main textarea called newcontent, the scrollbar slider will jump upward to a new position moving the current line being edited down.

On a vista machine using ie8 with wp3.0.1 and the 2010 theme, a single character stroke will move the scrollbar up 3 lines.  

On an xp machine using ie8 with wp3.0.1 and a custom theme, a single character stroke will move the scrollbar up 8 lines.  Ocasionally the scrollbar will only move 1 line and every keystroke will bring the down.  Pasting text can and often does bring the line being edited below the visible area of the textarea.

It is very frustrating when it jumps around like this.",Giant Slayer
18943,Scroll back to previous editor position after post save/update,,Editor,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-10-14T10:23:05Z,2012-09-21T14:38:47Z,"I work exclusively in html mode in the WordPress editor, but this probably applies to the visual mode too.

When editing long(ish) posts it is really frustrating that the cursor position defaults to the beginning of the post after saving/updating.

Constantly having to manually scroll back down to the previous cursor position after updating, soon gets really tedious.

Focus always seems to be returned to the post title text box after saving/updating a post. It would be more intuitive to return focus to the main editor instead and automatically jump to the previous cursor position.",dgwyer
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
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
11009,screenshots of plugins from wordpress.org load over http instead of https when FORCE_SSL_ADMIN is enabled,,Upgrade/Install,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-10-23T02:30:21Z,2010-02-05T13:52:39Z,"1. Enabled FORCE_SSL_ADMIN in Wordpress on an appropriate host.
2. Use default settings in Internet Explorer 8.
3. Go to the plugin installation page.
4. Choose a plugin from wordpress.org to install.

Actual Result:
You get a mixed mode warning because the screenshots and possibly other content loaded from wordpress.org are loaded over http instead of https.

Expected Result:
Screenshots are loaded over https so that content is not mixed.",brantgurga
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
23178,"Screen reader shortcut links generated by _render() from WP_Admin_Bar class should use rel=""nofolow""",,Toolbar,,normal,normal,3.5.2,defect (bug),new,has-patch,2013-01-11T13:07:29Z,2013-04-02T12:45:12Z,"Screen reader related links generated by _render() from WP_Admin_Bar class assume toolbar is being shown only to logged in users. When toolbar is being shown to visitors using

{{{
function my_set_current_user() {
    if(!is_user_logged_in()){
        add_filter('show_admin_bar', '__return_true');
    }
}
add_action('set_current_user', 'my_set_current_user');
}}}

search engines report 403 error code on every page of the website when trying to follow wp_logout_url() from one of these links (Logout link). Including rel=""nofollow"" into _render() should avoid this.
",Marko-M
17370,Screen options and meta box settings can lose per-blog meta box positions,,Users,3.1.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-10T21:13:37Z,2011-08-04T21:13:59Z,"User preferences for admin interface appearance of the Dashboard and the Edit/Add New pages are stored in per-user options in wp_usermeta: closedpostboxes_$page, metaboxhidden_$page, meta-box-order_$page, and screen_layout_$page, where $page is one of 'post', 'page', or 'dashboard'. Users can customize the order of the Dashboard and editing meta boxes to better suit their workflow using the drag-and-drop AJAX interface to move the meta boxes into ordered columns and the Screen Options tab to show and hide the boxes. Many plugins add custom meta boxes to the Edit/Add New Post page.

In a multisite installation, with different plugins active on different blogs, users who rearrange an Add New Post page on a blog with a custom meta box and then rearrange it on a different blog without that meta box will lose the position of the custom meta box. Blogs can have different features and workflows implemented, and having per user options for the appearance instead of per user, per blog options limits the ability of a user to customize the interface.

The expected behavior for moving things around is that it changes on one blog, not on all blogs.",jmdodd
23930,Screen option for post formats UI,,Administration,trunk,normal,normal,3.6,feature request,new,needs-unit-tests,2013-04-03T18:28:10Z,2013-05-14T18:16:58Z,"As discussed in IRC, there should be a screen option for the post format UI on the post editing screen.

Nacin would like the UI to be hidden by default when the current theme does not support post formats and there are no non-standard format posts in the database. In this case, the UI would have to be enabled by the user. The UI would need to be automatically enabled when a theme that supports post formats is activated.

Willing patchers, make yourself known.

See also #23929

IRC logs:

https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-02-18&sort=asc#m558297

https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2013-04-03&sort=asc#m588002",johnbillion
23203,Scheduling Posts assumes GMT but UI uses local timezone (creating undesired scheduled posts),,Date/Time,3.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-01-15T15:32:09Z,2013-01-16T13:16:59Z,"I experienced an odd behavior when going to edit a page on a newly created site in a multisite environment. The site uses the New York timezone (GMT-5).

When quick-editing the page, I changed the title and slug, but pressing ""Update"" set the page as ""Scheduled"" rather than leaving it ""Published"". This was very confusing, and took a while to figure out and then explain to the end user. It seems that although the date/time is shown in the UI in the current time zone, once submitted the form interprets the time as if it were in GMT. To the end user, it looks like the page should be published since the time shows what we thought was a 5 minutes ago. In reality, the time in the date field is not recognized as 5 minute ago but 4 hours and 55 minutes in the future.

This is a problem in the full edit form for pages in this newly created site as well. When I go to edit the published time/date, the posted time in my timezone is shown. However, ''even if I hit 'Cancel' the ""Update"" button changes to ""Schedule""''.",bananastalktome
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
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
21773,Scheduled pages/posts should not appear in custom menus,,Menus,3.0,normal,normal,Awaiting Review,defect (bug),new,,2012-09-02T14:30:48Z,2012-10-23T22:03:31Z,"When I add a '''scheduled page/post''' in a custom menu the page/post immediately appears in the front-end menu.

I think these scheduled pages/posts should only be visible in the front-end navigation when their scheduled time is reached (as it is the case with automatic menus). Otherwise the ""Schedule"" functionality makes no sense with custom menus, especially for pages.

Here is another forum post regarding this issue: http://wordpress.org/support/topic/custom-menu-support-for-scheduled-pagesposts",Lorangeo
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
23907,Scandinavian ligatures transcribed wrong in remove_accents(),,I18N,trunk,normal,minor,3.6,defect (bug),new,has-patch,2013-03-30T08:52:56Z,2013-03-30T16:32:08Z,"remove_accents() is transcribing old scandinavian ligatures wrong: ÆØÅøå should be transcribed as 'Ae', 'Oe', 'Aa', 'oe' and 'aa' respectively.

Transcribation rules are the same in swedish, danish and norwegian. In trunk they are transcribed as 'AE', 'O', 'A', 'o', 'a'.

See #4739, #9591 for history.",dnusim
22003,Saving custom fields goes to post-new.php rather than post.php,,Administration,2.5,normal,normal,Awaiting Review,defect (bug),reopened,,2012-09-26T15:57:01Z,2012-09-26T19:19:54Z,"Create a new post or page.
Add a title and message.
Add a custom field (click ""Add Custom Field"")

The post is saved, but as you are taken to post-new.php rather than post.php, it looks as if your post has disappeared! All is well - it is actually saved - but it's confusing.

Tested on 3.5-alpha-21989",curiousdannii
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
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
22392,save_state() in postbox.js should look at the hidden checkboxes instead of :hidden,,Editor,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-11-08T16:05:28Z,2012-11-08T18:11:13Z,"At this moment save_state() looks at all the metaboxes that are really hidden with filter(':hidden'). With can lead to weird behavior when a plugin starts to hide a metabox in some cases since it can be showed/hidden by default.

I was wondering if it is possible to look at the checkboxes and mapped them as a string and pass it to the AJAX action closed-postboxes.",markoheijnen
22412,Save posts via Ajax,,Editor,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-11T12:18:09Z,2012-11-12T09:39:16Z,"When editing a post/page (as with any other type of document) one of the primary benefits is the undo/redo feature.

However, as soon as you update your changes you lose access to undo your previous keystrokes before the update. If you could save posts via Ajax then you would still be able to undo/redo post edits seamlessly.

Perhaps there could be a toggle in general settings for this option, and have it enabled by default?",dgwyer
19140,Save Menu Forces Sub-Menus (Child Menus) Back To Parent Menus in IE 9.0,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-11-03T22:50:29Z,2012-02-29T20:32:43Z,"The following issue appears in Internet Explorer 9.0.8112.16421 (current version).

In Appearance->Menus for both primary and secondary menus, when you try to define a sub-menu by drag-n-dropping to the right in the menu definition box, it shows indented properly. However, when you click Save Menu, all sub-menus return to being parent menus.

The only way to get the sub-menus to work was to edit them in another browser. In this case, I used Internet Explorer 7.0.5730.11 and it worked properly.",webby 2
18798,Sanitizing post in get_attachment_fields_to_edit() can cause double encoding under certain circumstances,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-27T23:33:09Z,2012-01-05T14:27:44Z,"In get_attachment_fields_to_edit, the $post object is sanitized using the 'edit' flag, which converts HTML entities. Under some circumstances this can cause entities to be double-encoded (as in, &amp;quot;), because the html entities are already 

To fix this, sanitize the post using the 'raw' flag.",wpdavis
23430,sanitize_user() disallows + in usernames causes problem for email as username,,Users,3.5.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-02-09T08:48:31Z,2013-02-10T15:39:20Z,"I want to use email addresses as usernames which seems to work fine, except sanitize_user() doesn't allow a + in the username and my email addresses have + in them.  

Google/gmail allows one to use a + modifier on emails like so:
user+admin@gmail.com, user+editor@gmail.com, user+author@gmail.com, etc...

I often use this to get around WordPress's requirement for unique email addresses but it's also intended for and useful in filtering: user+blog1@gmail.com, user+blog2@gmail.com, etc...

Is there a reason we can't allow +'s in usernames or could it be moved to the strict case only?  

See formatting.php:892

",jb510
23423,sanitize_title() in dynamic_sidebar() restricts the use of specific characters for sidebar IDs,,Widgets,2.2,normal,normal,Awaiting Review,defect (bug),new,,2013-02-08T13:25:00Z,2013-02-19T05:20:42Z,"In the dynamic_sidebar() function in wp-includes/widgets.php uses sanitize_title() on the given index when it looks for a sidebar with a name that matches the index. After that it leaves the index value sanitized making it impossible to use characters not allowed by sanitize_title() in a sidebar ID.

By not overwriting the given index value with the sanitized version it would still be possible to use any character for the ID. To achieve this, lines 847-853

{{{
$index = sanitize_title($index);
foreach ( (array) $wp_registered_sidebars as $key => $value ) {
	if ( sanitize_title($value['name']) == $index ) {
		$index = $key;
		break;
	}
}
}}}

should be replaced with


{{{
$sanitized_index = sanitize_title($index);
foreach ( (array) $wp_registered_sidebars as $key => $value ) {
	if ( sanitize_title($value['name']) == $sanitized_index ) {
		$index = $key;
		break;
	}
}
}}}",paulvandermeijs
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
21421,Sanitize/remove admin page slug  from admin menu CSS classes,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-30T11:26:15Z,2013-03-02T21:00:41Z,"As I discovered when testing #21307, browsers won't parse a CSS class name with both underscores and hyphens. Instead, they handle it ''really'' badly.

For example: `.toplevel_page_link-manager` will affect `body` in both Firefox and Chrome.

Plugin page menu items have both an ID and class generated as such, which seems rather redundant. I propose either dropping the redundant and only partly functional CSS class or standardising the menu slug to produce a valid class name.",kawauso
23150,Sanitize the class passed to wp_list_bookmarks() and allow passing an array,,Template,3.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-01-08T20:50:58Z,2013-01-08T23:10:22Z,"The class argument to wp_list_bookmarks() could use some sanitization.

While at it, let's enhance it to accept an array of classes like we do elsewhere.",ryan
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
24157,safecss_filter_attr doesn't allow rgb() in inline styles,,Formatting,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-22T16:30:45Z,2013-04-22T16:30:45Z,"I thought there should be a ticket somewhere, but I couldn't find it!

So, `safecss_filter_attr` (which is used in `wp_kses` etc, does not allow inline styles that include rgba() etc, like his:

{{{<span style=""background: rgb(0,0,0)""></span>}}}

I am not sure if this is intended, though not sure why it would be, there is a comment in `safecss_filter_attr`

{{{if ( preg_match( '%[\\(&=}]|/\*%', $css ) ) // remove any inline css containing \ ( & } = or comments}}}
",joehoyle
21281,"RTL wysiwyg ""padding""/""indention"" action is not works as expected.",azaozz,TinyMCE,3.4.1,normal,major,Awaiting Review,defect (bug),assigned,,2012-07-15T08:33:06Z,2013-02-01T16:11:41Z,"By clicking the padding button(for indention) the action not works - it warpped the text by ""p"" element with '''padding-left''' insted or '''padding-right''' in RTL.",AlmogBaku
22897,RTL on plugin information tab,,RTL,3.5,normal,normal,3.6,defect (bug),new,has-patch,2012-12-12T20:26:28Z,2012-12-15T11:51:32Z,"The plugin information tab needs a few adjustments RTL adjustments, check out the screenshot.",ramiy
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
16544,RSS2 feeds are published as text/xml rather than application/rss+xml,,Feeds,3.0.5,normal,trivial,Awaiting Review,defect (bug),new,close,2011-02-12T21:25:45Z,2011-02-13T06:00:04Z,"It seems to me that there is a bug in feed-rss.php, feed-rss2.php and feed-rss2-comments.php

All files have the following header

header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);

Which seems to publish the feed as text/xml rather than application/rss+xml which I believe it should be.",Orakel78
21872,"RSS Widget, and all of fetch_feed() I believe, forces its own feed order of Post Date DESC",,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-11T15:25:32Z,2012-09-11T15:58:00Z,"My events management plugin wanted to provide Upcoming Events via RSS.  I wrote a pre_get_posts filter to modify the order and orderby of the event's feed to be Ascending based on a the event's start date, and it was good.

Good, however, for only as long as you don't subscribe to the feed using WordPress (whether it be the event site or one on a totally different network).  WordPress, upon fetching the feed, always re-sorts the posts according to the post date.  Subscribing with something like iGoogle, will show me my upcoming events in the order that I've coded.

Is this an intentional design decision? It feels to me that the generating site should be responsible for the order of the feed, and WordPress should respect the generating site's wishes and present the feeds in the order it is given.",madtownlems
22010,RSS Widget with hardcoded icon and style,,Widgets,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-26T22:13:58Z,2012-09-26T22:13:58Z,"Standard RSS Widget outputs hardcoded icon and oldschool inline style=""border:0"" e.g.

{{{
<img style=""border:0"" width=""14"" height=""14"" src=""http://zdrojak.lamp.wikidi.net/wp-includes/images/rss.png"" alt=""RSS"">
}}}


this makes it hard to style (even more that the parent anchor has the same css class as following title, so you can't even hide it without some css3 only magic (:first)

IMO this part of WP_INC/default-widgets.php row 766-777


{{{
		$icon = includes_url('images/rss.png');
		if ( $title )
			$title = ""<a class='rsswidget' href='$url' title='"" . esc_attr__( 'Syndicate this content' ) .""'><img style='border:0' width='14' height='14' src='$icon' alt='RSS' /></a> <a class='rsswidget' href='$link' title='$desc'>$title</a>"";
}}}
+ line 764

should be replaced by standard way e.g.

{{{
		$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'RSS' ) : $instance['title'], $instance, $this->id_base );
}}}


so when someone wants to output there an icon, he could simply with the widget_title filter",thomask
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
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
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
14459,Rotate Full Size Images on Upload,azaozz,Upload,3.0,normal,normal,Future Release,enhancement,reviewing,,2010-07-29T23:16:17Z,2013-01-06T08:52:07Z,"It may be worth a revisit to #7042.  Some mobile devices that use WordPress for Android are not capturing images in the correct orientation, instead they are writing the EXIF orientation to the image instead (which is a standard method these days).  In wp-android and other external clients that offer full size image upload, these images will not be rotated correctly upon upload.

Since most mobile users are on the go with no access to the wp-admin area to rotate the images themselves, it would work best if the image was rotated for them automatically.  

Hopefully there's a solution that wouldn't strip the EXIF data, some way to copy the EXIF data before rotating, then save it back again?",mrroundhill
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
21986,Roll sticky posts into MySQL query,,Query,3.4.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-24T19:10:09Z,2012-12-19T19:53:55Z,"The way that WP currently queries for sticky posts is quite long winded and prone to error. Sticky posts output behaviour is erratic when using pagination or ordering. I suggest that the sticky posts feature would be better served by being rolled into the MySQL query rather than trying to reconstruct the result set after the main query has run.

I have tested the attached patch against 3.4.2 and it works as expected. The query additions are performed on every page of home, rather than just the first, so that page boundaries behave as expected and that the sticky posts don't appear on subsequent pages. ignore-sticky-posts is honoured.",martinshopland
19747,Roles add_cap should call update_user_level_from_caps(),,Role/Capability,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-05T11:17:32Z,2012-12-12T20:39:22Z,"Hey guys,

I've created a new user role, which didn't appear in the Author drop down list due to #16841. The workaround is to add a level_1 capability to that user, but because wordpress doesn't call update_user_level_from_caps() function when you add_cap, that isn't actually applied to existing users on the role, and you have to move them to a different role and back again if you want to apply the changed user role.

I'd suggest adding a call to update_user_level_from_caps() to add_cap (and remove_cap) to fix this in wp-includes/capabilities.php",lgladdy
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
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
24016,RFE : Amend coding standards so that theme developers place dynamic styles in separate files,,Themes,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-04-09T21:19:08Z,2013-04-10T10:54:28Z,"Currently, theme authors are placing their dynamically generated CSS styles inline of the HTML output on every page. In a recent example I have seen from a purchased theme, what should have been a ~45KB page was being sent as a ~225KB page because of dynamically generated styles.

With minimal code, the styles can be moved to there own file (at least from the perspective of the client user agent) and HTTP features such as ""etag"", ""last-modified"", and ""expires"" can easily be made use of to make the browsing experience better.

My suspicion is that most of theme designers are not programmers, and so would not do such a thing on their own. A standardized example would help theme designers builder leaner pages.

----

 * dynamic styles -- CSS rules created based on administrator input into theme specific settings pages",pembo13
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
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
21682,Rewrite endpoints are lost if a custom category or tag base is defined,,Rewrite Rules,3.4.1,normal,normal,3.6,defect (bug),new,dev-feedback,2012-08-24T15:57:04Z,2013-02-08T14:19:31Z,"== Problem ==

So this little bug was winding me up for a while.

The standard approach according to the codex for adding rewrite endpoints is to call the `add_rewrite_endpoint()` function within the init hook. So far so good.

The problem occurs whenever `WP_Rewrite::init()` is called ''after'' the init hook. It resets the endpoints array and so when rewrite rules are subsequently generated through the options-permalink.php admin page the rewrite rules are unknown to the system and hence don't work.

`WP_Rewrite::init()` is called within `WP_Rewrite::set_category_base()`, `WP_Rewrite::set_tag_base()` and `WP_Rewrite::set_permalink_structure()`.

In the latter it is only called if the permalink structure has changed so on first save of a change endpoints are lost. In the other 2 it is called every time if the slug doesn't match the default so rewrites are always lost.


== Solutions: ==

1. add an action hook to the start of `WP_Rewrite::rewrite_rules()` where endpoints should be added
2. store the endpoints at the start of `WP_Rewrite::init()` and restore them at the end
3. don't reset them at all

I think solution 3 would make sense, the endpoints could be defaulted to an empty array and I can't see any reason to want to reset them anyway.

I've attached a simple patch that works (for me at least).

'''NB.''' this problem may also affect the `$extra_rules` and `$non_wp_rules` but I haven't tested that theory yet.",sanchothefat
21645,Rewrite API logic and flush_rules,,Rewrite Rules,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-21T00:24:05Z,2012-08-21T08:24:19Z,"
It is not clear if or how visiting the Settings -> Permalinks calls flush_rules.  It is referenced occasionally as an apparent alternative to $wp_rewrite->flush_rules() in Documentation.  This should be explicitly confirmed in the admin interface and/or a button based action.

Documentation for the Rewrite API functions do not point at $wp_rewrite->flush_rules() effectively.  (Updated some codex links, but seems worth including a pointer inline in function definitions.) 

I was confused while editing an existing theme why duplicating existing add_feed() structures in functions.php did not produce duplicated behaviour in the permalinks.  ?feed=atom1 worked , but /feed/atom1/ didn't, until calling flush_rules()

Logic seems broken between these functions.  Why call Rewrite API add_feed() every init, but still require a flush_rules reset to activate?  They should be more explicitly linked / combined / triggered.  See prior conversation in #21335

http://codex.wordpress.org/Rewrite_API",here
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
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
24056,Revisions: UI a bit unusable when you have ALOT of revisions,,Revisions,trunk,highest omg bbq,blocker,3.6,defect (bug),new,,2013-04-12T04:35:28Z,2013-05-16T19:33:28Z,"It could be a good idea to limit to last 25 or 50 revisions in the new UI.

I came across an extreme example of this on a WordPress.com site today, where I have something like 130 revisions for the Custom CSS post type. But, this same issue could apply to core post types, though—posts and pages—if the number is high enough.

When I loaded the revisions page, the ""calculating revision diffs"" message rans for a few minutes, and then ""arrow"" to move with was moved way off the screen to the right, creating a horizontal scrollbar.

The next and previous buttons are obscured by the long scrubber timeline graphic.

Screenshot attached.",lancewillett
24346,Revisions reloading all comparisons in two handle mode instead of just available comparisons,,Revisions,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-15T19:41:23Z,2013-05-16T22:09:05Z,"as  ahoereth pointed out, see [http://www.screenr.com/vAI7 screencast], all comparisons were reloading after moving one handle; instead, only possible positions for the opposite handle need to be reloaded. 
",adamsilverstein
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
23025,Review and update readme.html,,Text Changes,,normal,normal,3.6,defect (bug),new,has-patch,2012-12-20T18:20:40Z,2013-04-16T02:45:00Z,"While this should likely be done more toward the middle or end of the cycle, let's not forget to take a good look at readme.html and its contents.",helen
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
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
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
17159,Return meaningful HTTP response for comment submitted with no POST body,,Comments,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-04-17T19:45:03Z,2011-09-10T03:25:52Z,"A POST request to wp-comments-post.php currently returns a HTTP 200 response with an empty body if the body of the request was empty.

The server should die quickly and instruct the requesting agent not to repeat the request without modifications if minimum necessary key(s) are not present on $_POST.

I believe the possible creation of a comment requires at least a comment_post_ID. It's also the first $_POST key checked in the script. If the POST did not supply a comment_post_ID let's stop processing and provide a meaningful response. HTTP 400 Bad Request communicating the failure. Due to the spammy nature of the requestors we may or may not want to provide variable hints in the response.",niallkennedy
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
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
21295,Retrospectively generate new images sizes if requested,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-07-17T10:12:01Z,2012-12-03T17:45:36Z,"At present the image variations are created at the moment the image is uploaded to the server. If a new image size is later added, or the default ones changed after an image is uploaded then the existing images are not adjusted. 

Whilst there are plugins that provide - regenerate thumbnail functionality it might be neater if an image size is requested that doesn't exist that the system generates it at the time it is requested. This only need happen once per image as once it is created it doesn't need to be created again.",TwoThirdsWater
23472,Retrieve the first x bytes of a remote file,,HTTP,,normal,normal,3.6,enhancement,new,has-patch,2013-02-14T01:31:02Z,2013-05-16T12:09:48Z,"A commonly useful functionality in HTTP clients is to only request the first x bytes of a document, this can be useful for example, when you only need to fetch the first few KB of a image so as to determine it's dimensions from the initial metadata in the file.

At present, we have no way to offer this through WP_HTTP, The attached patch is a first-scratch effort at adding it. No proper unit tests so far, just casual testing which confirms it working. 

Patch
* Supports all 3 transports
* Handles streaming-to-file as well
* Doesn't include Headers in the byte count
* Works with Redirects

I'll add some Unit tests for this soon hopefully.",dd32
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
22329,Retina Gravatars,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-31T05:18:14Z,2013-02-12T23:54:12Z,"Mentioned by Matt in #21019 

Should be a simple matter of changing get_avatar() in pluggable.php so that the requested size is twice the display size.",miqrogroove
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
22350,Restored Drafts Shouldn't Have a Publication Date,,Trash,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-03T00:07:39Z,2013-01-19T00:00:40Z,"After creating a draft, trashing it, and then restoring it, the post editor shows a ""Publish on"" date as though it were a scheduled post, and the Date value in the list of all posts will be wrong after further editing (e.g. ""3 hours ago, Last Modified"").",miqrogroove
23427,Restore shift-click checkbox range selection,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-02-08T19:35:32Z,2013-02-26T16:48:58Z,"It used to be possible to select a range of checkboxes in the post list by shift-clicking (see #6541). I'm not entirely sure when this feature disappeared, but it's been a while.

Patch restores the functionality using the [http://www.sanisoft.com/blog/2009/07/02/jquery-shiftcheckbox-plugin/ ​jQuery shiftcheckbox plugin].",sillybean
24096,Restore option to change post format in Bulk Edit box,,Post Formats,trunk,normal,normal,3.6,enhancement,new,commit,2013-04-16T03:10:40Z,2013-04-24T21:46:08Z,"For a faster change inline - to other format, add this option.

http://media.share.pho.to/1rFYs/7a29bd21_o.png",alexvorn2
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
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
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
18532,resized image dimensions incorrectly floored instead of rounded,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-27T16:14:29Z,2011-09-04T17:43:03Z,"Image dimensions are incorrectly floored instead of rounded to a proper number. Some attempt at ""fixup"" is done later in some processes to move them by a pixel, but still the way it's initially calculated is wrong.

'''For example:

A typical photo has a 3:2 (3/2 = 1.5) ratio.

If it's resized to 600px width, WP will make the height 399px - this is wrong.'''

It happens because of ''function wp_constrain_dimensions'' in ''media.php'' (~line 304) which floors the float using intval, which is wrong. 


{{{
	$w = intval( $current_width  * $ratio );
	$h = intval( $current_height * $ratio );
}}}

'''I propose'''

{{{
	$w = round( $current_width  * $ratio );
	$h = round( $current_height * $ratio );
}}}

Earlier in the function, both $ratio and $current_width are already handled as numbers, so they have to be valid numbers, no need to use intval for that reason, it's just being used to floor, which is bad in this case.

Using round is not a performance issue because this function is not used in realtime output for templates but typically in admin area.

Optionally while you are at it, put a filter on wp_constrain_dimensions and pass the filter all the values passed to the function before the array is returned at the end.
",_ck_
18771,Reset Password link generation,,Users,3.2.1,normal,normal,Awaiting Review,defect (bug),new,close,2011-09-25T16:30:42Z,2011-10-02T16:20:23Z,"I have been having problems with the login following a reset password. 

A user click the ""forgotten password"" link and then after receiving the email clicks the link in the email to reset their password submits their new password gets a message that says ""You have successfully reset your passoword. Log in"" The link for login is not being generated correctly which is causing them to get a ""Invalid Key"" error.

Here is what I have dont to temporarily resolve the issue:

in wp-login.php I modified the following lines of code:

changed Line 207:

{{{
if ( empty($key) ) {
}}}

to this:

{{{
if ( empty($key) || preg_match('/[^a-z0-9]/i',$key) != 0) {
}}}

Removing special characters from the key that gets emailed to the users when they click the ""forgotten password"" link on the login page.



Commented out Line 444:

{{{
login_header(__('Password Reset'), '<p class=""message reset-pass"">' . __('Your password has been reset.') . ' <a href=""' . site_url('wp-login.php', 'login') . '"">' . __('Log in') . '</a></p>');
}}}

then slightly modified it removing the login link from the message

{{{
login_header(__('Password Reset'), '<p class=""message reset-pass"">' . __('Your password has been reset.') . '</p>');
}}}


This change forces the user to return to the homepage before logging in again and then they dont get the ""invalid key"" error. 

It would be nice if there were a more permenant fix for this issue that wouldn't get lost when we update the next time.",binaryweb
12929,Reserved names for taxonomies,,Taxonomy,,normal,normal,Future Release,enhancement,assigned,,2010-04-08T20:30:17Z,2013-01-16T17:42:20Z,"To prevent issues like #12917, register_taxonomy() should check a list of reserved names, before registering the taxonomy.",scribu
12461,"Resend Pass to users from ""admin > users""-list",,Users,2.9.2,normal,normal,Future Release,feature request,new,,2010-03-02T15:23:32Z,2010-03-02T17:34:01Z,"In some of my projects i got the case, that i have to resend the password to some of my users (in this cases WP is used as a CMS). So i needed a possibility to resend (better would be: reset) the pass. Currently i'm stuck with a custom admin-UI on a template-page that contains a list of users (each in a row).

Currently i got the follwing (in a custom list/table of users) for each user at the end of the <tr>-row:
{{{
$user_login = isset($_POST['user_login']) ? stripslashes($_POST['user_login']) : '';
echo
'<td id=""' . $user->ID . ';user_pass;' . $wpdb->users . '"">' .
'<form name=""lostpasswordform"" id=""lostpasswordform"" action=""' . site_url('wp-login.php?action=lostpassword') . '"" method=""post"" target=""_blank"">' .
'<input type=""text"" name=""user_login"" id=""user_login"" class=""input hide"" value=""' . $curuser->user_login  . '"" size=""15"" tabindex=""10"" />' .
'<input type=""submit"" name=""wp-submit"" id="""" class=""small margin-null"" value=""reset"" tabindex=""100"" />' .
'</form>' .
'</td>';
}}}
This makes it possible to resend the wp_mail to ask the user to reset the pass. I'm not the best at php, so i couldn't achieve any sort of bulk managing this, so i set the target to blank.

I hope this function get's into the user-quickmenu. As i stated before: It would be great if you could reset the pass, so the user get's a new pass in an instant.",F J Kaiser
16268,Requirement for has_header_image() function?,,Template,,normal,normal,Future Release,enhancement,new,,2011-01-17T12:05:24Z,2011-01-18T11:10:19Z,"I know is pretty easy to do, but would it be a good idea to provide a has_header_image() function for use in themes? Something along the lines of:

{{{
function has_header_image() {
   $header_image = get_header_image();
   return !empty( $header_image );
}
}}}

As the header_image() function just outputs the URL it would be handy to have a conditional function you could use to check when there was a header image to output.

I'm currently working on a plugin that gives you more granular control over using different header images on different pages using the 'theme_mod_header_image' filter. There may be instances when you do not want to show a header at all on some pages. In the current TwentyTen theme for example, no checking is done before the header_image() function is called so in this scenario the header image just appears as a broken image - ideally it should not output the image at all.

Either that or should there be a function which outputs the whole image tag so that if the header_image() function returns false/empty it does not output the tag at all?

What are people's thoughts on this?",husobj
22200,Require users to set a site title,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-15T18:52:14Z,2013-01-26T20:43:26Z,"Currently, users can get away with setting a blank site title under Settings -> General.

As a consequence, meta and title tags in both the front-end site and wp-admin may be empty, or contain extraneous spaces and separators. 

A common reason why users leave site titles blank is due to the misperception that the site title is necessarily displayed in the header on the front-end site. 

I suggest that we display an alert when users attempt to set a blank site title, and possibly suggest that if they don't want it to appear in their header, they can edit their CSS or hide header text under Appearance -> Header.",chrisrudzki
16470,Require confirmation on email change,,Users,3.0,normal,normal,Awaiting Review,enhancement,new,,2011-02-06T12:07:11Z,2011-02-06T19:06:19Z,"When a new user is registered for a site, the e-mail he provides gets easily confirmed. But immediately after that, the new member can visit his profile and is able to change his e-mail to anything. Regardless of whether it is done on purpose or the user enters a wrong e-mail by mistake, the admin cannot contact the member, should he has to for any reason. The e-mail address is of great importance in such cases and I don't think that's a rare need!

I've had the impression that WP was not offering this feature, but then I realised that the code lies in core, though restricted to multisite installations. I find it quite difficult to understand why.

There might seem to be a relation to #13717, but what I propose hereby is just giving the admin of a single-site installation the '''option''' to activate e-mail change confirmation.

I think the implementation would only require a few changes in wp-admin/user-edit.php, making send_confirmation_on_profile_email() available outside of wp-admin/includes/ms.php and adding an option in Settings.

Why would we have to hack the core or consider a plugin for something almost already offered in core? That's why I describe the ticket as ""enhancement"", not ""feature request"".",linuxologos
23537,"Require attributes, not classes",,Template,,normal,normal,Awaiting Review,feature request,reopened,,2013-02-19T18:20:03Z,2013-02-28T19:40:43Z,"Currently themes[http://codex.wordpress.org/Theme_Review#Template_Tags_and_Hooks must] use [http://codex.wordpress.org/Function_Reference/language_attributes language_attributes], [http://codex.wordpress.org/Function_Reference/body_class body_class], [http://codex.wordpress.org/Function_Reference/post_class post_class] [http://codex.wordpress.org/Function_Reference/comment_class comment_class]. Rather then requiring direct usage of those, it'd be far more useful to have (and instead require) functions for the entire attributes output, with corresponding filter hooks. The current `_class` functions/hooks would still run, albeit internally via these new functions. This approach is scalable to future attribute needs.

{{{
<html <?php html_attrs(); ?>>
<body <?php body_attrs(); ?>>
<article <?php post_attrs(); ?>>
<li <?php comment_attrs(); ?>>
}}}

There also should be `get_` versions. Using the `get_` version in the theme (or manually applying the hook) should suffice to meet requirements. The hooks are the underlying reason for requiring these functions. Hooks would run in the `get_` versions. #23236 can ensure safe output and DRY code.",ryanve
22641,Request: include post_id on media_send_to_editor filter call in wp_ajax_send_attachment_to_editor,,Media,2.6,normal,minor,Awaiting Review,enhancement,new,,2012-11-29T20:44:58Z,2012-12-02T15:37:53Z,"Before 3.5, by combining some hidden fields on the add media popup (using attachment_fields_to_edit) and then looking for those fields in $attachment in the media_send_to_editor filter, you could alter the $html sent back to the editor on a per custom post type basis.

Here's a pre 3.5 tutorial on what I'm on about: http://shibashake.com/wordpress-theme/how-to-hook-into-the-media-upload-popup-interface - The relevant part is in step 4, ""Set Our Own Action"".

Because recent changes mean that the fields added by attachment_fields_to_edit are posted separately (""save-attachment-compat""), there's no way to identify the custom post type when hooking into the media_send_to_editor filter. 

In wp_ajax_send_attachment_to_editor(), is there any reason we couldn't also include $_POST['post_id'] with the ""media_send_to_editor"" filter?

e.g. 

{{{
$html = apply_filters( 'media_send_to_editor', $html, $id, $attachment, $_POST['post_id']);
}}}

I'm new to WP, but I would've thought that wouldn't break anything because of the way most filter hooks will only look for params 1-3.

Thanks,

Adrian",adrianhardy
21272,reporting typo in dbDelta,,Database,3.4.1,normal,minor,3.6,defect (bug),new,has-patch,2012-07-14T14:45:25Z,2013-01-08T07:05:05Z,"In dbDelta, there is the section:


{{{
                // For every remaining index specified for the table
                foreach ( (array) $indices as $index ) {
                        // Push a query line into $cqueries that adds the index to that table
                        $cqueries[] = ""ALTER TABLE {$table} ADD $index"";
                        $for_update[$table.'.'.$fieldname] = 'Added index '.$table.' '.$index;
                }
}}}

Note that $for_update is updated with the wrong array index.  This causes some updates not to be returned in $for_update.  Better would be:

{{{
                        $for_update[$table.'.'.$index] = 'Added index '.$table.' '.$index;
}}}

Even this is not really right, since indexes and columns may have the same names.  Given that the users of dbDelta don't even seem to care about the keys, it might be simpler just to change all the $for_update lines to

{{{
                        $for_update[] = ...
}}}

except for the first one that must be keyed on table name.",apimlott
21253,Replaces deprecated get_delete_post_link in class-wp-posts-list-table.php,,Post Types,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-13T04:41:31Z,2012-07-13T04:41:31Z,Changing the ajax nonce actions from post-post_type_ to post_ in #21194 allows us to change deprecated get_delete_post_link() to wp_nonce_url() in class-wp-posts-list-table.php.  Patch requires #21194 to work on custom post types.,c3mdigital
23082,"replace XHTML with HTML in ""WordPress should correct invalidly nested XHTML automatically"" setting",,Text Changes,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-30T09:02:43Z,2012-12-30T09:02:43Z,"From inspecting the code it seems like tag balancing is done whatever flavour of HTML is being used, so maybe using the more generic term HTML will reflect better what is being done in the code.

Actually I'm not even sure that it should be more then ""Try to auto correct publishing standard errors found in the text"", just avoid totally the whole XHTML/HTML thing. I'm sure someone with better english language skills then me will find a way to make it shorter.",mark-k
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
23084,Replace the use of the $more global with a filter,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-30T09:35:31Z,2012-12-30T09:35:31Z,"Globals are evil is a good enough reason, but this global is also very poorly documented http://codex.wordpress.org/Customizing_the_Read_More#How_to_use_Read_More_in_Pages claims that it can have negative value while it is being used as boolean in the code.",mark-k
21650,replace serialize() with print_r() in stats() function in wp-includes/cache.php,,Cache,3.4.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-08-21T13:42:29Z,2012-09-10T15:17:49Z,"In PHP 5.3 it is no longer possible to serialize data that contains a SimpleXMLElement object. It produces a fatal error. See https://bugs.php.net/bug.php?id=49800

The stats() function attempts to determine the allocated space for objects in the cache by using strlen() of the serialized object.

This can fail for the reason above.

Given that the figure returned is simply an estimation of the space 
I propose that the code is changed to use 
print_r( $cache, true ) instead of serialize( $cache )

ie. to become
`echo ""<li><strong>Group:</strong> $group - ( "" . number_format( strlen( print_r( $cache, true ) ) / 1024, 2 ) . 'k )</li>';`



This TRAC was raised after a longish chain of events starting with #18488 and the final response (today) which led to another chance discovery of a similar problem in the debug-bar plugin.

http://wordpress.org/support/topic/plugin-debug-bar-fatal-error-uncaught-exception-serialization-of-simplexmlelement-is-not-allowed



",bobbingwide
20602,Replace media,,Media,3.3.1,normal,major,Awaiting Review,enhancement,new,dev-feedback,2012-05-02T13:29:45Z,2012-05-02T17:55:33Z,"I have been developing themes for clients lately that require the same image across the theme in varying places. A good example is an event site where the image is a badge/sticker showing the price of the tickets. This gets output on various pages in varying locations. 

get_attachment_link is perfect as I can plugin a single ID and use the graphic wherever. However, the ticket prices change as the event gets closer and the graphic needs to be updated which breaks the theme in production when my client does so as a new ID is generated. 

This doesn't make too much sense to me. I've worked with and developed CMSs of all kinds and usually the ID is preserved. 

I would at least like the option, perhaps a checkbox, to indicate I want to reupload a new image. I think it's more common that an update on a media item would be to modify the same logical graphic rather than just replacing it with something entirely new.

I found the following plugin but I feel this really ought to be core.

http://wordpress.org/extend/plugins/enable-media-replace/

Thanks for your consideration.",PorridgeBear
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
13433,"Replace ""admin"" with ""administrator"" or ""administration""",,Text Changes,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-05-18T12:54:25Z,2012-11-19T16:44:19Z,"Since ""administrator"" is right name for user who administrates site, we should replace occurences of ""admin"" because of consistency and because it adds confusion since ""admin"" is also used instead of ""administration"".

You can easily see current 17 occurences by searching on GlotPress (eg. [http://tinyurl.com/39m7xeh])",dimadin
18466,Reorganizing Widget Areas,,Widgets,,normal,minor,Awaiting Review,feature request,new,,2011-08-18T00:18:17Z,2012-02-06T15:56:29Z,"The widget-area boxes should be draggable as a whole. Meaning the user should be able to drag and drop the area boxes up and down as a way to rearrange the areas.

Sometimes I want to move the entire area's contents to a different area, and the best way would just be to drag the box to a different position in the vertical order.",audiobahn
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
18617,Renaming menus orphans children when using global terms,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-07T21:36:15Z,2011-09-07T21:36:15Z,"Renaming a menu when global terms is enabled will cause the menu to be disassociated from its children. This is caused by the reliance on `wp_get_nav_menu_object()` in `wp_update_nav_menu_item()` and elsewhere, where the calling function attempts to get the menu object using the old global term id rather than the new global term id. The menu items appear to be invalid because the menu term id has changed.",adambackstrom
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
23520,Rename sidebars to something more appropriate,,Widgets,,normal,normal,Awaiting Review,enhancement,new,,2013-02-19T08:38:12Z,2013-02-19T13:43:59Z,"The things that we put widgets into are no longer just sidebars. Maybe they never were just sidebars. Widgets go into areas that can literally be displayed anywhere within themes.

Proposal: rename ""Sidebars"" to ""Widget Areas"".

Discuss.",johnbillion
22119,Rename 'QuickPress' to 'Quick Post' or something similar.,,Text Changes,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-07T04:11:02Z,2013-01-22T03:21:21Z,"I think 'QuickPress' should be renamed to 'Quick Post' to be a little more user friendly. As it stands, Quick press gives no indication whether it will be a post or page, or what QuickPress even does. I think renaming it Quick Press gives more direction, and is a little easier to understand.",bradparbs
22854,"Rename ""Alt text for the image, e.g. “The Mona Lisa” when inserting an image",,Media,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-12-11T16:00:09Z,2012-12-11T16:18:16Z,"When inserting an image, a message appears under the ""Alt"" field ('''Alt text for the image, e.g. “The Mona Lisa”'''). 

This message is not clear. For a long time I didn't bother about it and I never completed it because I had no idea what its purpose was nor it result. Not knowing, I preferred to no change the default settings since that field is not completed by default, unlike the field ""Title"" which is completed by default.

Then through internet browsing, I finally learnt that field is used by blind people in order to know about the displayed images.

From there, I manually copied/pasted what was in the field ""Title"" of my almost 350 images (a one hour job).

If the text displayed under the field ""Alt"" had been ""'''Alternative text to be read by our blind friends unable to see the image'''"" ('''or something of the kind'''), that would have been clearer to me and I would have completed that field as soon as I inserted my first image. 
Here, as it is, the text explaining that field doesn't help newbees ; it's a language for people knowing HTML (since the field names are exactly those of the img HTML tags).

Also, it would be clearer for newbees not knowing HTML if the explanatory text for the field ""Title"" itself was something like: ""Displayed in a bubble when hovering the image"".

The idea of all this is to tell expliciteley what fields are for, so that a person not knowing HTML can rapidly understand what they are supposed to do with them, without having to go through long searches on internet in order to understand those fields.

I hope some members of the WordPress staff will consider my present comments.

Best regards",luciole135
15060,Removing title on widget doesn't modify in-widget-title span,,Widgets,,normal,normal,Future Release,defect (bug),new,has-patch,2010-10-07T17:09:22Z,2011-01-13T07:38:41Z,"In the widget editor, widgets with titles have this title shown in the widget editor container title. For example:

{{{
Text: Sample Widget
}}}

When a widget is first modified and saved, adding a title will cause this widget editor container title to update via JS to reflect the title update. Subsequent modifications of the title will also be reflected. However, if the title is removed, the previous title will remain.

Looking at the code shows that the in-widget-title span that holds this widget editor container title is only updated if the title value is not empty. This is easily tested by adding a Text widget, giving it a title, clicking Save, confirming that the title is reflected in the container, removing the title, and clicking Save again.

The supplied patch modifies the JS that handles this process and causes it to always update the in-widget-title span, even when the title entry is empty or missing.",chrisbliss18
16787,Removing title from a page (blank title) results in collapsed UI element in menu builder,,Menus,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-03-07T17:43:29Z,2013-04-22T03:21:45Z,"This minor issue has to do with the custom menu interface and titleless pages pages - this is handled somewhat gracefully when you initially create a titleless page using (pending) placeholder text, so I thought I would report it.[[BR]]
 

'''Issue preconditions'''

* WordPress 3.1
* Page created with title and body text
* Page added to a custom menu and saved[[BR]]

'''Steps to recreate'''
* remove title from the page from one of the ""edit page"" UIs
* visit the Menus interface
* you should now see a collapsed menu item in the menu creation interface (screenshot attached[[BR]]

Tested In: Chrome OSX 10.0.648.127 | Firefox OSX 3.6.13
",jafoca
19085,Removing First Submenu Page in Admin Menu breaks URL for Menu Page,,Administration,3.1,normal,major,Awaiting Review,defect (bug),new,,2011-10-29T18:44:19Z,2011-10-29T20:39:29Z,"If you attempt to remove the Post Type Submenu Page in the Admin it breaks the Menu Page URL; it causes the Menu Page URL to be the same as the new first Submenu Page URL:

[[Image(http://screenshots.newclarity.net/skitched-20111029-142108.png)]]

Here is a simple class you can drop into the theme's `functions.php` file to experience this bug. This example is a minimum to trigger the error ''(I simplified the `register_post_type()` call so the example code would have fewer lines):''

{{{
<?php

class Trigger_Admin_Menu_Bug {
  static function on_load() {
    add_action( 'init', array( __CLASS__, 'init' ) );
    add_action( 'parent_file', array( __CLASS__, 'parent_file' ) );
  }
  static function init() {
    global $wpdb;
    register_post_type( 'test-cpt', array(
      'label'   => 'Test CPT',
      'show_ui' => true,
    ));
  }
  static function parent_file( $parent_file ) {
    remove_submenu_page( 'edit.php?post_type=test-cpt', 
                         'edit.php?post_type=test-cpt' );
    return $parent_file;
  }
}
Trigger_Admin_Menu_Bug::on_load();
}}}

I'd provide a patch but the admin menu code is more complex than I can fully understand.  Maybe the person who originally wrote it could fix it? 

Note: Sadly, this is a blocker for one of my client projects.  The client wants the admin menus simplified to reduce the conceptual load on their end users because we are adding many other submenu pages.  Plus I've traced through the core WP code with a debugger for many hours looking for hooks that would allow me to get around this issue, but there simply are no hooks where it would be needed to hack a fix for this.",mikeschinkel
3670,Removing CDATA close tag ( ]]> ) unbalances the CDATA block,andy,Template,2.1,normal,minor,Future Release,defect (bug),new,has-patch,2007-01-25T05:55:47Z,2012-02-03T03:01:42Z,"I'm
not sure if this is a bug per se, but it breaks included JS in my
posts that are escaped with a CDATA section.  I've basically commented
out the following line in the_content() every time I upgrade:

//$content = str_replace(']]>', ']]&gt;', $content);

A user on the wp-testers list indicated that this was part of making sure that included CDATA blocks didn't break RSS feeds.  I don't use CDATA sections directly in my RSS feeds, so I haven't tested this.  In my particular case, the JS is used to embed Flash movies (e.g. YouTube videos) in an XHTML compliant way (without embed tags).  I have a custom plugin I've written that strips out the JS and replaces it with the embed tag in the RSS feed.

Perhaps we should use a flag to activate this when the app is going through a feed.  Ideally, though, it would simply be removed.  Odds are that the CDATA block is being used for a JS block in a post body, and since most RSS aggregators don't allow JS by default, it would be safe to simply remove CDATA blogs if is_feed() is set.",scenic
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
23402,remove_query_arg messing up some URLs,,General,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-06T01:00:41Z,2013-02-06T15:15:02Z,"I'm using remove_query_arg to strip utm campaign parameters from user-submitted URLs, but for some URLs it is replacing dots with underscores.

E.g. if you pass http://www.nanowerk.com/news2/newsid=28843.php into this:


{{{
$url = remove_query_arg( array(
	'utm_source'
	'utm_medium',
	'utm_campaign',
	'utm_term',
	'utm_content'
	), $url );

}}}

it returns http://www_nanowerk_com/news2/newsid=28843.php



",lumpysimon
23767,remove_menu_page: Check for existing menu items,,Warnings/Notices,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-03-14T13:32:47Z,2013-03-16T17:56:37Z,"This error appears in my error log:

''PHP Warning:  Invalid argument supplied for foreach() in /www/htdocs/wp-admin/includes/plugin.php on line 1290''

The if-empty patch is attached. ",sergej.mueller
18327,remove_menu_page('index.php'); causes Notices - risk of unexpected results?,,Menus,3.2.1,normal,trivial,Awaiting Review,defect (bug),new,,2011-08-04T12:36:26Z,2011-08-04T13:01:03Z,"Thanks for the new remove_menu functions!

However if one adds action on admin menu and  does

 remove_menu_page('index.php');

This causes a lot of notices

Notice: Undefined offset: 0 in C:\web\wpbeta\wp\wp-admin\includes\menu.php on line 161

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 51

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 56

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 61

Notice: Undefined offset: 0 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 81

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 87

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 112

",anmari
19306,"remove_all_filters() should set to array(), not unset",,Plugins,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-20T19:11:49Z,2011-11-21T10:01:56Z,"Consider this use case: You want to hook into priority 0 of an action and run remove_all_actions() for all other callbacks.

Since we use current() and next() to iterate, rather than making a copy of $wp_filter to loop through it, this should work.

Unfortunately, current() and next() expect an array, and only stop when next() returns === false. remove_all_filters() does an unset() on $wp_filter[$tag], which means next() returns A) a warning, and B) null. The null causes an indefinite loop.

Test code:
{{{
add_filter( 'test_filter', function() { remove_all_filters( 'test_filter' ); return 0; }, 0 );
add_filter( 'test_filter', function() { return 1; }, 1 );
add_filter( 'test_filter', function() { return 2; }, 2 );
var_dump( apply_filters( 'test_filter', -1 ) );
}}}",nacin
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
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
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
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
19487,Remove useless calls to set_time_limit(),westi,General,1.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-09T14:53:08Z,2012-11-23T10:13:52Z,"Calls to set_time_limit() were introduced in http://core.trac.wordpress.org/changeset/1812 and have remained in core ever since. The call occurs in code that makes network connections and is designed to allow time for the network calls to complete before the script execution stops.

But set_time_limit() won't take network time into account, so it actually will not do what it seems designed to do. From php docs:

  The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.

Further, calls to set_time_limit() can cause unexpected results in code that relies on any functions that call set_time_limit(). For example, if some code (in a cron job, say) sets the time limit to 0 (unlimited) because it knows it needs some time complete, then a subsequent call to a function that resets the time limit will halt the long-running execution once the new limit has been reached. Also from php docs:

  When called, set_time_limit() restarts the timeout counter from zero. In other words, if the timeout is the default 30 seconds, and 25 seconds into script execution a call such as set_time_limit(20) is made, the script will run for a total of 45 seconds before timing out.

Since the call to set_time_limit() does not here do anything useful, it should be removed.",dllh
17542,Remove upload file after deleting custom background,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-23T08:49:25Z,2011-05-23T14:40:13Z,"I came across a comment on custom-background.php that says 
//@todo: uploaded files are not removed here.

So, I thought I will come up with this codes for the upload file deletion if user remove background.

Attached custom-background.diff

I had tested on my localhost.

Hope this contribution is useful.

Thanks.",denzel_chia
21874,Remove unused functions in wp-admin/includes/update.php,,Upgrade/Install,2.8,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-09-12T05:13:06Z,2012-09-12T10:22:52Z,"Just noticed these two functions, `wp_update_plugin()` and `wp_update_theme()`, which aren't used anywhere in core, and haven't been for a very long time far as I can tell. Looks like redundant code.",solarissmoke
19367,Remove unused _relocate_children(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-11-26T23:23:51Z,2012-03-24T14:30:12Z,It's from the days of negative post ids. Some history: #9471,scribu
22023,Remove UNIQUE for slug in wp_terms,,Taxonomy,2.3,normal,normal,Future Release,enhancement,new,,2012-09-27T20:23:10Z,2013-05-14T13:38:13Z,"To set us up for future changes to the taxonomy API, we should remove the UNIQUE key for 'slug' for wp_terms. Said future changes include:

 * Splitting shared terms on update (#5809)
 * Stop creating shared terms (#21950)
 * Forcibly split remaining shared terms
 * Merge wp_terms and wp_term_taxonomy (I can dream, right?)

The term_exists() check should prevent duplicate terms from ever being inserted (before, of course, we fix #5809 and #21950). But, this needs unit tests, particularly because there is a case where term_exists() breaks. See #17689, which blocks this ticket.",nacin
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
21976,"Remove the ""standard"" fullscreen mode from the default configuration of TinyMCE",,TinyMCE,,normal,normal,Future Release,enhancement,new,has-patch,2012-09-23T18:07:56Z,2012-11-07T22:16:57Z,"The ""standard"" TinyMCE fullscreen is incompatible with the DFW fullscreen. Currently we are loading both plugins and trying to give access to the standard fullscreen by shortcut only. This is left over from when DFW was working only for the Edit Post screen.

Best would be to remove the standard fullscreen completely. It can be added by a simple WordPress plugin for users that prefer it.",azaozz
20421,Remove support for Netscape 4 from kses.php (because it's 2012),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-12T00:54:32Z,2012-04-12T01:45:52Z,"Futzing around, I ran into this in kses.php

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/kses.php#L995

> Removes the HTML JavaScript entities found in early versions of Netscape 4.

Reading it, if that's really true and the only reason it's needed, I think we're pretty safe in removing it now. 

Patch added.",Ipstenu
20882,Remove strings related to Akismet from WP localization files,,I18N,2.0,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T20:10:36Z,2012-06-26T03:14:15Z,"There were several tickets (#19832, #19597) related to this issue, but we had to miss it somehow for 3.4.

Main purpose of this ticket is removing all strings related to Akismet from localization files. All strings (about 110) are loaded (mainly on frontend) even if Akismet is not active. Akismet can have its own localization file.",pavelevap
18968,Remove some term cache misses,,Performance,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-17T01:44:42Z,2011-10-17T15:47:43Z,"On post listing screens a database query is performed for each taxonomy on each post. We can hit the term cache instead by using `get_the_terms()` in place of `wp_get_object_terms()` and `wp_get_post_terms()`.

By default, this change won't impact performance because the term cache isn't primed at this point, but on a site using a persistent object cache it'll hit the term cache each time instead of performing a database query. This saves `{numberofposts} × {numberoftaxonomies}` queries which can be quite a few on custom post type screens which display several taxonomy columns.",johnbillion
22976,Remove reference to category to tag converter from the tools page,,Text Changes,,normal,normal,Awaiting Review,enhancement,new,,2012-12-17T16:02:00Z,2012-12-18T16:41:02Z,"It has been such a long time since version 2.3, does anybody really need a reminder for the existence of this tool on that relatively high profile page?",mark-k
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
20130,Remove redundant link_updated code related to bookmarks,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-02-28T04:45:46Z,2012-02-28T09:32:54Z,"The links table has a column called `link_updated` which used to be used to store the date the link last changed (using pingomatic to check for this).

The link update checking was removed from core some time ago, see #12437, [13744] (also #4230, #4231). However there's still some code in `wp-admin/bookmark.php` and `wp-admin/bookmark-template.php` which uses `link_updated` as well as the `links_recently_updated_time` option. I guess the column in the database can't just be dropped because of back compat. But the code that uses it in core looks like it can.",solarissmoke
17884,Remove redundant checks in settings API functions,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-24T20:20:44Z,2013-01-03T19:25:30Z,"There are several isset() checks in some settings fields functions that are meant to prevent notices, but they're simply unnecessary.

PHP doesn't emit notices in those cases.",scribu
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
22827,"Remove profile page ""Visual Editor"" setting right margin",,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T16:31:58Z,2013-03-15T09:09:32Z,"I assume this once has been added to align with the profile page ""Admin Color Scheme"" setting, but for consistency with other settings my request to remove it.

Some screenshots:

http://cl.ly/image/3t3k1w3y2Q1D/8-12-2012%2016-26-26%20ltr%20after.png
[[BR]]
http://cl.ly/image/420C1i1c1f2n/8-12-2012%2016-21-26%20rtl%20before.png
[[BR]]
http://cl.ly/image/3H3R0u080I0Q/8-12-2012%2016-25-14%20ltr%20before.png
[[BR]]
http://cl.ly/image/183U2g3x381I/8-12-2012%2016-21-26%20rtl%20after.png

Please note this is my first patch, and thus I'll probably mess up something somewhere. Terribly sorry about that.",corvannoorloos
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
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
22228,Remove one-time variable from add_settings_error,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2012-10-19T17:50:08Z,2012-10-19T17:50:08Z,"Append an array to `$wp_settings_errors` without assigning it to a variable in the previous line.

Before:
$var = array( 'type' => $type ... );
$wp_settings_errors[] = $var;

After:
$wp_settings_errors[] = array( 'type' => $type ... );",niallkennedy
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
23367,Remove message parameters fron admin URl's in the browser address bar,,General,,normal,minor,Awaiting Review,enhancement,new,,2013-02-02T07:31:20Z,2013-02-02T07:31:20Z,"Scenario: When a post is being published successfully ""message=6"" is appended to the URL. If I refresh the page while in that state I will get the ""post published"" message again, although nothing was done.

There is probably nothing functionally wrong with the way things work now but it can be esthetically more pleasant if that parameter was removed which in turn will eliminate the message problem.

This can be done on browsers that support the history API of HTML5. The following piece of code can be used after displaying the message or maybe it can be generalized to work in the admin footer.

{{{
<script type=""text/javascript"" charset=""utf-8"">
  url = the canonical URL for the address
  if (typeof history.replaceState === 'function') { // check html5 functionality support
    data = {dummy:true};
    history.replaceState(data,'',url);
  }
</script>
}}}
",mark-k
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
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
21941,Remove get_post_format_slugs(),,General,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-09-20T14:40:52Z,2012-09-20T14:41:03Z,"I just encountered the `get_post_format_slugs()` function, which is basically just wrapping `get_post_format_strings()` and setting the strings as keys too. So its output is an assoc array where the keys equal the values.

The three times core calls it, it does it the following:


{{{
// ~/wp-includes/posts.php -> set_post_format()
if ( 'standard' == $format || !in_array( $format, array_keys( get_post_format_slugs() ) ) )

// ~/wp-includes/posts.php -> _post_format_request()
$slugs = get_post_format_slugs();
if ( isset( $slugs[ $qvs['post_format'] ] ) )
	$qvs['post_format'] = 'post-format-' . $slugs[ $qvs['post_format'] ];

// ~/wp-includes/theme.php -> add_theme_support()
switch ( $feature ) {
	case 'post-formats' :
		if ( is_array( $args[0] ) )
			$args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) );
		break;
}}}


So in every case it would've been enough to simply call `get_post_format_strings()`.

Do we really need this function?",F J Kaiser
24104,Remove duplicated separators in admin menu,,Administration,2.7,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-16T17:26:37Z,2013-04-17T02:37:08Z,"I'm working on WordPress admin menu, and I found that the code to remove duplicated separators in admin menu in `wp-admin/includes/menu.php` doesn't work correctly.

Assuming we have these items in the `$menu`:


{{{
$menu = array(
	100 => array(
		0 => 'Admin Style',
		2 => 'wp-admin-style.php',
		1 => 'read',
		4 => 'menu-top menu-icon-generic toplevel_page_wp-admin-style menu-top-first menu-top-last',
		6 => 'none',
	),
	110 => array(
		0 => '',
		1 => 'read',
		2 => 'separator1',
		3 => '',
		4 => 'wp-menu-separator',
	),
	130 => array(
		0 => '',
		1 => 'read',
		2 => 'separator2',
		3 => '',
		4 => 'wp-menu-separator',
	),
	140 => array(
		0 => '',
		1 => 'read',
		2 => 'separator-last',
		3 => '',
		4 => 'wp-menu-separator',
	),
	150 => array(
		0 => 'Hide Menu',
		1 => 'manage_options',
		2 => 'hide-admin-menu',
		3 => 'Hide Admin Menu',
		4 => 'menu-top toplevel_page_hide-admin-menu',
		5 => 'toplevel_page_hide-admin-menu',
		6 => 'http://localhost:8080/wp/wp-content/plugins/hide-admin-menu/img/icon.png',
	),
);
}}}

WordPress will remove only the 1st duplicated separator (130) and still keeps the 2nd one (140).

Another problem with current code is if separator menu item has classes like `'wp-menu-separator woocommerce'` (WooCommerce does this), it won't be recognized as a separator, because the function to check separator uses `strcmp`.

",rilwis
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
22975,Remove deprecated jQuery methods from core to be safe for jQuery 1.9,,External Libraries,,normal,normal,3.6,enhancement,new,,2012-12-17T15:47:26Z,2013-05-14T17:22:58Z,"Today [http://blog.jquery.com/2012/12/17/jquery-1-9-beta-1-released/ jQuery 1.9 Beta was released].

> jQuery 1.9 has removed many of the items we deprecated during the last few versions of jQuery. 
> To test, we recommend that you start with the jQuery Migrate plugin since it will warn you about any deprecated features the code may depend on. Just include these two script tags in your code, replacing your existing jQuery script include:
>
> `<script src=""http://code.jquery.com/jquery-1.9.0b1.js""></script>`
>
> `<script src=""http://code.jquery.com/jquery-migrate-1.0.0b1.js""></script>`

The attached patch adds both scripts to core so that you can test it. There are already some notices which we should try to reduce.
",ocean90
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
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
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
22994,Remove 'blogroll' from the import options,,Import,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-18T17:53:16Z,2012-12-18T20:52:24Z,"Now that we've dropped links (#21307), we shouldn't encourage importing them. It'll just confuse the newbies.

This will require a change to http://api.wordpress.org/core/importers/1.0/, so while we can clean up /wp-admin/includes/import.php (attached) it won't matter till that's scrubbed. Maybe upgrade that to 1.1 so people who are on older WP are left alone?",Ipstenu
24078,Remove 'admin' as default username in install,,Upgrade/Install,3.5,normal,normal,Future Release,enhancement,new,commit,2013-04-13T19:07:29Z,2013-05-05T21:06:45Z,"The installation process populates the username field with 'admin' by default.

Many/most users probably leave it as-is, making them more vulnerable to brute force attacks that look out for ""admin"" usernames.

Seems a pretty easy improvement to specify no default username, and force the user to choose one themselves.

",chrisrudzki
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
16494,"Remove ""no conflict"" mode from bundled jquery",,External Libraries,3.1,low,minor,Awaiting Review,enhancement,new,close,2011-02-08T18:45:49Z,2012-07-14T11:04:26Z,"Remove ""no conflict"" mode from jquery

Over the last six months more and more of the themes I review for large sites have being using Google's CDN version of jquery (deregistering the bundled), not to get the benefit of CDN, but because most jquery libraries are dependent on $ and the developers don't know or want to deal with getting them to work in ""no conflict"".

I image we originally put in place ""no conflict"" mode for bundled jquery, as part of the transition from Prototype.

I appreciate it is hard to measure the impact of this type of change, but wanted to trac this all the same.

=== Additional Info ===

http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

http://docs.jquery.com/Using_jQuery_with_Other_Libraries",lloydbudd
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
16774,Remember list view/excerpt view setting,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-06T13:37:18Z,2012-07-03T19:43:23Z,"I love the new excerpt view, except that the next time I go to the Articles page, it shows me the list view again. The selected view should be retained as a setting.",texttheater
21788,Relocate revoke_super_admin() and grant_super_admin() to capabilities.php,,Role/Capability,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-04T11:09:57Z,2012-09-16T21:32:38Z,"Would be nice to move revoke_super_admin() and grant_super_admin() out of /wp-admin/includes/ms.php and into to /wp-includes/capabilities.php, where the rest of the _super_admin() functions are.

This allows theme-side user profile plugins (see: the bb's) to use these functions without needing to pull in a wp-admin file directly.",johnjamesjacoby
23709,Relax wildcard restrictions for populate_network() when installing in subdomain mode,,Multisite,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-06T20:03:49Z,2013-04-01T09:25:14Z,"I ran into the issue while trying to use wp-cli install-network command with --subdomains support.

Underlying core issue is that populate_network is trying to check if wildcard subdomain is accessible. This makes sense for large networks, but might not work with certain setups, or not needed for small sites.

Proposed solution is to add extra arg for populate_network() $wildcard_check with default to true. See attached patch",rinatkhaziev
21097,Reinstall Theme feature,,Themes,,normal,normal,Awaiting Review,feature request,new,,2012-06-28T11:21:32Z,2012-06-28T14:18:38Z,"I would be interested in a feature where you can just click to reinstall a theme instead of having to deactivate it, delete it and then reinstall it. Something like with reinstalling WordPress.",grapplerulrich
21134,Registering and enqueueing on the same action can cause enqueueing to happen before registering,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-07-02T11:00:17Z,2012-07-03T01:42:10Z,"We have two plugins, plugin1 and plugin2. Plugin1 registers a script, Plugin2 wants to enqueue this script. Both of these routines are executed on the [http://wpdevel.wordpress.com/2011/12/12/use-wp_enqueue_scripts-not-wp_print_styles-to-enqueue-scripts-and-styles-for-the-frontend/ _enqueue_scripts] action.

There is a chance that enqueueing in Plugin2 will happen before registering in Plugin1 and therefore fail.

Possible fixes:

* Every time we enqueue a script, registered in another plugin, we use a higher priority. I am not a fan of this approach, because it is opaque – we need to document each enqueue like this, because the next developer might not know why did we use higher priority.
* Every time we register a script, we use a lower priority. I am not a fan of this either, because we will have to do this for almost every register, because we can't know if another plugin won't try to enqueue our scripts.
* Violate core recommendation and register the script on an earlier hook. I am not a fan of  approach for obvious reasons.
* Add {{{_register_scripts}}} hooks and recommend plugin authors to register their scripts at this time.

I would prefer if we added another set of hooks, because it both makes sense to register on a register hook (as opposed to enqueue hook) and it separates the two actions, so that we can execute them at different times.

When we agree on a solution, I would be happy to write the patch.
",nbachiyski
20930,register_taxonomy show_in_menu option,,Taxonomy,,normal,normal,Future Release,enhancement,new,has-patch,2012-06-12T23:07:30Z,2012-11-23T19:55:35Z,"Shouldn't taxonomies have a show_in_menu option for taxonomies as well. Of course, this would be the same as custom post types affecting the registration and the $parent_file.

The original attachment has the parent file logic via the filter, 'parent_file'.",wpsmith
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
14290,register_new_user() can't handle WP_Error result from wp_create_user(),,Users,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-12T21:29:42Z,2011-04-28T14:48:26Z,"register_new_user() in wp-login.php does not properly handle a WP_Error object, which is the potential return value from its call to wp_create_user().

wp_create_user() is basically a pass-through to wp_insert_user().  As a result of [12778], the commit of a patch that was part of #11644 (the MU-merge ticket), new checks were added to wp_insert_user() which changed the potential behavior of the function to return a WP_Error object.  register_new_user() can thus fail with a FATAL error:

{{{
Notice: Object of class WP_Error could not be converted to int in /Users/scott/Sites/wp30.dev/wp-includes/functions.php on line 3150

Catchable fatal error: Object of class WP_Error could not be converted to string in /Users/scott/Sites/wp30.dev/wp-includes/formatting.php on line 2782
}}}

Currently it is not likely the above situation would be tripped.  But this is only because register_new_user() and wp_insert_user() perform almost identical error checks (the former does more, actually).  However, the errors generated in register_new_user() can all be suppressed by plugins via the 'registration_errors' hook.  However, some those same error checks will then be performed in wp_insert_user() and thus return a WP_Error (without a way to suppress those).

Related issues aside, the fact of the matter is that wp_create_user() can return a WP_Error object and register_new_user() can't handle it.  The fix is simple and attached.
",coffee2code
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
23012,Refresh the code for the default widgets,Viper007Bond*,Widgets,3.5,low,minor,Future Release,enhancement,accepted,,2012-12-20T01:49:37Z,2012-12-21T21:28:45Z,"The default widgets serve as examples for many people to make new widgets. We should make sure they're up to date in terms of coding standards and best practices. There's many places where this is not the case.

A few examples:

* `$instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) );`
* `$text = esc_textarea($instance['text']);` rather than at output

Also tons and tons of formatting issues.

I'll volunteer to take this on.",Viper007Bond
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
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
23115,Refactor wp.media.gallery.attachments to accept an array of attachment ids rather than shortcode,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-01-04T05:22:32Z,2013-01-04T05:22:32Z,"In /wp-includes/js/media-editor.js, line 175, the wp.media.gallery.attachments method is too closely coupled to the shortcode. This makes it impossible to fetch Attachments without first creating a shortcode to pass in.

A better approach would be to accept an array of attachment ids or a hash of properties; more than just shortcodes need to fetch Attachments by their ids.",nd987
15645,Refactor widgets.dev.css,,Widgets,3.1,normal,normal,Future Release,task (blessed),new,has-patch,2010-12-02T12:21:33Z,2012-12-24T07:05:58Z,Standard refactor of widgets.dev.css to be much more awesome. See #14770,JohnONolan
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
23450,Refactor menu item meta boxes as accordion,markjaquith,Menus,trunk,normal,normal,3.6,task (blessed),reopened,has-patch,2013-02-11T14:27:58Z,2013-05-14T18:56:41Z,"Once #23449 is complete, we are going to refactor the menu items meta boxes on nav-menus.php to reflect the same design as the accordion in the customizer.  We've already [http://core.trac.wordpress.org/ticket/23119#comment:181 prototyped] & [http://make.wordpress.org/ui/2013/02/07/heres-round-7-of-our-menus-usability-tests/ tested] this design on users, and it seems to provide a better UI.",lessbloat
23449,Refactor customizer accordion to work anywhere in admin,markjaquith,Appearance,,normal,normal,3.6,defect (bug),reopened,has-patch,2013-02-11T14:23:41Z,2013-04-02T01:39:54Z,"We'll plan to use the default styles/structure from the customizer accordion for menu item selection options on nav-menus.php.  Currently the code is very customizer specific.  

- The class names should be made more generic.  
- The CSS should be extracted and placed in wp-admin.css
- The JS, should be moved so that you don't have to include the customizer JS elsewhere in the admin to re-use the accordion code.",lessbloat
20513,Refactor $wp_scripts init checking code,,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-22T15:15:36Z,2012-04-24T09:56:05Z,"The functions in [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.wp-scripts.php functions.wp-scripts.php] seem to contain a lot of duplicate code in terms of checking and initializing the global `$wp_scripts` in each function.

Attached is rough first pass at creating a function to do this. I expect aspects of it could be done better.

I've included the first argument, to avoid relying on a global so that the function might be unit tested (pass something in, see what gets returned).",GaryJ
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
16907,Redirecting w/o using wp_redirect();,,General,3.1,normal,normal,Awaiting Review,defect,new,has-patch,2011-03-20T22:00:28Z,2011-03-23T20:38:20Z,Some places in worpdress core do not make use of the wp_redirect() function.,hakre
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
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
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
20902,redirect_canonical() on using permalink: Not all $_GET being redirected,,Canonical,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-11T09:30:08Z,2012-11-01T04:54:03Z,"Using permalink, I suppose that all query_var entered manually on URL or using $_GET will be redirected to proper permalink. Apparently not all being redirected at all. AFAIC:

1. /?post_format=image : should be redirected to /type/image/
2. /?pagename=blog : should be redirected to /blog/
3. /?author_name=admin : should be redirected to /author/admin/

Unfortunately, they are not.

It can be done by filtering redirect_canonical() but it will be better  if it's being done by default as we can see that /?category_name=cat will be redirected to /category/cat/",arieputranto
21602,redirect_canonical can lead to infinite loop on index navigation if site url is not all lower case,,Canonical,,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-08-15T21:31:17Z,2013-04-23T07:53:55Z,"The function redirect_canonical in wp-includes/canonical.php (WordPress 3.4.1) on line 406 and 422 makes the following check:


{{{
if ( !$redirect_url || $redirect_url == $requested_url )
		return false;
}}}


This ensures that it does not attempt to redirect you to the page you requested in the first place. However this function is not case sensitive so if the redirect URL is in a different case than the requested URL then the user can enter an infinite redirect loop. (For example if the Site Address (URL) of the site is set to be in all upper case.) 

This function should do a case-insensitive string comparison since domain names are case-insensitive.


The issue only appears to happen with certain plugins installed (ShareThis and PilotPress both led to this issue,) I haven't figured out yet why it's only an issue with certain plugins but it should still be fixed in WordPress to make the proper string comparison. ",sreedoap
17630,Redirect wp-signup.php to wp_signup_location,,Multisite,3.1.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-05-31T23:03:15Z,2012-11-17T15:43:47Z,"I noticed that if wp-signup.php is accessed directly and wp_signup_location is not the default ""site_url( 'wp-signup.php' )"", it does not redirect to the signup location.

I've attached a potential patch. It works for me.",dwieeb
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
21765,Redirect to canonical URL if URL has 'preview' parameter with any nonempty value and user not log in,,Canonical,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-09-01T13:18:44Z,2012-09-01T15:15:07Z,"if any URL has nonempty GET-parameter 'preview' that there is noredirection to canonical URL.
If we have http://example.com?p={post_id}&post_type={post_slug}&preview=true there is no redirection to correct URL like http://example.com?{post_type}={post_slug} or like http://example.com/{post_type}/{post_slug} (if site has permalinks). This is bad for SEO and bad user experience. If user not log in there must be redirecttion.",egorpromo
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
17168,redirect loop when accessing wp-admin/network/,,Multisite,3.1.1,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-04-18T17:59:55Z,2012-08-10T06:31:44Z,"As of 3.1.1 administrators are getting redirect loops when accessing wp-admin/network/. I run a multi-site multi-domain network and we've noticed that this bug is effecting new and old sites. One super admin reported clicking Update Network put's it in a redirect loop as well.

For new sites if this bug occurs the quick solution is to delete / recreate. I checked _options siteurl, _blogs blog_id domain, and _sitemeta siteurl. Nothing out of the ordinary in the db.",chaos1
6531,Recursively search for files in theme and plugin editors,chsxf,Template,2.5,normal,minor,Future Release,defect (bug),assigned,has-patch,2008-04-01T19:44:11Z,2013-04-18T11:13:26Z,"Themes (like Subtle: http://gluedideas.com/downloads/subtle/) might contain numerous CSS files. The theme editor, however, does not recognize any other CSS files other than ''style.css''.

The files might be located some levels deeper in sub directories like '/wp-content/themes/glued-ideas-subtle-01/assets/css/print.css'.",torbens
21234,Recursive directory creation & get_calendar() for custom post types,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-12T12:31:28Z,2012-07-13T00:28:43Z,"Hello!
I made two patches, and sent the pull request on githab.

https://github.com/WordPress/WordPress/pull/12
https://github.com/WordPress/WordPress/pull/14

And I want to join to contributers team. How can I do it? 
Irc chanel is Terminated :(",avaddon
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
24251,Reconsider SVG inclusion to get_allowed_mime_types,,Upload,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2013-05-02T19:36:57Z,2013-05-02T20:21:21Z,"There are some who think SVG should be included in core as an allowed mime type.  Makes fine enough sense to me, since there is a good argument for it, and we have support for WordPerfect documents...so there's that.

Related: #20990",JustinSainton
22889,Reconsider no-JS ?replytocom= links,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T15:13:20Z,2012-12-14T13:05:31Z,"We have a no-JS fallback for comment replies. Normally JS moves the comment form around. For people with JavaScript disabled, they follow the `?replytocom={123}` link. This results in a lot of extra crawling by search engines (potentially an additional crawl per reply-able comment!) in exchange for enabling an awkwardly executed, likely underused, and non-essential feature for non-JS users.

I'd like to consider making comment reply JS-only.",markjaquith
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
20468,Recently active network plugins,,Network Admin,3.0,normal,normal,Awaiting Review,enhancement,new,,2012-04-17T17:01:31Z,2012-04-19T03:41:30Z,There's no 'Recently Active' list on the Plugins screen in Network Admin. This should be simple enough to add in.,johnbillion
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
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
22198,Realigning the Discussions Settings page,,Administration,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T14:50:34Z,2013-01-22T03:01:36Z,"[I looked for some tikets for this but didn't find any directly related, so hopefully I haven't missed a big one out there floating around.]  

The Discussions Settings page (options-discussion.php) always trips me up when setting up a new site. There's a lot of options, descriptions, directions, etc on that page — much of which is probably unavoidable. When I visit it, I always think that the hierarchy isn't quite right. 

To help with this, I thought of two half-measures. 

1. A very simple solution: 

Put the ""Allow people to post comments on new posts"" at the top of the options list, with a little space below it. That would make that option the most prominent on the page, without making it stand out too much. 

Like this:
[[Image(http://f.cl.ly/items/3e0c062W0N1l3J2D0q0Y/Screen%20shot%202012-10-15%20at%2011.56.02%20AM.png)]]


2. A more involved solution: 

I really like the new click-to-reveal-the-options at work in the ""Page on Front"" (#16379) workflow and thought it might work well here. 

*Something* in this direction:  
[[Image(http://f.cl.ly/items/022A1G3k0O3q0g1u380L/Screen%20shot%202012-10-15%20at%2012.12.09%20PM.png)]]


The first could be accomplished for 3.5, but the second re-working could be a further down the line item. 
 
",saltcod
22049,"Reading settings let users choose between ""Full text"" or ""Summary"" for the feeds but not for the blog page",,General,1.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-30T00:35:38Z,2012-10-01T11:20:57Z,"Please make the life of new Wordpress users easier.

Why not let users chose with a simple option if they want Wordpress to show the ""Full text"" or a ""Summary"" of the posts on the blog page?

== Scenario ==

'''> OPTION 1:'''

If user checks option 1 (""Full text"") the blog page would ''always'' (!) show Full text.

'''> OPTION 2:'''

If user checks option 2 (""Summary"") the blog page would show summaries based on the following priority order:

'''1)''' Teaser (generated with the ""more"" tag"")

'''2)''' Manual excerpt (if there is no ""more"" tag in the post)

'''3)''' Automatic excerpt (if there is no manual excerpt and no ""more"" tag in the post)

The way it is working now seems very confusing to me. Relation between ''manual excerpts'', ''automatic excerpts'' and ''teasers'' is everything but simple to understand for a beginner. Moreover some themes use the ""''the_content()''"" tag in their post template while others use the ""''the_excerpt()''"" tag. This makes the whole thing even more difficult to understand when switching from a theme to another.

Such a '''basic''' option is available for the feeds. It should also be available for the pages, shouldn't it?

'''Please check the attached image as my English is not perfect.
'''

Thanks

P.S. The ""[http://wordpress.org/extend/plugins/post-teaser/ Post teaser]"" plugin might be a good starting point.",Lorangeo
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
20888,RDF Feed validation problems.,,Feeds,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-08T11:05:19Z,2012-06-08T11:05:19Z,"The RDF feed produced by feed-rdf.php produced validation errors due to description either not encoded correctly or not wrapped in CDATA tags.

To reproduce view a RDF feed: http://en.blog.wordpress.com/feed/rdf/

To see the validation errors: http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fen.blog.wordpress.com%2Ffeed%2Frdf%2F


Attached is a patch to fix this issue.

",hootbah
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
22844,random_seed transient is autoloaded with no reason,,Performance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-10T08:55:36Z,2012-12-12T09:00:37Z,"As the only use is in password/secret generation which never happens on front end this should not be auto loaded.

IMO Either set an expiry time to avoid auto loading it, or make it an not auto loading option instead of transient.",mark-k
23368,Random order for wp_user_query,,Users,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-02T09:24:40Z,2013-02-02T15:42:14Z,"Unlike the '''wp_query''', '''wp_user_query misses''' the order by random option.

This option is necessary when you have a lot of users and we want to show only some of them randomly in a widget or anywhere on the blog.

It would be great to have this option in the next wp release.",gandham
23233,Radio Button instead of Checkboxes on Comment Moderation option?,,Administration,3.5,normal,trivial,Awaiting Review,enhancement,new,close,2013-01-18T16:26:23Z,2013-01-19T03:13:00Z,"Hi! I've been a loyal Wordpress user for years. This is nothing urgent, but something that may improve the user experience.

In Settings > Discussion > Before a comment appears, there are two options: ""An administrator must always approve the comment "" and ""Comment author must have a previously approved comment""

Perhaps I have missed something here, but aren't these options pretty much either/or? If the first box is checked, it's rather irrelevant if the second box is checked, because the first checkbox would override it?

If I'm correct, shouldn't this be changed from a both/and checkbox to an either/or radio button?",danielmount
23477,r21789 creates a breaking change in behavior for get_submit_button,,Administration,3.5,normal,minor,Awaiting Review,defect (bug),new,,2013-02-14T23:23:57Z,2013-02-15T17:32:18Z,"A recent change made to get_submit_button (http://core.trac.wordpress.org/changeset/21789/trunk/wp-admin/includes/template.php) has caused an unwanted change in behavior for a button on a site I maintain. Previously, the string passed as the second argument, `$type`, was matched against a switch statement with several unique cases. In the event of a non-match in the switch, the default action prior to [21789] was to assign the parameter's value as the `$class` string without altering it.

The change introduced in [21789] now breaks a string into individual classes, which prevents the use of the unique class names within a string of additional class names. For example, the string `button-secondary save-button action` used to generate a class string in HTML of `button-secondary save-button action`, but now generates the unexpected result `button save-button action` (note lack of '-secondary') because it matches against the following if check on line 1600:

`if ( 'secondary' === $t || 'button-secondary' === $t )`

It should be noted that the phpdoc associated with the function does not name the use case that I was employing, but that the behavior of passing in a space-separated class string has previously resulted in the string being passed through untouched (and the comment here indicates it was known and expected behavior (http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php?rev=21781#L1649), and this is no longer the case. Not sure if this is worth a programmatic fix, or if it might just be worth noting in the function docblock that certain classes are now 'reserved' and cannot be passed into the `$type` string.",vhauri
18999,Quotes in emails,titi,General,3.2.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-10-19T10:39:28Z,2011-12-19T01:57:53Z,"Quotes are displayed in plain HTML CODE 
{{{
&#8217
}}}

instead of the a real quote.

This bug is in any email reply notifications containing quote in the post.

Using BBPress 2.0 with Wordpress. French language.",thibotus01
22692,Quotes Are Messing Up,,Formatting,3.4.2,normal,normal,3.6,defect (bug),new,needs-unit-tests,2012-12-03T09:39:36Z,2013-04-21T18:57:27Z,"Paste this into the body of a new post:

{{{
A sentence.  ""A quote after 2 spaces.""
}}}

Preview that, and be amazed.  The first quote is backwards.  :(

Due to font differences, this is easiest to see on the Twenty Ten theme.",miqrogroove
24144,Quote post format in 3.6 should allow oembed twitter links,,Post Formats,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-04-20T18:28:24Z,2013-04-22T02:58:51Z,Only makes sense that you would quote people using Twitter oembed. The content editor when using the Quote post format doesn't output the oembed of twitter links.,smrubenstein
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
19906,Quicktags docs recommend code causing JS error: Uncaught ReferenceError: QTags is not defined,,Inline Docs,3.3.1,normal,trivial,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-27T01:05:44Z,2012-01-27T17:35:31Z,"
Right now the docs for qt.addbutton in quicktags.dev.js have the following text:

{{{
	 * If you are echoing JS directly from PHP,
	 * use add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) or add_action( 'wp_footer', 'output_my_js', 100 )
}}}

This works, but if you add the QTags.addButton() calls on those hooks then they will cause JS errors on any screen without an editor:

{{{Uncaught ReferenceError: QTags is not defined}}}

The issue is avoided if you use the other option, enqueuing a script dependent on 'quicktags', but that is a lot more work and forces all pages in the admin to load the quicktags script unnecessarily. 

Maybe there is some way to magically make calling QTags.addbutton() safe no matter what, but I think at minimum we need to add a note to the PHPdoc about checking QTags before using it, as that solves the problem pretty simply:

{{{
 if ( typeof QTags != 'undefined' ) {
	QTags.addButton( 'gv_translation', 'translation', '<div class=""translation"">', '</div>' );
}
}}}

So the phodoc could say :

{{{
	 * If you are echoing JS directly from PHP use
	 *	add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) 
	 * or 
	 *	add_action( 'wp_footer', 'output_my_js', 100 )
	 *	
	 * If echoing the addButton calls directly instead of enqueing with the 'quicktags' dependency
	 * make sure to check that the QTags object is defined first, otherwise your code will throw errors 
	 * when no editor is present:
	 *	if ( typeof QTags != 'undefined' ) { QTags.addButton(...) } 
	 *
}}}

The attached patch just adds that to the docs. If a committer has a preferred wording then just use that instead, obviously the patch didn't take me long :)

BTW: I created a Codex article with the docblock after not finding a reference to the new API anywhere other than in the JS file itself. Nacin's posts mentioned that they had changed but not what was new ;)

http://codex.wordpress.org/Quicktags_API

Clearly it needs work, I didn't want to put too much time into it at first because I didn't understand the system yet (as I'm learning now, by finding JS errors).",jeremyclarke
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
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
17834,Quick Edit of Hierarchal Terms,,General,,normal,normal,Awaiting Review,feature request,new,,2011-06-18T12:47:23Z,2011-09-10T01:41:21Z,"Would be nice if the Quick Edit function for hierarchal terms included the ability to change the parent. In fact, you could pretty much eliminate the Edit function altogether by doing this.",DragonFlyEye
18496,Quick edit loses custom colums and custom order - looks bad,,Quick/Bulk Edit,3.2.1,normal,minor,Awaiting Review,feature request,reopened,reporter-feedback,2011-08-23T01:56:37Z,2012-06-18T22:31:42Z,"Using manage_posts_custom_column, 'manage_posts_columns', 'manage_edit-'.$post_type.'_columns'  etc

to add custom columns to the manage edit lists and to change the order of the fields.

If Quick edit is used on a post, the custom columns disappear (visually - a refresh displays them again) and the custom column order is reset just for that post.

This results in a rather buggy looking display. (See attached screenshots).  All is okay on a refresh of the page.

I think this is related to http://core.trac.wordpress.org/ticket/17935. (explained differently, but possibly similar cause?)


",anmari
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
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
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
16465,Querying taxonomies can trigger notices,,Warnings/Notices,3.1,normal,normal,3.6,defect (bug),new,has-patch,2011-02-05T14:07:34Z,2013-05-05T00:40:56Z,"Taxonomy queries variables related to backwards-compatbile taxonomy queries like {{{$cat_query}}} ({{{category}}}) or {{{$tag_query}}} ({{{post_tag}}}) do notices because they expect to have a term available.

But that's not the case if those taxonomies are getting queried ""advanced"" regardless of a concrete term.

Related: #15007 / [15685]

The related feature is: Advanced multi-taxonomy WP_Query()s (#12891, #15752)",hakre
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
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
21394,query.php: get_queried_object() result cannot be assumed to be non-NULL,wonderboymusic*,Warnings/Notices,3.3.2,normal,normal,3.6,defect (bug),accepted,has-patch,2012-07-26T21:37:03Z,2013-01-31T22:41:51Z,"I'm dealing with a WPMUdev plugin called MarketPress. Its /store/products/ page is a special CPT catalog thing that seems to have wp_title() issues, so I dug into it.

Turns out that:

is_front_page() -> is_page() -> $page_obj = $this->get_queried_object() -> $page_obj == NULL

But is_page() (and other is_...()) go harrassing $page_obj assuming there's always something useful there. This creates a flood of ""non-object access"" notices.

I would expect something like this to make sense in these is_...() functions:

{{{
if (!is_null($page_obj)) return false;
}}}

Since WP_Query::get_queried_object() first sets its result as null and returning a value is actually conditional, I don't see a way around these checks. Enlighten me please if I'm wrong.

I've looked at #19035, #18614, #17662. All of them are situations where there's at least something there in $page_obj. None of them seem to discuss or patch NULL values.

I discovered this on 3.3.2, but todays trunk [source:trunk/wp-includes/query.php@21248#L3340] has the same code.",lkraav
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
15995,query is separating post_type 'post' from custom post_types when retrieving custom field,,Post Types,3.0.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2010-12-27T12:37:39Z,2011-02-02T19:46:24Z,"{{{
query_posts( 
	array( 'post_type' => array(
		'post',
		'custom_1',
		'custom_2'
		),
	'orderby' => 'title',
	'order'=>'ASC' )
	);
}}}

It doesn't matter which parameter you take for 'orderby' it will separate the post_type 'post' from the custom post_types as shown in the example below:

custom_1,	title = AAA[[BR]]
custom_2,	title = DDD[[BR]]
custom_1,	title = GGG[[BR]]
post,		title = BBB[[BR]]
post,		title = EEE[[BR]]

I cannot believe that this is intended. The proper output should to be:

custom_1,	title = AAA[[BR]]
post,		title = BBB[[BR]]
custom_2,	title = DDD[[BR]]
post,		title = EEE[[BR]]
custom_1,	title = GGG[[BR]]",bowstreet
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
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
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
6768,Punctuation can break photo uploads,,Upload,2.5,normal,normal,Future Release,defect (bug),new,,2008-04-18T08:22:58Z,2009-11-23T21:22:50Z,"I'm doing a lot of photo uploads, and I came across a file I named 'Taking a picture of me?.JPG' - I'm using Mac OS X, so a filename containing a question mark is legal.  I don't have Windows running right now, but I'm pretty sure it's disallowed there.

Anyway, I tried uploading this picture, and although the image uploader accepted it, and the progress bar completed, it never built a thumbnail for the picture (see attachment 1).  The image is absent when viewing the gallery on a WordPress page, but when browsing the media library, it seems to know the item exists (see attachment 2).  I blurred out my path information, because that's apparently a good idea.

Renaming the file to 'Taking a picture of me.JPG' allowed it to upload without any issues.

I'm using Safari 3.1.1 on Mac OS X 10.5.2.  Am hosted with Dreamhost.  Let me know if I can supply any more details. :)

Thanks!",flammable
17115,Publishing an empty post results in success,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-12T11:32:50Z,2012-11-17T00:15:31Z,"'''Steps to reproduce:'''
1. Go to Add New post screen
1. Publish post
1. Success message is displayed with link to initial auto-draft of post

The issue can be traced back to the `editpost` switch case in `post.php` (line 204), which calls `edit_post()` and `redirect_post()`.

`edit_post()` saves any meta values passed with the post to the auto-draft, which isn't necessarily desirable, and returns the auto-draft post ID.

`redirect_post()` then defaults to status message code 6 which incorrectly reports success in publishing.",kawauso
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
23444,Publish actions not readily available after scrolling when editing a post,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-11T01:37:14Z,2013-02-11T02:26:42Z,"When editing a post in 2-column mode, the user is forced to scroll to the top of the screen. As publishing is always the final action while editing a post, the user should have the metabox available regardless of the user's scrolling.",ericlewis
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
5669,"Provide single logging functions to replace logIO(), debug_fwrite() etc.",,Warnings/Notices,2.3.2,low,minor,Future Release,enhancement,new,,2008-01-14T20:43:34Z,2011-03-31T08:42:45Z,"I'm looking at writing a logging infrastructure so that logIO() and debug_fwrite() can be consolidated into a single plugin replacable function (giving potential expansion into MySQL or syslog logging). I hope to follow this up with calls to the same function so administrative access can leave an audit trail.

",pishmishy
23413,Provide query result data to custom user columns,,Users,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-07T15:22:53Z,2013-02-16T19:25:01Z,"When the filter manage_users_custom_column is triggered, it sends an empty string for the value field.

Since it's easy enough to extend the WP_User_Query with extra fields, it would be good to have those fields passed through if they exist to save having to requery the database with the user_id parameter to get the data.

I have attached a patch to show what I mean.",JohnC28
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
23096,Provide callback before setting state of the editor media manager,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-31T18:33:52Z,2013-01-25T16:54:03Z,"In the current setup, there is no way to modify the current state or views when the media manager is opened from the ""Add Media"" button. By the time you can modify anything, all the default views have been rendered and all of the events have been fired.

It would be helpful to check for the existence of a callback, and if it exists, run that before returning the workflow.

My patch does this, which you could invoke in this way:
{{{
wp.media.editor.extend = function(workflow){
        // Manipulate the workflow here
}
}}}

Thoughts? This is only for the default media manager that is invoked by clicking the Add Media button.",griffinjt
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
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
24273,Provide a way for Theme/Plugin developers to get a list of user contact methods,,Users,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-06T16:15:54Z,2013-05-07T16:02:40Z,"When templating an author page it is useful to be able to provide a list of social media links. There's great support for adding custom links using the user_contactmethods filter, but there's no public way to get a list of those contact methods without the user's other info mixed in.

There is a private function _wp_get_user_contactmethods(), that does this. Why not make it public?

",johnnyb
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
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-01-13T20:40:03Z,"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
23227,Properly reflect date and time formats throughout admin area,,Date/Time,3.5,normal,trivial,Awaiting Review,defect (bug),new,dev-feedback,2013-01-17T19:37:21Z,2013-01-18T14:13:53Z,"I have noticed several places in the admin area where the time & date formats set on the General Settings screen are not reflected. For example, on Page Edit, revisions have a hardcoded date format of `'j F, Y @ G:i'` and ajax autosaves use `'g:i:s a'` to show the ""Draft Saved at"" time (of note is the 24 hour vs 12 hour time). The ""Last Edited By _ on _"" time ''does'' properly use the time & date format options.

I have included a patch for the two examples above (comments/critiques welcomed), but there were a few others I noticed that may be somewhat more involved to fix. These include:
- Dates shown in the ""Date"" column of list tables (both the displayed and title text)
- ""Published on:"" date/time for pages (this may be tricky since editing the published time uses a 24-hour time format)
- ""Uploaded on:"" date/time shown in 'Save' metabox on Media edit screen

And there are probably other places I have missed as well.

Obviously somewhat low priority compared to other issues (and may be enhancement rather than defect), but I figured I'd bring it here and see what others thought.",bananastalktome
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
15576,Proper l10n of items per page in the screen options,,I18N,3.1,normal,normal,3.6,defect (bug),new,commit,2010-11-25T02:57:13Z,2013-05-11T16:29:49Z,"Sites, Users, Comments, Media items and Plugins have their own translation context on the screen options tab, e.g. “sites per page (screen options)”.

To use the right grammatical case, Posts, Pages, Categories and Tags should have that context too. ",SergeyBiryukov
20050,Proper Cap check in edit_comments.php,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-15T17:36:51Z,2012-02-15T17:56:25Z,"See #20025.
As in edit.php?post_type=custom_post_type
and edit-tags.php?taxonomy=custom_taxonomy

When filtering comments for a specific post type
The fix in cap is more appropriate",nprasath002
22114,Propagating password on change,,Users,3.4.2,normal,normal,Awaiting Review,feature request,new,close,2012-10-06T08:30:47Z,2012-10-08T04:54:45Z,"After creating an account or changing profile information, it is possible to intercept the changed data in a hook. However, this is not possible for the cleartext psasword, and this is a useful feature especially when propagating a password change over different accounts spanning across different systems (in contexts such as updating the password for phpBB, Prestashop, or any PAM thingie when the WordPress password is changed).

Since this feature is by no means possible to implement without core hacks, I am submitting a patch to include this feature in the WP core.

This patch proves useful if we are to integrate other software bricks without having to implement SSO using WordPress' architecture. In my context, I need to be able to log-in through WordPress or directly through the business specific back-end.

Proposed patch is attached.",ChloeD
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
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
19492,Problems with using wp_insert_term together with switch_to_blog,,Taxonomy,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-12-09T23:38:33Z,2011-12-09T23:38:33Z,"I'm running a network of about 80 sites using WP multisite 3.2. I'm experiencing irregularities using switch_to_blog whith wp_insert_term.

To test this I have disabled all plugins, and am testing on a blank page so nothing else interferes. This is the sample code:

switch_to_blog(75);
wp_insert_term( 'New Term','category');
restore_current_blog();

When run from most blogs it adds the new term to the desired blog and the permalink to the new term page works.

But for a few of the blogs, when it runs it adds the term, but the link to the new term page throws a 404 error. Opening wp-admin and adding any new term through wp-admin fixes it.

Is this related to the other term_cache bugs?
",ErikStromme
20571,problems with slug and view in custom post types,,Post Types,3.3.1,normal,minor,Awaiting Review,defect (bug),new,,2012-04-29T23:27:56Z,2012-04-30T06:39:19Z,"when creating custom post type, there are 2 minor problems
1. when setting rewrite to false, it is not possible to edit slug (edit button missing) - this is wrong as slug is needed e.g. for get_post queries by name
2. if the post is set '''not''' publicly_queryable, then anyway the post edit screen shows ""View [custom post name]"" and ""Preview"" button, which then points to 404 screen. ",thomask
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
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@…
21554,Problem with determining e-mail charset in wp-mail.php,lizhenry,Blog by Email,3.4.1,normal,normal,Awaiting Review,defect (bug),assigned,dev-feedback,2012-08-12T11:06:52Z,2012-08-29T13:58:26Z,"In wp-mail.php the charset of the incoming e-mail message is determined on line 77 by taking the string between the second ""="" in the line and the end of line/second "";"" respectively.

'''The problem'''

If the header line in question looks like any of the following that method is perfectly fine:

{{{
Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes
Content-Type: multipart/alternative;
}}}

However in messages sent from e.g. Gmail or Goolge Reader this header line usually looks like this:

{{{
Content-Type: multipart/alternative; boundary=f46d044516dd9cd71f04c70e55e8
}}}

I this case ""f46d044516dd9cd71f04c70e55e8"" is determined as the charset and the iconv function further down on line 187 returns false which causes the post content to be emptied.

'''Suggested solution'''

I personally think that it is better to have the post published with an ""incorrect"" charset than with no content at all. 

Therefore I suggest that on line 76 in wp-mail.php...

{{{
if ( ! empty( $content_type[1] ) ) {
}}}

...is replaced by...

{{{
if ( ! empty( $content_type[1] ) && stripos( $content_type[1], 'charset' ) !== FALSE ) {
}}}

...in order to check if there is actually a charset definded.

Alternatively/additionally the return value of the iconv function on line 187 should be checked and the $content variable only modified if the return value doesn't equal FALSE.",mighty_mt
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
19960,Problem posting by email from MailChimp,,Blog by Email,3.3.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-04T01:24:20Z,2012-09-15T19:18:09Z,"Blog by email seems to have a strange bug. 

If I try to post something by email from my gmail account, it works fine. But if I send the email via MailChimp, the posting doesn't work. No post is created, published or draft...it's as if the mail was never received by WordPress

This applies to both self-hosted WordPress and wordpress.org

I have tried doing the same thing with other services such as blogger.com, and it works fine there.",sooskriszta
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
21700,Problem obtaining the Feed of an archive of tag “RSS”,,Canonical,3.4.1,normal,normal,3.6,defect (bug),new,needs-unit-tests,2012-08-27T10:40:33Z,2012-12-29T22:26:55Z,"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
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@…
24280,Privilege check in mt_publishPost,,XML-RPC,3.0.3,normal,normal,Awaiting Review,defect (bug),new,,2013-05-07T17:58:02Z,2013-05-07T23:59:08Z,"The mt_publishPost function requires both the publish_posts and edit_post privileges to publish a post.

Elsewhere, the publish_posts privilege is sufficient to publish a post.",fgauthier
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
20662,private post can be sticky via quickedit,,XML-RPC,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-05-12T08:37:27Z,2012-06-24T22:13:17Z,"While preparing translations to 3.4 I came across

http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp-xmlrpc-server.php#L908

This indicates that a private post cannot be marked as sticky.
- however it is quite possible to mark a private post as sticky while using quickedit.

Solution proposal, remove sticky tickbox on quickedit if post is private. 
Or if this is only related to the XMLRPC, fix the returnmessage to a warning ""a private post will only be visible to you, so sticky might not make any sense"".

I'm thinking.. ""either its possible or its not, the logic should be the same""
",maxemil
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
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
17183,previous_comments_link and next_comments_link return wrong url with PATHINFO permalinks,,Permalinks,3.1.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-19T20:13:15Z,2011-08-04T21:26:32Z,"When using PATHINFO permalinks, previous_comments_link() and next_comments_link() return a wrong link, which renders paged comments useless.

Steps to reproduce:
Set permalinks to: /index.php/%post_id%/%postname%/

The functions return URLs similar to: /comments-page-1/#comments
This URL results in a file not found (if no rewrite rules are available, which should not be necessary if the PATHINFO permalink structure is used).

Expected URL: /index.php/comments-page-1/#comments
Manual opening the URL results in the expected/correct paged comments page.",FireMotion
21113,Previous/Next page links maintain all GET variables,,General,3.4,normal,normal,Awaiting Review,enhancement,new,close,2012-06-29T14:57:00Z,2013-04-05T12:49:45Z,"The newer/older entries pagination system takes any query string in a inbound request, and includes it in the links generated for the newer/older entries. 

This causes problems when you put wordpress behind a cache, because all it takes is some bot trying a joomla hack to mean all visitors suddenly have a version of that page, including the bad query string, very visible.

For example:
http://kirrus.co.uk/page/6/?test=true

Note, in the 'Newer/Older' links at the bottom of the page, that ""test=true"" will be retained.

These should only really keep query-strings that wordpress knows it'll need, if you're including them? Else, you can basically poison someone's cache with this.

An example of the really bad query string poisoning a cache:
/page/2/?option=com_gk3_tabs_manager&controller=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron%0000",kirrus
20496,Previews should redirect to the permalink if the post has been published,,Canonical,,normal,normal,3.6,enhancement,new,has-patch,2012-04-20T21:55:08Z,2013-01-31T19:50:52Z,"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
16109,Preview wigdets before publish,,Widgets,3.1,normal,normal,Future Release,feature request,new,,2011-01-05T13:26:50Z,2012-05-02T16:11:45Z,"Why isn't this possible yet? Before publishing a widget that you can preview it. That way you can get the right settings out without first needing to publish it for the whole site viewers.
A preview would be very nice before publishing a wigdet like editting a post...",JonezJeA
20148,Preview post in Webkit browser doesn't render Flash objects,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-01T10:14:49Z,2013-02-10T21:49:21Z,"When inserting a Flash <object> via HTML and use Preview function in Chrome it doesn't show.

- Tested on a clean WordPress 3.3.1 install, no plugins activated, theme: twentyeleven.
- The <object> code is available in the sourcecode. It just doesn't render... When you hit refresh it shows.
- Tried this on multiple work stations (Windows and Mac os). All versions of Chrome.
- Only in Chrome. Firefox has no issues with this function.
- There is no difference between Multisite or Single site installations.
- I'm Administrator (or Network administrator) in all cases.

Issue is also on WordPress support forums: http://wordpress.org/support/topic/preview-post-in-chrome-mac-os-doesnt-generate-flash-objects
",thomasvanderbeek
20233,Preview opens in the same window when edit panel was previously another Preview window,,Editor,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-13T23:29:16Z,2013-01-03T05:52:29Z,"Steps to reproduce:

1. Create a new post, save as draft
2. Click ""Preview""
3. Go to the Preview window, and from there use the Admin bar to go back to the Dashboard and start writing a new post
4. Save that new post as draft
5. Hit ""Preview""
  * Expected result: preview opens in a new window
  * Result: preview opens in the same window

Is there some way we could get around that? For people working with multiple tabs, it can be really confusing.",hd-J
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
24345,preview link for published posts does not apply the preview_post_link filter,,Administration,3.5.1,normal,normal,3.6,defect (bug),new,has-patch,2013-05-15T15:59:25Z,2013-05-15T16:09:01Z,"The ""Preview Changes"" button in the admin section (as created in wp-admin/includes/meta-boxes.php lines 40-49) does not apply the preview_post_link filter if the post has already been published (line 41).

The patch from #19378 ensures that the javascript that is called to open the preview link in a new tab/window DOES apply the preview_post_link filter, so if you click the link normally it will use the correct URL. However, hovering over the ""Preview Changes"" button shows the incorrect URL, and right-clicking the button and opening in a new tab/window opens the incorrect URL as well.

I have attached a patch that applies the preview_post_link filter to the link created for published posts.",joeybvi
13779,Preview doesn’t work - WP installed in its own directory,,General,2.9.2,normal,normal,Awaiting Review,defect (bug),reopened,,2010-06-08T01:32:04Z,2013-02-02T23:02:43Z,"1.  Wordpress is installed on /wp/ subdirectory.

2. Then it was set up to be visible from the site root according to http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory  

3. Site works fine

4. [BUG] Preview for posts & pages isn’t working.  

When I press preview it goes to url like:  
http://example.com/?preview=true&preview_id=235&preview_nonce=aa28f04
and says ""You do not have permission to preview drafts."".

5. If I type subdirectory name “/wp/” in that url by hands, it shows correct preview:  http://example.com/wp/?preview=true&preview_id=235&preview_nonce=aa28f04

6. The situation is getting worse if i'm using permalinks. In that case - there is nothing i can do to see preview. 

ps: I’ve tested that on clean install. ",antares19
20299,"Preview changes on a published post makes all post meta ""live""",,Revisions,3.3.1,normal,major,3.6,defect (bug),new,has-patch,2012-03-25T02:02:16Z,2013-04-09T22:06:08Z,"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
22567,Preview button triggers popup blocker in some browsers if no title is set,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-23T21:41:35Z,2012-12-05T21:31:33Z,"Steps to reproduce:

1. Click on Add New (for a post)
2. DO NOT enter a title.
2. Start typing in the post body.
3. Click Preview

Expected result:

New tab opens with preview.

Actual result:

If popup blocking is disabled, a new window opens with the preview.  On subsequent clicks of the Preview button, it reverts to opening a new tab as it should.

Found in WordPress 3.5-RC1.",miqrogroove
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
22403,Prevent default browser behavior with Plupload disallowed file extensions,,Upload,3.3,low,minor,Future Release,defect (bug),new,,2012-11-10T05:42:05Z,2012-11-11T14:16:31Z,"See #22149. When Plupload is set to accept only certain file types, the drag event falls back to the browser's default behavior. That means HTML files replace the entire viewport, ZIP files get re-downloaded, etc. Ideally, our own handlers intercept such a drag event and prevents anything else from happening.",nacin
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
17142,Prettier gallery display and navigation through core,,Gallery,3.3,normal,normal,Awaiting Review,feature request,reopened,,2011-04-15T16:14:13Z,2012-07-13T22:44:10Z,"WordPress gallery display and navigation typically feels rather crude from the user point of view. With digital cameras dumping images as IMG_XXXX or long numeric strings, the default image titles are usually prominent and ugly in most of the themes I've tested (see attachments for examples). Some themes use thumbnail navigation instead, but those implementations also feel dated in many (most?) cases.

I realize that the theory is display/navigation is determined by the themes, and that display/navigation can be greatly altered via various plugins...  but the reality of how this plays out results in a default user experience that simply feels outdated. 

Many (most?) themes seem pretty unimaginative in their gallery output and IMHO a more elegant out-of-the-box display and navigation experience seems like it would really be useful for all WordPress users. I would think most users expect something like a Lightbox experience at minimum, but I am not ideologically tied to any particular solution. 

Is there something we could do on the core side to strongly encourage (or even gently enforce) a prettier default construct? 
",hew
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
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
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
21551,Press This Structural Rewrite,,Press This,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-11T19:59:54Z,2013-01-24T12:25:37Z,"This is a ticket to tidy up and abstract some of the Press This code into wp-admin/includes/press-this.php to make it simpler to work with and use functionality in plugins and such.

Once this structural change is done, I've got a couple enhancements coming down the pipes including reading OG/Twitter/Meta tags from the source page, simpler upgrades to the JS (jorbin's suggestion) better image pulling, etc.

This patch below, however, is merely structural, not adding in any new functionality, merely tidying up what we've got so far.",georgestephanis
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
23287,Press This enhancement - enclose included content in a  div to allow styling,,Press This,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-24T19:24:14Z,2013-01-24T19:24:14Z,"The Press This functionality is effective and simple, but the content it drops into a blog post has no enclosing <div>, and as a result cannot be styled using the theme's CSS file to differentiate it from the blogger's comments.

I've posted on my own blog [http://aldred.org/blog/blog/2013/01/24/improving-press-this-in-wordpress/ this post] describing how I've made a fairly simple change to insert div tags round the quoted content.

Ideally the div would also wrap the image, but that was beyond me!

Can this be looked at as an enhancement?",daldred
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
18254,Preserve image aspect ratio when editing dimensions manually in post editor,,Editor,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-07-26T01:57:16Z,2011-10-09T14:09:17Z,"The dialog box that pops up when the user clicks the ""edit image"" icon that appears on hovering over an image in the visual editor has an ""Advanced settings"" tab with input fields for the pixel dimensions of the image.

When one is updated, the other does not change. A popular feature of image management software is to ""link"" the values and preserve the aspect ratio of the image.

I propose that WordPress have the option (a checkbox by the inputs?) to do this.

Sorry if this is terse; I'm about to be kicked off this library machine and I can't come back until tomorrow. Comment with anything I need to add and I'll update when I can.",voyagerfan5761
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
22938,Presentation of hierarchical taxonomy in Media modal should be checkboxes rather than comma-separated tag list,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-12-14T14:10:16Z,2013-01-31T18:24:24Z,"Since 3.5, using register_taxonomy_for_object_type on attachments, if the taxonomy used is hierarchical, whereas in the edit attachment UI you see the normal list of checkboxes, in the corresponding modal it is presented as a comma-separated list of slugs, as if it were a non-hierarchical taxonomy (tags rather than categories). I'm sure this is not a bug / mistake / oversight, but at best it's a little unintuitive (you need to have memorised the category slugs to add new ones) and worst a bit dangerous (risk of adding unwanted categories), and it would be great if in future it was presented here too as a list of checkboxes. ",yeswework
23231,preprocess_comment should get the normalised comment data,,Comments,3.5,low,minor,Awaiting Review,defect (bug),new,,2013-01-18T11:38:02Z,2013-01-18T11:39:30Z,"In '''wp_new_comment''' we normalise some data like user_ID/user_id so that we support people providing both versions but we fire the filter to preprocess the comment first.

This means if someone writes a filter they have to re-implement this normalisation if they want to filter the comment data properly.

An example of where this currently goes wrong is when Akismet tries to fetch the roles of the user submitting the comment - http://plugins.trac.wordpress.org/browser/akismet/tags/2.5.7/akismet.php#L332

This only works if the comment comes via a route that supplies the data correctly and not one that doesn't.",westi
21354,"Prefix toolbar site menu title with ""Visit "" when in the admin.",,Toolbar,,normal,normal,Future Release,enhancement,new,has-patch,2012-07-23T18:32:12Z,2012-11-22T03:30:28Z,"2 out of the 3 users we tested had a hard time finding a link to view their site from the admin.

What if we simply added the word “Visit” in front of the site title in the toolbar when you are in the admin, and to delete the single drop down option when you’re not using multi-site.

The view of the menu from the site would stay the same.  Something like this:

[[Image(http://f.cl.ly/items/322O2i1s1z1909012e19/visit-site-link.png)]]

Props to @sabreuse for the idea.",lessbloat
17853,"Posts_per_page=-1 overwritten in query.php if is feed, (An ics feed needs all)",,Feeds,3.2,normal,normal,Awaiting Review,defect (bug),new,close,2011-06-20T03:58:29Z,2012-10-04T02:15:27Z,"Similar to [http://core.trac.wordpress.org/changeset/15852 15852], the posts_per_page argument to wp_query, is being overwritten in lines 1991 of query.php


{{{
if ( $this->is_feed ) {
    $q['posts_per_page'] = get_option('posts_per_rss');
}}}

In the case of an ics feed - ALL requested posts must be returned for a complete feed, so need to be able to pass posts_per_page=-1 as with other queries in the front end.

This is in wp 3.2 RC1 and earlier.

As far as I can make out, the only way around for now is to add a post_limits filter and remove the LIMIT in the query when it is a ics feed. (ie return empty string)

While the workaround works, it would make more sense of the post_per_page argument worked as in front end queries.

Possible workaround (use in custom feed function only)

{{{
...
	add_filter('post_limits', 'amr_remove_limits');
...
function amr_remove_limits () {
    return ('');   
// return an empty string so that NO limits are imposed in the query
}
}}}


",anmari
10203,posts_nav_link ignoring blank function parameters,,Template,2.8,normal,normal,Future Release,enhancement,new,,2009-06-18T04:53:50Z,2011-01-05T20:13:08Z,"posts_nav_link shows both next and previous links including link seperator even though the respective function parameters are blank.

{{{
<div id=""page-nav-prev""><?php posts_nav_link('', '&#171; Previous Page', '') ?></div>
<div id=""page-nav-next""><?php posts_nav_link('', '', 'Next Page &#187;') ?></div>
}}}

",milanmk
15846,Posts list associated to a term_taxonomy_id,,Taxonomy,3.1,normal,normal,Future Release,enhancement,reopened,needs-docs,2010-12-16T15:38:55Z,2011-01-10T15:32:32Z,"It could be very useful to have in the core a function that retrieve the list of all the posts associated to a term id. I have written the follow one:

function posts_of_a_term_id($term_id, $limit){
	global $wpdb;
	
	$query = ""SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $term_id ORDER BY object_id DESC LIMIT $limit"";
	$results = $wpdb->get_results($query);
						
	foreach($results as $result):
						
		$id = $result->object_id;
		query_posts('p='.$id.'');
		if ( have_posts() ) : 
			while ( have_posts() ) : the_post(); ?>
				<li><a href=""<?php the_permalink(); ?>""><?php the_title(); ?></a></li>
			<?php endwhile;
		endif;
		wp_reset_query();
							
	endforeach;
}",_DorsVenabili
14639,Posts in the Trash drag attachment pages down with them,,Media,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-08-18T20:28:50Z,2013-05-08T14:30:16Z,"If you have an attachment linked to a post, then move the post to the Trash, the attachment page results in a 404.

Steps to reproduce:

 1. Create a new post with at least one image attached to it (just add it to the post).
 2. Publish the post.
 3. Check both the attachment URL (it will be a ""child"" of the post to which it is attached) and the post URL.
 4. Move the post to the Trash.
 5. Try to ""View"" the attachment either by going through the Media Library or by refreshing the attachment URL. WordPress will display a 404 message.

Deleting the post permanently can cause the attachment permalink to work again, both with the page parent in the slug and without that information in the form http://sitename.com/attachmentname/ .",markel
19711,Posts edit list window display no information about filtering,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-01-02T16:39:30Z,2013-01-22T15:09:32Z,"The ""All Posts"" page lists the available posts.

It can filtered by authors or terms, for example by clicking on a category name or the author name next to a post.

The URL will change to apply the filtering, but there's no other visual indication of  the filtering, nor a link to quickly disable filtering.

This can lead to confusion when users are accessing filtered lists directly or via links in other part of the dashboard.

",yoavf
20114,Posts and Pages w. private visibility don't show up in existing content,,Editor,3.3.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2012-02-24T20:58:52Z,2012-03-07T13:12:29Z,"when inserting or editing a link in the editor (post or page) pages & posts with private visibility don't show up in the ""existing content"" section of the ""insert/edit link"" popup. All pages/posts with public visibility are shown. This doesn't make sense as I have all necessary privileges to see and edit these private pages/post. Even the admin doesn't see the private pages. Very annoying.",heinrichgeps
20185,Postname Permalink with no title yields 404 error,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),reopened,close,2012-03-06T19:16:44Z,2012-04-27T19:30:20Z,"When I change the permalink structure to %postname%, I get a 404 for all posts that don't have titles. The URL for each of these posts appears to be correct - it includes the ID instead of the title, but the post being served is listed as not found. If I change the generated permalink so that it is 3 digits rather than 4 or so that it has some alphabetic characters in it, all is OK.",ikemarrus
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
18614,post_type_archive_title doesn't work when tax_query is added to wp_query,,Template,3.2,normal,normal,3.6,defect (bug),reopened,has-patch,2011-09-07T17:52:04Z,2013-03-30T21:55:25Z,"post_type_archive_title( ) gets called by wp_title( ) on Custom Post Type archive pages

To get the data for the post type object,  post_type_archive_title( ) calls get_queried_object( ). This is problematic. If the query has been altered in any way (such as adding a tax_query in pre_get_posts filter), get_queried_object( ) will probably return a term, not a post type object.

Hence, accessing $post_type_obj->labels will fail and their will be no title returned

{{{
//old potentially broken way
$post_type_obj = get_queried_object();

// new doesn't break way
$post_type_obj = get_post_type_object( get_post_type() );
}}}",wonderboymusic
16283,post_exists() enhancement - don't include revisions,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-01-18T13:33:51Z,2011-07-17T02:04:03Z,"The current post_exists() function to me has a major downside.  By default all it does it search for title, content and/or date in the wp_posts table.

The problem with this is that it includes revisions.  So for example if you have a post with title ""ABC"" but then later change 