﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
24367,Admin login with correct password fails,,Administration,trunk,high,blocker,Awaiting Review,defect (bug),new,has-patch,2013-05-19T15:36:15Z,2013-05-20T14:57:30Z,"1. Clean blog with current WP 3.6 Beta3

2. Blog install page: Set the admin password to 
{{{
Tea7""Kou>9Bia7@Cio(4
}}}

3. After blog setup: The login with same password fails - every time.

'''Fix'''
Test for ''magic_quotes_gpc'' helps us.

{{{
Tea7\""Kou>9Bia7@Cio(4 !== Tea7""Kou>9Bia7@Cio(4
}}}


See also the Openwall notice: ''The ""Magic Quotes"" issue''
http://www.openwall.com/articles/PHP-Users-Passwords",sergej.mueller
23688,"esc_textarea, wp_richedit_pre and wp_htmledit_pre eat post content under PHP 5.4",westi,Formatting,trunk,high,blocker,3.6,defect (bug),reopened,,2013-03-04T17:27:22Z,2013-04-25T09:51:24Z,"Because of a change in default behaviour in {{{htmlspecialchars}}} in PHP5.4 it is possible for these three functions to eat perfectly valid post content and make it impossible to edit existing posts.

Scenario:
 * blog_charset is ISO-8859-1
 * Post contains some 8bit characters

You try and edit the post and instead of the post content you are presented with a blank editor :(

On the front end the posts display fine.

The underlying cause it this change in {{{htmlspecialchars}}}

""5.4.0 	The default value for the encoding parameter was changed to UTF-8.""

Because the string is not a valid UTF-8 sequence an empty string is returned :(


Related to #20368",westi
24056,Revisions: UI a bit unusable when you have ALOT of revisions,,Revisions,trunk,highest omg bbq,blocker,3.6,defect (bug),new,has-patch,2013-04-12T04:35:28Z,2013-05-22T17:25:00Z,"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
23891,Post Formats: tab accessibility,,Accessibility,trunk,normal,critical,3.6,task (blessed),new,,2013-03-29T10:32:49Z,2013-05-14T14:21:38Z,Post Format UI should allow for natural tabbing through the editable fields.,markjaquith
12302,add_metadata() Fails to Store Serialized Values as BINARY,ryan,Database,,high,critical,Future Release,defect (bug),new,,2010-02-20T10:52:15Z,2010-04-18T04:36:44Z,"Symptoms:

WordPress stores corrupt values in post_metadata if there are any non-UTF-8 bytes in the meta_value.

Steps to reproduce:

Call add_metadata() with non-UTF-8 values such as a latin-1 copyright char.

Even though the serialized string goes through prepare() before the query, MySQL is required to truncate the invalid value being assigned to the meta_value field.  The result is that the stored value can never be un-serialized.

This behavior can also be replicated by trying to inject CHAR(169) into any UTF-8 table query.",miqrogroove
12257,wpdb Scales Badly Due to Unnecessary Copies of All Query Results,ryan,Database,,normal,critical,Future Release,defect (bug),reopened,needs-refresh,2010-02-17T03:08:06Z,2013-03-19T05:19:44Z,"While working on #11726, I encountered a reproducible crash in wpdb::query()

The following code causes memory exhaustion on large result sets:

{{{
while ( $row = @mysql_fetch_object($this->result) ) {
	$this->last_result[$num_rows] = $row;
	$num_rows++;
}
}}}

The memory exhaustion message is error-controlled, causing a white screen of death even in debug mode.

I searched wp-db.php for references to $this->last_result, and I found no justification for these object reference copies.  $this->last_result '''should''' be maintained as a MySQL resource and properly optimized using the MySQL client layer instead of this PHP nonsense.

Tagging for dev-feedback to discuss which Milestone is appropriate.",miqrogroove
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
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
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
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
3398,import data from Geeklog,,Import,,normal,critical,WordPress.org,enhancement,reopened,,2006-11-28T05:19:12Z,2011-10-03T08:16:00Z,"I recently converted my blog from geeklog to wordpress, and wound up converting the existing TextPattern importer to be able to pull data directly from a Geeklog database and import it to Wordpress.

The importer is incomplete, but usable, and currently imports categories, users, posts, and comments.  It pretty much does what I needed it to do, and I'm sure someone else can make use of it, and possibly clean it up better.",justdave
19793,'thumbnail' edit doesn't work,,Media,3.3.1,normal,critical,Awaiting Review,defect (bug),new,,2012-01-10T15:38:54Z,2012-06-13T21:38:18Z,"When you upload some image, by the default 'thumbnail', 'medium' and 'large' sizes of this image are generated.
You can re-crop them by clicking on 'edit image' link.
If you check 'Thumbnail' on 'Apply changes to:', only 'thumbnail' size will be re-cropped (thats how I understand this feature).

But.
If you set 'Selection' in 'Image Crop' to actual 'thumbnail' size set in 'Media' page of the settings, nothing will be re-cropped and saved (first problem). Once you try, you lose the ability to check 'Apply changes to' option on the 'Edit image' screen, it disappears (second one).

How to reproduce.
Set 'thumbnail' in settings to '280x210'. Check crop option.
Upload some big image (bigger than 'thumbnail' size), click on 'Edit image' link in image edit screen.
Make a selection on image.
Find 'Image Crop' section. Don't fill 'Aspect ratio' (not tested), fill 'Selection' with '280' and '210'.
Set 'Thumbnail' in 'Apply changes to'.
Click on crop icon, and then on 'Save' button.
Get a response 'Image saved'.
You fill like you have re-cropped 'thumbnail' size of the image and new one was generated. It didn't.
Go to uploads folder, try to find your new thumbnail. There is still a previous one.
Something strange happened.

After this, inside '_wp_attachment_backup_sizes' of re-cropped attachment, we get 'thumbnail-orig' item. Its ok.
If you check '_wp_attachment_metadata', you won't find 'thumbnail' item anymore. Its disappeared. Like you don't have 'thumbnail' size set.
Thats strange. Logically, it should contain link to re-cropped thumbnail.

Tested on 3.3 and 3.3.1.
",janmakinen
22985,Edit thumbnail image only - loses all sub sizes in attachment meta,markoheijnen,Media,3.5,high,critical,3.5.1,defect (bug),assigned,has-patch,2012-12-18T00:52:47Z,2013-02-14T20:04:58Z,"I have several additional image sizes in my theme. When I crop an image and save over only the thumbnail, all references to the various sub-sizes are lost and only the new thumbnail is referenced in _wp_attachment_metadata.

1. Add an image to the media library.
2. Output _wp_attachment_metadata.
3. Edit the image (crop).
4. Save only the thumbnail.
5. Output the relevant _wp_attachment_metadata.

This may be an issue with wp_save_image() not re-genarating subsizes from the original.
I believe this to be different from Ticket #19889  as it appears to remove references to default sizes from media settings screen.",lewismcarey
22128,Adding upload mimetype in Multisite does not work if mimetype is not already defined,,Multisite,3.0,normal,critical,Awaiting Review,defect (bug),new,,2012-10-08T13:13:54Z,2012-12-23T17:11:20Z,"'''Description'''

We would like to add 3gp to the list of file types to be uploaded in the sites of our network install. 

We've tried to add 3gp to the Network Settings->Upload File Types setting for this. However after having saved the setting we were still not able to upload 3gp. It seems the user setting is being overruled by the list of global settings.  

'''Steps to reproduce issue:'''
1. Use WordPress Network install (aka Multisite)
2. Add the file extension 3gp to the upload file types setting in Network Settings
3. Save Settings
4. Try to upload a 3gp file using the Media Library, it will fail with the message: 'Sorry, this file type is not permitted for security reasons.'

It seems the upload file types defined in the Network Settings cannot overrule / add new file types if this file type has not already been defined in the function wp_get_mime_types() (see file: wp-includes/functions.php). 

'''Expected behaviour'''

Changing the Upload File Types by adding a new extension results in WordPress accepting files ending in this extension. Or warn the admin that this extension is unknown and more info (such as the full mime type) is needed. 

'''Proposed solution'''

We are aware of the hook 'upload_mimes' to fix this with a plugin, but we suggest that the superadmin Network Settings->upload file type overrules WordPress' built-in defaults instead of the other way around.",BjornW
15943,Custom Post Type not set after customizing permalinks.,sterlo*,Multisite,3.0.3,normal,critical,Future Release,defect (bug),accepted,dev-feedback,2010-12-21T23:42:55Z,2011-01-06T23:11:07Z,"Developing a plugin,

It sets a custom post type on init:
{{{
      register_post_type(
        'staff_listing',
        array(
          'labels' => array(
            'name' => 'Staff Listings',
            'add_new_item' => 'Add a Staff Member',
            'new_item' => 'Staff Member',
            'add_new' => 'Add a Staff Member',
            'singular_name' => 'Staff Member'
          ),  
          'public' => true,
          'publicly_queryable' => true,
          'show_in_nav_menus'  => false,
          'exclude_from_search' => false,
          'show_ui' => true, 
          'hierarchical' => false,
          'rewrite' => array(
            'slug' => 'staff',
            'with_front' => false
          ),  
          'query_var' => 'staff', 
          'supports' => array(
            'title',
            'editor',
            'thumbnail',
            'comments',
            'revisions'
          )   
        )   
      ); 
}}}

If I add a staff member called ""john doe"" and then go to that on the front end - I expect to see this in $wp_query->query_vars:
{{{
[staff] => john-doe
[post_type] => staff_listing
[category_name] =>
[name] => john-doe
[is_404] =>
[queried_object_id] => ###
}}}

(I replaced the ID with ### since it changes from one install to the other)

That '''works''' on a standard WordPress 3.0.3 install.

But does '''not work''' on a WordPress 3.0.3 MU install.

The MU install gives me this:
{{{
[name] => john-doe
[post_type] => 
[category_name] => staff
[is_404] => 1
[is_singular] => 
[queried_object_id] => 0
}}}

Both the permalinks on the MU and standard setup are set as follows:
{{{
/%category%/%postname%/
}}}

If I change the permalink structure on the MU site to the default structure - the problem goes away.

The new URL is: ?staff=john-doe and it sets the following:
{{{
[staff] => john-doe
[post_type] => staff_listing
[name] => john-doe
[category_name] =>
[is_404] =>
[queried_object_id] => ###
}}}",sterlo
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
19633,Multilingual Permalinks - Broken Pagination,,Rewrite Rules,3.3,normal,critical,Awaiting Review,defect (bug),new,,2011-12-21T13:23:32Z,2011-12-21T22:37:10Z,"With the new rewrite engine in WP3.3 the pagination for pages with multilingual URLs got broken.

See example:
[http://garage-eden.co.il/%D7%97%D7%95%D7%95%D7%AA-%D7%93%D7%A2%D7%AA-%D7%94%D7%9C%D7%A7%D7%95%D7%97%D7%95%D7%AA Live Example of Broken Pagination]

The permalink structure used for this:
%postname%

The Code Used for the Page:

{{{
<div id=""main-content"">

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<h1 class=""title""><?php the_title(); ?></h1>

<?php the_content(); ?>

<?php endwhile; endif; ?>

<?php
// The Query
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
	'category_name' => 'testimonials',
	'paged' => ""$paged"",
	'posts_per_page' => 3
	);
query_posts( $args );

// The Loop
if (have_posts()) : while (have_posts()) : the_post();
?>

<div id=""testimonial-wrap"">

<blockquote>
<?php the_content(); ?>
<cite><?php the_title(); ?></cite>
</blockquote>

</div>

<?php endwhile; ?>
<div id=""pagination"">
	<?php next_posts_link('<span class=""next-page"">הבא &raquo;</span>') ?>
	<?php previous_posts_link('<span class=""prev-page"">&laquo; הקודם</span>') ?>
</div>

<?php endif; wp_reset_query(); ?>

</div>
<!-- #main-content -->
}}}
",aternus
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
11674,Caption Short Codes Don't Work,,TinyMCE,,normal,critical,Future Release,defect (bug),reopened,,2009-12-30T19:07:55Z,2010-08-02T05:44:42Z,"I'm testing 2.9.1-RC1 now.  If I create a post, add a gallery plus a captioned image beneath it, this is what shows up in the HTML editing view:

{{{
<div class=""mceTemp"">

[gallery]

<dl id=""attachment_80"" class=""wp-caption alignnone"" style=""width: 160px;""><dt class=""wp-caption-dt""><a rel=""attachment wp-att-80"" href=""mytestsite/2009/12/test-post-3/wp-exif-bug/""><img class=""size-thumbnail wp-image-80"" title=""This is a supercool test"" src=""mytestsite/wp-content/uploads/2009/12/wp-exif-bug-150x136.jpg"" alt="""" width=""150"" height=""136"" /></a></dt><dd class=""wp-caption-dd"">Caption goes here</dd></dl></div>
}}}",miqrogroove
17547,Image upload issues - Size reported as 0x0,,Upload,3.1.2,normal,critical,Awaiting Review,defect (bug),new,dev-feedback,2011-05-24T08:27:21Z,2012-05-16T17:35:28Z,"When I upload any image of any size to my wordpress installation the image uploads fine, but the size is reported as 0x0 and has only one option of inserting it as a full-sized image!

Further inspection of this issue has led me to believe that it lays with wordpress not inserting the correct (if any) meta data for the attachment into the database.

As you can see in the image below, the meta data is present and this image shows all options of inserting the image in the post at all sizes specified in the WordPress media settings panel.

http://www.millerswebsite.co.uk/images/meta%20data.jpg

But as you can clearly see from the image below, when the meta data is missing it shows you can't post the image at any size except full which is stated as 0x0px - Clearly something is wrong!

http://www.millerswebsite.co.uk/images/no%20size.jpg

Many people have had and are still having this issue since 2.5. There are quite a few forum threads relating to it with not a single word from anyone from WordPress.

Several tickets have been submitted to the WordPress Trac system with the issues going unresolved. This is a major problem and many people have reported it, yet nothing seems to have been done.

Sources :

http://core.trac.wordpress.org/ticket/12532

http://wordpress.org/support/topic/cant-adjust-media-file-size-since-upgrading-to-27

http://wordpress.org/support/topic/images-upload-fine-but-wp-shows-0x0-size

http://wordpress.org/support/topic/add-image-size-only-allows-fullsize-with-0x0-dimensions

http://wordpress.org/support/topic/image-upload-in-wp-28-with-translation

If any solution exists to this problem, please let me know, I have been searching for weeks now to no avail. When I talk about solutions, I do not mean using plugins to ""regenerate thumbnails""! Yes I know this works, but it does not solve the problem as its only a temporary fix. Plus it needs to regenerate the images every time you upload a new image.

Side note :
I have tried a completely new installation of WordPress with and with out plugins on a completely different database. I have uploaded and re-uploaded the WordPress files also.

This is the type of image I am uploading. I took it on my Nikon D3100 and compressed to 80% @ 960x768 which makes it 83KB so it's not exceeding any upload limits and I am still having problems.

http://www.millerswebsite.co.uk/images/wordpress/DSC_2165.jpg

My host claims it is not their fault and they have recompiled apache and php for me, the php memory limit is also set to 128mb and file upload size is limited to 8mb.

A phpinfo() can be seen here : http://www.millerswebsite.co.uk/info.php

My original complaint can be seen on the forums here : http://wordpress.org/support/topic/image-upload-issues-size-reported-as-0x0?replies=10",David_Miller
18650,Make archives and categories widgets dropdown ada compliant,,Accessibility,3.2.1,normal,major,3.6,enhancement,new,dev-feedback,2011-09-13T00:12:37Z,2013-05-22T21:00:44Z,"Conditionally add the <label> tag for the archives and categories widgets so they are ada compliant.

http://webaim.org/techniques/forms/controls",jlevandowski
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
20082,Admin bar links to wrong site in multisite (subdomain) network,,Administration,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-20T09:53:52Z,2012-02-21T08:43:50Z,"The code
{{{
	foreach ( $actions as $link => $action ) {
		list( $title, $id ) = $action;

		$wp_admin_bar->add_menu( array(
			'parent'    => 'new-content',
			'id'        => $id,
			'title'     => $title,
			'href'      => admin_url( $link )
		) );
	}
}}}
generates the wrong URL, whenever I visit a site that has the URL subsite.subsite.example.com but generates the correct URL if the URL is of the pattern subsite.example.com. On subsite.subsite.example.com the admin bar will generate links to subsite.example.com.",niklasbr
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
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
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
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
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
23836,add_submenu_page() duplicate menus,,Administration,,normal,major,Awaiting Review,defect (bug),new,,2013-03-21T16:43:24Z,2013-04-04T03:22:08Z,"Creating two sub-menus with the same ""menu slug"" using add_submenu_page() should create only the last sub-menu.
But it creates two sub-menus with the same ""menu slug"".

Based on documentation ""menu slug"" should be unique for each sub-menu.",king_of_the_ring
19958,"Allow custom post types as ""home"" and get_posts() to return results for more than one post type",,Administration,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-04T00:59:13Z,2013-03-08T17:32:39Z,"In
{{{
Wordpress admin > Settings > Reading
}}}
there is an option to define what the home page or the front page should be
{{{
Front page displays
}}}
Radio button
{{{
A static page (select below)
}}}
is followed by a dropdown containing a list of all pages.

I would request that custom page types be allowed in this dropdown. This way, I could make my bbPress forums or my All-in-one event calendar, etc my homepage.
",sooskriszta
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
4337,Blog by Email: No content is assumed,westi*,Blog by Email,2.2,high,major,Future Release,defect (bug),accepted,,2007-05-25T18:59:09Z,2013-02-05T03:14:40Z,"It seems, the Blog by Email functions is broken in WP 2.2.
Mails are recognized, but only the title/subject is assumed - no content. Content is empty :(
No matter if text email or html email.


{{{
Author = bla@example.org 
 
Content-type: text/plain, Content-Transfer-Encoding: 8bit, boundary: 
 
Raw content:
 
Author: 1
 
Posted title: Test
Posted content:
 
Mission complete, message 1 deleted.
}}}
",jottlieb
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
19984,Issue with Default Post Format,,Blog by Email,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-07T20:29:41Z,2012-08-24T01:34:27Z,"I set my Default Post Format as Aside. So I expect all my posts via email will appear as Aside, same as Default Post Category does perfectly while post via email. But it is always posting as Standard whenever I post by email. Kindly fix this. Wordpress is Awesome :)",binarymag
14201,"Canonical redirect kicks in in case of category/tag base containing other chars then a-z, 0-9, _ and -",,Canonical,,high,major,Future Release,defect (bug),new,,2010-07-05T09:03:39Z,2011-09-22T09:49:50Z,"'''Expected behaviour'''

Whatever the category base is, if we go to a properly formed category pretty permalink, canonical redirects shouldn't kick in.

'''Actual behaviour'''

If the category base is non-ASCII (for example: баба), the canonical redirect tries to redirect to the same URL. The redirect sanitizer removes the category base from the URL, because it is non-ASCII and redirects to {{{<root>//category-name/}}}. This prevents endless redirects and usually results in 404.

'''Why does it happen?'''

Category base is always used verbatim. It can't be URL-encoded, because the percent signs will be interpreted as permalink variables. Because of that the generated urls will be always in the form: {{{<root>/баба/<url-encoded-category-name>/}}}.

The contents of {{{$_SERVER['REQUEST_URI']}}} are always URL-encoded, so the requested URI is: {{{<root>/%D0%B1%D0%B0%D0%B1%D0%B0/<url-encoded-category-name>/}}}.

Canonical redirect functionality assumes the requested URL would be the same as the generated term URL and since they are different tries to redirect.

'''Solutions'''

The easiest one is to assume that if we had come to the right category page without any get variables, we don't need the logic for redirecting to the canonical category page. This is valid statement, because that logic relies only on removing get arguments.

The only disadvantage with that solution is that doesn't solve the more general problem of discrepancies between generated and requested URLs.  But for now it will do a good job.",nbachiyski
23408,Link to rss-feed in default installation causes redirect loop,,Canonical,,normal,major,Awaiting Review,defect (bug),new,,2013-02-06T21:20:04Z,2013-02-20T02:56:37Z,"I noticed, that google webmastertools complained about dead links in my blog.
Those links were hidden in the html-code and were links to rss-feeds of attachments. (e.g. ?attachment_id=1647&feed=rss2)
When i try to open the link, it returns a 301 error and if the new url is called, anoter 301 error is shown. After two or three times, the original url is shown again by a 301 error message.

I installed two clean installations on different servers, which show the behaviour either. If i use the link ""?attachment_id=1647&feed=rss""  the correct feed is loaded. (using rss instead of rss2 which is provided by the template)

It seems that the error is caused by the function get_post_comments_feed_link(...) in ""wp-include/link-template.php used wp-include/canonical.php.
When i add another line to the function to return a link with ""attachment_id="" and not ""p="" or ""page_id"", the comment feed is loaded without errors.
But the fact, that rss feeds do not cause an error and rss2 feeds create a loop makes me think, that another module may be defect and my workaround is not a solution.

Regards

Fabian",clusterone
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
5998,Invalid Unicode characters,hakre,Charset,2.3.3,normal,major,Future Release,defect (bug),assigned,,2008-02-25T18:17:22Z,2011-02-10T23:09:25Z,"Wordpress does not check for invalid Unicode characters, such as the following:

U+FFFE
U+FFFF

When the pages are served up as XHTML, allowing these characters through generates an XML error. 

WordPress should filter out illegal Unicode code points.

Please see http://www.w3.org/TR/REC-xml/#NT-Char

Also, the regex
[http://www.w3.org/International/questions/qa-forms-utf-8 here] is
incorrect, see [http://intertwingly.net/blog/2008/01/02/Keeping-On-Your-Toes
this page].

",shelleyp
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
22635,comments made on iPad get the comment_author_url removed in the pre_comment_author_url filter,,Comments,3.4.2,normal,major,Awaiting Review,defect (bug),new,,2012-11-29T14:21:04Z,2012-11-29T22:18:48Z,"I have tested this on version (3.5-RC1-22909) nightly build too.

if I submit a comment with a valid author url using the iPad then the URL gets removed by the pre_comment_author_url filter in wp-includes/comment.php 

'''works'''
* windows 7 works fine
* windows xp works fine
* debian box works fine
* macbook pro works fine

'''Not working'''
* iphone ios 5.1.1
* ipad ios 5.1.1

duplicable on local, live and someone elses site.

I can see the POST vars show all the proper data.

in wp-includes/comment.php the wp_filter_comment function the `$commentdata['comment_author_url']` exists before 

{{{
$commentdata['comment_author_url']   = apply_filters('pre_comment_author_url', $commentdata['comment_author_url']);
}}}

(line 1291 of wp-includes/comment.php (3.4.2)

but is gone after the filter has been applied,

this happens only if using an ipad or iphone.


",commentluv
11334,Add caching to get_page_of_comment(),,Comments,2.9,high,major,Future Release,enhancement,new,has-patch,2009-12-05T07:33:50Z,2013-02-05T05:10:21Z,"Ack. `get_page_of_comment()` lacks caching which means if you call `get_comment_link()` for the same comment ID on the same page multiple times (and outside of the loop), it will query multiple times. You also can't cache the result between page loads (the big ""uh oh"").

Attached patch introduces a cache that stores comment ID => older comment count (in short, the result of the function's query) on a per-post basis.

When any comment's status is changed, the entire cache for that comment's parent post is deleted as it will likely affect other comments (for example, deleting a comment can change the page of newer comments).

I opted to make a new cache flag (group), but I'm not sure if using an existing one would be better or not.

Oh, and this patch needs through testing and/or a good review.",Viper007Bond
13158,Cron : some events may not be scheduled,westi,Cron,3.1,high,major,Future Release,defect (bug),new,,2010-04-27T23:29:46Z,2012-08-03T22:39:04Z,"the problem appears when two different events are scheduled at the same time

what happens in code is :

1st event : _get_cron_array();
2nd event : _get_cron_array();

1st event : _set_cron_array( $crons );
2nd event : _set_cron_array( $crons );


1st event is lost.",arena
19621,Cron not working in WP 3.3,,Cron,3.3,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-12-20T12:15:32Z,2012-04-23T21:15:31Z,"Hi,

I was working on wordpress cron and found that the cron doesn't synchronize the times even when the traffic is visiting site pages. The script works fine WP 3.2.1

Please check this. I believe wp-cron.php is not run in this latest release. ",hassanasad
23133,Display a warning in the admin if cron tasks fail due to blocked HTTP requests,,Cron,3.5,normal,major,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T08:33:05Z,2013-01-29T20:08:25Z,"I recently upgraded my very simple WP site to 3.5 where the following was in use:

Theme: Twenty Eleven
Plugins: None Activated

I have been completely unable to submit a post for publishing in a future date, when the time occurs, I get a ""missed schedule"" message.

The schedule entry in cron is as follows:

Next due (GMT/UTC): Jan 4, 2013 @ 11:28 (1357298880)
          Schedule: One-off event
              Hook: publish_future_post
         Arguments: [0]: 358

Increasing the timeout value in cron.php has made no difference. 

I will need to remain on a lower release until this is fixed or a diagnosis ""kit"" is made available.

I am not using any software other that WP produced at this point and feel that the lack of wp-cron documentation and support in the public domain leaves alot of people clocking many hours googling in desperation...

Make a difference in 2013 and get 3.5 development priorities to de-mystify the methods of fixing wp-cron please :o)",prb22public@…
11151,Common White Screen of Death in wpdb,,Database,2.8.5,normal,major,Future Release,defect (bug),assigned,,2009-11-16T15:07:53Z,2010-12-08T21:32:54Z,"I imported some 10.000 users into WP through a  custom script, using wp_insert_users().
Import successful, I could log in with new users.
Yet wp-admin/users.php page fails to load the users table; I got the admin header and menu but the page stopped loading when querying the DB for the users data.
I set WP-DEBUG to true, but still no error. NO errors in the server log also.
I eventually had to add 

define('WP_MEMORY_LIMIT', '64M');

to wp-config.php to get the users.php page working.
The problem here is that the page doesn't issue the usual PHP memory limit fatal error, I had to guess to sort it out.
",nutsmuggler
22194,PHP x64 compatibility issue with date values,,Date/Time,,normal,major,Awaiting Review,defect (bug),new,,2012-10-15T09:39:11Z,2012-10-15T10:36:05Z,"Hi,

seems like WordPress is using the ""0000-00-00 00:00:00"" value as magic value for date values, which aren't set instead of NULL.

This is working fine for any PHP x86 builds, because the magic value is also an invalid date.

But PHP x64 builds support this value. It is no longer invalid. It is now a valid date! This will result in problems, because some functions are expecting that parsing this date will return false, but now on x64 systems they won't get an invalid date, when they are expecting one.

So the problem is, that WordPress is using a valid date as magic value for an invalid date aka default value.

Fixing this issue will require a SQL schema change and to update all the code, checking for ""0000-00-00 00:00:00""...

For references, see ticket #21987 and https://bugs.php.net/bug.php?id=53662",Whissi
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
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
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
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
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
10511,Enclosure Custom Fields are automatically deleted,,Feeds,2.8,high,major,Future Release,defect (bug),reopened,has-patch,2009-07-29T14:20:16Z,2012-02-02T16:36:06Z,"This bug was introduced by Ticket [http://core.trac.wordpress.org/ticket/6840 6840].  I and many other people only wanted specific fields added as an enclosure (like media files for podcasting) and have added those enclosures as custom fields.  Now any time we edit those hundreds of posts, or create a new post, those custom fields are deleted by this ""bug fix"" and there is no way around it without changing code in the functions.php file and then having to redo it anytime an update comes out.

Was there no thought put into the great idea of ""let's delete any enclosure field that doesn't have a link in the body of a post""?  Wasn't the whole idea of custom fields originally for things like enclosures?",animepulse
18056,dc:creator needs to be escaped in RSS feed,,Feeds,3.2,normal,major,Awaiting Review,defect (bug),new,has-patch,2011-07-10T03:46:15Z,2011-07-10T03:46:15Z,"If the author name contains any special characters, they might end up in the RSS feed unescaped, causing failed feed validation and thus causing problems for many readers.

The code now is:

<dc:creator><?php the_author() ?></dc:creator>

Shouldn't this be:

<dc:creator><![CDATA[<?php the_author() ?>]]></dc:creator>

Or: 

<dc:creator><?php htmlspecialchars(the_author()) ?></dc:creator>

This might be a result of a custom author plugin not escaping these characters on the way into the database, but Wordpress should handle this more robustly to prevent plugin authors from messing things up like this.",Nettsentrisk
2875,https enclosures fail on post.,,Feeds,2.0.2,normal,major,Awaiting Review,defect (bug),reopened,has-patch,2006-06-29T10:35:51Z,2012-05-17T19:20:25Z,"I was noticeing a problem in that when you post on a standard HTML site, enclosures get added into postmeta on publishing a post. When running off an HTTPS site, this no longer happens.

The reason is the regex only looks for HTTP. Line 1032 of wp-includes/functions.php

{{{
  preg_match_all(""{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x"", $content, $post_links_temp2);
}}}

Add the following under this line and it works.
{{{
  preg_match_all(""{\b https : [$any] +? (?= [$punc] * [^$any] | $)}x"", $content, $post_links_temp2);
  foreach($post_links_temp2[0] as $link) {
    $post_links_temp[0][] = $link;
  }
}}}
There may be a nicer way to regex that up, but I couldn't add it.

I have raised it as high/major because it is a bit of a hole that I cannot override the functionality of, and I use the RSS feed for podcasting - which WordPress does not support from an HTTPS site.",nigelkane
9510,Multiple feed fixes and enhancements,,Feeds,2.7.1,high,major,Future Release,enhancement,new,has-patch,2009-04-11T09:36:47Z,2009-11-17T20:28:06Z,"Currently, the feed always returns the same subtitle, self link, alternate link and replies link no matter what the page type is. I think they should be different for each page type.",peaceablewhale
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
18604,New hook for paginate_links() result,lightningspirit,Formatting,3.3,normal,major,Awaiting Review,enhancement,new,dev-feedback,2011-09-06T17:40:06Z,2012-04-27T23:28:53Z,"I'd like to propose two new hooks to paginate_links() in http://core.trac.wordpress.org/browser/trunk/wp-includes/general-template.php#L1950


This two hooks ''paginate_links_array'' and ''paginate_links_html'' will allow plugins to add, remove or alter html and links in admin pagination output, including the media uploader.


'''Background:''' sites with more than a thousand media objects have 140+ pages in media uploader interface. I had to be able to create a input box to enter page number manually.
",lightningspirit
20456,Creation of new blogs and search for blogs missing,CaputoJen,General,3.3.1,normal,major,Awaiting Review,defect (bug),reviewing,,2012-04-16T14:50:53Z,2012-04-16T14:51:32Z,"Hello:

I recently upgraded to WordPress 3.3.1.  After doing so users have lost the functionality of creating a new blog the link redirects to another page(although admins can do it) and you can no longer search for existing blogs.  I have read the forums, posted to the forums and searched the internet for a reasonable explanation. I have found nothing describing this problem.  I have checked the appropriate settings and everything is turned on for users to create blogs.  At this point, I believe this may be a bug.  This problems occurs using all mainstream browsers on Mac and PC.  Please help as I am not sure what could be causing this issue and my search to find a plausible explanation has turned up nothing!",CaputoJen
20081,Custom Post Type/Custom Taxonomy Does not filter.,,General,3.3.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-20T08:04:56Z,2012-02-20T08:41:56Z,"I have tested this on 4 different sites and found the same issue. At first I thought it was the code I copied then I realized the issue was happening with core. 

'''
Steps to produce:''' 
Use register_post_type to add a post type, say ""objects""

Use register_taxonomy to create custom tax, say ""attributes""

Be sure to have 'show_ui' => true

Create a post, give it a tax. IE: attribute1

Create a second post, give it a different tax. IE: attribute2

On the menu navigate to your tax menu page

here it will list attribute1 and attribute2. 

It will show 1 post in each, and the number 1 is a link to edit.php 
where it creates this URL string:
yoursite.com/wp-admin/edit.php?post_type=objects&attribute=attribute1

'''Expected Result:'''
The page should now be filtered down to JUST posts that have that attribute. 


'''Actual Result:'''
All Posts are still visible. Filtering has no effect. 

I found this by creating custom columns and with my switch listing links to the Tax's to be filtered. I've never gotten it to work. 
I do have a great script I believe by YOAST that creates a drop down to filter Tax's but this actually changes the global query itself. 

",DennisSmolek
23781,New Post Publishes to Wrong URL,,General,3.4.2,normal,major,Awaiting Review,defect (bug),new,,2013-03-15T04:59:52Z,2013-03-16T01:13:12Z,"The ""Permalink"" displayed in the editor for new posts may be wrong, and changes (surprise!) when the Publish button is clicked.

Steps to reproduce this:
1. Start typing a title in a new post.
1. Wait for an auto-save and Permalink to appear.
1. Make the title longer.
1. Type a post body.
1. Click Publish.

Expected result:

The new post should be published at the Permalink being displayed on the post editor.

Actual result:

A completely different permalink is generated based on the current title.  The new page gets cached at the ""wrong"" URL before any changes can be made.  General pandemonium ensues.  Etc.  (It's not a blocker bug, but it is so completely annoying!)",miqrogroove
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
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
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
20368,htmlspecialchars() returns empty string for non-UTF-8 input in PHP 5.4,,General,,normal,major,Awaiting Review,defect (bug),new,,2012-04-05T12:43:23Z,2013-03-04T18:04:55Z,"The default value of the input `$encoding` parameter for `htmlspecialchars()` changed to UTF-8 in PHP 5.4.  The prior default was ISO-8859-1.  The function's UTF-8 handler checks the input, returning an empty string if the input isn't valid UTF-8.

WordPress will see the UTF-8 validator kicking because most of the `htmlspecialchars()` calls don't use the `$encoding` parameter.  This will cause major problems for sites that have a `DB_CHARSET` other than `utf8`.

[http://article.gmane.org/gmane.comp.php.devel/71783 Posting 58859 to php-internals] by Rasmus gives a clear example of the problem.  Here is a link to [http://thread.gmane.org/gmane.comp.php.devel/71777 view the whole thread], starting with posting 58853).

Creating two centralized functions is an approach for resolving this problem.  This route is simpler and easier to maintain than adding the parameters to each `htmlspecialchars()` call throughout the code base.

1. `wp_hsc_db()` for safely displaying database results.  Uses `DB_CHARSET` to calculate the appropriate `$encoding` parameter.  MySQL's character set names are not equivalent to the values PHP is looking for in the `$encoding` parameter.  Please see the `hsc_db()` method in the [http://plugins.svn.wordpress.org/login-security-solution/trunk/login-security-solution.php Login Security Solution plugin] for a mapping of the valid options.

2. `wp_hsc_utf8()` for safely displaying strings known to be saved as UTF-8, such as error messages written in core.  Uses `UTF-8` as the `$encoding` parameter.  

Some calls in core use the `$flags` parameter, so these new functions will need the parameter too.  The default should be `ENT_COMPAT`, which works under PHP 5.2, 5.3 and 5.4.

It may be suggested that WP use `htmlspecialchar()`'s auto-detection option (by passing an empty string to the `$encoding` parameter).  This is not advisable because it can produce inconsistent behavior.  Even the PHP manual says this route is not recommended.",convissor
18070,jpg vs. jpeg error when editing a LINK URL image in a post,,General,,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-11T16:21:13Z,2011-07-11T22:28:04Z,"This problem deals with an unfortunate discrepancy between file extensions .jpg and .jpeg -- The results equate to frustrating 404 errors and lightbox plugins that seem to be broken.

Here's what happens:

1) Upload an image with file extension '.jpeg' (note the 'e') and insert it into a post, with a blank 'Link URL'.

2) Now that the image is in the body of the post, edit the image's Link URL. (hover-over the image in the post and click the small icon on the upper-left that appears). If you click the 'File URL' button to auto-full the Link URL box, it will autofill the correct image address, but with a '.jpg' extension!

This lead to 404 errors, a lightbox plugin that appeared broken, and had me thinking it was an .htaccess issue from my hosting company....

NOTE: it autofills with the correct file extension when clicking the 'File URL' button is clicked upon initially inserting the image, however it fails when using the secondary menu that is available after inserting the image.

Thanks for fixing this!

(originally posted at https://wordpress.org/support/topic/bug-jpg-vs-jpeg-error-when-editing-a-link-url-image-in-a-post?replies=4)",multimule
16182,object_term_cache is never cleared for custom post types with non-shared taxonomy,,General,3.0,normal,major,Awaiting Review,defect (bug),new,,2011-01-10T22:47:56Z,2011-02-02T19:38:14Z,"wp_insert_post() calls clean_post_cache() after updating the post.  However, when clean_object_term_cache() is called, it passes is hard coded to pass in the post_type of 'post'.  So the object_term_cache is never cleared for any taxonomies that are part of the post object type's taxonomies.",prettyboymp
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-22T17:27:12Z,"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
11438,Make relative links absolute in feed,,General,2.9,normal,major,Future Release,enhancement,new,close,2009-12-14T23:21:21Z,2011-04-06T04:23:47Z,"Relative links should be made absolute for the feed, because {{{/}}} means nothing in a feed reader.",caesarsgrunt
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
24156,If you submit file through wp curl it doesnt send boundary params for file mutlipart,,HTTP,3.5.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2013-04-22T15:38:12Z,2013-04-25T14:05:33Z,"If you submit file through wp curl it doesnt send boundary params for file multipart, because in class-http.php at line 174 `$r['body']` array is converted to string:
{{{
$r['body'] = http_build_query( $r['body'], null, '&' );
}}}

And curl wants array to send file boundary to rest api , in that case it fails. 
ex.
{{{
$headers['Content-type'] = 'multipart/form-data';   
$args['file'] = '@/pathtofile';
$request = new WP_Http;
$result = $request->request($url,$args);
}}}
Let me know if you have questions ",samnani
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
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
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
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
16147,"MT Importer truncates double vertical spaces, munging paragraphs together",,Import,3.2.1,normal,major,WordPress.org,defect (bug),reopened,,2011-01-07T22:25:47Z,2011-08-24T06:20:05Z,"Movable Type 3.x-era exports don't use '''<p>''' tags. Like TinyMCE (and WordPress), a '''<p>''' in final rendered code is represented by two '''\n'''s in a row.

The importer strips out double '''\n'''s and replaces with a single '''\n'''. This causes paragraphs to lose their distinction upon import.

It does this because the '''$line''' variable was created by '''$line = $this->fgets($handle)''' (line 339). Then '''$line = trim($line)''' (line 340) strips out several characters, including '''\n'''.

Lines 455 and 456 add back the '''\n''' ''except'' on blank lines:
{{{
   if( !empty($line) )
   $line .= ""\n"";
}}}

So if a '''$line''' was nothing but a '''\n''', it's stripped by the '''trim''' function and becomes a 0 character line. Then the '''if( !empty($line) )''' declines to add back a '''\n'''.

Somehow this needs to be altered so that successive '''\n'''s aren't stripped. Otherwise paragraphs get vertically munged together.",novasource
23954,Checkbox value is not updated correctly inside media-views.js,,Media,3.5.1,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2013-04-05T22:11:18Z,2013-04-06T14:43:52Z,"I added two custom fields to the ""Edit Gallery"" interface using a hook and discovered that my ""select"" and ""text"" inputs were working fine, but my ""checkbox"" input did not work at all.

I enabled `SCRIPT_DEBUG` so that I could explore further and discovered that the bug on line 3939 of media-views.js.

A double-bang has been incorrectly used to cast from a string encoded boolean value to an actual boolean value (since !!""false"" is actually true).

This is the current implementation:

{{{
} else if ( $setting.is('input[type=""checkbox""]') ) {
    $setting.attr( 'checked', !! value );
}
}}}

This is my recommendation which resolves the issue:

{{{
} else if ( $setting.is('input[type=""checkbox""]') ) {
    value = value !== false && value !== 'false';
    $setting.attr( 'checked', value );
}
}}}

I would submit a patch, but I do not know how to do that.",NumberKruncher
22997,IE 8 issue with new Media Manager,,Media,3.5,normal,major,Awaiting Review,defect (bug),new,,2012-12-18T19:25:30Z,2012-12-18T19:38:55Z,When in any post in IE8 you are unable to remove featured images also if you add a new post and attempt to set a featured image the media manager does not open in a model as it should which prevents you from setting the image.,th3fallen
18679,Images added via SSL admin backend are included via https in the frontend,,Media,3.2.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-09-16T05:44:52Z,2011-11-02T20:51:52Z,"When logged in to the admin interface via a secure connection (SSL / HTTPS), images that are being added to an article will reference the image URL with https:// as opposed to http://

This behaviour is inconsistent as the method the admin interface is access shall be independent of the frontend output.

It also can break output in case of using self-signed SSL certificates. In that case a client may display the blog correctly, but without any images (or error icons for the images).",multimule
21380,Impossible to modify URL of attachment,,Media,3.4.1,normal,major,Awaiting Review,defect (bug),new,,2012-07-25T16:16:42Z,2012-07-25T17:45:33Z,"When you upload an image to a post and want to change the URL field afterwards and click ""save changes"", wordpress reloads and the URL is still the same.",mkampitsch
20057,Media upload for multi-webserver setups introduces a nasty race condition that could corrupt uploaded files,,Media,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-17T05:46:40Z,2012-07-26T03:53:59Z,"I am in the process of scaling a Wordpress blog with several million monthly pageviews, and I have designed a plan to scale it in the highest availability manner possible.

'''The setup'''
Each web server that hosts HTML/PHP, static files, and uploads will be replicated via rsync from time to time and sitting behind a load balancer. Rsync will run every 5min to 1 hour, and to mitigate the 404s in the uploads, I put together an nginx setup that automatically tries a different upstream server in its configuration when it encounters 404s. This allows any web server to go down at any time, and the system to run as if nothing happened. This also gives me freedom for rsyncing periodically rather than immediately and avoids 404s completely.

'''The problem'''
Now, the bug (note, I'm using Windows Live Writer which automatically names uploads image.png, but I could see this potentially happen without WLW too since WP seems to automatically name files on disk in case of collisions).

Let's say we have server A and B. The site name is foo.com. Let's also say B is out of date by an hour and a bunch of files got uploaded to A that aren't on B. Say, A has image.png and image2.png and B has only image.png.

Now, the issue is that if the load balancer directs the new post uploader (the new post contains a single image) to server B, the file that it will create on disk will be named image2.png rather than image3.png. So now B will have a file that's different from A's but is named the same way.

The main problem is that the file name is given based on what's available on the disk rather than according to the database. It's easy for this race condition (between rsyncs) to destroy the integrity of the files. Furthermore, and I've experienced this first hand), if you delete the attachment from the Wordpress UI, it could actually delete the wrong file from the wrong server as a result.

Seeing this, I can't continue with my scaling plan until file names are assigned by the database rather than the file system or I figure out how to mitigate that. I don't want to force all writers to use only server A for uploads using its direct IP, as I want HA (high availability).

Thank you.",archon810
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
16330,"media_sideload_image() broken with filenames containing strange characters (e.g., +, %)",,Media,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-01-21T13:56:19Z,2013-03-17T10:31:55Z,"I'm using the {{{media_sideload_image()}}} method in the upcoming version of my [http://wordpress.org/extend/plugins/e107-importer/ e107 Importer script] (see: http://github.com/kdeldycke/e107-importer/blob/b7925fdac6aa43db4be5b7925265a83d95fc62ad/e107-importer.php#L277 ) to upload remote images into WordPress.

This method work as expected with lots of images from a lot of different sources, but fail on URLs containing spaces.

Let me illustrate this bug with an example.

When trying to upload the image located at
{{{
http://home.nordnet.fr/francois.jankowski/pochette avant thumb.jpg
}}}
the result looks like this on the file system: http://twitpic.com/3s0dk7 . As you can see, image file names are clean. But in the Media Manager, here is what you have: http://twitpic.com/3s0e5d . No thumbnails seems to have been created.

Now, trying to fix this, I modified the original URL before calling {{{media_sideload_image()}}} with the following code:
{{{
  $img_url = str_replace(' ', '%20', html_entity_decode($img_url));
  $new_tag = media_sideload_image($img_url, $post_id);
}}}
With this patch, here is the result on the filesystem: http://twitpic.com/3s0ets . I was surprised by WordPress not sanitizing URLs. Is that normal ?

But the most surprising stuff is in the Media Manager: http://twitpic.com/3s0hup . It looks like thanks to this hack, WordPress somehow succeeded downloading the remote file but messed with filesystem naming. What let me think this ? The Media Manager, get the right image thumbnail dimensions but not the binary payload of the thumbnail (contrary to the case above were no binary nor dimensions are available about the thumbnail).

All of this was tested in WordPress 3.1-RC2.

As for the idea of the patch above, it come from a very old version of my plugin (v0.9) that was based on WordPress 2.3.2. There, I somehow found the root cause of the problem, [http://github.com/kdeldycke/e107-importer/blob/e107-importer-0.9/e107.php#L410 according the comment I wrote 3 years ago]:
{{{
 // The fopen() function in wp_remote_fopen() don't like URLs with space chars not translated to html entities
}}}

I should have posted this bug report sooner, as now I've forgotten everything about this issue... :(",Coolkevman
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
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
20232,Adding custom link / page to menu item renders  500 Internal Server Error,,Menus,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-03-13T19:35:51Z,2013-02-03T07:05:09Z,"When I try to add a custom link or page to a menu item, I get a  500 Internal Server Error.

No errors can be found in any log files.  

The only reference I have to this bug, is a statement by Mark Jaquith and can be found here: http://wordpress.org/support/topic/rc32-menus-still-crippled?replies=28

I'm not able to find this bug in here, so I'm opening a new ticket.

I had around 40 menu items.  
After I deleted half of my menu items, I still get this error message.

We have increased memory_limit from 32MB to 300MB
We have set max_execution_time from 30 to 60
We have set max_input_time from 60 to 120

We still get this error on both production server and staging server.

I do not get this error on my local dev server running on Virtualbox Ubuntu with 2GB memory.

",spstieng
18282,Issue with admin page hierarchy in Menu admin,,Menus,3.2.1,normal,major,Awaiting Review,defect (bug),reviewing,,2011-07-28T14:38:17Z,2013-01-26T13:18:04Z,"Under Appearance > Menus in the left column under Pages, if I have more than 50 pages, the hierarchy view gets messed up. The issue seems to be related to paginate. 

If I change the ""50"" on lines 589 and 809 of wp-admin/includes/nav_menu.php to ""955"" the hierarchal admin menu works with 50+ pages. 

Attached are two XML files. One contains 50 pages and the other contains 53 pages. I've loaded them into fresh installs of 3.2.1 using the twenty eleven theme and no plugins. 

Paginate is great if it works right, if it won't work, just increase the number per page to something very high and people can scroll. I'd rather scroll than not have hierarchy work right. 


Link to 50 page XML -- http://cloud.hcc.me/0g3X3O310s3l3i2N363n

Link to 53 page XML -- http://cloud.hcc.me/302e0c391A14193m2V2e

Pastebin of wp-admin/includes/nav_menu.php -- http://pastebin.com/0FRAmMkS",hcceast
14134,Menus item are limited to 16 item and will not save more than that,filosofo,Menus,3.0,high,major,Future Release,defect (bug),reviewing,has-patch,2010-06-28T22:50:55Z,2013-04-20T04:36:54Z,"I've installed a fresh copy of the WP 3.0 about 4 days ago. Using default twentyten theme. I modified the menus from the admin panel with new pages and some custom links and hierchy... now everytime I modify the menu and click ""Save Menu"" it only saves the first 16 items listed on the menus. 

The problem is.. I have about 8 main menu with some of them have about 5 or 6 items below it, it cuts off at the 16th item and does not save anything beyond that.

I deleted the first item and added two more at the end, same thing, it only saves the first 16 items on the menus.

I been sturggling on my own to figure this out, did search here and google yet to find a solution..

I am shocked no one else is having this problem. I tried in IE7, IE8, Firefox, Chrome, Safari and Opera - I have the same problem no matter which browser I use.

in function.php I am using
{{{
register_nav_menus( array(
		'primary' => __( 'Primary Navigation', 'MainNav' ),
	) );//-------------------
}}}
and the page I want the nav on has thise code:
{{{
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) );
}}}

Any help is appriciated...",jaanfx
19680,Navmenu incorrectly removing items,,Menus,3.3,normal,major,Awaiting Review,defect (bug),new,,2011-12-28T19:48:31Z,2012-01-06T14:21:13Z,"One of my menus is filled with categories. If I create a tag with the same name as a category and then remove this tag, the menu item for the category is also removed.

Example:[[BR]]
1 - create a category called ""Example"" (optionally associate some posts with it)[[BR]]
2 - add category to a navmenu[[BR]]
3 - create a tag called ""Example"" (optionally associate some posts with it)[[BR]]
4 - remove tag[[BR]]
[[BR]]
Now the category ""Example"" is no longer in the navmenu it was added to.",camiloclc
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
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
16328,Auto redirect to home when www is in the URL in MU,,Multisite,3.0.4,normal,major,Awaiting Review,defect (bug),new,close,2011-01-21T04:46:08Z,2012-11-02T22:28:36Z,"I have come across a problem on my MU installation where my primary blog will automatically redirect to the home page when www is in the URL and a virtual subfolder is being called. 

Ex. http://www.domain.com/virtual_subfolder/ would redirect to http://domain.com/. 

This problem does not effect the domains that I added on with MU, only the primary site is effected. ",lelandmcfarland
18242,Changing domain for a network blog make faulty changes in database,,Multisite,3.0,normal,major,Future Release,defect (bug),new,dev-feedback,2011-07-25T11:33:51Z,2012-11-20T11:49:53Z,"When changing the domain for a network blog, if the network is set up on a subdomain and using sub-folder options for blogs, the save to the database is faulty, saving wrong urls.

The network main site uses eg http://my.blog.com and the blogs has http://my.blog.com/blog1

When changing the domain for blog1 in ""Network admin -> All Sites -> Edit blog1"" and choose to also update ""home and siteurl"" the new url for home and site become http://blog.com/blog1/my

Happens in both Firefox 5 and Safari 5.1",darkwhispering
23728,Errors when trying to upload media before saving network settings,,Multisite,,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2013-03-09T03:28:47Z,2013-03-21T16:43:14Z,"foreach warning due to unpopulated $mimes array and denial of uploads even when file types defined in network admin settings. This seems to happen because there is a disconnect between the defaults and what is actually present in the db (before the first save).

Should be noted that the site was installed programmatically using wp_install() so this may have something to do with it. I am giving this a major severity because the server path is disclosed from the foreach warning and the least that should be done is do an is_array() check on that $mime var and give a meaningful message stating that there are no mimes defined or something...",wp4j
20774,Flag an user as spam with any rol become a sub site flagged as spam (Multisite),,Multisite,3.0,normal,major,Future Release,defect (bug),new,has-patch,2012-05-29T12:25:52Z,2012-11-08T21:02:31Z,"Hi,

Since many weeks, many WangGuard users were contacting me because they say WangGuard were flagging the sub sites as spam.

Thats not a WangGuard bug, is a WordPress issue.

Steps:

- Create a Subsite, you can add the Super Admin like site admin.
- Add a user like subscriber.
- Flag that user as spam in /network/users.php

That site will be flagged as spam although the owner were the Super Admin.

I think WordPress has to look for the user rol and only flag the sub site as spam if the rol is Administrator.



This issue is in WP 3.3.1 and 3.4",j.conti
15936,IPv6 literal support in multisite broken,,Multisite,3.0.3,normal,major,Future Release,defect (bug),new,dev-feedback,2010-12-21T16:00:25Z,2013-02-02T06:32:22Z,"The logic for handling explicit port numbers in wp-includes/ms-settings.php is confused by IPv6 literal addresses in URLs as defined by RFC 2732.
It tries to handle the URL as it as if there were a port appended, but then fails to strip it off. Incidentally the error message here: 'Multisite only works without the port number in the URL.' is untrue, since ports are handled (but for only two particular cases, port 80 and 443).

The attached patch, against Wordpress 3.0.3, fixes both these issues, and allows ports other than 80 and 443 to be used with Wordpress, by just stripping off the trailing port rather than special-casing the two well-known ports, and not incorrectly detecting IPv6 literals as URLs with ports in. It also has the advantage of being much more compact.

It may be worth someone thinking through whether the substitution is strictly correct with reference to the URL standards, but I'm pretty sure that this is an improvement on the current code.

Thanks,
Dominic.",jmdh
16282,PHP catchable error with get_term_link and WP3.1RC2,,Multisite,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-01-18T12:23:37Z,2011-03-08T23:10:45Z,"I recently updated my WP Network to 3.1RC2, and suddenly the get_term_link() I was using in the footer gave me this error:

  PHP Catchable fatal error: Object of class WP_Error could not be converted to string

It was working fine in 3.0.4",illutic
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
22816,Multisite WP_Query,,Multisite,,normal,major,Awaiting Review,feature request,reopened,,2012-12-07T18:25:10Z,2012-12-08T18:28:12Z,"Multisite has no global search functionality, and suppose I want to show on the home page of my main site posts from all the other sites in my network... I don't have a multisite wp_query functionality. Sure, I can use switch_to_blog, but that only works for results from each blog, one by one, suppose I want navigation on my results, suppose I want to make a most recent posts widget, or any type of functionality where I want to query posts from the entire multisite, custom post types, pages, all the wp_query class has to offer only works for each individual site so far, It would really help as a huge feature for WordPress multisite",ciapci
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
17450,Almost pretty permalinks with non-ASCII characters do not work in Apache,westi,Permalinks,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-05-16T05:53:14Z,2012-04-27T19:03:50Z,Almost pretty permalinks (using PATH_INFO) with non-ASCII characters do not work in Apache; a not found error is returned. The same permalink works in IIS when UTF-8 is used for server variables. It also works when mod_rewrite is used.,peaceablewhale
19918,Attachments are viewable from any permalink that matches their slug,Adrian (designmodo.com),Permalinks,3.2,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-01-29T11:02:27Z,2012-02-20T07:49:55Z,"I see one problem in WordPress, for example if you upload an images with name comments.png, all your url contain hide url like: /comments

example:
original post: yourdomain.com/myarticle
if you have in media gallery file with name comments.png url will be: yourdomain.com/myarticle/comments
or
yourdomain.com/myarticle2/comments
or
yourdomain.com/myarticle3/comments

and all this url's contain the same comment box.

my users report this problem, because if i share in twitter or g+ one link, many users redirect not to the post but to url with /comments in the end.

Adrian,

designmodo.com
",prorock
10249,Page slug in cyrillic = Error 404 - Not Found!,westi*,Permalinks,2.7,normal,major,Future Release,defect (bug),accepted,needs-unit-tests,2009-06-23T19:44:34Z,2012-04-27T19:04:18Z,"When I create a page with page slug for example ""киро""
then when I try to open domain/киро - Error 404 - Not Found

The permalinks are %postname%

Post slug with this slug is working just fine, the same BUG exists in 2.7, 2.7.1 and 2.8",kalifi
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
11903,insert_with_markers is not threadsafe,westi*,Permalinks,2.9,normal,major,Future Release,defect (bug),accepted,,2010-01-15T06:27:45Z,2013-02-07T21:53:27Z,"From wp-admin/includes/misc.php the function insert_with_markers may be called multiple times on a busy server and if the htaccess is already in the process of being written it is possible that two PHP threads could attempt to write to it causing corruption such as the following:



{{{
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
s

}}}

Notice the dangling 's' at the last line",strings28
23117,permalink failed on IIS7 and Reserved Proxy for wordpress 3.5,,Permalinks,3.5,normal,major,Awaiting Review,defect (bug),new,,2013-01-04T06:30:33Z,2013-01-04T11:03:08Z,"it seems to work fine on local but get into a canonical redirect loop when we deploy to production after we upgrade to wordpress 3.5.  We did a little debug and found the issue with permalink in file .\wp-includes\canonical.php at line 42 with new coded ""&& !iis7_supports_permalinks()"" added in 3.5.

the issue is iis7 does support permalink and so it go into create and redirect to pretty link which use the website URL in wp-admin settings which is the site URL.  when it hits the site URL, our reserved proxy write back to the wordpress site on diff server with port and canonical.php think that's incorrect, so it redirect back to the website URL and the loop go on and on.

we found a temp workaround but not desirable, add this  ""remove_filter('template_redirect', 'redirect_canonical');"" in the function.php file in the theme folder you are using.  or add a wordpress plugin or simply remove the additional codes in canonical.php file that was added in 3.5.  but may cause issue in future upgrade.",romeoqngo
5305,permalinks broken when article name is numeric,ryan,Permalinks,2.3.1,normal,major,Future Release,defect (bug),new,,2007-11-01T21:27:54Z,2013-05-09T15:51:24Z,"if you create numeric-only post name, the generated slug is this number - this conflicts with article ID, so it returns different article or 404 page, never the article. It can be then solved by generating manual slug with some char in it, but i think it would be better to include some char in that case, e.g. underscore, like _123

Also if someone will try to solve this, it would be nice to solve other problem - if post slug is begining with the slug of the category, than the category page returns that post, not the category",thomask
9064,URLs with commas are not pinged,,Pings/Trackbacks,2.7,high,major,Future Release,defect (bug),new,needs-unit-tests,2009-02-07T11:07:20Z,2013-05-20T12:01:23Z,"I use following permalink format on my blog:[[BR]]
/%category%/%postname%,%post_id%[[BR]]
Unfortunately Wordpress doesn't ping them correctly - URLs extracted from post content don't have suffix with comma and post id.[[BR]]
[[BR]]
Fix: in file wp-includes/comment.php change line 1400 from:[[BR]]
$punc = '.:?\-';
[[BR]]
to:[[BR]]
$punc = '.:?\-,';
",sirzooro
13266,Admin page hooks change when plugin is translated (tied to $menu_title),westi,Plugins,3.0,normal,major,Future Release,defect (bug),new,has-patch,2010-05-05T21:07:11Z,2010-11-02T06:27:09Z,"WP3 is using the title of the parent menu item in a menu block to fire the load-hooks for the lesser menu items? Lost me? Ok an example -

Plugin Membership has this menu structure (simplified)

Membership – main heading
Membership – Top inner
Edit Member – inner
Edit Levels – inner
Edit Subs – inner
etc…

The page load hooks for the non-translated plugin are as follows:
Membership – load-toplevel_page_membership
Membership – load-toplevel_page_membership
Edit Member – load-membership_page_members
Edit Levels – load-membership_page_membershiplevels
Edit Subs – load-membership_page_membershipsubs
etc…

Now, if I use a language translation on the plugin, which for the sake of clarity here, translates the word Membership to Aaargh the page load hooks become.
Membership – load-toplevel_page_membership
Membership – load-toplevel_page_membership
Edit Member – load-aaargh_page_members
Edit Levels – load-aaargh_page_membershiplevels
Edit Subs – load-aaargh_page_membershipsubs
etc…

Thus any actions you are running on the inner pages aren’t called.",uglyrobot
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
14096,More protection against fatal errors from plugins,,Plugins,,normal,major,Future Release,feature request,new,dev-feedback,2010-06-26T05:36:27Z,2010-10-28T05:26:52Z,"Willing to split this into more tickets if these ideas gain traction.

'''More realistic sandboxing.''' It would be interesting to perhaps kill most of the WP environment while trying to sandbox a plugin on activation, to catch more fatal errors. For example, unset $wp_rewrite, which would prevent add_rewrite_tag() issues (on activation) for plugins incorrectly trying to register rewriting for taxonomies or post types. Of course, most of these plugins are already running on a blog when the auto-upgrade happens. Hence the second item:

'''Check plugins before an auto-upgrade.''' We can do plugin update checks to verify their compatibility (as reported by the author?) with the version they are about to upgrade to. If the plugin is in the repo and is not identified as compatible with that version, then very strongly advise they deactivate it (and consider doing it for them).

'''Check a site after an auto-upgrade.''' Since we only recommend deactivating plugins on auto-upgrade, and I'm not sure we should forcibly do that as part of an auto-upgrade, then let's check the site after an upgrade. Hit wp-load with an HTTP request and look for a header we spit out on the wp_loaded hook. If we don't get a header, then deactivate all plugins and tell the user ""told you so"". We could consider trying to reactivate plugins until one fails as well (also a valid option for the previous suggestion).",nacin
24219,All post formats not available in PressThis,,Post Formats,,high,major,3.6,defect (bug),new,commit,2013-04-29T04:50:17Z,2013-05-07T21:20:59Z,"When creating a new PressThis post with Twenty Thirteen active, only Standard, Link, and Video are available as post formats:

https://www.evernote.com/shard/s2/sh/112e7c92-76b8-4b68-a17f-b59ac5deaaf2/32cb568f188b328ae97f285b46e7ac3b

Yes, I do use PressThis.

Similarly, mobile apps respecting `wp_getPostFormats` in XML-RPC will only show the post formats available with `get_theme_support( 'post-formats' )`

I haven't been following all of the recent post format discussion, but `get_theme_support( 'post-formats' )` should probably return all post formats unless the theme has explicitly identified which formats it supports. This is a different approach than what r24089 did, and I only see two other uses of `get_theme_support( 'post-formats' )` in core, but it doesn't accommodate for plugin/theme use of `get_theme_support( 'post-formats' )`.",danielbachhuber
24159,Chats with spaces in the 'speaker' not parsing correctly,,Post Formats,trunk,normal,major,3.6,defect (bug),new,needs-unit-tests,2013-04-22T17:37:04Z,2013-05-17T22:53:29Z,"Since #23625 is closed and we were asked to make a new ticket, the issue I mentioned still remains.

Related to #23947 - currently this is broken in instances where chat names have spaces.

​http://test.ipstenu.org/testing-1.2013/

That has the post content as follows:


{{{
Nigel Tufnel: The numbers all go to eleven. Look, right across the board, eleven, eleven, eleven and…

Marti DiBergi: Oh, I see. And most amps go up to ten?

Nigel Tufnel: Exactly.

Marti DiBergi: Does that mean it’s louder? Is it any louder?

Nigel Tufnel: Well, it’s one louder, isn’t it? It’s not ten. You see, most blokes, you know, will be playing at ten. You’re on ten here, all the way up, all the way up, all the way up, you’re on ten on your guitar. Where can you go from there? Where?

Marti DiBergi: I don’t know.

Nigel Tufnel: Nowhere. Exactly. What we do is, if we need that extra push over the cliff, you know what we do?

Marti DiBergi: Put it up to eleven.

Nigel Tufnel: Eleven. Exactly. One louder.

Marti DiBergi: Why don’t you just make ten louder and make ten be the top number and make that a little louder?

Nigel Tufnel: These go to eleven.
}}}

But nothing shows.

You can see the exact same issue here: http://twentythirteendemo.wordpress.com/2013/02/10/never-say-never-say-never/

James Bond's lines are never shown.",Ipstenu
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-22T17:12:58Z,"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
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-22T01:37:38Z,"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
11692,"Add post-tumbnail to the main ""Posts Edit SubPanel""",,Post Thumbnails,2.9,normal,major,Future Release,enhancement,new,,2010-01-02T16:58:29Z,2010-10-03T21:04:17Z,"In '''[http://codex.wordpress.org/Media_Library_SubPanel Media Library SubPanel]''' we can see the image/media tumbnail. i want to see the tumbnail from '''[http://codex.wordpress.org/Posts_Edit_SubPanel Posts Edit SubPanel]''' too (or from ""Quick Edit"").

This way, if no tumbnail attached to post, blog owners will see it from the main subpannel rather them from the single post edit.


(bad english, i know. sorry.)",ramiy
18950,get_post_types() does not return post-types registered with verbose alternatives of the $public argument,,Post Types,3.2.1,normal,major,Awaiting Review,defect (bug),new,close,2011-10-14T16:50:26Z,2012-07-18T10:03:52Z,"The $public argument for the '''register_post_type()''' function is supposedly an alternative for setting the arguments for publicly_queriable, show_ui, show_in_nav_menus, and exclude_from_search;  It's true that setting the public argument does cause these other values to be set, but if you then use '''get_post_types()''' to query for public post-types, WP does not recognize the equivalence between setting the public option or verbosely setting the others.


== To Reproduce: ==

Enter the following code into a plugin:
{{{
function testing() {
 $args => array(
   'publicly_queriable' => true,
   'show_ui' => true,
   'show_in_nav_menus'  => true,
   'exclude_from_search => false
 );
 register_post_type('my_custom_post_type', $args);
}

add_action('init', 'testing');
}}}

In a theme file (or somewhere after the init event):
{{{

$pts = get_post_types( array('public'=>true, '_builtin'=>false) );

print_r($pts); // <-- empty!
}}}


== Expected Result ==

I would expect the get_post_types() function to return the '''my_custom_post_type''' post-type because it is using the equivalent of the $public argument.


== Actual Result ==

No post-types are returned. 

This represents a problem: other plugins that interact with post-types often rely on the $public argument when using the '''get_post_types()''' function, so any plugin that attempts to verbosely set component attributes will not be recognized.  This effectively breaks the API and trainwrecks the interconnectedness of the post-types.

== See Also ==

See forum post: http://wordpress.org/support/topic/public-attribute-for-register_post_type?replies=5#post-2391689


WordPress 3.2.1
PHP 5.3.2",fireproofsocks
14825,'Sticky' Posts from excluded category still included in WP_Query results,ryan,Query,3.0.1,normal,major,Awaiting Review,defect (bug),reviewing,dev-feedback,2010-09-10T00:05:55Z,2011-04-20T22:54:20Z,"Hi,

I want to have a list of articles that exclude posts in a category I have called ""Stories."" Some articles in the Stories category are marked as ""sticky"".

{{{
$cat_id = get_cat_id(""Stories"");
$query = new WP_Query(""cat=-{$cat_id}&posts_per_page=10&caller_get_posts=0"");
}}}

However, this still returns articles from the Stories category, but only those that are marked as ""sticky"".

I've taken a look at the source code of wp-includes/query.php, and it seems that what's happening is that it prepends all ""sticky"" posts that were not in the initial query results, regardless of category. (There is only logic implemented that honours the {{{post_type}}}.)

I would appreciate it this bug be addressed and released in an upcoming WordPress release.

Thanks.",newmediarts
17200,[Search] Posts containing search terms missing from Search Results,,Query,3.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-04-20T21:59:08Z,2011-04-21T08:27:25Z,"I tried to perform a search based on some text within [http://www.webfoundation.org/2010/03/web-foundation-tim-steve-featured-on-cnn-segment/ this article] on my site, specifically “Jason Sanchez”, but got no results.

Furthermore, when I [http://www.webfoundation.org/?s=cnn search for ""CNN""] (for example), only two entries come back:

* [http://www.webfoundation.org/2010/01/importance-of-web-in-haiti-earthquake-relief/ The Importance of the Web to Help Disaster Relief in Haiti]
* [http://www.webfoundation.org/about/boards/switzerland/iqbal-z-quadir/ Iqbal Z. Quadir]

…but not [http://www.webfoundation.org/2010/03/web-foundation-tim-steve-featured-on-cnn-segment/ this one], even though it should.

Other searches had similar problems (e.g., searching for ""video"", etc.). !WordPress' built-in search seems to have some serious flaws in its search algorithm. I'm hoping you can resolve this in an upcoming release.",newmediarts
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
23044,adjacent_image_link() needs optimization,,Query,3.5,normal,major,3.6,enhancement,new,,2012-12-22T05:04:20Z,2013-05-21T08:03:07Z,"`adjacent_image_link()` is really slow and stupid. It queries for '''all''' of the images attached to that post. And then it picks the previous or next one in PHP. And there's no caching, so you'll typically get this happening '''three times''' on an attachment page, (image [linked to next], prev link, next link).

We should actually just make the query grab the ONE image we want.",markjaquith
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
11328,Issue with double click on comment's text when quick edit is used,,Quick/Bulk Edit,2.9,normal,major,Future Release,enhancement,new,,2009-12-04T21:12:35Z,2011-04-22T21:26:47Z,"When you edit comment via quick edit or when you write a reply on ""Edit Comments"" page and double click on text of other comment, used quick editing is turned off and quick editing is turned on other comment, with all text which you wrote lost.

I noticed this when I wrote a reply on one comment and when I wanted to copy a word from that comment by double clicking on it, my whole reply was lost.

So enabling of quick edit via double click on comment's text should be  disabled when quick edit is used.",dimadin
20299,"Preview changes on a published post makes all post meta ""live""",,Revisions,3.3.1,normal,major,Future Release,defect (bug),new,has-patch,2012-03-25T02:02:16Z,2013-05-22T17:31:24Z,"Here's the use case. Client wants to preview an update to a published post (as the Preview Changes button correctly implies they can). This post has some important post meta that impacts that preview.

Here's the problem - because post meta is not saved to a revision (it looks for the ""real"" post), when the preview button is pressed, save_post runs, and saves the meta data to the real, published post, even though the user only intends to preview the change.

Without realizing it, the user has updated the published version. That can be prevented by not saving post meta to revisions (when using custom save_post hooks), but then there's no non-hacky way to actually preview the full changes.

I believe this bug has been present for a while, we just rarely use the Preview function on published posts, and when we do, probably never tested it with critical post meta.",jakemgold
20067,/search/.+ takes priority over pages since 3.3 - Breaks some sites,,Rewrite Rules,3.3,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-02-18T07:36:46Z,2012-02-24T13:19:21Z,"Was on WP 3.2.1 and upgraded to 3.3.1. Immediately started experiencing problems with WP intercepting page urls such as: www.mydomain.com/search/advanced-search.html, or any other url whose first level folder was /search/. This is a valid folder and url set on my real estate site, and it all worked fine in 3.2.1. But WP 3.3.1 redirected to some kind of search process, and returned summaries of various pages on the site. As a test, I located and renamed the search.php in my theme folder. After that, the content and formatting of the results changed, but it still incorrectly redirected to some kind of search process, probably the WP core search since the one in the theme folder had been renamed. During this entire process, no other changes were made. The exact same plugins were installed and active, and no changes were made to .htaccess. .htaccess was reviewed, and there were no redirects that could have caused this. No redirect or site search plugins were ever installed or active. I re-installed WP 3.2.1 core files and all of the improper redirecting to search issues went away. Did 3.3.1 have some kind of new internal rewrite rules regarding when/how to do a site search? Affected site is www.denverhomevalue.com.",ronnieg
16971,Creation of .htaccess file leads to a 500 Error,,Rewrite Rules,3.0,normal,major,Awaiting Review,defect (bug),new,has-patch,2011-03-26T11:59:51Z,2011-07-16T18:11:59Z,"Turning on permalinks can render the whole blog into a 500 error situation under certain conditions.

The issue has been experienced with a WP 3.0.5 setup, other versions seem affected as well.

The creation of the .htaccess file does not reflect the systems umask setting which can result in creating a file that is not accessible by the server.

That triggers the 500 then.

Normally WP chmod's all files it creates. This is not done with the .htaccess file if it did not existed already.",hakre
14578,"Default User Role isn't checked against defined roles, causing unexpected resets to Administrator",garyc40,Role/Capability,3.0.1,normal,major,Future Release,defect (bug),assigned,has-patch,2010-08-10T10:00:29Z,2013-05-21T20:00:15Z,"Take these steps:

1. Activate a plugin that creates role on activation. For example, it calls ""add_role( 'photo_uploader', 'Photo Uploader', array( 'read') );""[[BR]]
2. In General Settings, set the Default User Role to this new role, 'Photo Uploader'.[[BR]]
3. Deactivate the plugin, removing the roles: ""remove_role( 'photo_uploader');""[[BR]]
4. In General Settings, the Default User Role now displays 'Administrator'. (In the database, it still says 'photo_uploader'.)[[BR]]
5. When creating a new user (as admin), the role dropdown-box now displays 'Administrator' as role for this new user. This new user _will_ have role 'Administrator' if an unsuspecting admin does not explicitly alter the role in the dropdown-box.[[BR]]

This way, an unsuspecting adminstrator might accidentally create new admins for his blog.

I have also tested this for new users registering themselves. Fortunately, they are assigned the role 'None', not 'Administrator'.

Greetings,

Ivo van der Linden[[BR]]
(employee of LaQuSo @ Eindhoven University of Technology)",Ivolution
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
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
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
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
13606,Comma's in taxonomy term names make them unpickable,,Taxonomy,,normal,major,Future Release,defect (bug),new,,2010-05-28T21:10:02Z,2010-11-13T03:19:01Z,"In the taxonomy term adder/editor, you are allowed to put comma's in their names, but the JS picker thinks they are two separate terms separated by a comma.

Two possible obvious solutions:
1.) Disallow terms from having commas in the names
2.) Fix the JS",johnjamesjacoby
15264,Deleting a term shared across taxonomies deletes all associated nav menus.,garyc40,Taxonomy,3.0.1,normal,major,Future Release,defect (bug),assigned,has-patch,2010-10-31T08:01:32Z,2013-05-21T19:59:57Z,"Using other taxonomies since WP 2.3 in [http://wordpress.org/extend/plugins/xili-dictionary/ plugin xili-dictionary] , I just discover that now (since WP. 3.0) when deleting a term of his taxonomy, ''a menu item can disappear''.

'''In which conditions ?''' 

When the term (i.e. news) is shared by taxonomy category and the plugin taxonomy named dictionary ?

After deep tests (thanks to the night when time changes from summer to winter time), I can also reproduce it in current conditions : when a term is shared between taxonomies category and post_tag : If you delete the tag (i.e my test), if a category 'my test' exists and was active inside a navigation menu : the nav menu item disappear (unpleasant).

The cause of this unexpected erasing, was the action hook ''delete_term'' at end of '''wp_delete_term''' function and precisely the default filter ''_wp_delete_tax_menu_item''.
The add_action in default-filter.php (line 233) don't pass the 3 parameters and the function (menu-nav.php line 700) don't verify if it is possible to delete the menu item (as well done for term in other taxonomies in wp_delete_term itself) by testing the params and the taxonomy of the menu item content.

Today workaround in plugins using new taxonomies : remove filter before deleting a term on concerned taxonomies and add it after. 
Hope that explanations were explicit.

Best regards
",michelwppi
21842,Diffrerent Custom Taxonomy Unable to Have Same Term Name  in Version 3.4.2,oneTarek,Taxonomy,3.4.2,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-08T09:27:28Z,2012-09-14T23:47:16Z,"Before WordPress version 3.4.2 We know that WordPress does not support same word as category and tags. Assume you have a category named ""iPhone"" and it's slug is 'iphone' and now you want to add a new tag named ""iPhone"" , in this case tag slug will be 'iphone-2'. But if you have a custom taxonomy ""Device"" then the slug will be 'iphone' same as category ""iphone"". It means WordPress did not support same category and tag but can be same with any custom taxonomy. I tested many times this case.

But today after updating <a href=""http://onetarek.com""><strong>My WordPress Blog</strong></a> to version 3.4.2 I found a mistake on it. I have 3 custom taxonomy. 'Type', 'Brand' and 'OS' . Before WP 3.4.2 I was able to use same word as Category and Type and also same slug for those. But now in version 3.4.2 when I am adding new terms It is getting slug with extra number 2. Example: I have a Category 'Apple' it's slug 'apple'. Now I am trying to add a 'Brand' taxonomy term 'Apple', the slug is being created 'apple-2'. But this problem was not in before WP 3.4.2",onetarek
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
16240,hide_empty doesn't work in get_terms() when hierarchical isn't set to false,markjaquith,Taxonomy,,high,major,Future Release,defect (bug),assigned,close,2011-01-15T06:06:05Z,2012-09-13T06:34:17Z,"I end up with some 0-count categories when calling {{{get_terms( 'category', array( 'hide_empty' => true ) )}}}

I think it has to do with the child count logic.",markjaquith
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
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
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
22875,Additional custom taxonomy object types,,Taxonomy,3.5,normal,major,Awaiting Review,enhancement,new,,2012-12-12T09:59:37Z,2012-12-12T19:53:43Z,"At the moment, a taxonomy can be registered for one of the following objects (ref http://codex.wordpress.org/Function_Reference/register_taxonomy ):
- post
- page
- attachment
- revision
- nav_menu_item
- a particular cpt

Taxonomies would become much more powerful and flexible, if:
- They accept additional objects, e.g. users, taxonomies
- They accept multiple objects, e.g. a single custom taxonomy could group together posts, pages and attachments",sooskriszta
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
9324,Let wp_link_pages do pagination when static page is used for front page,sorich87*,Template,3.0,normal,major,Future Release,defect (bug),accepted,,2009-03-12T17:20:02Z,2010-10-26T13:22:00Z,"Mentioned on WP-Hackers. If a static paginated page is used for the front page and wp_link_pages is used in the theme, the pagination links will return 404 because get_permalink will return the front page URL as the root of paginated links. I marked it as a bug since it can cause 404 errors if you don't know about it.

The enclosed patch tests for is_front_page and static pages using alternate _get_page_link functions for paginated content and using get_permalink for standard paginated links. It even works when a child page is set for the front page. 

This was a quick patch from a custom function, so it could probably be written a little better.",ev3rywh3re
18023,No way to define default page template,,Template,3.2,normal,major,Awaiting Review,defect (bug),new,,2011-07-07T06:15:24Z,2011-07-08T17:59:26Z,"The twenty eleven theme is quite nice but there is no way to define the default page template. For a website that needs a sidebar on every single page it is a hasle to have to set (and not forget to doit) the page template to sidebar.

",Gecka
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
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
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
22579,Confusion of  WP admin Discussion settings,,Text Changes,,normal,major,Awaiting Review,enhancement,new,,2012-11-24T20:46:05Z,2013-05-01T16:51:55Z,"On the ""Settings>Discussion"" page:

1) ""'''Default article settings'''"" should be replaced by ""'''Default comment settings'''"" (because these important settings do not only apply to posts (''articles'')), but also to pages!

2) ""'''Allow people to post comments on new articles'''"" should be replaced by:

--> ""'''Allow people to post comments'''"" (best option in my opinion)

or

--> ""Allow people to post comments on new pages and posts""

Sorry if this is not the right place to make such suggestions.",Lorangeo
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
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
14341,Adjacent image disappears when a caption is added,,TinyMCE,,normal,major,Future Release,defect (bug),new,,2010-07-17T23:53:02Z,2011-05-20T21:44:17Z,"If you place two images side by side inside a strong tag and then try to add a caption to one of the images, the other image disappears. 

Tested in r15436. 

To reproduce: [[BR]] 
1) Open a new or existing post for editing [[BR]] 
2) Place the sample code from below into the html editor [[BR]] 
3) Switch to the visual editor and try to add a caption [[BR]] 
---> You'll see the other image disappear

Here is a screencast example: http://screencast.com/t/OTNmNjQzN

Here is some sample code: 

{{{
<strong><a href=""http://s.wordpress.org/about/images/logo-grey/grey-m.png""><img class=""alignleft size-full"" title=""grey logo"" src=""http://s.wordpress.org/about/images/logo-grey/grey-m.png"" alt="""" width=""100"" height=""100"" /></a><a href=""http://s.wordpress.org/about/images/logo-blue/blue-m.png""><img class=""alignleft size-full"" title=""blue logo"" src=""http://s.wordpress.org/about/images/logo-blue/blue-m.png"" alt="""" width=""100"" height=""100"" /></a></strong>
}}}",designsimply
24181,Dragging image in visual editor to new location results in text link,,TinyMCE,3.5,normal,major,Awaiting Review,defect (bug),new,,2013-04-24T21:03:57Z,2013-04-29T20:43:15Z,"If there is an image in an existing post, dragging the image to a new paragraph / line or position in the post results in the image being replaced by the linked name of the file. 

I've reproduced this on at least two different sites on WordPress.com. Attached are some screenshots.

- Both drafts and published posts
- Whether center, right, left -justified. ",rosso99
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
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
23113,Automatic notice of new localized version missing,,Upgrade/Install,3.5,normal,major,WordPress.org,defect (bug),new,,2013-01-03T21:47:44Z,2013-02-02T08:19:13Z,"There was standard behaviour, that users could upgrade quickly to the latest WordPress version and when localized version was ready and released, notice about new localized version appeared in administration. But some users found that it was changed (in 3.5 or maybe 3.4) and when they upgrade to English version, they are not noticed about new Czech version in the future which is annoying. I tried it on some websites and it is true. I am not sure, if it is wanted change (but does not make sense for me) or bug (regression)?",pavelevap
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
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
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
20936,Image upload - HTTP error,,Upload,3.3.2,normal,major,Awaiting Review,defect (bug),new,,2012-06-13T08:40:59Z,2012-06-13T21:24:05Z,"Unable to upload some type of images, because crunching error. 

Reproducation: 
Try to upload attached png image (SC20120611-160917.png), to wordpress site (3.3.2). I try it all of my wp sites, and fresh installation (without plugins). The upload progress aborted (HTTP error). 

If you convert the png file to jpg, the upload and crunching was succeed (there is no configuration errors i think).

I try some workarounds too, but doesn't help (this is not an individual problem i think): 
http://wordpress.org/support/topic/http-error-on-image-upload-still
http://wordpress.org/support/topic/flash-uploader-logs-out-during-crunching-phase?replies=19

This error affected 3rd party tools (like android wordpress app). ",voji
19121,Add filter to wp_unique_filename,,Upload,3.3,normal,major,Awaiting Review,enhancement,new,has-patch,2011-11-02T23:02:15Z,2012-08-02T13:19:10Z,"Add a filter to wp_unique_filename so it can be modified if necessary.

Currently in wp_handle_upload I am trying to use FTP to put the file elsewhere. Since I can can't use an FTP protocol with move_uploaded_file, I can't just use the upload_dir filter to change the upload directory.

I need to be able to change the unique name directly (so I can look on my FTP server) and then later on I'll handle the move.

There is no way to access this (you can't just affect overrides or anything like that) without completely rebuilding large portions of the uploader. With this one minor hook added, the flexibility becomes much greater.",xazure
7634,Need a way to cancel an upload edit,,Upload,2.7,normal,major,Future Release,enhancement,reopened,,2008-08-28T21:51:18Z,2013-01-09T20:11:49Z,"When you click a media upload, you have to either save it, or use the back button in the browser.  Feels like a dead end.",markjaquith
16788,Ampersands in e-mail address become invalid,,Users,3.0.5,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2011-03-07T20:01:38Z,2012-09-19T17:46:32Z,"When an e-mail address contains an ampersand, WordPress improperly escapes the ampersand invalidating the e-mail address.

Example: h&f@domain.com becomes h&amp;amp@domain.com

First of all, the proper HTML entity for ""&"" is '''&amp;'''. Where did the extra '''amp''' come from?

Also, an ampersand is a valid character in an e-mail address and should not be escaped. Escaping it could be a completely different e-mail address.

I have not dug into the code to find out where this is happening but I'd assume in '''sanitize_email()'''.",jfarthing84
16001,Invited Users Can Disappear in MS,,Users,3.0,normal,major,Future Release,defect (bug),new,has-patch,2010-12-27T22:37:15Z,2013-04-22T21:56:32Z,"Steps to reproduce:

 * In ''Site Admin'', go to Users > Add New
 * Add a new user
 * You get a message to the effect of, said user needs to respond to an invitation.

Now the user has disappeared.  There's no way for a super admin or anybody to search for that user and add her directly, or delete her, or anything like that.  If the user doesn't get the email, she's out of luck: that username and email are now reserved for ""a couple of days.""",filosofo
9568,Allow users to log in using their email address,,Users,2.8,high,major,Future Release,feature request,assigned,has-patch,2009-04-17T17:11:28Z,2013-04-11T03:50:35Z,"I've been looking into a few tickets and adding patches to things that were potentially problematic when implementing a membership plugin (#1626, #4170, #9563, #9564). The general idea being twofold: to avoid duplicate users at all costs -- because it's a bloody mess to merge users in a billing system.

I'm about to embark on a mid-sized patch that renders the WP username field optional. This is a natural next step from #9563 and #9564.

Users could then be allowed to specify an email only, when registering. And they could use their email to login -- in addition to their username if they specified one.",Denis-de-Bernardy
14460,New Permission for no_user_edit so users with edit_users can't edit it,,Users,3.0,normal,major,Future Release,feature request,new,has-patch,2010-07-29T23:28:18Z,2011-12-24T20:23:31Z,"I recently experienced a problem where I have an administrator role with full access and a site administrator role with most access including the ability add, edit, and delete users. However, I don't want the Site Administrator to be able to delete users of the role Administrator.

The change I'm proposing is a new permission or marker which states that if enabled, this user can't be changed by another user who isn't the same role. If possible, I might try to add the patch myself.

This is a fairly important issue which would is interfering with WordPress' use as a content management system, and the only work around I've found is to edit core file.",brandon.wamboldt
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
8910,Limit the RSS widget from using its own url,,Widgets,2.8,high,major,Future Release,defect (bug),reopened,,2009-01-21T19:40:59Z,2012-02-06T08:15:20Z,"'''NOTE:''' Copied from [http://trac.mu.wordpress.org/ticket/852] since 'This is really a WP issue, not strictly MU. Can you open a ticket in WP's trac?'

I admit that this is not a well conceived thought but I wanted to throw it out.

There's some discussion on the premium site about individual blogs using their rss widgets to display their own feeds. This of course causes issues with an unnecessary rss feed pull as well as old data since the feeds are cached.

May I suggest a check to see if the inputted RSS feed matches the individual blog's own rss feed, kick it out with an error and suggesting to the user that they use the Latest Posts widget instead?

Marking this as 2.8 as it's not a high priority. ",webmaestro
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
19675,Add a jQuery triggers to the widget save action,,Widgets,3.3,normal,major,Awaiting Review,enhancement,new,,2011-12-27T18:02:52Z,2011-12-28T01:59:14Z,"Line 241 (widgets.dev.js):

{{{
$(document).trigger('saved_widget);
}}}

or something...

This way we could nicely hook our own js on that ""saved_widget"" event, instead of stuffing our js inside the widget form function.

This is relevant for all events created by WordPress in the administration area, not just widget-save. 

Think of it like ""add_action"" for javascript...",digitalnature
20790,Add widget_title filter to Links Widget,,Widgets,3.3.2,normal,major,Awaiting Review,enhancement,new,dev-feedback,2012-05-30T09:23:29Z,2012-05-30T09:24:39Z,"Currently the Links Widget is the only default widget that doesn't support the widget_title filter. This is inconsistent and creates problems when plugin or theme authors want to filter widget titles - every other widget's title get's filtered, but not the Links WIdget.

Right now, displaying widget title is basically delegated to the wp_list_bookmarks function.
While this works, I suggest that this should be changed to be more consistent with other widgets - displaying widget title should really be the widget class job, not wp_list_bookmarks.

It should work with the existing wp_list_bookmarks function by specifying the categorize argument to be false.",ragulka
22506,Bogus Last-Modified Header on Forum Feeds,,WordPress.org site,,normal,major,WordPress.org,defect (bug),new,,2012-11-19T15:45:46Z,2012-11-19T15:59:19Z,"In troubleshooting RSS problems, I found that all of the plugin support feeds are responding with

{{{
Last-Modified: Tue, 16 Oct 2012 14:09:51 GMT
}}}",miqrogroove
23256,Mitigate Plugins SVN Exponential Storage Growth,,WordPress.org site,,normal,major,WordPress.org,defect (bug),new,,2013-01-21T23:41:56Z,2013-02-03T21:02:40Z,"We all know Subversion is terribly inefficient with storage compared to most modern version control systems, however I've noticed a pretty serious problem that goes way beyond this in the plugins SVN repo. Please forgive me if some details are slightly off as obviously anything running WP.org infrastructure is mostly a black box that no-one outside of Automattic or Audrey has any insight into (and I'm lucky to have found this problem in the first place).

If you take a look at the attached graph, you can see that the plugins repository is growing exponentially by disk usage regardless of what rate commits are coming in (but that has always been growing too, making this worse). I am assuming the repository is using FSFS, though this is actually still a problem if it were using BDB. All SVN repositories suffer from this weakness if used the same way the plugins SVN repo is being used.

The problem is that every SVN commit stores off node IDs of every sibling node of every parent node of all nodes that have changed in that revision. This means that a single commit to `/myplugin/trunk/readme.txt` contains references to all files and directories (and their related revision) in the `/myplugin/trunk` directory, the references to the `branches`, `tags`, and `trunk` nodes in `/myplugin`, and finally references to every directory in the root node (`/`) which means every single plugin in the repository.

Since the root node is related to any changed node in every single commit, and the list of plugins is constantly growing, this means that even though the repository is somewhere around 450GB right now, the actual data in the repo, including the full history, is only about 30GB. You can confirm with a simple dump of the repository. The other 420GB or so is entirely wasted space by SVN overhead.

If nothing is done in the next two years, the SVN repository is expected to double in size to about 900GB, and it’s performance will quickly degrade as the server takes longer to read revisions and the filesystem cache can no longer be used (which I suspect is already the case now). Another four years, and we could be looking at a 2TB Subversion repository with every single commit being required to write about 8MB to disk even if it's a one line change.

I know that any solution to this is going to take years to fully implement mostly because I believe this is going to require plugin SVN URLs to change during a migration at some point most likely. However, at the least, we should be heading up this problem by getting new plugin submissions started in their own repository rather than creating new directories for them in the current plugins SVN repo. This would at least stop the exponential growth of the plugins repository, extending it's lifespan significantly.",bpetty
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
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
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
17541,Blogger-XMLPRC API does not work with Multisite/SSL/DMZ combination,westi*,XML-RPC,3.2,normal,major,Future Release,defect (bug),accepted,has-patch,2011-05-23T07:26:29Z,2012-12-14T23:12:02Z,"I have the following setup:
My WordPress Blogs (multisite) are set up behind a firewall that exposes the public address via SSL. Inside my DMZ I'm only using HTTP, so that's what WordPress sees. When I now try to access the blogger.getUsersBlogs XMLPRC-API, I get an empty result back.

I analyzed the WordPress source code and found out that the blogger.getUsersBlogs method in the file wp-includes\class-wp-xmlrpc-server.php uses another XMLRPC call to the wp.getUsersBlogs method in case of the multisite. I further checked and found out that this appears to be the only case in which WordPress executes a remote call itself to sevice the request. I then replaced the logic in _multisite_getUsersBlogs with the multisite part from wp_getUsersBlogs and it worked.

I aso found an issue that might be related: http://core.trac.wordpress.org/ticket/16402
But since the source code in the trunk still uses the regular IXR_Client, I'm not sure if this would fix the issue.

I attached my fix as a patch, but it's not refactored to remove code duplication since I don't have a dev-environment set up for WordPress.

Michael",michael_k
16980,Empty Values are ignored by class-ixr.php,,XML-RPC,3.1,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2011-03-27T12:34:47Z,2011-05-25T05:19:53Z,"I tried to fix the following bug #10599 
Found out when you send and empty value via xmlrpc it converts it to null value.

 Say you send and array of arguments for mw_editpost, set

{{{
$content_struct[mt_keywords] = '';
}}}
 
IXR client passes a null value instead of an empty value.

In mw_post method consider this statement 

{{{
$tags_input = isset( $content_struct[mt_keywords] ) ? $content_struct[mt_keywords] : null;
}}}


Even if you send an empty value this statement fails because 


{{{
$content_struct[mt_keywords]
}}}
 
is set to null by IXR client.",nprasath002
21098,Out of memory errors in XML-RPC,,XML-RPC,3.4,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-06-28T13:48:53Z,2012-09-23T19:43:33Z,"Since WPiOS 3.0 and WordPress 3.4 we're getting a lot of ""Out of Memory"" reports on XML-RPC.

See http://ios.forums.wordpress.org/topic/couldnt-sync-posts-after-update-to-300

XML-RPC clients have no idea of the memory available, and even if they did it'd be hard to translate that to ""how many items can I request""

Some ideas:

* Can we try raising the memory limit on xmlrpc.php, or at least for system.multicall?
* Setting limits on the number of items returned if we can predict that they're going to need too much memory. Currently asking for the latest 100 comments can trigger an out of memory error in some hosts.
* Fail more gracefully: return an XML-RPC error instead of a HTTP 500 Internal Server Error
* Any hints on debugging where memory is going and if there are any leaks?",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
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
22540,Drilling categories for relevant posts via XML-RPC,,XML-RPC,3.4.2,normal,major,Awaiting Review,enhancement,new,,2012-11-22T16:46:52Z,2012-11-23T22:17:25Z,"Hello WordPress,

Requirement for us was to drill down the category relevant posts, and I have implemented the solution using xmlrpc for the .net env using c#.

The trouble is there is no available option to filter using category for the posts.

So I have done following changes, please recommend if we can do any better to avoid the override of the change may be by upgrading the next version with it from WordPress version natively.

Describing the basic nitty-gritty with in :

After doing some cross referencing I was able to figure out adding following code shouldn't harm :

1: With in LLN#1374 function wp_getPosts( $args ) 
I added the filter option for category as follows on LN#1410

{{{
if ( isset( $filter['category'] ) )
    $query['category'] = $filter['category'];
}}}

I have done few tests and seems to be working fine, just its expects the categoryId to drill the category relevant posts for me.

I wonder if you could integrate this from WordPress.

2: Our second requirement was to get out of the box wpautop for the content, so we don't need to worry about adding <p><p/> tags.

hence the another change of code I had integrated with in the file is as following :

with in protected function _prepare_post( $post, $fields ) on LN#624 , I had added the wpautop call to surrounds to post_content as in follows :

{{{
'post_content'      => wpautop($post['post_content']),
}}}

Please guide or suggest how to avoid the override when upgrading the WordPress, one option is WordPress integrate these changes out of the box and until that we keep an eye and on ever upgrade keep doing the change.

Please feel free to reach me with any possible suggestions.

Regards,
Nidhi",nidhi.patel
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
21334,Accessibility of Quick Edit panel in Posts/Pages/etc,,Accessibility,3.4.1,normal,normal,3.6,defect (bug),new,has-patch,2012-07-21T06:46:51Z,2013-05-09T14:36:57Z,"Two issues here:

1) When someone using mouse hovers over a page/post row in main Pages/Posts screen - the 'quick links' appear. However these links will never appear when a user is tabbing around the screens - perhaps a blind user with screen reader or someone who is unable to use a mouse.

Please can the 'quick links' panel be opened when someone tabs to the page/post title and stay open so that they can then tab into the links provided.

2) Using Quick Edit. 

When the Quick Edit panel is open the input fields in there are all nicely accessible except for the date and time grouping. These input fields have a tabindex value set (unlike the surrounding input fields) which removes them far from the natural sensible tab order within this panel. Suggest the tabindex values are removed.

Also, none of the date and time input fields have labels so their meaning is unclear - certainly to blind users but also potentially to people with cognitive impairments too. Please can this be rectified.

Thanks",grahamarmfield
16103,Blue Admin theme doesn't have enough contrast,,Accessibility,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-05T03:51:32Z,2013-05-14T13:21:17Z,"The beautiful blue theme has a few parts that lack sufficient contrast to be useable by someone with color deficiencies.   Specific parts to follow.


See attached screen shots to get a better idea.  Highlighted areas lack contrast.  ",jorbin
23560,Keyboard Accessibility of Add Media Panel,,Accessibility,3.5.1,normal,normal,3.6,defect (bug),new,has-patch,2013-02-20T14:26:56Z,2013-04-09T23:28:25Z,"Trying to keep this trac specific I'm talking here about keyboard-only interaction with the new Add Media panel once you have opened it by actioning the Add Media link whilst editing a page or a post.

Accessibility Issues:
* The most serious problem with accessibility in the Add Media functionality is that it is not possible to select any of the pre-uploaded media without using a mouse. This will effectively preclude any keyboard only or screen reader users from using this functionality.
* When the Add Media panel first opens it is unclear where keyboard focus sits. This could be disconcerting for some users.
* Reverse tabbing from the panel transfers focus back into the main page whilst leaving the panel open. Recommend that focus is kept cycling within the panel until the user either explicitly closes the Add Media panel or inserts some images.
* It is possible to tab through the text links on the panel(s), but the Upload Files link does not show focus as obviously as other links as there is no outline.
* When tabbing forwards from the Upload Files link there is a tab stop that is not at all visible. Believe this to be Media Library but it's not clear.
* The Insert into Page link can receive focus even when inactive.

Separate trac tickets will be raised to cover the full screen reader and speech recognition software experience.",grahamarmfield
20880,Keyboard navigation in Appearance > Header is broken,,Accessibility,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T17:40:34Z,2012-06-08T06:27:11Z,"It's impossible to use the Appearance > Header section with the keyboard because the Enter button will submit the form using the top-most submit input, which is not always the Save Changes button. How to reproduce, in Appearance > Header, using Twenty Eleven:

1. Select one of the default header images
2. Check the Show header text with your image option
3. Enter #111 for Text Color
4. Click Save Changes

At this point everything looks fine, but here comes the trouble:

5. Enter #222 for Text Color and hit Enter

You'll notice that #222 hasn't been set as the Text Color, instead your chosen header image (in step 1) has been removed, as if the Remove Header Image button was clicked.

6. Enter #333 for Text Color and hit Enter

You'll notice that #333 hasn't been set as the Text Color, instead it's been set to #000 which is Twenty Eleven's default, as if the Restore Original Header Text button was clicked.

When both Remove Header Image and Restore Original Header Text buttons are not present, the Return key submits the form using Save Changes, as expected. It's not limited to Text Color, but any other element that can submit the form using the Enter key.

I've been facing the exact same problem when doing an options panel for a theme with multiple actions as submit buttons, still haven't found a good solution. Marked as 3.3.2 but I believe it's been around earlier.

Thanks!",kovshenin
12825,Largest minimum text size in FF prefs makes admin display terrible,,Accessibility,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-02T22:25:59Z,2013-01-20T18:04:36Z,"The backend looks great in FF if a user zooms, as long as they don't zoom text only. However, some visually disabled people use the Firefox preference for minimum font size instead, because doing full zoom means lots of horizontal scrolling. Is there anyway to make it so that a large minimum text size wouldn't be so terrible-looking? 

To reproduce: in FF, go to Preferences, Content, Advanced Fonts, select 24 for minimum size. Look at the admin; eek! (In comparison, zooming to that size looks very pretty, but requires horizontal scrolling).

Gmail does it decently, so I thought it was worth asking, but I know that there may be technical reasons that we can't make it happen. Would just like to know what those are if so, so I can explain to users who ask about it. If we *can* make it happen, that would be sweet. ",jane
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
23562,Using Speech Recognition Software with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T16:06:02Z,2013-02-20T17:59:42Z,"Linked to #23560 this ticket specifically concerns the speech recognition user's accessibility experience of the Add Media functionality.

I'm using Dragon Naturally Speaking with IE9 on Windows 7 - a typical setup as Dragon works best with IE.

Within the Edit Post screen I can use Dragon to action the Add Media link successfully. The command in Dragon for such an action is ""Click Add Media"". This works, but then I run into the following problem:

* With the exception of Set Featured Image, none of the other links on the panel appear to be directly accessible with Dragon.
* If I select Set Featured Image I can't action any of the other links.

Dragon users can use voice commands to replicate pressing the tab key. The experience then mirrors that outlined in #23560 - but of course this cannot be used to select the images or other files.

It is possible for Dragon users to interact with screens using mouse commands but it is an incredibly laborious and time consuming process - used only as a last resort.

If one of the images is selected, the information panel for that images opens to the right. Unfortunately none of the input fields (for title, alt, etc) are directly available to Dragon. Ironically, the Insert Into Post button can be accessed directly with a voice command.

Some investigation needs to be done as to why most of the links and input fields cannot be directly accessed by Dragon when the panel is opened. This is a parallel with the situation on the Theme Customizer panel. 

It is interesting that the Set Featured Image link and the Insert Into Post button '''can''' be directly accessed. What is different about them?

",grahamarmfield
23561,Using a Screen Reader with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T15:16:55Z,2013-02-20T17:59:54Z,"Linked to #23560, this trac specifically concerns accessibility issues found when using the Add Media panel with a screen reader.

I used NVDA 2012.2.1 with IE9 and FF16.0.2 on Windows 7.

'''IE9'''

* On initially clicking Add Media link in Edit Post page the focus appears to initially be transferred into the edit content textarea within the main page. There is no audible notification that the panel has opened.
* Further tabbing shows that the focus has not been transferred into the panel - so this would be a showstopper for most users.

If you continue tabbing you eventually do come to the panel in the tab order at the bottom of the main page maybe...

* It is possible to tab round the text links in the panel. However actioning the Insert Media or Create Gallery links does not apparently do anything - there is no audible feedback that the contents of the next panel have changed. Suggest that when one of these links is actioned that focus is transferred into the relevant panel - to the heading would be a good place.
* The 'images' select does not have an associated label so it's purpose would not be clear to all users.
* The search box does not have an associated label so screen reader users in IE9 receive no feedback as to the purpose of this text box.
* There is no Go or Search button available to trigger the action for these two input fields - both of which change the content of the panel below. For accessibility reasons the user should be in control of triggering the filtering.
* As mentioned in the other ticket #23560 the main accessibility problem here is that it is not possible to select any of the previous uploaded media.


'''Firefox'''

* When the Add Media panel opens it is not clear where focus sits. But after this first link the focus is transferred into the Add Media panel.
* The close link does not announce itself when tabbing forwards, but it does when reverse tabbing.
* See IE9 section re actioning Insert Media, Create Gallery links.
* AS IE9 re label for media type select box. NVDA does announce Search box label in FF.
* As IE9 re lack of Go or Search button for these input fields.
* As IE9 it is not possible to tab to any of the previously uploaded images/files.

Separate ticket to be raised for Speech Recognition software experience.",grahamarmfield
18801,Accessibility Enhancements to Settings API,taupecat*,Accessibility,3.2.1,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-28T14:59:44Z,2013-01-03T19:25:35Z,"I've only started working with the Settings API, but right off the bat I noticed two fairly major, but should be not too difficult to fix, accessibility issues.

1) The label/input field pairs are missing the HTML <label> tags that link the two.

Example: Field One <input id=""field_one"" name=""field_one"" type=""text"">
Should be rendered: <label for=""field_one"">Field One</label> <input id=""field_one"" name=""field_one"" type=""text"">

2) The settings pages themselves are laid out using a table.  Tables should be reserved for tabular data, and not for page layout.  CSS should be used for layout instead.

Thanks for your attention.",taupecat
24148,Add aria-labelledby attributes to comment form,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-21T03:26:05Z,2013-04-22T14:03:52Z,"The aria-labelledby attribute provides a means for screen readers to get additional context for inputs when there is additional labeling information provided. In the default comment form, information such as the fact that email will not be published or that HTML tags and attributes can be used can only be viewed through a separate pass through the form not in forms mode. Adding these attributes means that a screen reader will read both blocks of text as the label for the field. ",joedolson
16433,Extend function to optionally include commenter name in comment_reply_link,merty*,Accessibility,3.0.4,low,normal,Future Release,enhancement,accepted,has-patch,2011-02-01T16:27:45Z,2011-09-12T12:05:09Z,"Screen readers recognize links and make them searchable. Unique names facilitate that search. Links need to have unique names that are descriptive and make sense when read out of context. WordPress allows users to set the text they want to display on the comment_reply_link but then this text is repeated for every comment on a post. 

WCAG Checkpoint 13.1 says: Clearly identify the target of each link. [Priority 2]

For improved accessibility it is far better to have the comment_reply_link include the commenter name. ""Reply to Tom Thumb"" and ideally, include a title on the link that includes both the commenter name and comment number. Users should have the option to filter for their custom text and to include (or not include) the commenter name. 

At the moment, anyone who wants to present an accessible front-end cannot use threaded comments unless they are prepared to generate masses of the same, generic, unhelpful link. ",Elpie
24042,Help text visibility in title input box is not intuitive,,Accessibility,trunk,normal,normal,Awaiting Review,enhancement,reopened,,2013-04-11T03:45:04Z,2013-04-12T04:32:03Z,"Currently, the input box for title which shows on a new post creation page uses a label to display the help text- ''""Enter title here""''. This text disappears on focus and an that point of time, there is no place which points out that this input box is for the title.

This problem has been pointed out by a lot of people and it surfaced after the new Gmail design came out. The problems it generated are very similar and as you may have used it, there are no labels for the email recipients field and the subject field.

The issue is not very big as such but it does generate ambiguity in some cases. The solution to this would be to have the label as an overlay on the input, which can slide/move to a new position on focus. And placeholder text can be used as help text. This way the help text will be visible at the start and the label will be visible throughout.",aniketpant
24098,Support for HTML5 roles,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-16T07:44:16Z,2013-05-12T00:01:07Z,"I was going through http://core.svn.wordpress.org/trunk/wp-includes/kses.php and I realized that most of the new HTML5 tags have been introduced but `role` is a missing attribute.

I feel that since WordPress has already made a move towards HTML5 by supporting `<article>`, `<section>` and other tags, all attributes should be made available too. `role` should be added to the required tags falling under `$allowedposttags`.

Go through the link for more information on [http://www.w3.org/wiki/PF/XTech/HTML5/RoleAttribute roles].",aniketpant
21414,"Use the ""Keyboard Shortcuts"" checkbox in the user profile to turn on/off all custom shortcuts",,Accessibility,,normal,normal,Awaiting Review,enhancement,new,,2012-07-29T20:24:36Z,2012-10-14T11:42:23Z,"Custom keyboard shortcuts can be very handy not only for better accessibility but for faster access to many actions that usually require ""mousing"". For example we could potentially add shortcuts to access the top menu items or the more commonly used toolbar items.

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

It would be good to let the users decide whether to enable them. As we already have a checkbox for the comment moderation shortcuts, best would be to make it ""global"". For now that would only affect TinyMCE.",azaozz
24150,tabindex doesnot work proper if metabox added,,Accessibility,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-21T04:12:43Z,2013-05-02T12:24:00Z,"Hi,
In {wp-admin} default post add form, if metabox added tab button skips metaboxes and directly goes to Publish box to take action.

Developer who wants to add tabindex to all metaboxes created, add_meta_box function should have parameter to set tabindex which will allow to go through it before publish post or skip if false. ",amolv
22104,High contrast admin colour scheme,,Accessibility,,normal,normal,Awaiting Review,feature request,new,,2012-10-04T17:35:54Z,2012-11-20T16:57:21Z,"We should consider bundling a high contrast admin colour scheme with WordPress to aid accessibility for the visually impaired.

Some discussion on this has taken place previously on IRC but nothing much beyond that.

Some potential points of discussion:
 * Is anyone in the [http://make.wordpress.org/accessibility/ WordPress accessibility group] an expert on accessibility for the visually impaired? Can we get someone on board for some expert guidance?
 * Is an admin colour scheme sufficient? Would any JavaScript need altering too? If so, would an admin colour scheme suffice as a starting point?

Related:
 * [http://www.timobrienphotos.com/2009/03/hich-contrast-admin-color-scheme-for-wordpress/ A high contrast admin theme plugin]
 * [http://wordpress.org/support/topic/admin-color-scheme Support forum discussing admin theme for visually impaired user]
 * [http://wordpress.org/extend/plugins/easy-admin-color-schemes/ Easy Admin Colour Schemes plugin]",johnbillion
9445,All Input Tags are not Section 508 Compliance,,Accessibility,2.7,normal,normal,Future Release,task (blessed),reopened,,2009-04-02T18:58:32Z,2012-10-09T20:14:56Z,"Not all of the input tags within the Wordpress admin console are section 508 compliant (http://www.section508.gov/). We have scanned the application using compliance software and found many instances where input tags (checkbox, text, textarea, file, radio, etc..) are missing the required label or alt text. (There are many instances where it IS compliant.) 

We (developers at a government agency) have the ability to make the changes, but some of the decisions for which exact text to put in the labels and alt text should probably be decided by a more dedicated Wordpress developer. Please contact me if you want our help or input. 

We believe that the software is extremely close to 100% compliance. Bringing it to 100% would be a huge deal for government agencies wh are trying to get approval to install and run Wordpress internally and externally.",dmo7
22254,"""Do you really want to log out"" message after already logged out",,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-22T16:21:06Z,2013-02-28T16:03:33Z,"1. Log into admin area
2. Open some page within admin area in a new tab (middle click or ""Open link in new tab"" or similar)
3. Select ""Log Out"" in menu in one tab
4. Normal ""You are now logged out."" screen appears
5. Select ""Log Out"" in menu in other tab
6. The following message appears:
{{{
You are attempting to log out of Blogname

Do you really want to log out?
}}}
The content of this message is wrong as the user is already logged out at this point.",Ov3rfly
22735,A given pointer should only show once on a screen,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-04T18:10:44Z,2012-12-14T23:51:42Z,"If you have, say, multiple media buttons on a screen, you'll get multiple pointers, each pointing to an instance of that button. This shouldn't happen. In the case of the media button, it should probably only show up for the one associated with the main editor. In terms of the pointers in general, it should only show up once, not for each match in the DOM.",helen
15827,AJAX paging breaks badly when json_encode can't encode,,Administration,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-12-15T14:27:33Z,2011-02-11T07:20:32Z,"If json_encode can't encode a response for some reason you get no feedback at all except for a blank list.

This seems most likely to trigger with invalid UTF8 sequences in spam comments.

With non-ajax paging you at least get all the comments displayed even if you do get a lot of ??? for the bad chars

Example Error seen:

{{{
[15-Dec-2010 14:18:38] Warning: json_encode() [<a href='function.json-encode'>function.json-encode</a>]: Invalid UTF-8 sequence in argument in /home/wpdev/public_html/wp-admin/includes/class-wp-list-table.php on line 839 [
}}}",westi
17516,Add Favorite Actions to Admin Bar,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-19T18:37:03Z,2011-09-10T03:25:31Z,"With the new UI upgrade, the favorite_actions() method was removed from the main UI. After a brief discussion with Westi, it made sense to put the functionality back in as part of the adminbar.

The attached patch does that using the favorite_actions() method (which can now return the filtered list of favorite_actions as an array). We should eat our own dog food.",technosailor
23141,"Add autocomplete=""off"" to all inputs that have a value",,Administration,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-08T12:49:51Z,2013-01-08T19:44:44Z,"On '''refresh''' in the browser - old data is filled in the inputs, instead of the actual data from the value attribute of the input.

to be more clear : http://www.screenr.com/p2K7",alexvorn2
19069,Admin menu generation doesn't check whether default post types have 'show_ui' as true,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-10-27T19:47:06Z,2011-11-16T05:00:27Z,"While patching #19055, I found wp-admin/menu.php doesn't check whether default post types have 'show_ui' set to true. The Comments menu is also displayed regardless of whether available post types support comments or not.",kawauso
18165,"Admin tables empty when installed on *nix with Apache 2.x, PHP 5.3 running as CGI with wrapper script",,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-18T21:01:37Z,2011-10-18T20:27:46Z,"* Wordpress 3.2.1
* Apache 2.2.3
* PHP 5.3.5

When running with suexec through a wrapper script such as set up by Webmin, the PHP_SELF variable is ""fixed"" by PHP to point to the wrapper instead of the actual script. This in turn kills some of the admin lists (posts are empty) along with problems setting theme (Thematic) options.


To recreate, adjust '''httpd.conf''' vhost to:
{{{
<VirtualHost *:80>
  SuexecUserGroup ""#1111"" ""#2222""
  ServerName example.com
  DocumentRoot /home/example.com/www
  ErrorLog /home/example.com/logs/error_log
  CustomLog /home/example.com/logs/access_log combined
  ScriptAlias /cgi-bin/ /home/example.com/cgi-bin/
  <Directory /home/example.com/www>
    Options Indexes IncludesNOEXEC FollowSymLinks
    allow from all
    AllowOverride All
    Action application/x-httpd-php5 /cgi-bin/php5.cgi
    AddType application/x-httpd-php5 .php5
    AddType application/x-httpd-php5 .php
  </Directory>
  <Directory /home/example.com/cgi-bin>
    allow from all
  </Directory>
  RemoveHandler .php
  RemoveHandler .php5
</VirtualHost>
}}}


Add the following shell script '''/cgi-bin/php5.cgi'''
{{{
#!/bin/bash
PHPRC=$DOCUMENT_ROOT/../etc/php.ini
export PHPRC
umask 022
SCRIPT_FILENAME=$PATH_TRANSLATED
export SCRIPT_FILENAME
exec /usr/bin/php-cgi
}}}

Copy the '''php.ini''' file to '''/home/example.com/etc/'''



The problem is temporarily solved by setting the following PHP option in '''php.ini''':
{{{
cgi.fix_pathinfo = 0
}}}

Which tell PHP not to do a path gawk. I think what should be done is Wordpress should not use PHP_SELF or at least prefer using ORIG_PHP_SELF if it exists, possibly resetting PHP_SELF for downstream functions.
",magdude
19722,Administering wih SSL and uploading images makes image links HTTPS,,Administration,3.3,normal,normal,Awaiting Review,defect (bug),new,,2012-01-03T16:45:51Z,2013-04-29T21:47:16Z,"I am noticing this issue in 3.3 that all uploaded attachments are listed in the library using HTTPS in the location when administerng over SSL. I tried the patch.2 listed and it does not seem to change anything. Previously this was never an issue, but now all my images are getting added as HTTPS when I do not want them to be. I end up searching the DB for "" https://"" and replacing with HTTP after every post.

Will this ever get resolved back to normal so SSL admin can be used without having all attachments over SSL? I only have SSL for login and admin.",ccolotti
13218,Allow to specify name of drop-in which is not a plugin,nacin,Administration,3.0,normal,normal,Future Release,defect (bug),reviewing,,2010-05-02T21:14:23Z,2011-04-07T03:49:48Z,"As I mentioned in #11861, plugin DB Cache Reloaded have two files: one main plugin file, and another used as `wp-content/db.php` drop-in. I would like to provide name for the drop-in file, but now the only way is to use the `Plugin Name:` header. Unfortunately when I do this, drop-in file bundled with plugin appears on plugin list. Therefore I need new header, which could I use to specify drop-in name, without that unwanted side effect.",sirzooro
21211,Alter how settings_errors are output in options.php,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-07-10T23:44:37Z,2012-12-10T18:43:09Z,"The `*_settings_error(s)` and `settings_error` functions are used mainly as part of the Settings API, but with the way that options.php currently handles the settings errors, it assumes that people will use this functionality exclusively with the Settings API. Notice options.php, starting at line 153:

{{{
	/**
	 * Handle settings errors and return to options page
	 */
	// If no settings errors were registered add a general 'updated' message.
	if ( !count( get_settings_errors() ) )
		add_settings_error('general', 'settings_updated', __('Settings saved.'), 'updated');
	set_transient('settings_errors', get_settings_errors(), 30);
}}}

This simply assumes that no other outside source has registered any sort of setting error other than the current options page. TwentyEleven does this, and so if any other source has registered any notices via these functions, the ""Settings saved."" message will not be output because the first bit of logic will fail. I don't think this assumption can (nor should) be warranted, so there needs to be another way to handle this so that themes like TwentyEleven who only call `settings_errors` at the top of their options page don't get unknowingly hijacked by other sources.

I always suggest registering your own errors at the end of the sanitization callback for your setting, and then output those specific errors within settings_errors to avoid any internal conflicts like this.

Just looking for some ways to approach this. :-) 


",griffinjt
10422,Answering to comment from Dashboard does not update Dashboard statistics,,Administration,2.8.1,normal,normal,Future Release,defect (bug),new,has-patch,2009-07-16T05:18:48Z,2012-09-17T19:50:52Z,"Hi there,

there is a short statistics ""Right now/At a Glance"" box in Dashboard, containing number of posts, pages, comments etc.

There is also a box with list of most recent comments in the Dashboard.

If a user answers to a comment in this ""Recent comments"" box in Dashboard, which uses AJAX, so it does not reload the whole page, it creates a new comment, but the number of comments in the ""Right now"" box is not updated.

I know this is not a critical bug, but it would be really nice if it works.

Take care, Honza

P.S.: As there is no ""Dashboard"" component in the Trac, I did not know whether to assign it to Administration or Comments component. I put it into Administration, if you think it better suits to Comments or any other component, please feel free to change it.",honza.skypala
18530,Browser update dismiss setting ignored with JavaScript disabled,,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-08-27T15:41:24Z,2013-01-22T01:14:57Z,"When working on a corporate desktop you can not update your browser. When freely deciding about when to upgrade you might not even want to upgrade.

Therefore a user setting has been introduced to remove the nag warning. E.g. my linux distro is perfectly ok with it's firefox and it's taken care of by the pacakager. For my OS, I have the latest version.

I needed to press dismiss (with JS enabled, the related report is #17766).

What has been missed is to not display that nag if javascript is disabled. The setting gets ignored.

How to Reproducde

  * Setup a WP 3.2.1 Blog.
  * Log into admin with a Firefox 3 browser.
  * Enable Javascript.
  * Dismiss the Nag.
  * Logout and close the Browser.
  * Restart the Browser.
  * Disable Javascript (if you need to).
  * Log into Dashboard.

Result: Browser Update Nag is displayed.

Expected Result: Browser Update Nag is not displayed as specified by the user.",hakre
16946,Bug between CPT menu_position and add_object_page(),,Administration,3.1,normal,normal,Future Release,defect (bug),reviewing,,2011-03-23T10:11:12Z,2012-07-20T13:49:29Z,I write a demo plugin for describe the bug. See attachment.,momo360modena
17861,Bug on WordPress Credits page,nacin,Administration,3.2,normal,normal,WordPress.org,defect (bug),reopened,,2011-06-21T15:56:56Z,2012-11-28T00:15:31Z,"Hi,

There are a couple of bugs on WordPress Credits page.

1.- There is a problem with usernames with dot, for example my username ""j.conti""

I'm on translators list, my name and avatar are correct but the link to my profile is wrong. Now, the link is http://profiles.wordpress.org/users/jconti but my profile is http://profiles.wordpress.org/users/j.conti the bug is deleting the dot.

2.- There is a problem with my name, my name is ""José Conti"" but is showing ""JosÃ© Conti""

attached pic

Thank you",j.conti
10762,Bulk editing creates invalid URIs,,Administration,2.8.4,normal,normal,Future Release,defect (bug),assigned,,2009-09-09T16:53:30Z,2013-05-12T10:27:16Z,They simply get too long for example if you move 999 posts to trash. It might be helpfull to switch to the post form method.,hakre
15761,Bulk editing on posts without Javascript enabled results in the post being set to draft,garyc40,Administration,2.9,normal,normal,Future Release,defect (bug),assigned,needs-refresh,2010-12-10T09:03:35Z,2011-06-09T19:49:56Z,"Currently, Bulk editing is available without JavaScript being enabled.

The result of attempting to edit a post, is a redirect back to the posts page with the post being marked as a draft. No UI is offered for bulk editing.

This behaviour exists in trunk, 3.0, and 2.9 from my testing (havn't tested earlier versions).

The Bulk editing screen appears to work without Javascript for modification submittal, so it's possible that a non-js version would be possible.",dd32
16793,Bulk inline post edit doesn't show categories or tags if the CPT doesn't support titles,,Administration,,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-03-07T23:24:56Z,2011-05-22T17:04:59Z,"1. Register a CPT that doesn't support titles:

{{{
add_action( 'init', function() {
	register_post_type( 'foo', array(
		'show_ui' => true,
		'label' => 'Foo',
		'supports' => array( 'editor' ),
		'taxonomies' => array( 'category', 'post_tag' )
	) );
} );
}}}

2. Create a 'foo' post.

3. Go to wp-admin/edit.php?post_type=foo and choose the 'Edit' bulk action.

Expected behaviour: shows the category checkbox list and the tag textarea.

Actual behaviour: only the status dropdown is shown.
",scribu
23904,CSS glitch when the browser window width isn't right,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-29T21:20:47Z,2013-03-29T22:29:53Z,"The post editor's layout now switches when the width of the window is narrow enough. But there's an intermediary zone, at least on Webkit/Safari where it's too narrow for the conditional CSS to kick in, yet too wide for the browser to deal with it. I presume, based on what I was working on a few minutes ago, that it's related to paddings.

Screenshot attached.",Denis-de-Bernardy
16567,Can't create categories with different names but similar slugs on Edit Post screen,,Administration,3.0.5,normal,normal,3.6,defect (bug),new,needs-unit-tests,2011-02-15T18:29:10Z,2013-01-09T23:38:54Z,"We run a blog that deals with programming languages. Today we were creating a post concerning the C programming language and attempted to create a new category for it, called ""C"" (just one character). This angered WordPress; it appeared to create a superfluous ""Uncategorized"" category, but it wound up not actually creating any categories for the post.

I've attached a screenie so you can see what this looks like after I attempt to create the category.

If it's for some reason forbidden to create categories comprised of a single character, maybe a validation error message of some kind would be in order?",jeffreymcmanus
22022,Can’t properly add pages of type edit.php?post_type=xxx as submenu items to arbitrary parent menus,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-27T20:22:43Z,2013-01-11T11:22:48Z,"The following code illustrates the problem.
{{{
add_menu_page('My Pages', 'My Pages', 'edit_posts', 'parentslug', array(class, func));
add_submenu_page('parentslug', 'Settings', 'Settings', 'edit_posts', 'mysettings', array(class, func));
add_submenu_page('parentslug', 'Custom Post Type', 'Custom Post Type', 'edit_posts', 'edit.php?post_type=xxx'); 
}}}
When you click on the first submenu item, the menu stays open, displaying the submenu items as it should. When you click on the item for the custom post type, the parent menu is closed and submenu pages are not displayed.

The root of the problem is how $parent_page is handled for pages of type edit.php?post_type=xxx. In get_admin_page_parent(), $parent_file is always set to $submenu[$parent], which may cause the submenu slug to be different from $parent_file. But in _wp_menu_output, if the submenu slug and parent slug are not equal, the 'wp-has-current-submenu wp-menu-open' classes do not get added which means the menu gets displayed as being closed.

Since there are no actions called between get_admin_parent_page() and the output of the menu, the only workaround I can see is some ugly JS that fixes up the classes.

It seems like the least intrusive fix would be to just move the call to apply_filters(""parent_file) in menu-header.php to after the call to get_admin_page_parent() so that $parent_file can truly be overridden. This also seems inline with the intent of the filter.
",jjharr
17209,Category list table breaks when custom post type label is too long,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-21T21:14:11Z,2012-11-01T06:22:13Z,"Registered a post type which has a longer label than ""posts"" (called ""resources""). List table listing the categories for that post type breaks slightly when a name is over a certain length. Picture attached.

Offending CSS is setting a 10% width to that column.

I can provide a patch. Though since the number of posts is centered, the heading is left aligned. If that column is widened, should the title be centered as well (since left-aligned may look weird at one point)?",andrewryno
17413,Code added by WP_List_Table::_js_vars is duplicated,sorich87,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-05-13T09:45:49Z,2011-10-27T17:58:16Z,"When a list table is 'ajax enabled' (e.g. comments list table on edit-comments.php), javascript code is added by WP_List_Table::_js_vars to the footer. If you look at the source code in your browser, you will see that code is duplicated.",sorich87
23817,Collapse menu button not working if browser size is 911px width,,Administration,,normal,normal,3.6,defect (bug),new,has-patch,2013-03-19T14:18:37Z,2013-03-29T17:53:22Z,"After I added a metabox to the edit page of the post, from here:

http://codex.wordpress.org/Function_Reference/add_meta_box

the collapse but does not work if the browser size is 911px, need to refresh the page after resize to see the bug.

My browser is Firefox (latest), Windows 7


I use this for browser size check - http://whatsmy.browsersize.com/",alexvorn2
20595,Collapsible Admin menu fails if items are added by code,,Administration,3.3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-05-01T23:27:42Z,2012-05-02T07:48:13Z,"If I add a Button to the admin meny by '''action adminmenu''' the menu wont rebuid from collapsed state due z-index issues. In my opinion creating the menue might be changed to the following: 


{{{

diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php
index cdd81b2..8454a3d 100644
--- a/wp-admin/menu-header.php
+++ b/wp-admin/menu-header.php
@@ -164,10 +164,6 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                }
                echo ""</li>"";
        }
-
-       echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
-       echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
-       echo '</li>';
 }

 ?>
@@ -181,6 +177,9 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {

 _wp_menu_output( $menu, $submenu );
 do_action( 'adminmenu' );
+echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
+echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
+echo '</li>';

 ?>
 </ul>
}}}

see also: http://wordpress.org/support/topic/admin-menu-wont-dis-collapse-anymore",digitaldonkey
18402,Confused page ordering if filter drops parent pages,nacin,Administration,3.2.1,normal,normal,3.6,defect (bug),reviewing,dev-feedback,2011-08-14T15:34:07Z,2013-05-05T05:01:40Z,"= Problem =
In Wordpress's page management section, the page ordering is confused if a page filter drops a page parent.

Originally, I experienced this with the User Access Manager Plugin:
http://wordpress.org/extend/plugins/user-access-manager/
This plugin only shows allowed pages to the user.


= Example =
{{{
Page A
- Page A1
-- Page A1.1
-- Page A1.2
}}}

By dropping page A, the ordering becomes for example:

{{{
-- Page A1.1: Parent Page is Page A1
-- Page A1.2: Parent Page is Page A1
- Page A1: Parent Page is A
}}}

But should become:

{{{
Page A1: Parent Page is A
-- Page A1.1
-- Page A1.2
}}}

= Solution =
The confusion results from the function `_display_rows_hierarchical`
in `wp-admin/includes/class-wp-posts-list-table.php` which only adds pages to $top_level_pages whose parent is 0 – the wrong assumption here.

By adding pages to $top_level_pages whose parent is either 0 or doesn't exist in $pages we get a usable order:
So I added to the above-mentioned file:

{{{
#!php
function is_parent_in_pages( $parent, $pages ) {    
    foreach ( $pages as $page ) {
        if ( $page->ID == $parent ) return true;
    }
    return false;
}  
}}}

and changed `_display_rows_hierarchical`
from

{{{
#!php
if ( 0 == $page->post_parent )
    $top_level_pages[] = $page;
else 
    $children_pages[ $page->post_parent ][] = $page;
}}}

to

{{{
#!php
if ( 0 == $page->post_parent || !$this->is_parent_in_pages( $page->post_parent, $pages ))
    $top_level_pages[] = $page;
else
    $children_pages[ $page->post_parent ][] = $page;
}}}


And finally - in order to remove the leading dash of $top_level_pages - I removed
the $level++ in function `single_row` (same file) below ""`case 'title':`""


Small change, better user experience :)





",erdnah
15784,Contributors can't easily view others' posts in a certain term,,Administration,3.0,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-12-12T11:38:39Z,2012-02-10T15:01:16Z,"As a contributor, the default tab is 'Me', not 'All'. But you can go to 'All' and see a list of all posts.

At that time, you can also search for posts, and filter by category, date, etc. Those all work fine. You can also filter by category or tag by clicking a term in those columns, but this doesn't work -- all_posts=1 gets removed, and you end up seeing the 'Me' tab again.

You can manually append all_posts=1, but there's no way to actually filter by term viewing all posts via the UI.

Interestingly, the author query var works. That'd be bad if it didn't. But it doesn't append all_posts=1, so it's done internally.",nacin
18048,Ctrl+S draft save causes prompt on exit,,Administration,,normal,normal,Awaiting Review,defect (bug),new,close,2011-07-09T12:25:25Z,2011-11-15T03:45:49Z,"When you use the ""save draft"" button and leave the edit page, the ""unsaved changes"" prompt doesn't show up. However, when you save using Ctrl+S and leave - the prompt appears.",jakub.tyrcha
16475,Displaying submenus in custom taxonomy of active parent,,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-07T02:26:20Z,2011-07-22T09:27:13Z,"In a hierarchical taxonomy, if a top level item in the hierarchy is selected when editing a post, after save that item's orphaned children and grandchildren will also show as top level items. It flattens the hierarchy.",nick4fake
22600,Editor sizing JS puts the resize handle in the wrong place,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-27T03:58:09Z,2012-12-14T23:51:29Z,"If you do the following, say to deal with the post content editor in a different way, the resize handle ends up in the wrong place because there is no status bar:

{{{
wp_editor( $post->post_content, 'content', array( 'tinymce' => false ) );
}}}

The JS that deals with the editor size/height should probably be checking for the status bar before moving the resize handle. Discovered while working on #22491.",helen
17916,Enqueued styles are only printed on login_footer in wp-login.php,,Administration,3.2,normal,normal,Future Release,defect (bug),reopened,,2011-06-28T00:29:48Z,2012-11-05T19:19:34Z,"In my plugin I have this include:
wp_register_style(""cimy_uef_register"", $cuef_css_webpath.""/cimy_uef_register.css"", false, false);

now independently where and when I use the above css, even if I never enqueue or print it... it basically forces the admin panel to be always left instead of the right.

In particular it changes the admin panel menu #adminmenu to stick to the left, also other little things.
The question is:
why this happens even if the CSS is not included at all? Browsing the documentation quickly on that function I didn't find anything useful, please help me.",Cimmo
15659,Entity escaping needed for comments list table,,Administration,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-03T07:05:52Z,2011-02-14T06:32:02Z,"Perhaps only as a result of the fact that the URL will be truncated for display, it is possible that URLs will have entities in URLs such as &amp; truncated, thereby creating a non-well-formed entity for application/xhtml+xml . The following patch fixes it (quotation escaping is not needed since this is element content).

This is an easy fix which I hope can be applied given that its lack breaks reviewing the important comments editing page. Thanks.",brettz95
23155,Fire update_blog_public action from update_blog_status(),ryan,Administration,3.5,normal,normal,3.6,defect (bug),reopened,,2013-01-09T16:43:00Z,2013-05-01T13:12:46Z,The update_blog_public action is fired from update_blog_public() but not from update_blog_status(). Since update_blog_public() calls update_blog_status() the action should move down the stack and reside along the other actions fired by update_blog_status().,ryan
24364,"Fix  autocomplete=""off"" in Chrome",azaozz,Administration,,normal,normal,3.6,defect (bug),reopened,,2013-05-18T22:45:28Z,2013-05-23T00:35:59Z,"Seems latest Chrome doesn't respect autocomplete=""off"" on <input type=""password"" /> fields. This is a problem in forms where the user has to choose a password like the Profile and Edit User screens. 

When the user wants to change a setting on the Profile screen, the first password field is auto-filled. That results in error on submitting the form: ""ERROR: You entered your new password only once..."".",azaozz
21947,Fix 3-column dashboard display,,Administration,3.4,low,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-20T20:06:46Z,2013-04-14T06:02:52Z,"Issue #20015 'enhanced' the dashboard with a pure-CSS based multi-column dashboard. Excellent.

The CSS used makes gross assumptions about how many columns are appropriate for different-sized displays. Double plus ungood.
Users should be left to decide how many columns they wish to use.

There was [http://wordpress.org/support/topic/three-column-dashboard/ considerable discussion] of this when 3.4 was released, but no remedy yet, other than to hack away at the CSS of one's install, precluding upgrades; I've changed {{{@media only screen and (min-width:800px) and (max-width:1200px){}}} to {{{@media only screen and (min-width:800px) and (max-width900px){}}} in wp-admin.css to get a usable interface.",belg4mit
24084,Fix possible PHP notices after a user is deleted,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-14T22:24:48Z,2013-04-15T23:09:34Z,"`get_comment_author()` doesn't check if a user that has commented still exists and may throw a notice. Also can return the user_login where a user name is expected.

Same in `edit-form-advanced.php` in the code block that outputs ""Last edited by ..."" under the editor.",azaozz
24131,Fix post previews for multisite with domain mapping,,Administration,,normal,normal,3.6,defect (bug),new,,2013-04-18T22:51:54Z,2013-04-24T02:45:56Z,"Currently when previewing latest changes we create a nonce in the admin, then redirect to the front-end and check that nonce on 'init' before showing the preview. This fails sometimes on multisite with domain mapping as they may use JS redirects to log the user in on the front-end.",azaozz
18264,Future private posts listed as already published with future date specified,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T00:05:27Z,2013-02-04T09:27:17Z,"Setting a post to private, and scheduling it for some future date or time, results in the stamp that the post was ""Published on (future date)"" in the publish module.

The discussion on tickets #5608 and #9136 suggests that all private posts are published immediately (and privately), and that this is intentional. So, it's misleading and confusing to report that it already was published on some future date.

In source:trunk/wp-admin/includes/meta-boxes.php#L163, I suggest we replace:

{{{
else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
		$stamp = __('Published on: <b>%1$s</b>'); }
}}}

with:

{{{
else if ( 'publish' == $post->post_status ) { // already publicly published
		$stamp = __('Published on: <b>%1$s</b>');
	} else if (  'private' == $post->post_status ) { // published privately
		$stamp = __('Published privately'); }
}}}",chrisrudzki
17607,Google blog search API shutdown,westi,Administration,3.2,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-05-29T11:21:19Z,2012-10-11T23:13:54Z,"I have done a search and can't see that this has already been reported.

On the wordpresss dashboard the 'incoming link search' uses google blog search API. Google has announced that this api is being shutdown as of effect 26 May 2011 (http://code.google.com/apis/blogsearch/). It will continue to work but with limited functionality (due to their deprecation policy). I therefore suggest that this be removed or use a different API.",jcnetsys
20848,Header images are cropped and resized with improper permissions.,,Administration,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-05T17:41:45Z,2012-06-05T17:41:45Z,"On some systems the cropped and resized header images become unreadable by the web server.  

The attached patch makes the files inherit the permissions from the parent folder.


",gtenney99
19206,Improve internal admin menu code,,Administration,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2011-11-08T17:53:44Z,2011-11-09T16:27:02Z,"The internal admin menu code is both hard to read and filled with several unnecessary branches. This makes maintaining the code quite difficult.

A few uses of list and smarter branching can considerably improve _wp_menu_output. Patch attached. Let's revisit this when we branch for 3.4.",koopersmith
22214,Inconsistency in the show_ui parameter for register_post_type,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-17T20:58:42Z,2012-10-18T00:58:36Z,"There is an inconsistency with the `show_ui` argument to `register_post_type`. When set to false, the post type listing page is open, while the 'Add new' page is not accessible.",nofearinc
16972,Input type radio losts its checked focus when metabox is dragged,azaozz,Administration,3.0,normal,normal,Future Release,defect (bug),reviewing,has-patch,2011-03-26T14:16:05Z,2012-11-07T21:31:46Z,"This happens when I use a radio button in a metabox. Once I try to drag it to different position or just drag and let it go the checked focus is lost. (in code it of course still remain checked, but visually not)

Bug not happens with other fields I tested (checkboxes, inputs, textareas)",depi
18101,Last theme reported in Feature Search is Duplicated as first theme in page 2,,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-13T13:59:36Z,2011-07-14T11:53:46Z,"Search for themes using the features filtering mode. The last theme theme of the first page (if you search for custom background feature the theme is Nona) will be duplicated as the first theme in page 2. Page count in the navigation is correct, and you will get one more theme in the end (e.g. with 121 themes, last page will have two themes instead of just one).",lorthirk
18449,List Table Factory Needs to be Pluggable,,Administration,3.1,normal,normal,Future Release,defect (bug),new,,2011-08-16T19:51:33Z,2012-03-31T08:34:37Z,"Better design planning should have been considered for http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/list-table.php

function _get_list_table() is identical to an object factory pattern, which would make more sense as a static member of WP_List_Table.  In other words...

{{{
$wp_list_table = _get_list_table('WP_Terms_List_Table');
}}}

... which looks simple, is actually confusing because it would be more intuitive if written as ...

{{{
$wp_list_table = WP_List_Table::factory('Terms');
}}}

Further, the factory hasn't offered any extensibility.  Locking edit-tags.php against WP_Terms_List_Table makes it unusable for custom taxonomies that need a custom UI.  Despite all of the great API improvements for taxonomies, this case still necessitates duplicating the entire category editing UI within a plugin just to tweak a table column or a link path.

Please adjust the ticket Type and Component as necessary.  It could be a taxonomy design flaw or an administration enhancement, depending how you look at it.",miqrogroove
14949,Login gives false assurance of having logged out,filosofo,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-23T10:39:34Z,2012-09-20T22:02:19Z,"If you visit `wp-login.php?loggedout=true` while logged in, WordPress falsely tells you that ""You are now logged out.""

This is a problem because it could lead you to think, e.g., that a public computer is no longer authenticated with access to your WP admin.

Patch redirects a still-authenticated user back to the admin from the login page if she requests the above page without actually having logged out.",filosofo
13655,Login/Install/User Edit should stripslashes() $_POST data,,Administration,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-31T11:33:17Z,2010-11-13T08:05:36Z,"Following on from #13654 All Login/Registration/Install/User Edit functionality should stripslash $_POST data.

At present, it seems that we do not stripslash at all.

For existing user passwords, we should migrate passwords to their non-stripslashed versions:

 [5/31/10 6:34:11 AM] Mark Jaquith: We could migrate people.[[BR]]

 [5/31/10 6:34:13 AM] Dion (dd32): Perhaps oughta just add proper stripslashing in 3.1, and add back-compat to change password from non-stripslashed to stripslashed.. similar to the md5->phpass implementation..[[BR]]

 [5/31/10 6:35:13 AM] Mark Jaquith: Yep. If the PW doesn't match, addslashes() and compare again. If that matches, set the new PW hash. Right?[[BR]]

 [5/31/10 6:35:19 AM] Dion (dd32): yep

",dd32
17675,Masked Domain Issue Introduced with New Update,,Administration,3.1.3,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-06-03T18:09:03Z,2011-06-03T19:59:41Z,"Hi,

I'm experiencing an issue accessing my wp-admin login page, only when using a masked domain.

My root setup is configured as so:
http://rootdomain.com/othersite/wordpress/

The domain I'm using to access it is located here:
http://redirect.com

When I use the root domain to access the login page directly, there's no problem.  But, when I go to http://redirect.com/wp-admin, or click on any login links while at the redirect.com site, the page doesn't load.  The title bar will load, but nothing else.

This is a new issue introduced with the 3.1.3 update.  The masked domain was working prior to 3.1.3.

I've tried this both on Safari & Firefox (latest versions), using Mac OS X.",ital_dj
20453,Media screen links to non-public post types,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-04-16T02:31:56Z,2012-04-16T03:23:46Z,"I have a non-public custom post type registered, so it doesn't get an admin UI.

A file in the media library is attached to one of my custom posts (done at the point the file is uploaded using `media_handle_upload()`). The media item shows up in the Media Library as expected, but the 'Attached To' column links to the editing screen for the parent post, even though the post is non-public.

This allows a user to see the post editing screen for a non-public post type.",johnbillion
21795,Menu collapse option not saved correctly,,Administration,3.5,normal,normal,3.6,defect (bug),reopened,reporter-feedback,2012-09-04T23:39:17Z,2013-04-08T01:00:54Z,"The menu collapse option is not saving correctly when at a resolution > 900px. When collapsing and them re-expanding the menu, the menu auto collapses on each new page load. It's caused by the script deleting the folded setting but not actually setting the unfolded setting as far as I can tell.

The attached patch works for me.",griffinjt
21015,Months dropdown should not show if only posts are 'auto-draft' status,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-18T19:16:54Z,2012-09-28T14:42:09Z,"The months dropdown at the top of edit.php should only show if there are actually posts in the list.

Right now, if you click 'Add new' an auto draft post will be saved. Leave the post edit screen without saving the post (so no draft will be created) and go back to the edit.php screen. There is no post in the list, but the month drop down will be shown because the auto draft is counted.",CoenJacobs
21770,Multiple New Feature Pop-ups mess UI,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-02T11:09:51Z,2013-01-22T03:06:39Z,"WordPress admin and plugins [[Image(http://dl.dropbox.com/u/184353/wordpress-admin-pop-ups.png)]] New Feature Pop-up messages appear on the admin simultaneously, blocking each other messages and functionality. The UI gets seriously messed up.

User attention focuses on how to get rid the overlaping pop-ups rather than reading the messages and understand and start using the new features.",titanas
16696,"No synchronisation between ""most used"" and ""all categories"" in link edit",,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-28T07:14:37Z,2011-03-04T14:02:26Z,"There are issues with the ""all categories"" and ""most used"" tabs when editing links:

- Go to edit a link

- Click on ""Most used"" in the category section. All the listed categories are unchecked - including the ones that are checked in the ""All Categories"" tab. There is no sync between the two.

- Now check a category in the ""most used"" tab. Go to the ""all categories"" tab and you will find that the same category is now checked (as expected). Now uncheck it from the ""all categories"" tab. Go to ""most used"" and it is still checked there. The sync only works one way ( ""most used"" -> ""all categories"" ).

The first issue is because `wp_popular_terms_checklist()` assumes that you're using it in the context of a particular post, and sets checkedness based on whether the `$post` global has that term. If the `$post` global is empty (as when editing links), nothing is checked. I don't think we should be using `wp_popular_terms_checklist()` as it's context is for individual posts.

The second issue is because the IDs on the most used elements are wrong compared to what the Javascript is looking for.

Patch to follow. 

",solarissmoke
22509,No-JS fallback for default color in color picker,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-19T19:42:19Z,2012-12-19T20:48:22Z,"The no-JS fallback for the color picker is just a plain input. Since the color picker implementation now includes the ability to reset to a specified default, it seems to make sense to include a no-JS fallback for the default, even just as a little bit of hidden descriptive text.

See #22461 for discussion stemming from the custom header screen.",helen
16683,"Nonce failure error message causes a warning, and also ugly error.",,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-27T04:05:15Z,2011-02-27T07:25:36Z,"{{{
( ! ) Notice: Undefined offset: 4 in C:\www\wordpress-commit\wp-includes\functions.php on line 2624
Call Stack
#	Time	Memory	Function	Location
1	0.1991	455408	{main}( )	..\options-permalink.php:0
2	15.8632	23506944	check_admin_referer( )	..\options-permalink.php:69
3	15.8637	23507168	wp_nonce_ays( )	..\pluggable.php:839
4	15.8638	23507240	wp_explain_nonce( )	..\functions.php:2657


Your attempt to change your permalink structure to: has failed.
}}}

I left the permalink page open for a few hours, and just went to update it. Upon clicking update, I was given the above error (see attached jpeg). It feels pretty clunky and average to have a simple text like that.

The warning looks to be caused by the nonce error not being set possibly..",dd32
16162,Pagination and sorting reset after bulk media deletion,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,,2011-01-09T11:43:33Z,2011-10-27T06:23:48Z,"When doing Bulk Deletes on paginated Media Library, after performing the delete, I'm back on page 1 regardless on which page I've been before.",hakre
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
14188,Quick Edit Parentage,filosofo,Administration,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-03T19:55:37Z,2012-10-19T22:06:25Z,"If you change a page's page via quick edit, the page item stays below its current parent.

It seems to me that it ought to move underneath the new parent or disappear if that parent is not on the current page.",filosofo
15981,Quick edit (and other actions) need to cancel AJAX actions,garyc40,Administration,3.1,low,normal,Future Release,defect (bug),assigned,has-patch,2010-12-26T05:17:36Z,2010-12-26T21:03:24Z,"Right after you click to paginate, sort or try to search something, you may be inclined to click another link on the page. This happens often when I'm browsing, and on a server with a relatively slow AJAX round trip, it can happen quite commonly.

Problem: If you open Quick Edit, then the ajax results should noop. There might be other actions, but this one in particular does not lead to another page (which obviously would kill the ajax).

The reverse is also an issue. You can search, paginate, or sort when Quick Edit is open, and you lose your edit. This might be bad when quick editing a comment, as you could be losing actual content. Searching and paginating might be explicit actions, but it's not difficult to accidentally click a th and trigger a sort, especially if the first row's quick edit (or bulk edit) is open.

I'm not sure what to do here, other than a JS popup for any time a Quick/Bulk Edit is open, asking you if you want to lose your changes.

So again, two things:

 - Kill the AJAX action if Quick Edit is opened. I would consider this lower priority.

 - 'Lose your changes' confirmation for quick edit and bulk edit before an AJAX action. (We can probably fire the AJAX action and trigger the alert simultaneously, but delay processing the results until the confirm() is true.)",nacin
6342,"Rapidly spamming/deleting comments can break ""infinite river"" feature on comment moderation pages",mdawaffe,Administration,2.5,normal,normal,Future Release,defect (bug),new,,2008-03-21T22:05:16Z,2011-12-14T13:18:06Z,"Comment moderation pages have an ""infinite river"" feature whereby when you remove one comment (spam/delete), it'll load a new one at the bottom.  Unfortunately, it doesn't seem to catch up if you click more rapidly than about once every 2 or 3 seconds, and you'll ""lose"" comments.  At the end, you may just have one comment that, when dealt with, will be replaced by only one comment.  This may have to do with doubleclicking the ""spam"" link, or maybe clicking the ""spam"" link of the next comment before the river action has finished.",markjaquith
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
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
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
21421,Sanitize/remove admin page slug  from admin menu CSS classes,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-30T11:26:15Z,2013-03-02T21:00:41Z,"As I discovered when testing #21307, browsers won't parse a CSS class name with both underscores and hyphens. Instead, they handle it ''really'' badly.

For example: `.toplevel_page_link-manager` will affect `body` in both Firefox and Chrome.

Plugin page menu items have both an ID and class generated as such, which seems rather redundant. I propose either dropping the redundant and only partly functional CSS class or standardising the menu slug to produce a valid class name.",kawauso
22003,Saving custom fields goes to post-new.php rather than post.php,,Administration,2.5,normal,normal,Awaiting Review,defect (bug),reopened,,2012-09-26T15:57:01Z,2012-09-26T19:19:54Z,"Create a new post or page.
Add a title and message.
Add a custom field (click ""Add Custom Field"")

The post is saved, but as you are taken to post-new.php rather than post.php, it looks as if your post has disappeared! All is well - it is actually saved - but it's confusing.

Tested on 3.5-alpha-21989",curiousdannii
17636,Search subtitles are handled inconsistently across admin,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T12:15:48Z,2011-07-09T11:44:29Z,"Try the following strings in the Comments admin screen and any other:

`\'""\fs""\\\""` 

`imareallylongstringlookatmegoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgo`

The Comments screen uses `strip_slashes()` and `wp_html_excerpt()` to limit search strings to 50 characters, while other screens do not.",kawauso
16345,Some submit buttons shouldn't have names,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-01-22T18:24:30Z,2011-02-13T14:38:59Z,"Technically a regression due to the submit_button implementation. What happens instead is the URL gets polluted.

Noticed especially after we moved back to GET on a bunch of screens.

In these cases, we just need the form to be sent. Don't need the context info.",nacin
15993,Sort arrows improperly wrap on narrow columns,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,,2010-12-27T06:14:21Z,2012-11-01T06:22:32Z,"Specifically, I noticed the 'Posts' column on a taxonomy screen (or 'Links' for link categories, etc).",nacin
15861,Sorting users by post count,,Administration,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-17T10:21:24Z,2012-01-18T22:48:06Z,"Currently, to enable sorting by post count, there's a JOIN made between the users table and the posts table.

This is bad, because users is a global table, which might be stored in a separate database.

Short-term solution for 3.1 is to disable sorting.

Long-term solution is to avoid the JOIN somehow. ",scribu
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
17036,Theme editor shouldn't override root directory files with same names in child directories,,Administration,3.1,normal,normal,Future Release,defect (bug),new,,2011-04-03T19:11:33Z,2012-06-27T10:23:07Z,"'''Steps to reproduce:'''
1. Create subdirectory: blogs
1. Create file in subdirectory: index.php
1. Try selecting Main Index Template in Theme Editor

Example is taken from BuddyPress' theme structure. `get_file_description()` doesn't account in any way for the presence of subdirectories since it uses `basename()`.",kawauso
17635,Themes page should have search subtitle,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-06-01T12:15:05Z,2011-06-01T14:26:16Z,"Most admin pages display the term that the user has searched for when displaying search results, but the Themes page (under site admin) doesn't.

[16525] seems to have excluded it in the AJAXified list tables, but gives no reasoning.",kawauso
22839,Toggle spinners by adding/removing a class instead of show()/hide(),,Administration,3.4.2,normal,normal,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
22195,URL for views are defined statically.,,Administration,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-10-15T11:31:11Z,2013-05-08T10:44:27Z,"URLs for views/screens on wp-admin/edit.php are defined statically.
[[BR]][[BR]]
why we are not using add_query_arg(); or remove_query_arg(); while adding URL? This is causing serious issues like resetting extra parameters passed to view/screens.
[[BR]][[BR]]
need expert opinion on this i can write patch if required.
[[BR]][[BR]]

{{{
WP_Posts_List_Table->get_views();
}}}



",valllabh
16858,Usage of HTTP_HOST in the administration,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2011-03-15T13:33:47Z,2012-08-09T18:46:29Z,"In some files like wp-admin/includes/class-wp-list-table.php (there are more files I think), some links are created by using the HTTP_HOST variable.

It's better to use the defined wordpress URL to create those links.

In our case, we have a wordpress running behind a Squid cache. When you check for HTTP_HOST you get the *real* HOST and not the one with the Squid server.

To bypass the problem, I added in the main config.php a line like this :

{{{
$_SERVER['HTTP_HOST'] = 'www.my-visible-http-host.com';
}}}

Without this setting and in our case, some links in the admin (next, previous page, re-ordering...) where pointing to the wrong server.
",amirhabibi
23886,Use set_url_scheme for draft Preview links in post table,,Administration,trunk,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-29T01:20:52Z,2013-03-29T01:23:03Z,"When using FORCE_SSL_ADMIN and this filter to prevent non-SSL preview of posts:

{{{
add_filter('secure_logged_in_cookie', '__return_true');
}}}

Preview links for unpublished drafts on `wp-admin/edit.php` do not use SSL and will 404.

This can be fixed by using `set_url_scheme` for the unpublished preview link. A similar unpublished preview link in `meta-boxes.php` was changed to use `set_url_scheme` in [21664]. For context, see #20759, #13328.",reidburke
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
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
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
19068,"admin comment search never resets URL, grows infinitely",,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-27T15:23:48Z,2011-10-28T11:53:53Z,"When searching from {{{ /wp-admin/edit-comments.php }}}
the URL will grow infinitely and never reset to it's base.

To reproduce this bug, simply search comments several times and then examine the resulting URL )by copying it to an editor). It will be over 1000 characters easily, because it's simply appending the previous searches and previous nonces for no useful reason.

Instead the form should just use {{{ /wp-admin/edit-comments.php }}} as it's submit base.

But that form should not be using GET in the first place.

Allowing overly long URLs is also a security problem as it can give a window for XSS attacks.

I wouldn't be surprised if this design flaw exists in other parts of WP admin but I'll leave that up to someone else who has more patience.

",_ck_
24328,blogname and blogdescription strip content between angle brackets,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-05-13T09:12:06Z,2013-05-15T13:18:35Z,"I was trying to set my Site Title to '''<?= test ?>'''. On saving the settings, the field returned empty. The same problem occurred with the Tagline.

After looking into `wp-admin/options.php`, I noticed that there was no provision made for escaping the fields.",aniketpant
22236,edit.php: Apply when Bulk Actions selected forgets tag= filter,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-20T22:54:28Z,2013-05-04T04:29:47Z,"Using WordPress 3.4.2, go to Posts, and click on one of the tags on one of your posts. The URL now contains tag=<tag>, and the screen shows the first 20 posts with that tag.

Now click the Apply button just next to the ""Bulk Actions"" drop-down at the top left.

I expect this to reload the page but otherwise have no effect.

Instead, it reloads the page without the tag=<tag> URL parameter, and shows the first 20 posts (irrespective of tag).

This is surprising and confusing - it's easy to accidentally hit ""Apply"" without having chosen an action, but at first glance it looks like nothing has happened. The user can then go on to do a bulk action (e.g., add category) without realising the tag they previously had selected is now no longer selected.

Note that filters (e.g., by category) that are set up using the Filter button *are* preserved when Bulk Actions / Apply is chosen - it's just tags that are lost.",kw217
22669,iPad: Can't Scroll Plugins Modal,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-01T02:31:23Z,2012-12-02T01:43:48Z,"Steps to reproduce:
1. Tap Plugins
1. Tap Add New
1. Tap Featured
1. On any item, tap Details.
1. Tap Changelog
1. Swipe to scroll

Expected result:

See more Changelog.

Actual result:

The page is scrolling around behind the modal.  Modal not scrolling.

Related: #22064",miqrogroove
11311,"kses converts ampersands to &amp; in post titles, post content, and more",,Administration,2.9,normal,normal,Future Release,defect (bug),new,,2009-12-03T01:49:32Z,2013-05-17T10:03:16Z,"Make a test user that has the ""author"" role (i.e. no `unfiltered_html`) and write a post with a title that has `&` in it. After saving, it will becomes `&amp;` due to `wp_filter_kses()`. It gets saved in the database this way too.

It's confusing to the user.",Viper007Bond
13416,media for install.css missing (patch),,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-05-16T18:48:17Z,2013-01-22T07:40:13Z,In /core-root/wp-includes/general_template.php the function wp_admin_css is missing the @media definition. See patch.,F J Kaiser
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
17249,thickbox modal window dimensions are fixed in wp-admin,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-27T05:01:38Z,2012-01-19T00:03:35Z,"Hello,

When invoking a thickbox modal in wordpress wp-admin, the dimensions of the modal window can't be customized. Because of media-upload.js is replacing the tb_position() function.

This is not needed that way, and media upload modal window size can be set when calling it.

The workaround is rather complicated, please read: http://binarybonsai.com/2010/02/27/using-thickbox-in-the-wordpress-admin/ down to ""The Media Manager Horror""",DreadLox
21989,update_option() calls sanitize_option() twice when option does not exist,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-25T05:04:34Z,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
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
24334,"""edit_form_after_title"" and ""edit_form_after_editor"" hooks wrapper optional?",,Administration,trunk,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-05-14T10:51:21Z,2013-05-14T18:38:39Z,"Would it be possible to make the `DIV.edit-form-section` wrapper applied around `edit_form_after_title` and `edit_form_after_editor` hooks in post/page edit screen optional in WP3.6? Or create additional non-wrapped hooks besides?

[http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L462]
[http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L502]

These wrappers were actually introduced in WP3.6, the WP3.5 version was without them. 

'''Explanation of what I do:'''
* `edit_form_after_title` hook - I output UL list of tabbed interface here and open the first tab content DIV
* `edit_form_after_editor` hook - I close the first tab content DIV and output the other tab content DIVs

The first content DIV is always a visual editor. But as you can see, when I open the DIV in one hook and closing it in another one, this was working fine in WP3.5 as no wrapper was added to those hooks. Once there is a wrapper, it obviously messes up the HTML and closes divs prematurely. This is causing issues obviously for tabbed interface.

Screenshot: [http://awesomescreenshot.com/09915rzc37]
Ticket started on Alpha/Beta support forum: [http://wordpress.org/support/topic/wrapper-of-edit_form_after_title-and-edit_form_after_editor-hooks-optional]

Thank you!",lemmonaid
16865,'post' definition should use menu_position,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-03-16T15:03:00Z,2011-03-17T10:32:11Z,"Since WP 3.1, we don't need to hardcode the Posts $menu array, since register_post_type() is flexible enough to handle it.",scribu
7756,AJAX saving method instead of reloading the page,,Administration,,normal,normal,Future Release,enhancement,new,,2008-09-16T17:36:44Z,2013-01-03T16:12:25Z,"Instead of using a traditional page refresh after saving a post, utilize AJAX, similar to how auto-saving already functions, to save the post.

this would help decrease the load on the server and enhance the user experience.",jdingman
18413,"Ability to Add Custom ""Add User"" Link",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-08-15T14:44:54Z,2011-08-15T14:44:54Z,"For the ldap plugin i'd like to be able to utilize the current location of the ""Add New"" and ""Add Existing"" button to override it to show a button to link to the custom page for the ldap add user page.

Currently there are no hooks or filters that would allow me to add something in there - would it be possible to add in an action in there after the existing code to print out the add buttons?",axelseaa
22333,Add IDs to .misc-pub-section divs in meta-boxes.php,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-10-31T16:25:40Z,2012-11-13T01:39:40Z,"In `wp-admin/includes/meta-boxes.php` the `post_submit_meta_box` has several sections with class .misc-pub-section. Should you have to style/alter any of them, it's not consistent as:

1. first div has only `class=""misc-pub-section""`
2. second div has `class=""misc-pub-section"" id=""visibility""`
3. third div has `class=""misc-pub-section curtime""`

Since this is a unique box on the screen, I've added two more IDs to div blocks 1 and 3 to allow for easier styling changes. ",nofearinc
11164,Add Theme Sort Filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-17T16:03:18Z,2009-12-01T18:16:20Z,"I've run across the need for this in a few plugins. You can't adjust the order of themes in the theme browser as all filters are applied before the sort.

Aaron (for Incsub)",uglyrobot
21190,Add a action in check_admin_referer() in the event the nonce auth fails,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-08T09:12:56Z,2012-07-08T09:12:56Z,"Currently plugins don't have a way to perform custom handling in the event that a nonce fails in `check_admin_referer()` - Whilst in most cases this will never be needed, I'd like the ability for plugins to be able to use `check_admin_referer()` directly AND have the option of redirecting failed nonces to their own page.

We currently have an action which is fired when a nonce passes:
{{{
do_action('check_admin_referer', $action, $result);
}}}",dd32
15355,Add ability to clear search results,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-11-09T08:11:56Z,2012-04-13T11:32:28Z,"Let's put a (X) next to ""Search results for `string`"" that immediately clears the search results. Otherwise there is no way to do it, without clearing the box manually and hitting enter.

We would use the same X we use for bulk edit.",nacin
11200,Add count for approved comments filter,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-11-20T15:17:04Z,2011-06-29T17:28:19Z,"On wp-admin/edit-comments.php, Approved is the only filter that doesn't have a count after it.",scribu
15261,Add do_action to form tag in edit-tag-form.php,,Administration,3.1,normal,normal,Future Release,enhancement,reopened,has-patch,2010-10-30T16:07:46Z,2011-01-19T23:50:20Z,"How about adding additional actions to the form tags in admin taxonomy pages like ''edit-tag-form.php''?

An example can be found in ''user-edit.php'' line 183:


{{{
<form id=""your-profile"" ... method=""post""<?php do_action('user_edit_form_tag'); ?>>
}}}
",linguasite
13227,Add filters above forms in wp-login.php,,Administration,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2010-05-03T13:25:58Z,2013-01-22T02:00:35Z,"Sometimes I need more descriptive text to have above forms on wp-login.php (login, register, lost password).

This patch add filters above those forms.

Example usage:

{{{
function above_login_form_filter() {
	return '<p class=""message"">Tip: If you forgot your password, go to <a href=""wp-login.php?action=lostpassword"">Lost Password</a> page</p>';
}
add_filter('above_login_form','above_login_form_filter');
}}}


",dimadin
16512,Add hook after set_current_screen(),,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-10T02:24:56Z,2011-02-10T03:00:55Z,"There needs to be a hook after {{{set_current_screen()}}} as it does a lot of work setting up the {{{$current_screen}}} global.. I'd hate to have to repeat it in {{{admin_init}}} as that's the last generic hook before {{{load-$pagenow}}}.

Patch adds new hook {{{admin_loaded}}} after {{{set_current_screen()}}}",ptahdunbar
14126,Add hook for message on admin-header in h1-privacy,,Administration,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-06-28T08:35:10Z,2010-10-28T08:46:46Z,"Add a hook for add a message inside from h1 in admin-header.php, same as privacy message in WP 3.0, see example images: [http://drp.ly/1glQ2G]
I think, its great for the UI and create messages about all sites in backend. I change also the ID in class, no redunace on use this style.
Please see the files and sorry for my bad english.",bueltge
16204,Add hooks to enable access to pages in the admin when the menu layout has been changed by plugin,westi,Administration,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-01-12T16:31:33Z,2011-01-15T08:54:45Z,"This patch and ticket is a follow on to tickets #16048 and #16050 and indirectly related to this discussion on hackers: http://lists.automattic.com/pipermail/wp-hackers/2011-January/037129.html

This patch simply adds the following hooks, all within /wp-admin/includes/plugin.php.  

 - menu_page_url
 - admin_page_parent
 - admin_page_title 
 - plugin_page_hookname 
 - user_can_access_admin_page

The patch does not attempt to unravel the many early exits of the various functions instead it simply redundantly adds the hooks at each exit point. As such it's backward compatibility can be reviewed simply by viewing the code.

The use-case for this patch is when the menus are not exactly in the format expected by WordPress (but instead desired by the client) it can sometimes take hours of trial and error to get the permissions to allow users access to the menus they should be allowed access to. 

For example, if the first submenu page for a menu page is removed from the menu, even when it makes logical sense to the user WordPress currently does not allow that menu option to be viewed. These hooks would give plugin developers the ability to modify the menus and still enable users access to the pages they need access to.",mikeschinkel
20007,Add option for new user registration notifications,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-10T06:15:35Z,2012-11-22T03:36:08Z,"This patch adds an single checkbox option to WordPress's Settings > Discussion page, allowing users to quickly toggle new user registration notifications/emails on or off.


While the notification function is currently pluggable, allowing non-technical users to easily toggle this feature themselves is both intuitively simple, and should prove generally advantageous to the community.",Veraxus
13005,Add plugin hook for ajax-tag-search,westi*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2010-04-14T20:21:50Z,2013-05-10T12:44:02Z,I would like to have a new plugin action hook added in the ajax-tag-search section of wp-admin/admin-ajax.php,jimmcq
19247,Add post type and taxonomy to admin body class,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-15T08:19:35Z,2013-04-14T10:03:13Z,"I often have a need for targetted CSS selectors based on the current screen's post type (eg. to hide unwanted UI elements), so I usually end up adding `post-type-{$post_type}` with the `admin_body_class` filter. It'd be nice if this was in core.",johnbillion
20928,Add regular-text style to textareas,,Administration,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-06-12T20:13:43Z,2012-06-12T20:14:38Z,The `regular-text` class style is only applied to input elements. It would be nice to get this on textareas too so my textareas are the same width as my single line text inputs.,johnbillion
21667,Add some user agent to wp_is_mobile,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-08-23T12:35:29Z,2013-05-07T18:45:53Z,"Hello,

I've run some test with the help of the twitter/G+ community on wp_is_mobile and found some mobile browser that don't pass the test. 

You can see the test here : http://www.inpixelitrust.fr/blog/wp_is_mobile/

I was able to get the user agent of 3 of those which don't work : 

HTC sensation z710 4.0.3 native browser (UA:  Mozilla/5.0 (X11;Linux x86_64; HTC/Sensation/3.32.162.11; fr-de) 
AplliWebkit/534.24(KHTML,like Gecko) Chrome/11.0.696.32 Safari/534.34 )

BlackBerry Playbook (Ua Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.1; en-US) AplleWebkit/535.8+ (KHTML, like Gecko) Version/7.2.0.1 Safari/535.8+ )

Could be great to add those to the UA sniffing :)

",inpixelitrust
15796,Add spacing in the menu between 59 and 60 to allow menu items to appear above appearance,,Administration,3.1,normal,normal,Future Release,enhancement,new,,2010-12-13T14:12:51Z,2011-01-06T12:44:41Z,"I would like to place a menu item above appearance however the spacer is directly above the Appearance menu item at 60, the spacer is at 59, just a simple request to appropriate more space that is empty, 55 for the spacer and keep the appearance 60 giving 56,57,58,59 for add_menu items above 60

",Frumph
11469,Additional Admin UI hooks / filters,,Administration,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-17T05:54:04Z,2010-12-13T12:43:33Z,"Some might classify this as overkill, others as making Wordpress as completely extendable as people want it.

I'd like to propose the addition of numerou hooks to the Wordpress core Admin UI which would allow the addition of UI elements outside of the current constraints, such as meta boxes. 

If that doesn't make sense, I have an example to illustrate:

Given the ""Subtitle"" example from http://digwp.com/2009/10/ideas-for-plugins/, there would be a new hook named ""edit_post_form_after_title"" (or something along those lines) which would be placed directly after the post title is displayed on the screen and allow a plugin developer to insert a text field for a subtitle directly below the title field. See the attached patch.",johnl1479
6822,Admin colors should be per-blog,ryan,Administration,2.5,normal,normal,Future Release,enhancement,new,,2008-04-23T02:07:08Z,2010-03-25T05:58:52Z,"When shared user tables are used, changing the colors for one blog should not change it for all.",matt
11515,Admin needs standardized way of handling messages (notices) displayed to the user,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2009-12-19T19:53:03Z,2013-03-15T23:45:50Z,"If you try to upload a media item under Media > Add new without an uploads directory, you get the following vague error message:

{{{
Error saving media attachment.
}}}

If you try instead to upload from the post edit page, you get a much more helpful message:

{{{
Unable to create directory /path/wp-content/uploads. Is its parent directory writable by the server?
}}}

In each case, the root error is the same, but the second error message points the way to a solution.  Even if the user doesn't know herself what that message means, it's a message that provides the necessary information to someone else who does and is trying to help the user. The first message is completely useless, as it states only what we already know: something went wrong.

The reason Media > Add new doesn't offer a helpful message is that the error is generated on one page request, and ''then'' the user is redirected to another page.

We need a standard, cross-page-load way of conveying messages in admin.

I've thought of a few possible ways of doing this:

 * Define and use a standardized set of error codes and associated error messages.  This is similar to what happens currently on many pages: the unhelpful ""Error saving media attachment."" appears when the message argument is set to ""3.""  What I'm suggesting would use a common set of message codes across the admin and be much more detailed.  So the above situation would instead produce a message like ""Unable to create the uploads directory.""
 * Save error messages to a cookie.  Unlike the previous method, this would allow messages to be made particular to their event.
 * Have some kind of user messaging stack.  New messages would be pushed into a user's stack (stored in usermeta) and popped off after a certain time, or when read, etc.  This has the advantage of lasting across sessions and browsers and being usable for other applications, such as PMs between users. 

What do you think?",filosofo
10726,Admin notifications for more than 1 email,,Administration,2.8.4,normal,normal,Future Release,enhancement,reopened,,2009-09-05T02:18:51Z,2013-01-03T05:59:29Z,"Please allow admin notifications to go to more than 1 email address. It could be as simple as allowing a comma-separated list.

Better yet, allow sending '''admin''' notifications to all people in the '''administrators''' role.",novasource
18769,Admin should not break if URL changes,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-09-24T22:58:42Z,2012-06-06T01:02:30Z,"We manage a lot of users who have WordPress blogs, and probably the number one user support request we have to field comes out of this situation:

1. User decides they want to move their WordPress,
2. They move the folder to a new URL,
3. Their admin page stops working, because it still had the old URL hard-coded.

This is silly and should be fixed.",AmbushCommander
7723,Allow filtering by author on Manage > Posts,,Administration,,normal,normal,Future Release,enhancement,reopened,,2008-09-10T19:59:37Z,2011-12-19T18:04:36Z,"In versions of wp before 2.5 you could select an author from a dropdown on MANAGE > POSTS to see only posts owned by that author. This was very useful for quickly sorting posts and is absolutely necessary when you have editor users without  the 'edit_users' capability, as unlike admin users (most of us) they don't have access to the 'users' tab and thus have no way to see the manage screen sorted by user. The manage screen sorts by user simply by adding ?&author=$id in the url, but for users without access to the 'users' tab, even author id's are innaccessible. 

In the #wordpress-dev irc channel ryan boren expressed that the filter was removed because in some cases there were too many users in the system and the resulting dropdown was slowing down pageload time and ruining user experience. This is a paradox, because the more users your system has the more likely you are to need this filter. 

Wordpress needs to support filtering by author somehow if it wants to be a serious multi-user platform. Our editors are pulling out their hair.

My personal opinion is that the dropdown select should be reinstated. Filters should be added to the list such that only users who can post are listed (other users have no use in the Manage > Posts screen), as well as to show only users with at least 1 post. This should avoid slowing down pages for installations where most users are 'subscribers', which would otherwise mean all open-registration blogs would have hugely long lists. 

Given those two filters, I think that anyone who still has load-time problems should deal with their problem themselves using a plugin. It should be easy to remove the filter dropdown if you don't want it using a plugin, as well as to further filter the authors shown to reduce their number. 

Any installation with that many users deserves the option of deciding if they want the pulldown or not, and I think many would choose to keep it even if there are problems because it is so incredibly useful in filtering through hundreds of users worth of posts. 

(Consider: the full categories list is shown, even if there are hundreds, despite the fact that this has the same effect on performance as many authors does). 

Also in IRC Matt M proposed that some kind of text box + ajax to predict which author you mean could be used for this purpose. I think that is a great idea but would take a lot more work than what I propose (the work for hte pulldown is already done and the old functions are still there, all that's needed is to add filtering and re-work it into edit.php). It could also be used in the 'Users' context for search though, so it could be worth the effort. ",jeremyclarke
4221,Allow pure wp_nonce_url urls,,Administration,2.3,normal,normal,Future Release,enhancement,reopened,close,2007-05-04T04:29:33Z,2012-08-15T03:44:11Z,"wp_nonce_url sends the url through wp_specialchars, which converts {{{&}}} into {{{&#038;}}}

That's great for standards-compliant links, but if you're trying, for example, to use a nonce in a url passed to JavaScript, it can cause problems, as at least Firefox chokes when JavaScript requests a url with {{{&#038;}}} instead of {{{&}}}. 

My patch allows you to toggle off the wp_specialchars; the default behavior remains the same.",filosofo
23162,Allow to call parent_dropdown() for an arbitrary post,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-01-09T22:48:08Z,2013-01-09T23:24:26Z,"parent_dropdown() can no longer be used outside of the loop, such as within the wp-admin, because an E_NOTICE will be emitted in template.php:683 since $post is null. 

A simple fix is to change the function argument declarations from 

{{{
function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
}}}
to:
{{{
function parent_dropdown( $default = 0, $parent = 0, $level = 0, $post = array() ) {
}}}

and then also change:
{{{
$post = get_post();
}}}
to
{{{
	if ( empty( $post )) {
		$post = get_post();
	}	
}}}

which would allow a WP post object to be passed into the function.

Sorry I am unable to provide an SVN patch.
",charliespider
24071,Allow users to set three columns on Add Post/Add Page screen,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-04-12T23:53:07Z,2013-04-14T06:02:48Z,"These days, an increasing number of people have desktops or laptops with high-resolution monitors. On such monitors, the layout of the WordPress Add Post/Add Page UI is not optimal. 

On, say, a 1920x1080 screen, the first column, containing the TinyMCE editor and title field, occupies the vast middle of the screen, with the WordPress chrome at the left and Column No. 2 at the right. 

If a user has chosen to show additional fields not shown by default - like Excerpt, Send Trackbacks, Custom Fields, Discussion, Slug, and Author - these all appear below the TinyMCE editor, out of sight on a widescreen. Take a lot at the screenshot attached to this ticket. 

Showing two columns by default is perfectly fine, but those with widescreen displays would benefit from gaining the ability to change the number of columns in the screen layout to three without needing a plugin, or having to hack the admin. This doesn't seem like it would be too difficult of an option to add to core. 

Allowing three columns to be set would permit users with hi-res monitors to easily make better use of the screen real estate: all of the available fields would be visible without the need for scrolling. 

Many users, incidentally, utilize fixed-width themes on their sites, and if the theme is sending its CSS to the post editor in order to enable the user to accurately preview what the text will look like (truer WYSIWYG), having a really wide post editor is especially useless. 

I've attached a three-column mockup I made in KolourPaint. The mockup shows what a three-column post editor layout could look like. As you can see from the mockup, all available fields in WordPress Core fit into the viewport. ",avcascade
23738,Audit our secondary button uses,,Administration,trunk,normal,normal,Future Release,enhancement,new,,2013-03-11T17:31:26Z,2013-05-16T12:12:03Z,"helen pondered in #wordpress-ui that maybe the ""apply"" button in the Screen Options dropdown should be a primary button. There's a good argument to be made that when this panel is down, that ""apply"" button is your new primary.

We should do an audit of our buttons to see if there are any other cases where we could make an action or a temporarily primary action more obvious by using the primary button style.",markjaquith
17704,Automatically enqueue necessary scripts when custom meta boxes are used,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-06T05:53:43Z,2011-11-08T21:30:11Z,"Right now if you add_meta_box() to a custom page, like using add_submenu_page() and then calling do_meta_boxes(), the screen options and post box JS don't work automagically. They should.",mitchoyoshitaka
23577,Better Date Fields,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-02-21T11:52:59Z,2013-02-22T16:15:20Z,"I think the Dates should be prettified (i.e 2 days ago etc) and the last state put in front i.e (""Published 2 days ago"" rather than ""2 days ago Published"")

As I think it would make it even more user friendly to used.

I have attached a Image showing what I mean.",jscampbell.05
19691,Cannot modify admin messages for /wp-admin/edit.php,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-30T02:10:01Z,2013-02-26T17:51:13Z,"The admin console messages output on line `264` of WordPress 3.3's file `/wp-admin/edit.php` are not filterable. This causes problems when added row actions need to HTTP GET from to WordPress to modify a post and then display an appropriate message complete with a revert link ''(like the ""Trash"" link does.)''

An example use-case could be for a custom post type used for both quotes and invoices where a row action might be ''""Convert Quote to Invoice""'' where you'd want a message and link displayed at the top of the admin after similar to this:

- ''Quote #{$post_id} converted to Invoice. __Revert__''

Currently the only way to accomplish this is to pick hooks before and after the messages are output and use PHP's output buffering;  clearly not a ''""best practice""'' approach.

In order to address this I'm proposing an '''`'admin_messages'`''' filter hook to run just before the messages are output:

{{{
$messages = apply_filters( 'admin_messages', $messages );
}}}

However, since messages are output in numerous locations in the WordPress admin it seemed best to add the hook in every location where messages are output, which is what my patch does.  Thus a hook can look at `$pagenow` or `get_current_screen()` to decide it is needs to do anything.

Also while searching for places in the admin code that echo messages I found `$messages` are sometimes an array of HTML where the entire array is echoed and other times the $messages are an array with an index passed via `$_GET` and only one message will be displayed. For those cases I created another hook '''`'admin_message'`''' ''(note that this hook name is singular)'':

{{{
$message = apply_filters( 'admin_message', $message, $messages, $_GET['message'] );
}}}

I really only found a specific need for `/wp-admin/edit.php` today, but it seemed that it would be better for consistency if all messages were made hook filterable. That's why I created a larger patch when all my use-case needs is one new line.  

Looking forward to your feedback.
",mikeschinkel
22965,"Change Recent Comments Number Input to type=""number""",helen,Administration,3.5,normal,normal,3.6,enhancement,assigned,has-patch,2012-12-16T19:52:30Z,2013-03-01T16:31:20Z,"In order to be consistent with the rest of the dashboard, the ""Number of comments to show:"" input field in the Recent Comments widget should be changed to type=""number"" in order to add the up/down arrows. ",mordauk
23230,"Change hyphen in front of ""Draft"" to em dash",,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-18T09:08:47Z,2013-01-25T20:08:00Z,"When a post/page/etc. is saved as a draft there is a ""- Draft"" appended after the title in the overview list in the dashboard.

Rather than using an hyphen (-) it should be an em dash (—) and ideally it should be translatable as the typographic rules for dashes varies with languages.

Rather than ""- Draft"" it should say ""— Draft""",kkalvaa
12350,Check folder permissions before uploading file,,Administration,,normal,normal,Awaiting Review,enhancement,reopened,,2010-02-23T18:41:57Z,2011-10-09T14:54:04Z,"It would be nice if wordpress - or especially the media-upload module would check if its able or has the necessary file permissions to create the upload directory.
",not2bug
18860,Chromeless metaboxes,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-05T14:28:14Z,2011-10-06T13:39:07Z,"On the post editing screen, the title and editor portions are just conditionally echoed based on post_type_supports().

Because of this, you can't add anything between them or above them, without using JavaScript.

The proposal:

 - wrap them in callbacks and inject them through add_meta_box()
 - add a $show_handle parameter to add_meta_box()

{{{$show_handle == false}}} would mean that the handle around the box would be invisible. This would mean that you wouldn't be able to drag the title and editor boxes around, which is ok, but you would be able to re-order them in PHP.",scribu
17852,Collapsed menu fly-out headers should be clickable,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-20T03:13:00Z,2012-03-07T20:59:48Z,"When you hover over a collapsed admin menu icon, the extension of the icon is not clickable, only the submenu screens are.

This is the same behavior in 2.7 to 3.1, but I think it should be considered.",nacin
15782,Consolidate header Javascript,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-12T05:45:53Z,2011-03-24T08:48:43Z,"As a followon to #15781

Currently there is a block of Javascript required on all admin pages, this is stored directly within admin-header.php, and iframe_header(). Unfortunately, when someone changes/adds code to one, the other is not always updated.

This inline Javascript should be moved to a function and printed on a header action in order to reduce code duplication and prevent future issues.",dd32
7797,Consolidate iframe headers,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2008-09-26T23:35:46Z,2012-10-30T16:40:45Z,"Currently iframes are being used in multiple locations (ie. thickbox, plugin re-activation, etc) and in each case, theres generally a function for the header and footer, or its inline.

What i suggest, Is to create a standard set of admin templates which print the headers out for the pages.

And a side suggestion:[[BR]]
As an added bonus, It should probably be possible to automatically detect if it was loaded via thickbox ($_GET[TB_iframe] shouldnt be set) and serve the correct header (ie. Full admin side menu if no thickbox)",DD32
19898,Create a is_login() function similar to is_admin(),,Administration,3.3.1,normal,normal,Future Release,enhancement,new,dev-feedback,2012-01-25T23:13:43Z,2013-02-12T15:34:47Z,"It would be useful for developers to have better detection of being on the wp-login.php and wp-register.php pages. Sure, this can currently be done by using the $pagenow global variable but having a similar function like is_admin() would make things easier/cleaner.

One use case:

-Using a hosted javascript file but then requiring SSL (FORCE_SSL_LOGIN).    

{{{
#!php
function javascript_init() {
    if ( $pagenow == 'wp-login.php' || is_admin() )
        return;

    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js');
    wp_enqueue_script( 'jquery' );
}
add_action( 'wp_print_scripts', 'javascript_init' );
}}}


Proposed solution:
Create a new function that does all the checking. 
{{{
#!php
function is_login() {
    return in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) );
}
}}}",dcowgill
18569,Custom header images should deletable from the Custom Header page,danielbachhuber*,Administration,3.3,normal,normal,Awaiting Review,enhancement,accepted,has-patch,2011-09-01T18:30:22Z,2011-12-06T05:11:52Z,"Currently, if a theme supports custom header images and a user uploads one of their own images, they need to go to the Media library in order to delete the image. This is not intuitive, there's no text in the admin explaining this step, and it's a problem if they want to rotate randomly through their custom header images.

It would be nice of the user could delete images they've uploaded from the Custom Header page directly.",danielbachhuber
18641,Date and post status are the wrong way around in post lists,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-11T20:31:41Z,2011-09-11T20:35:13Z,"On a post listing screen, a draft post that has been modified within the last 24 hours will show the following in the 'Date' column:

{{{
X hours ago
Last Modified
}}}

This doesn't make a lot of sense. Better would be:

{{{
Last Modified
X hours ago
}}}

Ideally the table cell should be treated as a whole to aid l10n and to improve the English presentation.",johnbillion
15790,Date column for Scheduled posts should also state the time,,Administration,3.0.4,normal,normal,Future Release,enhancement,new,,2010-12-13T04:37:07Z,2013-01-22T17:33:17Z,"For obvious reasons, for scheduled posts, it's very useful to see not just the date but the time, but the wp-admin posts interface does not show it - only the date.

It'd be very useful to see the time as well.

Thanks.",archon810
18199,Deprecate IE7 in the Admin,,Administration,,normal,normal,Future Release,enhancement,new,,2011-07-21T21:05:15Z,2013-04-26T01:27:26Z,"markjaquith:
> Everyone hates IE7. It’s insecure. Let’s make it go away. Also, dropping IE6 didn’t give us much beyond goodwill, because most of the hacks we needed for IE6, we also need for IE7. So we could actually clean up our CSS a bit if we dropped IE7.",nacin
23108,Deprecate add_object_page() and add_utility_page(),,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2013-01-03T02:47:52Z,2013-05-16T11:55:27Z,"`add_object_page()` and `add_utility_page()` are not used in core and are just wrappers which pass `$_wp_last_object_menu++` and `$_wp_last_utility_menu++`, respectively, to `add_menu_page()`.

This can lead to a conflict with other menu items added by plugins, see #23095.",SergeyBiryukov
17470,Display warning when editing the page_for_posts page,,Administration,3.2,normal,normal,Future Release,enhancement,new,has-patch,2011-05-17T06:27:13Z,2012-11-19T16:33:34Z,"I recently ran into a situation where someone was very confused by the page_for_posts setting and why their page edits were not being respected. It occurred to me that this feature is not terribly well described in the UI for users that don't already understand what it does.

The attached patch will simply add a warning as an admin_notice when you are editing the page that is specified as the page_for_posts page.

I used a class of error for the admin_notice, but updated might be more appropriate.",alexkingorg
20345,Don't show Author column on posts screen for single author sites,,Administration,3.4,low,normal,Future Release,enhancement,new,has-patch,2012-04-02T20:42:56Z,2012-04-18T20:39:05Z,"The 'Author' column on post listing screens is a bit pointless for single-author sites.

To simplify this screen, I think it would make sense to remove this column for sites which only have one user, and possibly also remove it for sites with more than one user but still only one author (ie. `!is_multi_author()`).

I'm not sure how best to handle the column's visibility and a user's column visibility preferences at the point when a site goes from being a single-author site to a multi-author site.",johnbillion
12890,Draft and scheduled pages not listed in the Parent dropdown,,Administration,3.0,normal,normal,Future Release,enhancement,assigned,,2010-04-07T11:59:55Z,2012-07-03T14:15:23Z,"Draft and scheduled pages are not available as choices in the Parent dropdown of the Attributes module.

This is very similar to ticket #8592, regarding private pages. I'm hoping the fix might be simpler for drafts and future posts.",rooodini
9604,Edit screens expire,,Administration,2.8,normal,normal,Future Release,enhancement,new,,2009-04-21T06:35:08Z,2009-06-13T02:02:48Z,"Steps to reproduce:
1) Open an edit post (or page) screen
2) Take your browser offline for 24 hours
3) Put the browser back online
4) Edit the post, type a lengthy, thoughtful, dramatic entry
5) Click save draft / publish as you prefer

Expected result: Your poetic prose is committed to infallible digital memory.

Actual result: You're told ""Your attempt to edit blah has failed."" Press the back button and likely see the previous version of your post. Your latest prose exists now only in your memory.

Technical details: I think the nonce expires, so the post screen becomes invalid after a while.

Proposed solution: Add a javascript timeout to warn the user that the edit screen has expired. Provide a mechanism for the nonce to be updated.",chmac
6479,Encourage people to change default tagline,markjaquith,Administration,2.5,normal,normal,Future Release,enhancement,assigned,,2008-03-30T19:09:41Z,2013-01-22T00:42:25Z,"A lot of people don't change the default tagline, especially if using a theme that doesn't display it.  But it still displays in their feed.  We should check to see if they still have the default tagline and if so, put a little contextual help in Settings - General that (nicely) encourages them to change it.

Props to Chris Silver Smith for bringing this issue up at WordCamp Dallas.",markjaquith
9931,Extra class for the wrap div's in custom-header.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-05-24T17:25:40Z,2010-08-13T11:41:15Z,"I'm using custom-header.php to complete the options section for my own themes but for some themes I only need the image section to be visible>

Would it be possible to add an extra class reference to the <div class=""wrap""> sections? This would make it possible for me (and others) to ''not'' display the irrelevant sections (and thus avoid questions from users about why changes aren't reflected).

My suggestions is to go for something like this:

{{{
<div class=""wrap custom-header-text"">
<div class=""wrap custom-header-image"">
<div class=""wrap custom-header-reset"">
}}}

And perhaps that:

{{{
<div class=""wrap custom-header-text"">
<?php screen_icon(); ?>
}}}

needs to be changed into something like:

{{{
<?php screen_icon(); ?>
<div class=""wrap custom-header-text"">
}}}

to keep the icon available when you choose to hide the text section.

Cheers :)",stgoos
22650,Filter the Gravatars on credits.php,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-30T08:39:58Z,2012-11-30T08:51:59Z,"All Gravatars should be generated by get_avatar() or at least run through apply_filters('get_avatar', $avatar) for the sake of extensibility.

Related: #22329",miqrogroove
21034,Flyout Menu on Backend doesn't Loades Untill Whole Page is Loaded,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-21T09:43:55Z,2012-06-25T05:30:06Z,"I have noticed this ever since the flyout menu was introduced. Menu items on flyout menus is not shows until the whole page gets loaded. For high speed connection its not a problem but it gets annoying people who connected in dial up (last week my ISP was down so i had to work with dial up for couple of days).

So, we could make the flyout menu items css/js to load on header so it doesn't wait for to load the whole page and make the backend accessible to and less annoying to low speed users.. For testing it you have to log into backend with low speed connection. If you need proof i can make a video with my dial up. Just let me know.

BTW: What i see on firebug that the css for flyout menu loads on header so i don't really find out what causes the menu to not showing on hover until the page loads.",prionkor
21856,Hide category selection when no posts are available,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-09T14:38:10Z,2012-11-13T20:18:02Z,"Just an idea that popped up while testing #21015. The months dropdown gets hidden when there are no posts available, so why not hide the category dropdown list too?

Might be a bit confusing though, when certain elements are not showing when you first start using the screens that these elements are used. But showing something that does not do what it looks like is even more confusing, I think.",CoenJacobs
22139,Hooks for wp-login customization,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-09T14:18:07Z,2013-01-22T22:18:57Z,"I have an application that leverages wp-login.php as the login page (of course), however, the HTML on the wp-login.php doesn't have a way for my application to insert its navigational elements, branding, etc.

I propose the addition of two new action hooks: ''login_before_container'' and ''login_after_container'' which would come before and after the login div, respectively.  ",borkweb
18709,Hooks in user-new.php,,Administration,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-19T21:06:16Z,2013-04-19T11:38:49Z,"It would be nice to be able to enter extra metadata for users when manually creating them from the admin control panel. 

I assume it should be as simple as adding a new action, along the lines of the edit_user_profile_update one? 


",standardtoaster
19023,Images in Edit Comments break SSL,nacin,Administration,3.2.1,high,normal,Awaiting Review,enhancement,reviewing,dev-feedback,2011-10-21T11:19:43Z,2012-09-17T22:52:02Z,"In trunk, when I'm on my edit comments page, the SSL get's broken because of an attachment image that isn't served over SSL:

[http://uploads.yoast.nl/Comments-20111021-131843.png]",joostdevalk
17783,Inconsistent theme management screens,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2011-06-13T12:32:26Z,2011-06-13T13:12:51Z,"On single-site you have tabs, while on multi-site you have an ""Add New"" button:

/wp-admin/themes.php (single-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/themes.png)]]

/wp-admin/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes.png)]]

/wp-admin/network/themes.php (multi-site):

[[Image(http://core.trac.wordpress.org/raw-attachment/ticket/17783/ms-themes-network.png)]]",scribu
22183,"Input type=""email""",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-13T19:01:18Z,2012-11-07T07:53:37Z,"Text inputs for email addresses were replaced with email inputs in [20168] but reverted in [20196] due to poor client-side validation by Chrome 17 and Firefox 10, however we've had input type=""email"" on the registration form since [18763].

We should:
 1. Test the current state of client-side validation.
 2. Either introduce email inputs in the admin area or revert [18763] depending on the results of point 1.

See http://core.trac.wordpress.org/ticket/17863#comment:25 for the email input validation issue.",johnbillion
24209,Install Themes/Plugins Custom Page Hooks,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-28T03:04:05Z,2013-04-28T05:45:40Z,"Upon trying to add a custom page to the '''Plugins > Add New''' section for private plugins, I realized there wasn't a hook that allowed overriding the plugin_api call.

The custom tab on the page could easily be added via the ''install_plugins_tab'' filter, but in the '''class-wp-plugin-install-list-table.php''' class method ''prepare_items()'', there isn't a hook to override the api call.

I checked the functions for the themes and it's the same thing, so I've added the patches containing the proposed filters for both classes in order to help future customization of WordPress by developers.

Here's an example of the custom tab and the desired results via the hooks in a plugin:

[[Image(http://i.imgur.com/iF9gbMf.png)]]

These filters can also be used to prohibit clients from adding 3rd-party plugins for security & performance reasons and even limit them to only using a private Repository API.

Thanks!",amereservant
21132,"List tables' ""select all"" should let you really select all, regardless of screen options",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-02T04:38:38Z,2012-07-05T15:13:48Z,"The select all checkbox in list tables selects all the items in your current view.  Usually what I really want is to select all the items on all the pages.

As a hack, I'll often leave the screen options setting for items per page on something really high, like 1,000.  Unfortunately this means the tables are often really slow for no benefit (most of the time I don't need them all).  A better solution would be a way to intelligently select all items without needing to show them on the page.

The best example of this that I know of is Gmail, which adds a line above the list of emails when you click the select all box that looks something like this: ""All 50 conversations on this page are selected. Select all 653 conversations in Spam"".  The second sentence is a link that, as expected, selects all of your emails that fit the current view, regardless of paging.  Screenshot attached.",evansolomon
21271,Make admin backend unit-tests friendly,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-14T14:19:20Z,2012-12-11T13:12:31Z,"Recently I started writing unit tests for my plugins. Beside tests focused on functionality (where I directly call my plugin functions) I write some basic integrations tests, which should test that WordPress will call my function, pass data in expected format and recognize data returned from it. For frontend it is quite easy - theme API is well-defined, so I can write something like this:
{{{
public function test_something() {
	// add new post
	$post_id = wp_insert_post( array( ... ) );
	$this->assertGreaterThan( 0, $post_id );
	
	// go to post page
	$this->go_to( get_permalink( $post_id ) );
	
	// main loop
	$checked_post = false;
	while ( have_posts() ) {
		the_post();
		if ( $post_id == get_the_ID() ) {
			$checked_post = true;
			
			// test that content is modified
			ob_start();
			the_content();
			$result = ob_get_clean();
			$this->assertEquals( '...', $result );
		}
	}
	
	// make sure test above was executed
	$this->assertTrue( $checked_post );
}
}}}
Unfortunately this is not true for admin backend - there most of code is written directly at file level (not in functions and classes), so I would need to either duplicate this code in my tests (bad approach, because would have to monitor original code for changes), or test using whole file (either load it directly or use Selenium) - in this case test would be more complicated.

Therefore I logged this ticket, to start discussion how we can perform refactoring of admin backend to make it more tests-friendly, and how to test it more thoroughly. Most probably we would also need to modify the testing framework (e.g. introduce new `admin_go_to()` method).",sirzooro
14515,Make admin table content filterable by column,sirzooro,Administration,3.0.1,normal,normal,Future Release,enhancement,assigned,,2010-08-03T06:16:40Z,2011-10-21T09:15:42Z,"I would like to modify Author column on post list - add link to user's profile. Now the only way is to add it to 1st column or custom column, and optionally move it later using JavaScript. Therefore I ask to add new actions for default columns, which will allow to do this.

It may be also beneficial to implement this as a general hook which will be called on all columns, including custom ones.",sirzooro
8243,"Make draft pages to appear in ""recent drafts"" dashboard gadget",,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-11-16T11:08:50Z,2010-06-25T20:21:01Z,"In 2.7 beta 2, draft Pages do not appear in ""recent drafts"" dashboard gadget. It would be very nice to see draft pages there as well. Another option is to make it optional and allow one to select whether he/she wants to see draft pages in the gadget.
",asandler
15865,Make it easy to disable options / user settings,westi,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2010-12-17T17:52:29Z,2013-01-21T04:12:48Z,"We have a wonderful option white listing system.

The one thing it doesn't support is hiding the ui of core options if you don't want them changed.

We should have a generic way of doing this.",westi
16165,Media Library Bulk Delete: Error in deleting...,nacin,Administration,3.1,low,normal,Future Release,enhancement,assigned,dev-feedback,2011-01-09T14:20:39Z,2012-11-07T20:17:43Z,"While Bulk Deletion, when a user gets the ""Error in deleting..."" message, there is no information given of how many elements have been deleted so far.

Let's say there was a bulk of N deletions, getting this error can mean up to N-1 items have been deleted already.

Same is the case if for some item, no permissions are granted to delete it. The number of successfully deleted items is missing as well.",hakre
20288,"Missing bottom border for bulk-actions checkbox th in wp-posts-list-table if current user can't ""edit_post"".",,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-03-23T10:04:20Z,2013-01-22T03:36:59Z,"If current user can't ""edit_post"" the bulk-actions checkbox isn't present but also the bottom border for th in wp-posts-list-table.

I think it can be fixed by modifying line 495 in class-wp-posts-list-table.php like so:

`<th scope=""row"" class=""check-column""><?php if ( $can_edit_post ) { ?><input type=""checkbox"" name=""post[]"" value=""<?php the_ID(); ?>"" /><?php } else { ?> &nbsp; <?php } ?></th>`",szaqal21
17028,"Move the ""last edited at"" text and saved/updated/published notices in post/page editor",,Administration,3.1,low,normal,3.6,enhancement,new,has-patch,2011-04-02T21:56:59Z,2013-02-20T10:18:21Z,"1. The timestamp of the last save is currently displayed at the bottom right of the editor box. It would make more sense for this information to be tied to the Publish box instead. 

2. The yellow alert boxes that appear at the top of the page are weird. a) They should appear closer to the button that caused the action (general usability/accessibility best practice), so probably by the Publish box. b) Once you edit anything on the screen, the ""post updated"" (or saved, etc) text should go away, because it is no longer current. 

Am thinking we could combine these two things into one flexible status message that's located in or adjacent to the Publish box. ",jane
20956,Navigation changes: Posts/Pages,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-14T14:42:25Z,2013-01-22T03:30:06Z,"1. Explaining the difference between Posts and Pages to new users is time consuming and often frustrating. We've all done it, have our best/fastest version of the talk down pat, but it still takes longer than it should to get many new users to the point of understanding the difference.

2. Back in 2.7, when we set up the left navigation we put Pages at the bottom of the content nav section because in testing 2.5/2.6 so many people complained about accidentally clicking Posts/Pages by accident because they were close together in the old UI and both started with P (blame it on capital_p). Because of this, Pages falls below the less-frequently accessed areas of Media and Links, and people don't necessarily see it right away because they expect it to be higher up.

I've been testing out two changes to the left navigation aimed at reducing these two issues on my test blog for some time now, and have been using it during demos with both new and existing users to great success, so I think it's time to propose it for core.

Change 1: Change the Posts label to Blog. All Posts can remain as is, or could be reduced to just Posts, since the reason we added the All in the first place was that Matt thought it looked weird to have the same word shown twice. 

This change reduces the amount of time it takes me to get a new user really understanding the difference between posts and pages by about 75% (very informal testing, have kept track with about 30 new users by just keeping an eye on the computer clock to see how long it is before we move on). The dynamic blog/static site difference is much easier to grasp when they see that familiar word Blog instead of Posts because ""posting"" is an action that applies even to static content, and even posts are displayed in web pages (vs Pages).

Change 2: move Pages up the menu to sit below Blog, so the two most important content types are at the top. Since they wouldn't look similar (ha ha capital_p) there would be much less risk of accidental misclick based on letter shape (poor manual dexterity would not be affected, but in that case those people are already clicking the wrong things, right?)

I've attached a screenshot showing what the navigation would look like with these changes. ",jane
23091,Need to remove deprecated get_bloginfo('url') from _fix_attachment_links() function,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2012-12-31T01:57:33Z,2013-01-29T21:51:19Z,"get_bloginfo('url'); is deprecated.
Should be home_url();",hexalys
22589,Network Admin + Ajax requests,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-26T09:12:18Z,2012-11-26T14:40:53Z,"Currently there is no Network admin based ajax handler, forcing plugins which exist solely within the Network Admin to either use `wp-admin/admin-ajax.php` or using the `load-{$page_hook}` hook to perform any actions.

This is primarily a problem when the plugin only includes code on a conditional such as `is_network_admin()`, which would be false for a `/wp-admin/admin-ajax.php` request, as a result, only the `load-{$page_hook}` option above is viable for those.[[BR]]
As a work around, plugins can include code on `is_network_admin() || DOING_AJAX` to allow the usage of admin-ajax.php.

Of course, the User Admin also suffers the same issue.

I didn't see any previous tickets, and kind of want to say the existing 'workaround' is appropriate, but recording it here so we can at least close it as wontfix if appropriate.",dd32
16031,New bulk actions hook missing catcher behavior,,Administration,3.1,normal,normal,Future Release,enhancement,assigned,,2010-12-29T20:31:04Z,2013-03-12T16:47:57Z,"The new bulk actions filter allows you to modify the bulk-actions arrays, but neglects to add the ability to handle the new custom actions. 

The fix is to simply add one new do_action() hook to the default case of each affected page (similar to the way 'wp_ajax_' handles custom ajax requests).

For example, the following might be added to users.php at line 285, immediately after <tt>default:</tt>

do_action( 'bulk_action-'. $wp_list_table->current_action() );",Veraxus
12670,Non-standard htaccess filename breaks mod-rewrite setup,ryan,Administration,2.9.2,normal,normal,Future Release,enhancement,assigned,has-patch,2010-03-22T17:44:41Z,2010-04-17T23:38:54Z,"I use a non-standard .htaccess filename and thus the mod-rewrite for permalinks didn't work for me as the admin script wrote to a file called .htaccess - this also made my wordpress site throw an HTTP 500 error due to the ""missing"" .htaccess file

I think it would be worth adding a check to see what the .htaccess filename is before writing it (the Apache config var is called ""AccessFileName"")

I have worked around the problem by creating a symlink from the filename I use to .htaccess.",thedotproduct
18596,Not possible to filter comment screen by post type,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T16:50:33Z,2011-10-03T20:41:20Z,"The `post_type` query var has no effect on the Comments screen so it's not possible to filter this screen by post type.

I'll work on a patch.",johnbillion
23680,Obsolete function previously used in Theme Editor,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-04T03:15:56Z,2013-03-04T03:15:56Z,"`get_real_file_to_edit()` is unused since [12063] and should probably be deprecated: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/file.php#L96",SergeyBiryukov
19114,Optimise admin css colors,,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,,2011-11-02T11:16:11Z,2012-12-24T11:26:56Z,"It is really pain to create own admin color pallete, as the current ones are too complex. E.g. in current colors-fresh.css you are using circa 90 colors, many of them almost identical so noone can see the difference (especially when they are on different pages, places) and you are also using different naming conventions

6hexa #666666

3hexa #666

color name black

and also different case in hexa e.g. #FFFBCC vs. #f1f1f1

IMO the default number of different colors could be decreased to about half without visible concerns and also standardising naming convention would help for creating own themes",thomask
21774,Page attributes structure,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-02T14:58:57Z,2012-10-08T17:45:53Z,"Currently, the ""Page Attributes"" module is organized like this:

* Parent
* Template
* Order

Wouldn't it make more sense to put ""Parent"" and ""Order"" together, as both are closely similar and related to the site structure?

We could have:

* Template
* Parent
* Order

or maybe

* Parent
* Order
* Template",Lorangeo
16122,Paging in link-manager,,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-06T10:11:07Z,2011-08-06T14:42:39Z,"I think it would be a good idea to have paging (""Show on screen"" option) in the link-manager like in pages, sites, media a.s.o.",jezze
18833,Pass raw data into save_post/wp_insert_post,rmccue,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-01T09:15:14Z,2011-10-02T02:24:01Z,"Almost all tutorials about custom metaboxes (in addition to post meta) use `$_POST` to get the data that was submitted. Unfortunately, this breaks if a plugin uses anything that calls `wp_insert_post()` in the same request.

The patch attached here includes the `$postarr` array, which is the raw data passed in, and which is `$_POST` from `wp-admin/post.php`. This allows one to use the third parameter to the callback to set meta data instead of having to use `$_POST` directly.",rmccue
7395,Plugins within a folder (in SVN) should be moved up a level in our plugin upgrader,DD32,Administration,2.6,high,normal,Future Release,enhancement,new,,2008-07-24T04:15:58Z,2010-02-13T02:02:12Z,"The Paged Comments plugin exists in SVN under a 'paged-comments' directory.  Since the auto-upgrader puts plugins into a directory based on their slug, this results in the plugin being under two 'paged-comments' directories.  We should be able to identify when a plugin's trunk (or current branch) directory contains only another directory, and move the whole plugin up a level.",markjaquith
6106,Post slug improvements,markjaquith*,Administration,2.5,normal,normal,Future Release,enhancement,accepted,,2008-03-05T21:08:21Z,2011-09-09T00:02:15Z," 1. ~~Right now, a post ID is shown as the post slug unless a slug is manually entered.  Instead, it should show the dynamic slug generated from the title.~~  Ideally, as the title is updated.  (maybe using onblur to see if the typed-in title has changed, and doing a quick AJAX request to see what the dynamic slug would be).
 1. There is no way to tell the difference between a tentative slug, and a locked-in slug (either by choice, or by hitting ""publish"").  Perhaps the highlighting could go away and the slug could be bolded to indicate that it is set.

",markjaquith
19711,Posts edit list window display no information about filtering,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-01-02T16:39:30Z,2013-01-22T15:09:32Z,"The ""All Posts"" page lists the available posts.

It can filtered by authors or terms, for example by clicking on a category name or the author name next to a post.

The URL will change to apply the filtering, but there's no other visual indication of  the filtering, nor a link to quickly disable filtering.

This can lead to confusion when users are accessing filtered lists directly or via links in other part of the dashboard.

",yoavf
6286,"Proposed changes to ""E-mail me whenever"" Discussion Options",,Administration,2.5,normal,normal,Future Release,enhancement,new,has-patch,2008-03-18T19:14:55Z,2013-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
13924,Provide 'reasons to update' text with core update notice in GUU,,Administration,3.0,normal,normal,Future Release,enhancement,new,,2010-06-16T19:39:25Z,2010-10-28T09:38:35Z,"Just like plugins can enter some text to ID why they should be upgraded, we should have this for core. ",jane
23444,Publish actions not readily available after scrolling when editing a post,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-11T01:37:14Z,2013-02-11T02:26:42Z,"When editing a post in 2-column mode, the user is forced to scroll to the top of the screen. As publishing is always the final action while editing a post, the user should have the metabox available regardless of the user's scrolling.",ericlewis
22198,Realigning the Discussions Settings page,,Administration,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T14:50:34Z,2013-01-22T03:01:36Z,"[I looked for some tikets for this but didn't find any directly related, so hopefully I haven't missed a big one out there floating around.]  

The Discussions Settings page (options-discussion.php) always trips me up when setting up a new site. There's a lot of options, descriptions, directions, etc on that page — much of which is probably unavoidable. When I visit it, I always think that the hierarchy isn't quite right. 

To help with this, I thought of two half-measures. 

1. A very simple solution: 

Put the ""Allow people to post comments on new posts"" at the top of the options list, with a little space below it. That would make that option the most prominent on the page, without making it stand out too much. 

Like this:
[[Image(http://f.cl.ly/items/3e0c062W0N1l3J2D0q0Y/Screen%20shot%202012-10-15%20at%2011.56.02%20AM.png)]]


2. A more involved solution: 

I really like the new click-to-reveal-the-options at work in the ""Page on Front"" (#16379) workflow and thought it might work well here. 

*Something* in this direction:  
[[Image(http://f.cl.ly/items/022A1G3k0O3q0g1u380L/Screen%20shot%202012-10-15%20at%2012.12.09%20PM.png)]]


The first could be accomplished for 3.5, but the second re-working could be a further down the line item. 
 
",saltcod
17906,Refactor submit box code,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-27T13:27:34Z,2011-06-28T16:01:10Z,"The code for the post submit metabox is a mess. It should be cleaned up, so that changes such as #17028 can be done more easily.

Will post a patch shortly.",scribu
16774,Remember list view/excerpt view setting,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-06T13:37:18Z,2012-07-03T19:43:23Z,"I love the new excerpt view, except that the next time I go to the Articles page, it shows me the list view again. The selected view should be retained as a setting.",texttheater
10970,Remove 'siteurl' setting from options-general.php,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2009-10-17T18:52:10Z,2012-11-16T16:26:34Z,"From #10957:

azaozz:
> Better to fix the cause for this: ""WordPress address"" (siteurl) shouldn't be changeable from Settings->General at all as it cannot be set safely there. Most users would just break their blogs if they change it.

> It is set at install and only needs changing when WordPress is moved to another domain or (sub)directory. This happens very rarely and there are other (better?) ways to set siteurl.


Denis-de-Bernardy:
> in this case, we need to make sure the www. pref is passed on to the site_url. else we're bound to get massive bugs (e.g. #9873)
",scribu
14333,Remove page order UI,,Administration,3.0,normal,normal,Future Release,enhancement,reopened,dev-feedback,2010-07-17T03:10:23Z,2012-09-02T23:01:02Z,"Unkile posts, in pages we can order and re-order the pages (using ""menu_order"" field in ""wp_posts"" table).

But since the new ""Custom Menu"" feature was introduced, do we realy need the page ordering?

We can create new menus, add as many pages as we like and re-order them as we like (this is the purpose of menues).

If we can do this using menus, then we can delete the ordering feature from the page editing screen.",ramiy
22827,"Remove profile page ""Visual Editor"" setting right margin",,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T16:31:58Z,2013-03-15T09:09:32Z,"I assume this once has been added to align with the profile page ""Admin Color Scheme"" setting, but for consistency with other settings my request to remove it.

Some screenshots:

http://cl.ly/image/3t3k1w3y2Q1D/8-12-2012%2016-26-26%20ltr%20after.png
[[BR]]
http://cl.ly/image/420C1i1c1f2n/8-12-2012%2016-21-26%20rtl%20before.png
[[BR]]
http://cl.ly/image/3H3R0u080I0Q/8-12-2012%2016-25-14%20ltr%20before.png
[[BR]]
http://cl.ly/image/183U2g3x381I/8-12-2012%2016-21-26%20rtl%20after.png

Please note this is my first patch, and thus I'll probably mess up something somewhere. Terribly sorry about that.",corvannoorloos
18788,Remove redundant type attributes from script and style tags,,Administration,3.3,normal,normal,Future Release,enhancement,new,has-patch,2011-09-27T06:54:02Z,2013-04-15T10:28:35Z,"Now that the admin is using the HTML5 doctype everywhere, the `type=""text/javascript""` and `type=""text/css""` attributes on script and style tags are unnecessary (if they weren't anyway), and I think they can be safely removed to trim a few hundred bytes from core. Should be a simple search and replace exercise.",solarissmoke
17542,Remove upload file after deleting custom background,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-23T08:49:25Z,2011-05-23T14:40:13Z,"I came across a comment on custom-background.php that says 
//@todo: uploaded files are not removed here.

So, I thought I will come up with this codes for the upload file deletion if user remove background.

Attached custom-background.diff

I had tested on my localhost.

Hope this contribution is useful.

Thanks.",denzel_chia
23427,Restore shift-click checkbox range selection,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-02-08T19:35:32Z,2013-02-26T16:48:58Z,"It used to be possible to select a range of checkboxes in the post list by shift-clicking (see #6541). I'm not entirely sure when this feature disappeared, but it's been a while.

Patch restores the functionality using the [http://www.sanisoft.com/blog/2009/07/02/jquery-shiftcheckbox-plugin/ ​jQuery shiftcheckbox plugin].",sillybean
12432,River of comments in the Recent Comments dashboard module,garyc40,Administration,,normal,normal,Future Release,enhancement,assigned,has-patch,2010-03-01T00:23:32Z,2011-03-23T17:24:45Z,"See #11891, the 3.0 effort.

Upgrade the Recent Comments dashboard widget to pull in the 'river of comments' instead of only displaying the configured value (which winds up empty if you delete or spam those 5).",nacin
16413,Settings page needs HTML refactoring and UI improvements,nacin*,Administration,3.1,normal,normal,Future Release,enhancement,accepted,,2011-01-30T20:22:09Z,2013-05-21T17:50:22Z,"The settings pages haven't had much attention or improvement in a while.

We need to refactor the HTML on the settings pages, as they are still using tables instead of divs.

We also want to make some minor UI improvements including:
- clearer differentiation between option groupings
- using consistent text styles for descriptions and links (including the time zone/date format comment)
- restructure for better readability

Comment if you have any other",chexee
14858,Shortlink On Posts Edit Summary Screen,,Administration,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-09-12T23:08:43Z,2013-01-22T17:32:34Z,"We've got a very handy button on {{{/wp-admin/post.php}}} to get the posts shortlink, but that involves going into the post as if you want to edit something!

So on {{{/wp-admin/edit.php}}} would it not be appropriate to add some kind of link/button where we can get without needing to go in and edit the post? - Meaning it doesn't need to load any content, possibly add yet another auto-revision, and such...!",markmcwilliams
19609,Show the 'Mine' filter on the manage posts screen for all users,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-19T08:01:36Z,2013-04-04T17:42:04Z,"Authors and Contributors get a handy filter on the manage posts screen called 'Mine' which shows just that user's posts. It's also the default view for those user roles.

Editors and Admins don't see this filter at all. It'd be nice if it was available, even if it's not the default view like it is for Authors and Contributors.

If no-one else wants to then I'll look at doing a patch after the holidays.",johnbillion
7615,Show theme name when selecting page templates,,Administration,2.7,normal,normal,Future Release,enhancement,new,has-patch,2008-08-27T20:12:39Z,2009-11-20T20:33:10Z,"Currently, if a child theme inherits some templates from its parent theme and adds some itself, it's not clear when selecting a page template which templates are from which theme. The attached patch adds the theme name in parentheses after the template name.

This is just something that struck me might be an issue, so feedback on whether there is actually a real benefit to the added complexity would be welcome.",ionfish
9117,Spam queue doesn't distinguish between filter sources,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2009-02-12T22:50:51Z,2012-06-19T19:23:07Z,"1. On the Settings / Discussion tab, go to the Comment Blacklist box, and add the string ""the"".

2. Post a comment containing the word ""the"".  It will be caught as spam.

3. Visit the Comments / Spam tab.  Your comment is there, but there is nothing to indicate whether it was caught by the Comment Blacklist, or by Akismet, or by another spam filter.

Result: neither the user nor WordPress knows how to prevent that comment from being caught in future.  Many users will forget about the Blacklist feature and assume their spam filter plugin is faulty.

Suggested fix: comments caught as spam should record the reason.  This should be displayed to the user, and used internally by spam filter plugins to decide how to handle false positives.

",tellyworth
20052,Support sprites for admin menu icons in register_post_type and add_menu_page,,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2012-02-15T23:14:45Z,2012-12-14T23:49:22Z,"We should encourage developers to maintain a consistent and beautiful admin UI by making it easier to register sprites with black and white and color versions of icons for the admin menu, namely in `register_post_type()` and `add_menu_page()` (and its wrappers).

Related: We should also do an education push and create an external web tool to make it easy to generate a properly sized, colored, and positioned sprite.

Related tickets: #20036, #19886",helen
18590,"Swap out ""return false"" JS calls for preventDefault",,Administration,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-05T03:43:16Z,2012-12-10T23:12:00Z,"While trying to hook into someone clicking the expand/collapse arrow in the nav menu UI, I realized that the existing Javascript is using `return false;` to abort the hyperlink click from going through.

[http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ This is bad and incorrect.]

We should be using `object.preventDefault()` instead so that other bound functions aren't aborted.",Viper007Bond
16369,Tag to category and categories to tag converter links,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-25T10:44:06Z,2011-01-25T13:44:28Z,"In the Post Tags and Categories pages, links are made available to direct the users to the Categories and Tags Converter in Tools.

While it is normal that these links go to the Tools>Import page as long as the Categories and Tags Converter is not installed, once it is, the links should go one step further and bring the user directly inside the Categories and Tags Converter.",paolal
20901,Taxonomy descriptions should be TinyMCE editable,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-11T07:49:17Z,2013-05-16T10:16:18Z,"Right now taxonomy descriptions are filtered heavily for HTML and are output as a simple textarea, making it impossible to make those into ""nice"" tinymce editors without a kind of hackish plugin. 

I'd be in favor of making taxonomy descriptions tinymce by default.",joostdevalk
7485,Terrible UX design on XFN section of Write->Link pages,,Administration,2.6,normal,normal,Future Release,enhancement,assigned,dev-feedback,2008-08-08T17:02:49Z,2012-01-06T01:43:58Z,"Regarding the XFN section on the Write-Link pages:

The UX on this section is fairly terrible. We give the user an editable ""rel"" field and then don't let them edit it via javascript. Note that if you disable javascript and then edit that field, then your changes are indeed saved and then even show up on the resulting pages correctly. That javascript just won't let you manually edit the field. 

I propose that the javascript on this section be changed to allow manual editing of that field, and to make the checkbox/radio sections just add/remove the relevant bits from the field when they are selected/deselected. Result should allow user to manually insert stuff into the rel field and leave those manual insertions unaltered when changing the radio/checkboxes, unless they conflict with the selections being made directly.

Also, side note, would be nice to add a nofollow checkbox to this section as well, to allow easy addition of nofollow to the rel field, which would be handy for the somewhat over-controlling SEO oriented people. ;)
",Otto42
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
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
19123,Top and bottom pagination should be consistent,,Administration,3.3,normal,normal,Future Release,enhancement,new,,2011-11-03T02:39:23Z,2012-12-24T11:45:33Z,"The top pagination on Install Themes and Install Plugins is the new style (box to type in page number), but for some reason the bottom pagination is old style. These should be consistent. IIRC, the bottom ones were reverted because there was a bug we couldn't solve in time for that version's launch, but we never came back to fix it. Both top and bottom should allow text entry of page number.",jane
16243,Unhelpful error messages when updating default category,,Administration,3.0.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-01-15T12:23:36Z,2011-12-07T07:15:45Z,"If we try and change the default category slug to one that has already been used we get conflicting error messages between quick edit and full edit.

If you use Full Edit you're simply told ''Item Not Updated'' however, if you use quick edit, you are informed that the slug has already been used.

The full edit error message is, I think, on line 223 of wp-admin/edit-tags.php - I'm unable to find where the error message for the quick edit functionality is, however.

Having correct and useful copy in error messages is vital, especially for relative newcomers to WP.

This oversight was found by Relly Annett-Baker (@RellyAB on twitter) - one of the best copy writers and content strategists out there. Perhaps we could look at overhauling the error messages and ask (someone like) Relly to give them a once-over or offer advice on them.",iamfriendly
22633,Update Icon Inconsistency,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-29T11:37:57Z,2012-11-29T14:44:27Z,"The update icon at the moment is 2 arrows in a circle in the admin bar ( aka the refresh icon ). In Network Admin it's a pair of tools.

I'd suggest we change these to the same icon rather than have 2 inconsistent icons. I'd also suggest we use a single arrow as the new icon, a refresh/recycle icon isn't as clearcut as it could be ( and what if a caching plugin implements a refresh button to the admin bar? ).

We could follow Google by using an arrow pointing upwards, or we could follow Apples convention with a downwards pointing arrow in a circle",TJNowell
23601,Use ACE Code Editor for Theme and Plugin editors,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-25T06:56:00Z,2013-03-21T21:33:49Z,"Ace is an embeddable code editor written in JavaScript. It's the code editor used on GitHub and is actively developed by Mozilla. Its license is Modified BSD which is compatible with GPL. 

The plugin and theme editors in their current state are lame. Upgrading the experience with ACE could lead to a more robust file editing solution in the admin. Perhaps, ability to add files?

Here's the link to the project:
http://ace.ajax.org/",wonderboymusic
23731,Use jQuery Menu Aim to improve responsiveness of our admin menus,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-09T16:00:11Z,2013-03-15T21:01:34Z,"This is a fantastic read: http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown

And it resulted in an MIT-licensed jQuery plugin that we should absolutely consider using to improve our menus: https://github.com/kamens/jQuery-menu-aim",markjaquith
22466,Want to View Pending Comments From Dashboard,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-15T18:49:39Z,2012-11-19T16:25:06Z,"This is a very awkward aspect of WordPress that I'm just attempting to articulate for the first time:  In the Recent Comments dashboard widget, there is no way to view fully the pending comments.

What it should link to:

* View Comment
* View Post
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

What it does instead:

* Visitor's site or e-mail address
* Edit Related Post
* View Related Post
* Reply to Comment
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

So there are several obvious points of confusion here.

Why would I want to reply to a comment that is pending approval, still hidden, and not even fully displayed to me?

Why can't I see the whole comment?  It only shows me an excerpt here, and in order to actually read the comment I have to click over to Comments on the admin menu and find what I'm looking for manually.

Why does the most prominent link for the comment take me to the post editing screen?  When is this ever useful?

Why is the post link displayed as a tiny little ""#""?",miqrogroove
21189,We should improve the nonce failure page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-08T09:07:17Z,2012-07-08T13:14:00Z,"Currently when a admin nonce expires, in most cases we catch this condition using `check_admin_referer()` which presents expired nonces with a rather ugly uninformative error message:
[[Image(http://f.cl.ly/items/26271g453h2y0K393Y1l/Screen%20Shot%202012-07-06%20at%2012.14.25%20PM.png)]]

I'd like to propose that we make this page a bit nicer to end users - who although are unlikely to hit it (I hope) it'd be nice to let them know what's actually happened.

My initial approach would be to change the page to 
- Include a !WordPress logo, and a link back to the Admin area
- Change the message to something like ""The link you've followed has now expired, In order to complete the action you were performing, please return to the previous page, refresh it, and attempt to follow the link again."".
- In the case where this is happening within the !WordPress admin, it would make sense to have some kind of UI on the page as well - This can currently be done by not using `check_admin_referer()` and using `wp_verify_nonce()` directly and redirecting to an error page.

The current message could often cause confusion, as of course the user wants to do it (They just followed a link!) but as there's no continue button, they're left confused.",dd32
16856,"When registering custom post type, menu_position isn't honored if it's a number passed as a string",,Administration,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-03-14T16:52:18Z,2013-03-31T02:52:15Z,"When registering a custom post type, if you use '50' instead of just 50, is_int() will fail and the position will be set to ++$_wp_last_object_menu. Seems safer to use isset() instead, since position doesn't technically need to be an integer. ($menu gets sorted before being output, and '50' is the same as 50 in that case)

This has the added benefit of allowing MANY more spaces in the $menu variable. For instance, if you passed '50.555' as menu_position, there's very little chance that this will conflict with another theme/plugin register a custom menu or custom post type, and will successfully go between 50 and 51 in the $menu array.

There are currently no checks on $position when using add_menu_page() ... but the checks on register_post_type() currently make this an invalid universal solution.

Personally, I don't see a downside to letting menu_position be a string. Anything other than a number (whole or decimal) will just go to the bottom of the $menu array, anyway, after the sort.

I'm submitting two patches ... one is type independent, and the other casts menu_position as (int) after the isset() check.",nathanrice
24252,Windows Phones are ignored by wp_is_mobile,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-02T21:49:13Z,2013-05-07T18:46:30Z,"Reported in the forums by vaibhav3 - http://wordpress.org/support/topic/wp_is_mobile-returning-false-values/

wp_is_mobile() doesn't have an 'If Windows Phone' clause which throws off some phones which apparently don't have a 'mobile' fall back.

Attached is a patch that adds it in.",Ipstenu
17851,Wrapping Sections with add_settings_section,,Administration,3.1.3,normal,normal,Future Release,enhancement,reopened,has-patch,2011-06-20T03:09:34Z,2011-09-28T18:09:53Z,"This is my first time reporting, so excuse my ignorance. I just wanted to see about enhancing the add_settings_section function.

As of now, individual sections are not wrapper in any sort of container, which makes no sense to semantic sense to me. Sections should/need to be styled differently, but as of now, you really don't have much control of that.

I propose something similar to the register_sidebar function, looking like this:

add_settings_section( $id, $title, $callback, $page, $args )

$args would accept 3 parameters: before_section, after_section, and section_class.

This way you can style each individual section with relative ease. Just a thought and enhancement to the Settings API.

Thomas",griffinjt
23501,add filter for post count query in WP_Posts_List_Table,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-02-18T14:02:40Z,2013-02-18T19:09:48Z,"I've a custom post type ""products"" with a custom taxonomy ""manufacturers""
I've hooked the parse_query filter when fired from edit.php because I've wanted to show posts based on current user criteria (user can edit only products belong to specific manufacturers).
Everything worked as expected, except for the post count in the table header that shows total amount of posts (not a filtered count).
Digging into the code I've found that inside WP_Posts_List_Table constructor ([http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-posts-list-table.php#L59])the following code is performed:

{{{
$this->user_posts_count = $wpdb->get_var( $wpdb->prepare( ""
				SELECT COUNT( 1 ) FROM $wpdb->posts
				WHERE post_type = %s AND post_status NOT IN ( 'trash', 'auto-draft' )
				AND post_author = %d
			"", $post_type, get_current_user_id() ) );
}}}

I think that the simplest solution is to add a filter for the count query. By this way is possibile to customize the query that reflects the effective post count.",cardy_Web
19828,allowing to insert help tab in specific position,,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-13T21:50:15Z,2012-03-01T17:22:32Z,"this enhancement of add_help_tab() would allow plugin developers to insert help tabs on existing screens at an arbitrary position, e.g. place it on the ""Writing Settings"" screen's help tab between the ""Overview"" and ""Press This"" tabs

the patch attached includes the bugfix from #19827, but this enhancement can be rewritten to work independently",tfnab
11705,get_media_item()'s $form_fields do not allow for <select>,,Administration,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-03T21:48:51Z,2010-02-18T12:19:45Z,"get_media_item() of wp-admin/includes/media.php does not allow for <select>-style fields. This makes extending the ""Edit Media"" screen via the ""attachment_field_to_edit"" filter difficult for plugin authors to extend.",johnl1479
18850,hidden admin page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:43:12Z,2012-07-30T16:22:40Z,"it should be possible to create a hidden admin page.

this is useful for pages, that require parameters which are better inserted in other pages (e. g. using the post_row_actions filter).

if this is already possible, it should be documented somewhere where it might be found.

(btw: i'm not sure, what the difference between feature request and enhancement is. please redeclare as fit)",ibotty
17642,hook for category edit needed,cardy_web,Administration,3.1.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-06-01T16:44:50Z,2011-06-01T16:44:50Z,"I think is needed an hook inside admin-ajax.php (line 1226) case 'inline-save-tax'
When you use ""quick edit mode"" to edit category no hooks get involved so function hooked into {action}_category are never called.
Instead everything work well using classic edit mode",cardy_web
18786,meta_form() should place some restrictions on meta keys,,Administration,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-09-26T22:37:58Z,2013-04-22T21:12:23Z,"meta_form() echoes out all meta keys into a dropdown for the custom fields box, unless they start with an underscore (as bound by the query).

We should consider is_protected_meta( $key, 'post' ) and/or current_user_can( 'add_post_meta', $post->ID, $key ). This isn't a security thing, just an opportunity to hide some things from the user they don't need to see.

On the other hand, it's definitely a number of extra calculations. is_protected_meta() is light as long as there's no filter on things (and if there is, we probably want to know). current_user_can() might be a bit more weight than necessary here.",nacin
7422,"pass $post_id to filters in sanitize_post_field() on post updates - same for users, etc.",,Administration,,normal,normal,Future Release,enhancement,new,has-patch,2008-07-28T21:18:05Z,2010-07-15T12:17:01Z,"the function sanitize_post_field in wp-includes/post.php calls most of the ""database writes"" post filters (e.g. content_save_pre). if a post is updated or created, the function is called in a database context ('db' == $context) and the $post_id argument is not passed to the ""database writes"" filters. while i understand this behavior on post creation ($post_id not yet available) it seems to me that on a post update the $post_id is readily available and could/should be passed to the filters as well.

an example where this would be useful is a case where i want to access a custom field value of a post that is currently being updated from the function hooked into content_save_pre. in its current form without the $post_id argument this doesn't seem to be possible.",whoismanu
18710,post_deleted_messages filter,nacin*,Administration,,normal,normal,Future Release,enhancement,accepted,has-patch,2011-09-19T21:19:21Z,2012-06-11T13:05:21Z,It would be nice to be able to updated post deleted messages like you can through the post_updated_messages filter.,jgadbois
16283,post_exists() enhancement - don't include revisions,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-01-18T13:33:51Z,2011-07-17T02:04:03Z,"The current post_exists() function to me has a major downside.  By default all it does it search for title, content and/or date in the wp_posts table.

The problem with this is that it includes revisions.  So for example if you have a post with title ""ABC"" but then later change it to ""DEF"", post_exists(""ABC"") will still return true with the post ID of the revision.

I would suggest either:

 a) Adding post_status not equal ""inherit"" as a default to the function.

 b) Adding a 4th parameter which allows you to pass the post_status value in.

I would be happy to code this if anyone has any feedback on what would be the best approach.",durin
18851,search form in edit.php should keep parameters it does not understand,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:48:17Z,2011-11-15T11:29:40Z,"the component is class-wp-list-table.php.

if you carry along some kind of status in the url in the post list (e.g. url=https://example.com/wp-admin/edit.php?post_type=post&my_status=""abcdefg"") the search field should not remove the parameter.",ibotty
14561,wp-admin/edit.php tags of post are hard to compare,,Administration,,normal,normal,Future Release,enhancement,new,,2010-08-08T08:25:02Z,2010-11-18T10:13:25Z,"To get an overview about tags used between articles on the post listing in the admin is hard to achieve by the user because they appear not to be ordered.

A solution could be to sort them alphabetically. That done, it's easier for the user to compare the usage of tag distribution accross the listing.",hakre
18287,wp-login.php - Logo URL should be relative (affects MultiSite),,Administration,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2011-07-29T00:31:49Z,2013-05-05T04:50:28Z,"If you go to your domain.com/wp-login.php page it has a WP logo that links back to domain.com

If you're using multisite and go to subsite.domain.com/wp-login.php, it links back to domain.com

If you're using multisite and you MAP a domain and go to mappeddomain.com/wp-login.php, it links back to domain.com

I can see why this would have been done.  It points to network_home_url() which is perfectly sensible for MOST situations.  But maybe we should just honor the site on which people are trying to login, so that it's all relative.  Given the link on the bottom (back to...) goes to the relative site, this is a logical change.  I would say to keep the EMAILS for password resets as is, since the network is in charge of it all, but the front end interface should be consistant.

I did a quick test and this works fine on Single and Multi (as expected). So ... here's my first diff!",Ipstenu
15384,wp-login.php refactor,,Administration,,normal,normal,Future Release,enhancement,new,early,2010-11-11T12:40:35Z,2012-05-31T21:40:02Z,"wp-login.php needs some serious work. When looking to do some improvements in #5919, I realized I literally needed a goto in order to achieve the goals outlined in this comment:

http://core.trac.wordpress.org/ticket/5919#comment:39

I am thinking a WP_Login class with some methods that can handle various different forms, POST handling, and rerouting.",nacin
17517,wpLink should show tags and categories as results too,,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-19T19:38:36Z,2011-05-21T12:06:36Z,"sometimes you make a series of blogpostings about a topic with one unique tag. 

wpLink (the link assistant in wp 3.1) is very useful for finding ""old"" content, but when you want to link a tag or category you have to type in the url yourself or paste it

Possible solution:

Tabbed interface:
Tab 1 for Posts/pages
Tab 2 Tags/categories",hebbet
24119,A uniform approach to Plugins / Themes settings,,Administration,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-18T07:28:14Z,2013-04-26T22:16:55Z,"Yesterday [https://irclogs.wordpress.org/chanlog.php?channel=wordpress&day=2013-04-17&sort=asc#m2987650 in IRC] (#!WordPress), we had a conversation about rules that would help make plugins and themes easier to use, which in turn would make !WordPress easier to use.  

There isn't a rule or guideline whether a plugin should make a tab or link under settings or if it even has to do any of the above. We all agreed that all plugins should have a link under settings. If the plugin enhances a different part of the site, the settings page could just tell you where the plugin feature is located. 

We also agreed that themes should put features like a static front page under customize like most already do, though I heard Responsive doesn't. I was told it puts static front page under settings. If it is a theme feature, then logically you should be able to at least find a link to where the features are under themes. 

Implementing general rules for plugins and themes would make !WordPress easier to use. Does anyone else agree?
    ",ryansatterfield
21925,Ability to upload multiple .zip files to install in bulk,,Administration,,normal,normal,Awaiting Review,feature request,new,,2012-09-19T12:40:09Z,2012-09-28T08:03:18Z,"It'd be nice to have a drag-and-drop or similar functionality to the Media Uploader to be able to select 5, 10, 17 plugins/themes to upload several .zip files at a time.

Of course, if a folder already exists or if you upload a theme .zip to the plugins page or something like that, then display the appropriate error(s). Otherwise, display the success notification per install.",cliffpaulick
12801,Add Info link to plugins management screen,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-04-01T19:08:40Z,2013-01-22T01:40:01Z,"Related to #11050 but instead of the search results, on the regular plugins.php screen. Add ""Info"" link to left of Activate/Deactivate action links, which brings in the tabbed info from the repo. If not from the repo, link does not appear.",jane
21665,"Allow non-editable pages to be classified & organized as ""System Pages""",,Administration,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-08-23T01:08:34Z,2013-01-22T03:21:44Z,"We currently have no means of distinguishing regular “content” pages (pages that users can edit) and pages that are used as placeholders for custom templates / dynamic content.

As alexking mentions in #17470, users are often confused when they attempt to edit these ""placeholder"" or ""dummy"" pages only to find that the pages appear empty from within the page editor.

While his ticket concerned the ""page_for_posts"" page specifically, this issue is equally relevant to custom page templates that do not make use of user-generated content via the page editor.

isaackeyet proposed a solution [http://core.trac.wordpress.org/ticket/17470#comment:4 in that ticket] which introduces the idea of classifying such pages as ""System Pages"", which would offer a more limited set of options for how they can be changed:

>Idea to solve this permanently as brought up in the UI chat July 10 2012:
>
>* Pages have a new, hidden meta field to indicate ""System Page"" or >something that better describes it. Pages are marked System Page when >WP is using it as a placeholder for a custom blog set up, or a plugin >can use it to indicate a page is used for a contact form (for >example).
>* Pages are highlighted with a meta description in the pages list, >indicating why it's there (created by? reason?)
>* Most importantly, these System Pages are grouped in the pages >filter to be excluded from the regular list, so the list may read >""All | Published | System Pages"", which should be a better long term >solution for this ticket specifically (user confusion).



",bootsz
12273,Better support for sites with LOTS of pages,,Administration,2.7,normal,normal,Future Release,feature request,new,,2010-02-18T15:10:02Z,2011-04-18T14:41:23Z,"The default page listing is inadequate for sites utilise Pages as their main content type.

An option to collapse the page listing and hide ""all"" sub-pages (only showing top-level) would dramatically improve the UI making it easier to find pages within the WordPress structure.

'''Example:'''

''Current Page View''

{{{
Page 1
-SubPage 1.1
--SubSubPage 1.1.1
--SubSubPage 1.1.2
-SubPage 1.2
-SubPage 1.3
Page 2
-SubPage 2.1
-SubPage 2.2
--SubSubPage 2.2.1
--SubSubPage 2.2.2
}}}

''Proposed Page View''

''Default View''

{{{
Page 1 [+] (< click to expand)
Page 2 [+]
}}}

''Expanded View''

{{{
Page 1 [-] 
-SubPage 1.1 [+] (< click to expand)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}

''...''

{{{
Page 1 [-]
-SubPage 1.1 [-]
--SubSubPage 1.1.1
--SubSubPage 1.1.2 (> no further levels)
-SubPage 1.2
-SubPage 1.3
Page 2 [+]
}}}
",mkjones
20013,Clean Up Touch UI for Left NavMenu / Flyouts,,Administration,3.3.1,normal,normal,Future Release,feature request,new,reporter-feedback,2012-02-10T16:30:50Z,2013-01-22T15:24:19Z,"While the flyout is mostly usable in it’s current state, it is not as intuitive as it needs to be for the best user experience. They are ineffective at best on the Kindle Fire’s Silk Browser, but work pretty well on the iPad.  We need to examine all target devices to ensure interactivity is supported cross-device.",georgestephanis
19239,Combine WordPress News and Other WordPress News dashboard widgets,,Administration,3.3,normal,normal,Future Release,feature request,new,has-patch,2011-11-12T19:01:42Z,2013-05-14T19:49:51Z,"We could lighten the dashboard by making this one widget with configuration instead of two separate ones. Anything from WordPress.org official blog would get a highlight to designate it as such. Configure would allow to choose display of both feeds or jus one, and how many items to show.",jane
22862,Consider a CSS preprocessor,,Administration,,normal,normal,Awaiting Review,feature request,new,,2012-12-11T22:01:36Z,2013-01-16T10:33:34Z,"The WordPress admin UI CSS is woefully doomed to a life of inadequacy unless we can amenably agree to use technology already available to build a better future for us and our children.

I propose the introduction of SASS for the WordPress admin styling. SASS is a CSS pre-processor that allows us to write DRY, structured, lightweight CSS. In terms of licensing, SASS is GPL-compatible, licensed under the MIT license.

'''Why use SASS over LESS?'''

The answer is simple. SASS is easier to learn and easier to use because it follows the conventions of CSS at its core. In addition, for developers itching to contribute, there are some extremely useful and easy-to-follow reference docs for SASS, making it easy to set up your local development environment and build websites.

'''What are the advantages?'''

The biggest advantage is that we can write less CSS and offer advanced features for theming the WordPress Admin UI. Developers can more easily reskin the WordPress admin.

Another major benefit is that SASS offers the use of variables within our stylesheets. For our purposes, these variables can be used to calculate layout widths, generate color schemes, font sizes, etc.

Another simple advantage is the fact that we can combine all our CSS styles into a single stylesheet, saving precious HTTP requests. In addition, we can easily minify generated CSS files in bundled versions of WordPress, saving file size and killing unnecessary white space, thus decreasing load times of the admin even further.

'''What are the disadvantages?'''

Developers will need to install Ruby and SASS in order to modify styles for the WordPress Admin. For plugin authors, we should write admin UI CSS in such a way that it is easily overridden with a custom CSS file.

In addition, developers would need to learn SASS if they are going to work directly on the styles for the WordPress admin. For the most part, once you've got the idea of variables, mix-ins, and the structure - you're ready to rock.

Last, but not least, when SASS files are modified, they would need to be compiled and committed to Core every time they change. So instead of pushing a single CSS file, you would be pushing potentially many SCSS files and a generated CSS file.

'''In Summary'''

SASS is a great way to reduce code overhead by adhering to DRY principles and will improve performance and modularity in the WordPress admin, which is a top priority.",chriswallace
20301,Enable media library access from blogroll,,Administration,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-03-25T08:50:37Z,2012-03-25T17:10:03Z,"Currently WordPress doesn't give you the option to easily add images from your WordPress plugin to your blogroll items (links). I just released a plugin to do that (http://wordpress.org/extend/plugins/blogroll-media-library-image/) and was told this would be a good one to add to core.

I would love to add a diff-file, but I have no idea how to do this.",illutic
24313,Filter Columns by View,,Administration,,normal,normal,Awaiting Review,feature request,new,,2013-05-11T01:18:56Z,2013-05-11T14:12:54Z,"After searching extensively for a way to do this, and discussing this with fellow WordPress developers, I believe I have found a feature that should be added to WordPress.

When you make a new custom post type, if you have WordPress register a UI for it, it outputs a screen named ""All XXXX's"". Within these, WordPress automatically adds filters. So let's say I've registered a CPT called Downloads. 

So I can now use the built in UI for Downloads and filter the page to show just pending downloads, or just published downloads, for instance.

However, the issue becomes what if you want to display a column for some views, but not others. For instance, if Downloads has a column called ""Sales"" where the number of sales of that particular download is stored, it makes no sense to show that column on Pending Downloads (since they can't have sales before being published).

Currently, at least after days of trying to find a way of doing this, there is no way to do this for the tables registered by WordPress. If I make my own List_Table, then I can do this.

However, there should be a way of adding columns based on filter, so that a developer who adds a column programmatically can go:
{{{
if($view != pending){
// register sales column
}
}}}

Feel free to correct me if I've overlooked a method of doing this.

-Chris",chriscct7
18848,Filter post listing screen by post parent,johnbillion,Administration,3.3,normal,normal,Awaiting Review,feature request,assigned,,2011-10-03T16:19:10Z,2011-10-03T18:56:58Z,"It's not possible to filter a post listing screen by post_parent. This would be super handy for hierarchical post types (eg. Pages) where you may have several levels of hierarchy and want to view only the descendants of a particular page. I'm not sure that we need a UI (eg. dropdown menu) for it, but a working URL query var would be great.

I made an attempt at patching this a while ago using the child_of parameter but it got complicated quite quickly, so I'm putting it out there as a feature request in case anyone feels like tackling it.",johnbillion
16434,"Give site admin ability to upload favicon in Settings, General",,Administration,3.1,normal,normal,Future Release,feature request,new,has-patch,2011-02-01T16:57:34Z,2013-02-14T18:13:55Z,"WordPress has come a long way in terms of making it possible for someone completely non-technical to create a professional web site for a person or business. One of the little things that is still annoyingly technical is adding a favicon. WordPress.com does this via the Blavatar feature, a name I wouldn't really want us to adopt b/c this is more CMS-oriented, but the ease of uploading an image, scaling and cropping it, then having it become the favicon is something I do want to adopt. Keeping it a theme-based thing means the non-technical can't control it for their sites, which is lame.

",jane
13516,Hide JS-only widgets on dashboard is no JS,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-05-24T13:16:42Z,2011-12-24T16:16:41Z,"We hide screen options and help; we should also hide these widgets instead of displaying by default with the 'you need JS' message. Affected modules: QuickPress, Incoming Links, Plugins, WordPress Development Blog, Other WordPress News. 

We should display an additional module for no-JS people that lets them know that their WordPress install would be even more awesome with JavaScript, and list out some of the features they would gain access to with JS enabled. ",jane
22056,Integrate a list of notices for newbie users,,Administration,3.4.2,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-09-30T14:39:40Z,2012-10-02T18:21:13Z,"Integrate a list of possible warnings and notices for the power-user (admin) if some problems or security thread occur, or to check if the site was infected with viruses and malicious .php files...

Example:
- Notice: GD Graphics Library is not installed, install this so the images could be resized
- Notice: Your site is not giving search engines the right to index the site, please consider changing the settings.
- Warning: An unknown file mail.php is in the site main directory, please check if you are not infected.
- Notice: Your site files permissions are set to 777, please change to 644 or 640, your site is in a security thread.
- Notice: Upload folder is not writable, please change permission to 755 for the upload dir.
- Notice: Please use a caching file plugin to make your site load faster than ever.
",alexvorn2
15289,Make it easier for a non-standard URL to be used to access wp-admin,,Administration,3.1,normal,normal,Future Release,feature request,new,dev-feedback,2010-11-02T13:27:05Z,2013-02-07T21:51:15Z,"For some sites it is vital that the admin be accessible via a path other than {{{/wp-admin/}}}. Clients sometimes require this because it is easier for their users. Also, it is useful if replacing another CMS with WordPress for the root of the admin to have the same URL, although this can be partially fixed with a redirect.

Even when not ''required'' per se, some of us prefer to use a different URL to access the admin because it is more intuitive for our users to use something like {{{/admin/}}} instead of {{{/wp-admin/}}}.

To be clear: I am not suggesting renaming the wp-admin directory, nor am I suggesting adding an option in the UI to change the path.

Rather, I am suggesting that small tweaks be ade to make it easier for power-users to enable the use of a different URL to access the admin area.

I suggest making the following changes :

'''1.''' Use relative urls within the admin where possible without affecting standard installations.

'''2.''' Allow power-users to add a constant to wp-config.php to change the path of the admin for those links which have to be absolute.

I don't think there is much work involved and I am happy to do it.

Core devs have in the past stated that the user of alternative urls to access the admin is 'not supported', but it is unclear whether this simply means that it doesn't work at the present time or that the core team is opposed to allowing it to happen.[[BR]]
If the latter is the case, I would appreciate an explanation - I'm sure there is a good reason if that is the case, but I can't for the life of me think what it could be. ;)",caesarsgrunt
14676,"Moderation email option is confusing, limited",,Administration,,normal,normal,Future Release,feature request,reopened,,2010-08-23T17:06:23Z,2012-05-22T00:53:20Z,"The setting is ""E-mail me whenever a comment is held for moderation"" but in that sentence ""me"" is inaccurate; moderation emails are sent to admin_email.

""Email the admin ($admin_email) whenever"" would be accurate.

Here's a related question: Why not send moderation emails to post authors?",andy
9057,"Need ""restore defaults"" buttons on all admin screens",,Administration,2.7,normal,normal,Future Release,feature request,new,,2009-02-06T08:50:30Z,2011-07-08T15:06:31Z,"Need ""restore defaults"" buttons on all admin screen items, else once
you change something, there's no way to get it back to whatever the
default was, or find out even, short of a total reinstall. Includes
""screen options"" items too.
",jidanni
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
12004,Select Sidebar when adding Posts/Pages,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-25T13:26:16Z,2010-01-25T23:28:01Z,"Hey all,

I think it would be a cool feature to be able to create sidebars in WP, and then when creating a page you can choose that specific sidebar.

I think that this can be accomplished by using the ''Parent'' page technique of selecting if the Page has a Parent and if so which one.

Can we develop an option to choose a Sidebar created in the Widgets panel?

Cheers,
Aron
ps: if my help is needed ( im good at design, not coding ) please contact me: info@zipyourmix.com ;)!",lsddesign
11972,Sort View Post/Pages by Column,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-01-21T21:46:27Z,2010-03-21T01:51:40Z,"Recently I discovered in WPMU in Site Admin options, you can sort for instance Site Admin->Blogs by last activity date. That is a very handy feature, and certainly would useful for a site with hundreds of nested pages. To be able to sort that list by date, rather than just title would be useful, as it sorts by title of the parent page, and finding a 3rd level child can be difficult to say the least. The search feature is lacking but that is for another ticket.  Likewise, sorting posts by category, author, etc could be useful. Since the functionality seems to already be there for sorting these type columns, and the code's been moved in already, I'd think it'd be a nominal change. I simply don't know what direction these menus are going yet to offer a working suggestion. Just wanted to get my 2¢ in before it's too late.",miklb
23575,Standard UI Classes and Functions,,Administration,3.5,normal,normal,Awaiting Review,feature request,new,,2013-02-21T09:09:27Z,2013-02-22T02:31:55Z,"It would be nice if wordpress allowed you to use the Post UI natively in my plugins, at the moment I've had to write a few classes for my Plugin Framework that mimic the Publish Metabox and Tabbed Metabox. 

As there is simply no easy way to do this at the moment, I think there should also be a better way of registering hidden menus. I have to jump through loads of hoops just to do this.

",jscampbell.05
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
18179,WP_Meta_Box,,Administration,,normal,normal,Future Release,feature request,new,has-patch,2011-07-20T01:05:50Z,2013-03-08T16:31:47Z,"Ryan, Nacin, and I would like to see a Meta Box class in 3.3. Let's make it happen.

Attached is a first pass (in plugin form, for ease). It provides a basic API and supports multiple instances. Instances are stored in a static meta box registry, which should require minimal interaction.

Keep in mind that meta boxes are not just registered on CPT pages — they are also used on the dashboard, in menus, and in custom UIs. The parent class should be suitable for each of these cases.

I think we should move caps to the main Meta Box class (and allow subclasses/instances to specify/override the cap through $args), and also provide $args to enable/disable any checks we perform before saving (e.g. autosave, etc).

It would also be interesting to integrate this with the proposed metadata API improvements.

See #15066 for prior discussion.",koopersmith
22734,do_action-post_edit_form_tag,,Administration,3.4.2,normal,normal,Awaiting Review,feature request,new,reporter-feedback,2012-12-04T18:01:27Z,2012-12-04T18:21:12Z,"Possible to add an action on the form for adding media.

{{{
File : /wp-admin/media.php
Line : 115
}}}

{{{
<form method=""post"" action="""" class=""media-upload-form"" id=""media-single-form"">
}}}

to

{{{
<form method=""post"" action="""" class=""media-upload-form"" id=""media-single-form""<?php do_action('post_edit_form_tag'); ?>>
}}}",bems78
16379,"Better UI for doing ""Page on Front""",,Administration,3.1,normal,normal,Future Release,task (blessed),new,,2011-01-26T19:47:25Z,2013-03-14T15:20:33Z,"[[Image(http://grab.by/grabs/132427e6c1166ed3e4d8214959b9568a.png)]]

This is the existing ""Page on Front"" UI. The process is as follows:

 1. Create a ""Front"" Page
 2. Create a ""Blog"" Page
 3. Select the ""Front"" Page in the ""Front Page"" dropdown
 4. Select the ""Blog"" Page in the ""Blog Page"" dropdown.

1 and 3 make sense. If you want a page on front, then you obviously need to create a page to live there, along with its content, and then designate it. But the ""Blog"" page is just a dummy. It's sole purpose is to create and maintain a URL for your blog. So why not just have something like this?

Blog URL: http://example.com/ {input box}

If a page exists in the URL they type, it gets used. If not, we create one on the fly as a dummy. This seems a more natural way of doing it. You don't care about the dummy page — you just want to choose an appropriate URL for your blog.",markjaquith
23697,Check and refresh post locks with heartbeat,,Administration,,normal,normal,3.6,task (blessed),new,has-patch,2013-03-05T18:57:10Z,2013-05-20T19:36:30Z,This will change the frequency we check post locks: 15 sec. when the user is active and 2 min. when inactive and add prominent warnings when somebody else is editing or when another user takes over.,azaozz
23216,"Create ""WP Heartbeat"" API",,Administration,,normal,normal,3.6,task (blessed),new,,2013-01-16T20:41:50Z,2013-05-20T15:00:38Z,"The purpose of this API is to simulate bidirectional connection between the browser and the server. Initially it will be used for autosave, post locking and log-in expiration warning while a user is writing or editing.

The idea is to have a relatively simple API that sends XHR requests to the server every 15 seconds and triggers events (or callbacks) on receiving data. Other components would be able to ""hitch a ride"" or get notified about another user's activities.

In the future this can be used to block simultaneous editing of widgets and menus or any other tasks that require regular updates from the server.",azaozz
18655,Responsive Admin for Small Screen Devices,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-09-13T18:44:16Z,2013-01-03T06:24:12Z,"Working off of #18198  -  Making the admin respond to small devices, phones, etc. ",saracannon
16339,pushState Test Case,,Administration,,normal,normal,Future Release,task (blessed),new,,2011-01-22T06:30:41Z,2011-01-27T09:42:50Z,"This isn't a useful bit of code, just a test case to ground future pushState work for 3.2.  Or be ignored by future pushState work for 3.2 :)

Attached is a test case for determining browser behavior when using pushState.

The numbered links use AJAX and pushState.  The ""Other"" link is a real (non-AJAX) link to an external site.

If the state of the page is refreshed via AJAX, you'll see a var_dump( $_POST ).  If the state of the page is refreshed by a page refresh, you won't.

An example of something this test says is broken in Safari 5.0.3 (6533.19.4):

 1. Load the page (state = 0: pageload)
 2. click ""One"" (state = 1: ajax)
 3. click ""Two"" (state = 2: ajax)
 4. click ""Three"" (state = 3: ajax)
 5. click ""Other"" (state = external site: pageload)
 6. go Back in browser history (state = 3: ajax or just history?)
 7. go Back (state = 2: ajax or just history?)
 8. go Back (state = 1: ajax or just history?)
 9. go Back (state = 0: ajax). Everything is fine up to this point, though it's odd we do an AJAX request to get here.
 10. refresh the page once, either by CTRL-R or by hitting enter in the URL bar (state = 3: ajax). That's wrong.  What happened? Why are we here?
 11. refresh the page a second time (state = 0: pageload). As expected.

An example of something the test says is broken in Chrome10.0.642.2 dev:
 1. Do pretty much anything.  Chrome Dev fires a popState event on the first page load.

It could be a badly written test, or a badly written implementation of push/popState handling, or both.  These are the kinds of scenarios we'll need to test, though.",mdawaffe
22857,'Header Image' state isn't removed from images previously used as header image,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-11T18:54:08Z,2012-12-11T23:04:31Z,"Steps to reproduce:

 1. Set your site's header image from Appearance -> Header by uploading an image or choosing one from your media library.
 2. Repeat step 1.
 3. Visit the Media Library and note that your previous header image still says 'Header Image' next to it.

Not a 3.5 regression as it happens in 3.4.2 too.

",johnbillion
22030,"After ""clear background-color"" in design options, still css is added to html-output",,Appearance,3.4.2,normal,normal,3.6,defect (bug),reopened,commit,2012-09-28T08:45:20Z,2013-04-22T19:12:19Z,"After you select ""clear background-color"" in design options, the default color still is added as inline css to html-output of frontend.

Tested with 3.4.2 and Twenty Twelve 1.0 theme

Steps to reproduce:

1. Look at default html-output, no inline css for background-color
2. Design -> Background -> Color, select e.g. color #123456, save
3. Look at html-output, this is added:

{{{
<style type=""text/css"" id=""custom-background-css"">
body.custom-background { background-color: #123456; }
</style>
}}}

4. Design -> Background -> Color -> Click ""clear"" option, save
5. Look at html-output, this is added with default value:

{{{
<style type=""text/css"" id=""custom-background-css"">
body.custom-background { background-color: #e6e6e6; }
</style>
}}}


Expected behaviour: After ""clear"" option is used and default value #e6e6e6 (or only a #) is shown in backend, no inline css should be included in html output of frontend.
",Ov3rfly
24032,An issue with the theme customize function and jQuery tabs,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-10T15:07:04Z,2013-04-10T18:31:50Z,"WP 3.5.1 ( same happens in the 3.6 beta-1 )
No plugins installed ( vanilla WP )
TwentyTwelve Theme ( happens with TwentyThirteen as well )

So when you have or using jQuery Tabs in a page and you go to the theme customize page, the customizer panel will become sluggish and not very responsive when you hover your mouse over the accordion panel and if you look at the preview, the content is jumbled and also very sluggish.  It seems something is executing in a loop over and over again making it sluggish but I did not see anything in the error console for some reason.  Perhaps this is because it is on an iFrame.

Please note that the page in the frontend loads just fine with the jQuery Tabs and works normally.  It is only when you use the backend theme customize page is where this issue starts.

I have tried this in both 3.5.1 and 3.6 beta-1 and same results.

Here are the steps to reproduce this.

In functions.php load up:

{{{
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-tabs' );
}}}

In the homepage (any page) put in:

{{{
<div class=""test"">
<ul>
<li><a href=""#abc"">abc</a></li>
<li><a href=""#xyz"">xyz</a></li>
</ul>
<div id=""abc"">
	some content here
</div>
<div id=""xyz"">
	some other content
</div>
</div>
}}}

In theme js, put in:

{{{
$('.test').tabs();
}}}

Then go to your homepage in the frontend to confirm the tabs are working and normal.  Now go to the backend theme customize and you will see the issue I am trying to describe.",splashingpixels.com
23554,Change Header Delete Behavior,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T07:11:27Z,2013-02-20T08:57:30Z,"When clicking the Remove header button, it should remove the header image from the list of images for rotation as well as remove from the currently selected image.  Currently you must delete the image from the media library (which may be several hundred or thousand images deep) to remove it from the list.",tribuseric
22148,Customizer Uploader doesn't handle large files properly,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-10-10T05:07:34Z,2012-11-11T18:14:45Z,"Both of these tests were with image files larger than the max file size - 3MB images with a 2MB max file size:

Dragging the file onto the upload area, the browser window redirects to the location of the local file, the same as if the file were dragged to a non-dropzone area.

When using the file browser to select the file, the upload fails silently.

In both cases, an error similar the Media Uploader would be preferable.
",pento
23225,Customizer is Incompatible with jQuery UI Tabs.,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-01-17T09:34:21Z,2013-05-10T03:39:09Z,"Steps to reproduce:

 1. Install the attached mfields-test-jquery-ui-tabs.php plugin.
 2. Open the Chrome console.
 3. Open the customizer and watch the console.

At this point you should see that a slew of XHR requests are triggered. If you reach a certain type of javascript error then the XHR requests will stop and the preview frame in the customizer will go blank.

It seems like jQuery UI Tabs and the customizer are currently incompatible. This will affect any theme or plugin that is using this library including the popular [http://wordpress.org/extend/plugins/genesis-tabs/ Genesis Tabs] plugin.",mfields
21890,Customizer spinner breaks button alignment with longer strings,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,,2012-09-14T10:57:02Z,2012-11-08T22:01:23Z,See the screenshot.,SergeyBiryukov
22037,Customizer: Live preview fetches page but does not display,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-28T15:14:54Z,2012-11-14T17:29:37Z,"I just set-up a plain installation of 3.4.2. Configured it for multisite use. Set-up two sites, both working fine.

When going into a sites Appearance settings to customize the theme (TwentyEleven), the Customizer shows the control panel on the left, but the preview remains blank.

Firebug shows no Javascript errors.

'''It also shows, that a POST request is sent to fetch the front page and that the page is actually returned in the response. It appears the response is just not added to the right-hand preview area.'''",marcoliverteschke
22498,Disabling Header Text should not reset Header Text Color to default,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-18T22:31:17Z,2012-11-18T22:31:17Z,"In Appearance > Header, if you uncheck the 'Show header text with your image' option and Save, the Text Color option is reset to whatever the default is.

With JS enabled, the Text Color option is hidden when the checkbox is unchecked, but in no-js both options are displayed all the time. It's odd to set a header text color and uncheck the option only to have it reset your choice to the default.

Related: #22461",DrewAPicture
23761,Empty header color after enabling header text via Customizer,,Appearance,3.4,normal,normal,3.6,defect (bug),new,reporter-feedback,2013-03-13T19:59:14Z,2013-04-10T21:51:25Z,"Background: #23722

1. Go to Appearance > Header, disable header text.
2. Go to Customizer, enable header text.
3. Go to Appearance > Header again. `get_header_textcolor()` will return an empty value.

Bundled themes handle this situation differently:
* Twenty Thirteen shows the header with a wrong color (see the screenshot). 
* Twenty Twelve also has an empty color in the style attribute (as in the screenshot), but it still shows the correct color due to the declaration in `twentytwelve_admin_header_style()`:
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/twentytwelve/inc/custom-header.php#L109
* Twenty Eleven doesn't display the header on Appearance > Header screen at all after those steps, because it specifically checks that `get_header_textcolor()` is not empty:
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/twentyeleven/functions.php#L313

If you disable and re-enable header text on Appearance > Header screen, the correct color will be restored.",SergeyBiryukov
20729,Improve Admin Colors CSS enqueuing,,Appearance,3.1,normal,normal,Future Release,defect (bug),new,early,2012-05-22T17:19:58Z,2012-05-22T17:20:17Z,"The hacky way in which we enqueue the admin colors css means that you get different ordering of the CSS between the development version of the scripts and the script-loader sourced version of the scripts.

This can cause CSS bugs which don't show when developing but do when running with the script loader - e.g. #16827

It also makes it harder to implement a custom css concatenator.

We should do something like - http://core.trac.wordpress.org/attachment/ticket/16827/colors-hacked-fixed.diff

To make this properly enqueue the styles.

We should also make this kind of call fire a {{{_doing_it_wrong()}}} as {{{true}}} is not a url :)

{{{
$styles->add( 'colors', true, array('wp-admin') );
}}}

This code harks back from [7976]",westi
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
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
23455,Theme Customizer does not load when static Front Page is moved to Trash,,Appearance,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-12T12:27:37Z,2013-04-23T22:33:32Z,"Steps to reproduce:

1. Go to Pages > Add New, and publish a new page
2. Go to Appearance > Themes > Customize
3. Under Static Front Page, set this new Page as your Front Page. Save changes
4. Go to Pages > All Pages, and trash the page
5. Go back to the customizer
    * The sidebar loads, but not the preview
    * I see the following error in the console: http://i.wpne.ws/MpDR

When commenting out {{{$this->handle_404();}}} in [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php#L550 wp-includes/class-wp.php#L550], the Preview appears again, but generates quite a lot of notices.

Tested with WordPress Trunk (Version 3.6-alpha-23400)",jeherve
20859,Theme Installer: Preview should be scrollable on iPad and Kindle Fire,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,,2012-06-06T21:51:09Z,2012-06-08T21:10:27Z,"Related to #20805. We've added techniques for smoothly scrolling iframes when they're the only frame on the page, but the theme installer still uses the overlay technique.

We may be able to iron this out in a similar fashion. Given that the old installer also used an overlay technique, this is not a regression.",koopersmith
21492,Theme customizer > Static front page: missing error message when front page and posts pages are similar,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-06T00:15:25Z,2012-08-06T01:11:40Z,"Steps to reproduce:

1. Activate Twenty Eleven
2. Open the Customizer
3. In ""Static Front page"", choose the same page as your front page and Posts page:
  * You do not receive any warning 
  * http://i.wpne.ws/IYAO
  * In Reading Settings, you do actually receive a warning: http://i.wpne.ws/IY2S (see http://core.trac.wordpress.org/browser/trunk/wp-admin/options-reading.php#L99 )

Would it be possible to display the same warning in the Customizer, to avoid any confusion for the users?

Related: #19627 and #16379",hd-J
20733,Theme customizer doesn't order sections based on order added,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,early,2012-05-22T23:36:48Z,2013-01-21T15:16:04Z,"When adding sections to the theme customizer, sections with the same priority are given seemingly random order. From the [http://core.trac.wordpress.org/ticket/19910 original customizer ticket]:

> Settings and sections both contain priority parameters (you can specify these in the constructor or alter them afterwards) which serve as the primary means of sorting sections before they're rendered. The order settings/sections are added serves as a secondary sorting mechanism (tiebreaker) when multiple items share the same priority.

I was under the impression that if the priority was the same, the sections would appear in the order they were added. However, if you add sections A, B, and C (in that order) it seems to display them in order B, C, A.

To replicate, add this code to your theme:

{{{
add_action( 'customize_register', 'theme_customize_register' );

function theme_customize_register( $wp_customize ) {
	// Register Section A
	$wp_customize->add_section( 'theme_section_a', array(
		'title'    => 'Section A',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_a', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_a', array(
		'section'    => 'theme_section_a',
		'type'       => 'text',
	) );

	// Register Section B
	$wp_customize->add_section( 'theme_section_b', array(
		'title'    => 'Section B',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_b', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_b', array(
		'section'    => 'theme_section_b',
		'type'       => 'text',
	) );

	// Register Section C
	$wp_customize->add_section( 'theme_section_c', array(
		'title'    => 'Section C',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_c', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_c', array(
		'section'    => 'theme_section_c',
		'type'       => 'text',
	) );
}
}}}

'''Expected result:''' Sections show up in order A, B, C

'''Actual result:''' Sections show up in order B, C, A

Sorry if I'm doing something stupid, or if this isn't the intended functionality. I'm running trunk without any plugins.",andyadams
14979,custom background view shows cropped image and not original upload,,Appearance,3.0.1,normal,normal,3.6,defect (bug),new,dev-feedback,2010-09-27T19:59:12Z,2013-02-06T11:53:18Z,"trying to upload a very tall image to the custom background area (for example 100*1100px width*height) works but the image that is then shown in the view-pane is the cropped/thumbnail version of the upload and not the original image the user added.

it is possible a site would have a repeat-x on a really tall image.",obvio
23956,jQuery UI Datepicker adds empty but visible div at bottom of page,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-06T01:52:12Z,2013-04-06T08:19:52Z,"This bug seems to be related to the [http://bugs.jqueryui.com/ticket/4111 this] jQuery UI bug, which has been fixed, but the following WordPress stylesheet seems to be making the bug re-appear:

wp-includes/css/jquery-ui-dialog.min.css

As far as I can tell, removing the following rule seems to fix it:


{{{
.ui-helper-clearfix:after {
    content:""."";
}
}}}
",julianm
22237,Add a keyboard shortcut for collapse/expand in the customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-21T02:59:31Z,2012-10-24T17:33:30Z,Can we add a keyboard shortcut to the customizer for collapsing/expanding the left panel?,designsimply
21792,Add link to settings.general from appearance.header,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-09-04T19:38:50Z,2012-09-04T19:40:36Z,"Multiple users that we've tested have ended up on appearance->header when asked to change their ""site title"".  It seems logical.  Should we add a link there?",lessbloat
23890,Add slideUP/slideDown transitions to the menus accordion,,Appearance,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-03-29T07:54:01Z,2013-05-07T22:45:57Z,"We talked about this early in the cycle in #23119 and other places, but it would be nice to not make switching between accordion sections so jarring. 

A slideUP/slideDown transition similar to how we're handling post formats in #19570 would be a nice UX addition.",DrewAPicture
22348,Add support for custom background default images,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-02T19:25:12Z,2012-11-02T19:25:12Z,"When specifying custom header default images for a theme, I always forget that you can't do the same for custom backgrounds.

It would be highly desirable to be able to set default background images, just as you can with custom headers.",dgwyer
23509,Conditional function that lets you know if your site is being viewed through the Customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-19T01:41:24Z,2013-04-22T22:10:51Z,"I can provide a use case if necessary, but this should be relatively simple.

If I need to do something special with my theme when my site is being viewed through the customizer, there's no easy way determine if it is.

A simple `is_customizer()` (or similar) function would be incredibly useful in this scenario.

I'd write up a patch, but I don't know where to put the new function.",nathanrice
17800,Custom Header bug with deleted images,,Appearance,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-14T12:43:15Z,2012-12-03T12:08:03Z,"I'm not a tech.
I've added images to Twenty Eleven header.
I wrong and I've deleted few images directly using ftp now you can see in the image that the header has the markers of the images without the images.

",pivari
22058,Custom background vertical position,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-09-30T16:30:29Z,2013-04-25T01:20:25Z,"For the the custom background display options there is only left, centre and right position. The top and bottom position is missing.",grapplerulrich
22880,Customize Themes without activation,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T11:34:51Z,2012-12-12T11:38:58Z,"Add a posibility to customize deactivated themes with the Theme-Customizer without activating them by default.
Useful for Blogs running multiple Themes between which the frontend user can switch.",kkkrys
21059,Customizer color picker has no remove button,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-24T11:34:12Z,2013-04-11T10:23:37Z,There is no remove button for color picker in the customizer. It would be great if we could remove the color or set it to the default if we don't need the color.,kcssm
22834,Live Preview should map sidebars as done on activation,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-12-09T12:51:00Z,2012-12-13T12:07:31Z,"'''Problem:''' 

Sidebar disappears in the live preview after theme deactivated.

'''Reproduce:'''

Fresh install of the WordPress trac:
1. Activate Twenty Ten theme
2. Click the Live Preview of Twenty Twelve
3. No sidebar in the preview

Bug 100%",alexvorn2
22182,Make core theme customizer section titles filterable,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-13T11:45:13Z,2013-04-19T17:11:01Z,"It would be very useful to be able to modify core theme customizer section titles by making them filterable, or by adding a setter class method to modify an existing section title.

At the moment you can't access a section title directly as it is set to protected.

Example user case scenario is if you needed to add sub controls to an existing section, then the title may need updating to reflect this.",dgwyer
24387,Remove borders and styles on select elements,,Appearance,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-05-22T20:16:44Z,2013-05-22T20:16:44Z,"The default admin CSS adds borders, background colors, and other styling to <select> elements that actually cause the default browser styling to become unstyled in Firefox on the Mac.

The default OS and browser styles actually handle select boxes pretty well.

I propose that these styles be removed from any global <select> element.  If borders need to stay, they should be applied using a more descriptive selector so if I wanted to use default browser styling in a plugin I can.

I tested this in Firefox (Mac), Safari (Mac), Chrome (Mac), Firefox (Win) and IE 8 by looking at various pages with select boxes (Posts, Settings, Quick Edit, Categories).  The only difference is that on Firefox (Win) the border is blue instead of gray and I believe if it's desired to keep this, then a targeted class can accomplish the same task without affecting other operating systems.

The patch doesn't apply to the blue theme at this time.",mmuro
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
21455,HiDPI (retina) theme custom backgrounds,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-08-02T17:07:06Z,2012-09-15T05:22:40Z,"We should support HiDPI custom backgrounds.

This will be a bit easier than custom headers, #21389, as we can do a media query in _custom_background_cb(). Worth noting that we will still need to solve some aspect of retina uploads, #21038.",nacin
21389,Retina theme custom headers,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-07-25T19:40:56Z,2013-04-06T23:33:11Z,We should support retina custom headers. Not sure how — ideas welcome.,nacin
21666,Theme customizer reset,,Appearance,3.4.2,normal,normal,Awaiting Review,feature request,new,,2012-08-23T10:09:49Z,2013-05-18T13:13:22Z,"It would be useful to be able to reset the settings to the defaults as specified in the add_setting() class method when setting up each setting.

These could be reset on a section by section basis and/or for ALL settings.",dgwyer
21785,Add header image uploads with cropping to the customizer,,Appearance,3.4,normal,normal,Future Release,task (blessed),new,early,2012-09-04T04:56:41Z,2013-05-22T10:06:20Z,"See #21355 for an explanation for why header image uploads (sans cropping) was removed from the 3.4 branch. This ticket is about adding it back, with a crop step, to ensure proper support.",nacin
17557,"AtomPub service sends duplicate status headers, breaking FastCGI",,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-05-25T20:33:33Z,2011-08-08T01:00:38Z,"The AtomPub service (wp-app.php) sends duplicate Status headers when authorization is not provided, which breaks on FastCGI setups. This is seen when you attempt to connect to the service using e.g. [https://github.com/calavera/Ape Ape], resulting in the following error message in the Apache logs:

{{{
[Wed May 25 16:09:21 2011] [error] [client 10.5.62.176] FastCGI: comm with server ""/tmp/webadmin_test"" aborted: error parsing headers: duplicate header 'Status'
}}}

This results in a 500 Internal Server Error from Apache:

{{{
HTTP/1.1 500 Internal Server Error 
Date: Wed, 25 May 2011 20:09:21 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.6RC4-pl0-gentoo 
Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Last-Modified: Wed, 25 May 2011 20:09:21 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
WWW-Authenticate: Basic realm=""WordPress Atom Protocol"" 
Content-Length: 735 
Connection: close 
Content-Type: text/html; charset=iso-8859-1 

<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML 2.0//EN""> 
<html><head> 
<title>401 Credentials required.</title> 
</head><body> 
<h1>Credentials required.</h1> 
<p>The server encountered an internal error or 
misconfiguration and was unable to complete 
your request.</p> 
<p>Please contact the server administrator, 
webmaster@ufl.edu and inform them of the time the error occurred, 
and anything you might have done that may have 
caused the error.</p> 
<p>More information about this error may be available 
in the server error log.</p> 
<p>Additionally, a 500 Internal Server Error 
error was encountered while trying to use an ErrorDocument to handle the request.</p> 
<hr> 
<address>Apache Server at test.news.ufl.edu Port 80</address> 
</body></html>
}}}

Patch attached to refactor Status headers in wp-app.php to use the {{{status_header}}} function like most of the code uses.  There's also a function that handles which I have refactored to use {{{wp_redirect}}}. Affects all versions back to 2.9.2, including trunk.

Examples of this issue (and corresponding fixes) include:
* #2628
* http://trac.symfony-project.org/ticket/3191",dwc
7361,Fixes for wp-app with PHP-CGI,markjaquith,AtomPub,2.9,normal,normal,Future Release,defect (bug),assigned,dev-feedback,2008-07-20T18:10:03Z,2012-10-17T18:10:44Z,"I was trying to use Atom Publishing Protocol with my blog I a have found some quirks and bugs.

My blog is hosted at Dreamhost, and, as far as I know, is using Apache 2.0.61 and PHP 5.2.6 as CGI. My first problem was, obviously, the authentication, but neither the solutions from [http://codex.wordpress.org/AtomPub the Codex] or [http://joseph.randomnetworks.com/archives/2007/09/19/http-basic-authentication-a-tale-of-atompub-wordpress-php-apache-cgi-and-ssltls/ this other blog post] worked. Reserching seems like PHP5 as CGI doesn't forward HTTP_AUTHORIZATION header, and nothing seems to change its mind. But it seems to forward REMOTE_USER as REDIRECT_REMOTE_USER. With my patch and this code in the .htaccess the authorization seems to work:

{{{
RewriteCond %{HTTP:Authorization} !^$
RewriteRule wp-app.php wp-app.php [E=REMOTE_USER:%{HTTP:Authorization},QSA,L]
}}}

The other patch is to fix a bug in the wp-app.php code. It seems that when working with PHP as CGI, the ""Status:"" header needs to follow a specific format, with the number, and then the reason. The actual code (from Subversion, but it's there at least from version 2.5.1) do not send the number, making CGI/PHP/Apache to return with a ""500 Internal Server Error"" instead the ""401 Credentials Requiered"", confusing Atom clients. My other patch fixes this.",yonosoytu
18060,image upload handling between atompub and xmlrpc different,,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-10T12:33:27Z,2012-06-17T12:58:30Z,"Uploading images via XMLRPC generates different image sizes in addition to the original image. Uploading the same image through AtomPub will only create a single original file in the uploads/year/month/ directory, the thumbnail and different formats normally generated on upload are missing. It is probably because wp_handle_upload is missing from the wp-app.php create_attachment definiition - it only uploads the bits and creates an attachment, but neither handles metadata updates nor image thumbnail generation.",rfc1437
19915,Add unit tests for AtomPub API,rmccue,AtomPub,,normal,normal,Awaiting Review,enhancement,new,,2012-01-28T16:25:15Z,2012-09-17T05:52:57Z,"Apologies if this is a duplicate, I couldn't find any.

The AtomPub API is hideously under-tested. Since it's a part of WordPress that doesn't get touched often, it's also one of the most crucial components that needs testing.

I'm working on [https://github.com/rmccue/Gorilla a test runner called Gorilla], which is designed as a replacement for the APE (Atom Protocol Exerciser). This will have a port of all the APE unit tests to PHP, and I'm also going to start writing some new ones for all the new APIs that are being added in #18430, #18431, #18432 and #18433.

These are specifically designed to be able to be independent of Gorilla, so that it will be easy to bring into a normal PHPUnit test suite, and hopefully will be able to run as part of the normal WordPress unit test suite. (Although they'll still need some components of Gorilla to work)

(This is filed under Unit Tests, but AtomPub might be a better component)",rmccue
7301,AtomPub interface should accept new categories provided by clients,josephscott,AtomPub,2.6,normal,normal,WordPress.org,enhancement,reopened,,2008-07-15T04:54:22Z,2012-10-31T16:25:19Z,"The AtomPub interface successfully exposes access to the existing categories of a particular blog, via the URL:

http://[myblog]/wp-app.php/categories

But the category listing is identified as ""fixed"", and this pans out. When a  client attempts to provide a category term with a name that has not been seen before, the interface just ignores it.

It would be a nice enhancement to change the category collection to an editable one, and support provision of arbitrary new category names on supplied posts to the wp-app interface.

As it is now, there is no way to add categories via the AtomPub interface.


",redsweater
9513,Wordpress should allow input of XHTML/HTML via Atompub,josephscott,AtomPub,,normal,normal,Future Release,enhancement,new,,2009-04-11T23:38:51Z,2011-03-14T09:50:06Z,"One of the intended purposes of Atom standard was to allow better way of including XHTML in the feed than with “escaping it” (see this [http://www.xml.com/pub/a/2003/08/20/embedded.html article by Norman Walsh in xml.com] with followup at [http://norman.walsh.name/2003/06/30/hardline 1], [http://norman.walsh.name/2003/09/18/unescmarkup 2], and [http://norman.walsh.name/2003/09/16/escmarkup 3], there is also [http://www.intertwingly.net/blog/1571.html an interesting discussion under this blogpost] and [http://www.tbray.org/ongoing/When/200x/2003/06/28/Learning Tim Bray’s essay on the same theme]) Even though even [http://norman.walsh.name/2003/09/16/escmarkup#comment0006 Norm agrees that he lost this fight], at least Atom provides ''opportunity'' for conscious authors to use namespaced XML properly.

Now, of course, the problem is that all this beauty is not supported by any known-to-me Atompub-accepting blog server. Particularly when this perfectly valid Atom 1.0 feed (take a look at [http://validator.w3.org/feed/#validate_by_input validator] if you don’t believe me):

{{{
<?xml version=""1.0"" encoding=""utf-8""?>
<atom:feed xmlns:atom=""http://www.w3.org/2005/Atom"" xmlns:dc=""http://purl.org/dc/elements/1.1/"" xml:lang=""en"">
  <atom:title>Late Night Thoughts on Listening to Mahler’s Ninth Symphony</atom:title>
  <atom:updated>2009-04-08T00:13:32+02:00</atom:updated>
  <atom:link rel=""alternate"" type=""text/html"" href=""http://matejcepltest.wordpress.com/""/>
  <atom:link rel=""self"" type=""application/atom+xml"" href=""http://matejcepltest.wordpress.com/feed/""/>
  <atom:author>
    <atom:name>Matěj Cepl</atom:name>
    <atom:email>ceplm@seznam.cz</atom:email>
  </atom:author>
  <atom:id>http://matejcepltest.wordpress.com/</atom:id>
  <atom:rights>Copyright 2007 Matej Cepl</atom:rights>
  <atom:entry>
    <atom:title>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</atom:title>
    <atom:link rel=""alternate"" type=""text/html"" href=""$url""/>
    <atom:id>urn:mc:ceplovi.cz:atom1:blog:jan-3_17-2008-07-10</atom:id>
    <atom:updated>2008-07-13T00:00:00+02:00</atom:updated>
    <dc:subject>John 3:17 or The Golden Middle Ground Between Grace and Sanctification?</dc:subject>
    <atom:content type=""xhtml"" xml:lang=""en"">
      <div xmlns=""http://www.w3.org/1999/xhtml"">
        <p>There is a couple of things, which make for me sense together
  	(and I am not sure, of course, whether they will make sense to you
  	as well), and which I would like to record here.</p>
        <p>“<span class=""scripture"">For God sent not his
  	Son into the world to condemn the world; but that the world
  	through him might be saved.</span>” (J. 3:17)  In some aspects and for some
  	people (like me) and in certain moments, this is even more important
  	than the previous verse, and yet it is quite rarely mentioned in the
  	Church. Maybe because it so clear, that nobody gets much fame to explain
  	(and there is not much to explain here?). For all of us, who live with
  	the idea of God-policeman, following our doings to punish severely any
  	small misstep, this is the good news.</p>
        <p>There is quite certainly something significantly wrong about preaching,
  	that we always quote only  (John 3:16)  and
  	we don’t continue one verse further. As if we are still more interested in what’s
  	there in gospel for me, and we don’t understand, that we are not the central figures
  	in whole Bible. Not that there wouldn’t be anything there for us, but … that’s another long
  	discussion I would like to have with Dave.</p>
      </div>
    </atom:content>
  </atom:entry>
</atom:feed>
}}}

is sent to Wordpress.com I get [http://matejcepltest.wordpress.com/2009/04/08/john-317-or-the-golden-middle-ground-between-grace-and-sanctification/ rather disasterous result].

According to [http://article.gmane.org/gmane.comp.web.wordpress.devel/27067 Peter Westwood] wordpress treats all content delivered by different modes of remote publishing as the same dummy plain text.

OK, so the request of this ticket (and hopefully place of further discsussion if necessary) is to fix this and make <atom:content type=""xhtml""> considererd and delivered so that wordpress would just accept the nodetree inside of such element as a body of the blogpost without much further changes.

Also #6128 might be caused by this.",mcepl
15069,Autosave function assumes that there is only on tinyMCE on the page,,Autosave,3.0.1,normal,normal,Future Release,defect (bug),new,early,2010-10-08T10:28:12Z,2011-01-14T09:35:22Z,"Autosave javascript assumes there is only one tinyMCE instance on the post editor page, thus breaking autosave feature under the next circumstances:
1. Content editor is in HTML mode
2. Some custom tinyMCE instances are added to the page by some plugin or theme.

A patch that fixes that problem is attached.",karevn
11049,Page Preview does not autosave page template,nacin*,Autosave,2.8.4,normal,normal,Future Release,defect (bug),accepted,dev-feedback,2009-10-30T21:19:34Z,2012-10-12T17:57:32Z,"When editing a published page, if you change the page template and then click Preview, the preview does not show the new template choice. ",janeforshort
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
23665,Create one autosave per user,,Autosave,,normal,normal,3.6,enhancement,new,,2013-03-02T08:19:35Z,2013-04-03T04:37:51Z,"Currently when autosaving drafts we overwrite them, when autosaving published posts, we keep one autosaved revision. This works well as long as there is only one post author.

Having per-user autosaves will affect only sites with many authors/editors. It will avoid overwriting when more than one user edits a post, provide better audit trail, and let us auto save data stored in the browser even if another user is editing at that moment.
",azaozz
22601,Make post content autosave work more generically,,Autosave,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T04:00:31Z,2012-12-14T23:51:36Z,"The JS for autosave/AYS looks for the contents of `#post #content`. While we should fix the other JS issue related to targeting `#content` in #22600, it seems that autosave/AYS should be looking for the textarea (or whatever type of input) with the name of content instead, since having that data in the form will save to the post content. That way, if somebody does choose to use a different ID but the right input name, the autosave benefits will kick in.

Discovered while working on #22491.",helen
23220,Extend autosave to use the browser's local storage in addition to saving to the server,,Autosave,,normal,normal,3.6,task (blessed),new,,2013-01-16T22:33:43Z,2013-05-15T23:29:06Z,"There are several types of local (DOM) storage in the modern browsers. Most suitable is the `localStorage` as it's persistent and supported in all browsers back to IE8.

The idea is to save the content in local storage every 10 seconds and push to the server every two minutes. When the server responds and there are no errors, we empty the local storage and start again. The local storage will also be emptied when the user saves the post. Then every time the user visits the admin we can check if the local storage is not empty and offer to recover from there or show a revision diff.
",azaozz
23295,Improved login expiration warning,,Autosave,,normal,normal,3.6,task (blessed),new,has-patch,2013-01-25T22:49:45Z,2013-05-16T03:47:09Z,"The goal here is to improve the user experience when your login has / will expire, as discussed in [http://make.wordpress.org/core/2013/01/07/wordpress-3-6-autosave-and-post-locking/ WordPress 3.6: Autosave and Post Locking] and the [http://make.wordpress.org/core/2013/01/25/agenda-for-todays-autosave-and-post-locking-team/ autosave and post locking team meeting in IRC].

The suggested tactic is to integrate the [https://github.com/Penske-Media-Corp/pmc-post-savior/ PMC Post Savior] plugin into core.  That part should be pretty straightforward.

I think 3 valuable enhancements that are on the plugin's roadmap, but not yet complete would be:
* Alert properly on failed requests and lost connectivity.  If my internet connection has gone down and I'm still working, I should be alerted that I'm ""Working offline"" and my changes aren't being automatically saved.  I don't think this should be a blocking UI, but it should be obvious.
* Block publish/save until login has been verified.  Polling duration can be decreased (or maybe even done away with entirely) if we block the Publish/Save/etc actions until we've verified the user's cookie.
* Pre-emptive notification.  When approaching the user's login cookie expiration time, say 1 hour before, display a message and allow the user to extend their login.  For example, how banking sites notify you when you've been inactive too long and they're about to log you out.",mintindeed
23312,Post Lock Interface for Post List Screen,,Autosave,,normal,normal,3.6,task (blessed),new,has-patch,2013-01-29T03:17:36Z,2013-05-16T15:04:13Z,"For 3.6, we'd like to improve the experience for users with post locks!

For the Post List screen, we'd like to:
- Make it easy for users to tell which posts are locked directly from the post list screen.
- Realtime lock update using Heartbeat API (#23216)

Maybe:
- Make it visible which user holds the lock
- Meta editing allowed while post is locked

",dh-shredder
4965,Blog by Email: any images and attachments in your email are not being posted inline,westi,Blog by Email,2.3,normal,normal,Future Release,defect (bug),new,,2007-09-12T18:15:29Z,2009-10-11T21:07:33Z,"Blog by Email: any images and attachments in your email are not being posted inline

Remaining issue from #4829.",foolswisdom
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
5915,Same problem as in #252: apop broken if zero occurs in banner in 2.3.3 class-pop3.php,westi*,Blog by Email,2.3.3,normal,normal,Future Release,defect (bug),accepted,has-patch,2008-02-19T05:21:02Z,2009-10-11T21:08:22Z,"While extracting the banner (function parse_banner) in preparation for apop, the empty method is called on $digit which when zero returns false and hence doesn't get put into the resultant $banner.

Example parse_banner reply with <14649.123343777@code-werk.net> but the string was ""+OK ready <14649.1203343777@code-werk.net>""
or another example
""+OK ready <14649.1203343777@code-werk.net>"" and $pop3->parse_banner give back <14419.12334323@code-werk.net>

then a md5($AuthString) must fail, because the 0 is significant by apop.

I put a workaround at http://www.babsi.de/silentapop/, that does it for me, but this touch also wp-main.php

",ASonno
5252,base64-encoded post-by-email post garbled.,westi*,Blog by Email,2.3,normal,normal,Future Release,defect (bug),accepted,,2007-10-24T08:58:20Z,2009-10-11T21:07:58Z,"When posting-by-email, my cellphone submits code using ""content-transfer-encoding: base64"". The message appears (output from wp-mail.php) like so:

Author = [my email] <p><p><b>Content-type:</b> text/plain, <b>Content-Transfer-Encoding:</b> base64, <b>boundary:</b> </p>
<p><b>Raw content:</b><br /><pre>SnVzdCB0ZXN0aW5nIHBvc3RpbmcgZnJvbSBteSBjZWxsLiBTdHJ1Y2sgbWUgd2hpbGUgcmVh
ZGluZyAgUmFwaCBLb3N0ZXIncyBwb3N0cyBhYm91dCB0aGUgZmlyZXMgaW4gQ2FsIHRoYXQg
YmVpbmcgYWJsZSB0byBwb3N0IHRvIHlvdXIgYmxvZyBmcm9tIGEgY2VsbHBob25lIGlzIGEg
dXNlZnVsIGZlYXR1cmUuIA==</pre></p>
<p><b>Author:</b> 1</p>
<p><b>Posted title:</b> =?utf-8?B?Q2VsbHBob25lIHBvc3RpbmcgaW4gV1A=?=<br />
<b>Posted content:</b><br /><pre>SnVzdCB0ZXN0aW5nIHBvc3RpbmcgZnJvbSBteSBjZWxsLiBTdHJ1Y2sgbWUgd2hpbGUgcmVh
ZGluZyAgUmFwaCBLb3N0ZXIncyBwb3N0cyBhYm91dCB0aGUgZmlyZXMgaW4gQ2FsIHRoYXQg
YmVpbmcgYWJsZSB0byBwb3N0IHRvIHlvdXIgYmxvZyBmcm9tIGEgY2VsbHBob25lIGlzIGEg
dXNlZnVsIGZlYXR1cmUuIA==</pre></p><p>Mission complete, message <strong>1</strong> deleted.</p>

The provided patch detects base64-encoded content transfers and base64_decodes them. For some reason (I'm no utf8-expert) the TITLE of the post has ""=?utf-8?B?"" prepended to the actual base64 content (see above), which means a check for this string + a cropping is needed or base64_decode will not decode the post title properly.",kallewoof
22942,Deprecate Post by Email,,Blog by Email,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-14T16:48:46Z,2013-05-01T16:18:38Z,"We said last year that we'd remove the post by email functionality from core as it was better suited for plugins.  The Jetpack plugin has already added this functionality and, honestly, includes better functionality than the core version.

We should move forward with our plans to remove this feature.

I recommend ''deprecating'' it similar to the way the link manager was removed in 3.5.  Essentially:

* New WordPress installations will never see the core feature
* Existing installations that aren't using it won't see it any more
* Existing installations that ''are'' using it will see a notice explaining they should switch to a plugin instead as the feature will be completely removed in the future

Basically, I want the option to go away, but I don't want anyone to start a riot if we remove a tool they're actively using.",ericmann
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
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-20T22:43:04Z,"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
24391,Twenty Thirteen: No content in gallery post format if there is no gallery,,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-22T21:36:15Z,2013-05-22T21:36:15Z,"In case a post is marked as a gallery post but it doesn't actually have a gallery, the content is empty on index. Let's make sure that does not happen.",obenland
24298,Twenty Thirteen: RTL for editor styles,,Bundled Theme,,normal,normal,3.6,defect (bug),new,has-patch,2013-05-09T20:11:15Z,2013-05-20T22:35:09Z,TODO,lancewillett
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-22T16:00:51Z,"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
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-20T22:54:02Z,"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
24143,"When define('WP_CONTENT_DIR', 'your-dir') twentythirteen - The theme directory does not exist.",,Bundled Theme,3.4,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2013-04-20T10:08:16Z,2013-05-06T22:57:39Z,"If you use either of following in you wp-config.php you'd automatically get a Broken Themes.

{{{
define('WP_CONTENT_DIR', 'your-dir');
define('WP_CONTENT_URL', 'your-url');
}}}

The following themes are installed but incomplete. Themes must have a stylesheet and a template.

Name 	Description

twentythirteen 	The theme directory does not exist.",azizur
14782,"Accessibility: Twenty Ten Theme - links, forms, skip link",,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-04T15:50:01Z,2012-09-27T13:42:46Z,"Starting off with changes to the CSS only.

Links: colors amended where necessary. added underscores and/or color changes for active, hover and focus.

Gallery image links: adjusted things to use margin to center the image rather than padding, to allow for adding highlighting on image links.

Skip link: now appears above the #access menu when tabbing through the page.

Grey text/links: was 888 this just failed the color contrast, so changed it to 777 throughout.

Forms: added highlight for input text and textarea, for active and focus.",elfin
21506,Standard Theme Hooks,,Bundled Theme,,normal,normal,Awaiting Review,enhancement,new,,2012-08-07T02:10:55Z,2013-03-28T22:12:58Z,"During the hack day at WordCamp SF, Konstantin Kovshenin and I sat down to work out a solution to allow for better communication between themes and plugins. We propose that core introduce 4 new hooks into the default WordPress themes allowing plugins to add custom markup relative to common theme elements. While many other theme locations could be recognized, we have only included hooks that we could provide at least three use common use cases for.

header_after: Allows custom markup to be inserted after all visual header elements have rendered. Possible use cases for this hook include:

 * Breadcrumb navigation.
 * Links to social profiles.
 * Advertising.
 * log in/out form.

post_after: Allows custom markup to be inserted after all visual elements have rendered for the current global post object. This hook would fix the issue originally reported in #18561. Possible use cases for this hook include:

 * Sharing links.
 * Related posts.
 * Ratings.
 * Author bio.

comment_after: Allows custom markup to be inserted after all visual elements have rendered for the current global comment object. Possible use cases for this hook include:

 * Upvote/Downvote control.
 * Ratings.
 * Show/hide threads functionality.

footer_after: Allows custom markup to be inserted after all visual elements have rendered for the footer. While this action is similar to {{{wp_footer}}}, it would be possible for the theme author to move this into nested html elements. To my knowledge, {{{wp_footer}}} is intended to fire immediately before the closing {{{body}}} tag. Possible use case for this hook include:

 * Links to social profiles.
 * Advertising.
 * The ""small print"" or copyright information.

If standardized hooks such as these were recognized by core, it would also have a positive effect on child theming. Theme authors would no longer need to override entire files just to introduce an element of two.

We have prepared 3 patches for the default themes to demonstrate placement of these hooks as well as a plugin to demonstrate their usage.",mfields
23184,Twenty Eleven/Twelve: Mismatched lines in GitHub Gists,,Bundled Theme,3.5,lowest,normal,WordPress.org,enhancement,new,close,2013-01-11T19:29:36Z,2013-04-26T14:26:57Z,"GitHub Gists are displayed with the code and line numbers misaligned, due to the difference in font-size and/or line-height of `<pre>` and `<table>` elements. 

Originally reported in [http://wordpress.org/support/topic/gists-look-crazy-with-twenty-twelve this thread] and on wp.com.

Example: http://themebuster.wordpress.net/gist-test/",obenland
24128,Twenty Eleven: add postMessage support for header_textcolor,,Bundled Theme,,normal,normal,Future Release,enhancement,new,has-patch,2013-04-18T17:43:32Z,2013-04-23T16:53:14Z,"Similar to Twenty Twelve and Twenty Thirteen, this would add immediate visual feedback in the Theme Customizer UI when header text is hidden, or its color value changes.",lancewillett
14791,Twenty Ten Theme - Better Link Highlighting,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:18:19Z,2012-09-27T13:42:49Z,mainly changing the state of text decoration(underline/none). This aids users that tab through links on a page identify where they are.,elfin
14792,Twenty Ten Theme - gallery changes,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:22:33Z,2012-09-27T13:42:52Z,"With reference to #14791 those changes will produce an ugly 10px wide border in red on focus/hover etc. This patch does fix this, at the expensive of top/bottom margins. This therefore may need an additional patch before it can be applied.",elfin
24308,Twenty Thirteen: Add Editor Styles for Post Formats,,Bundled Theme,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-05-10T21:14:36Z,2013-05-22T02:20:52Z,"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
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
23834,Twenty Thirteen: add visual Indicator for menu items with children,,Bundled Theme,trunk,normal,normal,Future Release,enhancement,new,,2013-03-21T04:07:43Z,2013-03-21T23:38:44Z,"It's helpful to have a visual indicator when a top level menu item contains a hidden drop down menu.

This patch adds a filter to wp_nav_menu_objects in order to add the class ""has-children"" to top level menu items that contain children.  This allows us to style it with psuedo element, similar to how the menu-toggle is styled for smaller screens.

The filter I used was posted by @chipbennet on the WordPress Theme Reviewers List. The same functionality could also be achieved by a Custom Nav Walker (see http://wptheming.com/2013/03/drop-down-menu-indicator/), but Chip's solution seemed more straightforward.

Neither method works unless a menu has actually been set.

",downstairsdev
23662,Twenty Twelve: style.css with Table of Contents,,Bundled Theme,3.5,normal,normal,Future Release,enhancement,reopened,has-patch,2013-03-02T00:44:33Z,2013-03-15T18:08:49Z,"Hello, I really like the 2013 initiative with Table of Contents, because it helps new users understand where goes what, especially developing child themes.

I added Table of Contents to Twenty Twelve theme and renamed CSS comments titles accordingly.",TomasM
15385,Use get_template_part() for post formats in Twenty Ten,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-11-11T13:36:47Z,2013-02-19T04:25:57Z,"Let's encourage some standardization in themes by giving Twenty Ten the following:
{{{
get_template_part( 'post-format', 'aside' );
get_template_part( 'post-format', 'gallery' );
}}}
We'll leave the default in loop.php, I'm thinking, though we could also use post-format-default.

I'm going to comment on #14746 that I think, if post formats are supported, then 'default' should always be supported and should be enforced as the default, even if nothing is stored yet for that post.",nacin
23330,"Allow autoloading all options, not just autoload = yes options",,Cache,3.5.1,normal,normal,Future Release,defect (bug),new,,2013-01-30T21:12:57Z,2013-02-21T04:26:41Z,"For 5 years on wordpress.com we have ignored the autoload field for options. In wp_load_alloptions(), autoload = yes is not part of the query. Why? Because wordpress.com has a persistent cache. Thus, the transients that constitute the bulk of autoload = no options are stored in cache, never in the options table. Querying autoload=yes makes the query slower for no reason.

Having autoload = no options also complicates notoptions caching. Core has a notoptions cache that would be unnecessary if you can assume that wp_load_alloptions() loads every option. If an option is not in alloptions, then it does not exist.

Other large sites that use a persistent cache might also like to ignore the autoload flag. Core could automatically switch to ignoring autoload when an external object cache is being used, but administrators might want to control this so they can clean out old transients from options tables and do whatever other housekeeping is desired. So, let's add a filter that allows toggling this. When autoload is being ignored the wp_load_alloptions() query does not include autoload=yes and notoptions is not used.",ryan
22661,Allow object caches to degrade gracefully,,Cache,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-30T20:53:57Z,2013-01-10T00:08:36Z,"Because of the way object caches are loaded, if a custom object cache can't run (say, Memcached or APC is not actually installed), it cannot gracefully degrade to the built-in object cache.

Witness this code in {{{wp_start_object_cache()}}}:

{{{
 	if ( ! function_exists( 'wp_cache_init' ) ) {
		if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
			require_once ( WP_CONTENT_DIR . '/object-cache.php' );
			$_wp_using_ext_object_cache = true;
		} else {
			require_once ( ABSPATH . WPINC . '/cache.php' );
			$_wp_using_ext_object_cache = false;
		}
		$first_init = true;
	} else if ( !$_wp_using_ext_object_cache && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
		// Sometimes advanced-cache.php can load object-cache.php before it is loaded here.
		// This breaks the function_exists check above and can result in $_wp_using_ext_object_cache
		// being set incorrectly. Double check if an external cache exists.
		$_wp_using_ext_object_cache = true;
	}
}}}

So a custom object cache is loaded. If it wants to bail and defer to the built in object caching, it can do that by doing the include itself. But then WordPress sets {{{$_wp_using_ext_object_cache = true;}}} '''after''' that require. So WordPress thinks it is using an external object cache when it's actually not. This leads to oddness.

This can sometimes be hacked around by adding a callback to the very first WP action available that sets {{{$_wp_using_ext_object_cache = false;}}}, but that has issues: calls to the object cache might be made before that code can run, and {{{add_action()}}} is not always available at that point (because some {{{advanced-cache.php}}} drop-ins load the object cache really early. See Batcache.

Proposed solution: change the order of the {{{require_once()}}} and the setting of {{{$_wp_using_ext_object_cache}}}. That way, the external object cache can override the variable.",markjaquith
22526,Changing category doesn't invalidate cache,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-21T11:55:37Z,2012-11-21T11:55:37Z,"Hi,

I am using object-cache.php Memcached v2.0.2 (Dropins) with the current WordPress version, but I don't think this has anything to do with the dropin.

I noticed that category changes don't invalidate/update the cache.

For example:
1. Create a category ""Foo"".

2. Assign some postings to ""Foo"".

3. View your postings in backend and frontend, so that results get cached.

4. Rename ""Foo"" category to ""Bar"".

5. Reload some postings, which are in that category. But they still display the old ""Foo"" category instead the new ""Bar"" category name.

Flushing memcached would ""solve"" this problem, that's why I think renaming categories don't invalidate/update the cache.",Whissi
24244,Clean post cache when post was moved to trash,,Cache,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-05-02T00:36:22Z,2013-05-02T00:36:22Z,Clean post cache when post was moved to trash,m_uysl
22683,Don't load advanced-cache.php when running via CLI,,Cache,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-12-02T18:46:48Z,2012-12-03T20:05:29Z,"When you're loading WP via a command-line program, it doesn't make much sense for a plugin like WP Super Cache to take over. It's not like you have thousands of CLI users hammering the install.

Example issue in wp-cli: https://github.com/wp-cli/wp-cli/issues/164",scribu
21267,Kill the serialization of $wp_filter in get_terms(),,Cache,,normal,normal,Future Release,defect (bug),new,has-patch,2012-07-13T21:35:11Z,2013-01-22T19:35:23Z,"We use this as part of a persistent cache key:

{{{
serialize($GLOBALS['wp_filter']['list_terms_exclusions'])
}}}

See [8225].

This is not good for two reasons. First, well, it's a not fun to reach into our internal API like that. But worse, it's broken whenever an object method is used, because spl_object_hash() will be unique to that object, thus rendering the cache invalidated on the next pageload.

As an aside, we should probably have _wp_filter_build_unique_id() create a delimiter when dealing with a static class method — `$function[0].$function[1]` can conflict with a legitimate function name.

I'm not sure how this should be fixed.",nacin
22478,Remove $force argument from WP_Object_Cache::delete(),,Cache,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-11-16T19:02:07Z,2012-11-16T19:02:07Z,This was introduced way back in [3086] and hasn't been needed for years.,ryan
11531,Some taxonomy names should be disallowed,ryan,Cache,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-12-20T14:30:46Z,2013-05-16T15:05:44Z,"I haven't tested, but can't we can get all sorts of weird bugs (some of which could have potential side effects in the security department) if a term taxonomy is called users, userlogins, posts, etc.?

the reason are lines such as:

{{{
wp_cache_add($term->term_id, $term, $term->taxonomy);
}}}
",Denis-de-Bernardy
14485,Taxonomy hierarchy cache isn't properly refreshed,,Cache,3.0,high,normal,Future Release,defect (bug),new,needs-unit-tests,2010-07-31T03:11:13Z,2013-04-30T20:46:25Z,"I've developed a plugin that can create parent and children categories at the same time. It works well at 2.8.6 but it doesn't work as what I expect at 3.0.

When I create new parent and children categories at the same time, it only shows parent category in the Categories dashboard, but the children category is actually created. If I create another category or delete one category, the children category shows up. I think it should be a problem of wordpress cache, but I have no idea where to start tracing.

I use wp_create_category at wp-admin/includes/taxonomy.php to create categories. Besides, I have tried clean_term_cache but it didn't help. And I didn't activate other plugins when I tested this plugin.

It happened exactly when creating NEW parent and children categories.",thealien
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
22174,"_get_non_cached_ids() should use wp_cache_get_multi(), if available.",,Cache,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-10-12T14:12:40Z,2013-01-10T00:10:20Z,Add wp_cache_get_multi() to all cache backends and conditionally use it in _get_non_cached_ids() so that post objects can be fetched from cache in parallel.,ryan
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
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
21879,wp_count_posts() cache is not destroyed after post inserts and deletions,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-13T01:23:38Z,2012-09-13T02:11:19Z,"`wp_count_posts()` caches its results, but that cache is not destroyed when posts are inserted, deleted, or transitioned. This can lead to incorrect counts.

The attached patch fixes that (although it doesn't destroy the cache set when `$perm='readable'` in `wp_count_posts()`, which would be more complex as we wouldn't know the name of the key(s), though it could be done with `preg_match`).

",mark8barnes
21330,Allow filtering of expiration in set_transient(),,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-20T20:51:23Z,2012-09-17T18:32:01Z,"I recently needed to change an expiration of a transient and expected pre_set_site_transient_* filter to be able to do that. However, the filter only affects the value. I recommend adjusting this to affect both.",wpsmith
22176,Cache the results of the posts_request_ids query,,Cache,3.4.2,normal,normal,Future Release,enhancement,new,,2012-10-12T14:59:37Z,2013-01-10T00:11:47Z,"We are to the point where we could replace the advanced post cache plugin with something in core that is far simpler. We're most of the way there since introducing the split query. And with #22024 we have a good way of doing per-blog cache invalidation for classes of objects, which would be needed by this. Leveraging wp_cache_get_multi() as suggested in #22174 would provide a complete replacement for the adv post cache plugin.  http://plugins.svn.wordpress.org/advanced-caching/trunk/advanced-caching.php",ryan
19564,Helper function for getting/setting cache data,,Cache,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T15:02:09Z,2011-12-15T16:00:55Z,"Most of the time when we want something from the object cache we go through a routine of: wp_cache_get(); checking a result; setting a default; setting the cache with wp_cache_set(); returning. Core should offer a neat way to do this all in one fell-swoop.

Attached patch is a proposed solution.",johnjamesjacoby
21412,Hookable dropins,,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-29T03:59:34Z,2012-07-30T22:12:02Z,"This ticket is the result of a discussion on the wp-hackers list where I proposed the idea in [http://lists.automattic.com/pipermail/wp-hackers/2012-July/043772.html this message]. 

Currently for dropins there can be only one[1] per install which means that, especially for `advanced-cache.php` where multiple plugins cannot easily:

- Cache different mime types with different plugins
- Provide basic functionality and leave the complexity to other plugins because hooks are not available ''(this is likely needed for a good page caching API to ever emerge from the work of plugins.)''

For caching this results in plugins like WP Super Cache and WP Total Cache that significantly violate a sancrosact WordPress philosophy of ''""[http://wordpress.org/about/philosophy/#decisions Decisions, not Options]''"". To see what I mean, just visit the settings page for either of these plugins.  ''(Note: I'm not criticizing the plugins or their developers, instead saying that WordPress doesn't give them much of a choice.)''

It turns out however that fixing this is really lightweight and easy, at least for `advanced-cache.php`. I will attach the following files but here is the short list of changes to core required:

- Move the hooks-related function out of `/wp-includes/plugin.php` into another file which I called `/wp-includes/hooks.php` and include `/wp-includes/hooks.php` in `/wp-settings.php` close to the top after `/wp-includes/versions.php` is included.
- Include another new file `/wp-includes/dropsin.php` in `/wp-settings.php` after `/wp-includes/hooks.php` which contains a `wp_load_dropins()` function that `include()`s all `.php` files found in `/wp-includes/dropins/`.  
- Lastly add the following two (2) lines before `advanced-cache.php` is included:

{{{
// Load any potential dropins found /wp-content/dropins/
wp_load_dropins();

// Run the hook-based page cache.
do_action( 'page_cache' );
}}}

With this future caching plugins can implement the page_cache hook by dropping a file into `/wp-content/cache/` instead of  adding an `/wp-content/advanced-cache.php`.  

If this idea is blessed then we could add a deprecation notice for `/wp-content/advanced-cache.php` and also potentially replace (some of) the other dropins with `do_actions( ""{$dropin_hook}"" )`.   


[1] [http://www.urbandictionary.com/define.php?term=%22there%20can%20only%20be%20one%22%20 Gratuitous Highlander reference].",mikeschinkel
19008,Introduce a notoptions cache for site options,,Cache,,normal,normal,Awaiting Review,enhancement,new,,2011-10-19T21:11:47Z,2013-02-19T18:52:05Z,"Following up on #18955.

Adding a 'notoptions' cache for site options would be consistent with normal options.",duck_
20875,Introduce wp_cache_get_multi(),,Cache,,normal,normal,Future Release,enhancement,new,has-patch,2012-06-07T13:56:28Z,2013-04-16T17:12:29Z,"Both options (see #10274) and themes (see #20103) could benefit from a cache backend that implements get_multi(). For options, this means we can use individual keys. For both themes and options, we'd be able to make fast multiple gets.

Both APC and Memcached (but not Memcache) implement multiple-get. A fallback would be looping over get().

Separately, as this would be a new function we use in core, we probably need to start doing some kind of versioning for drop-ins like db.php and object-cache.php.",nacin
21401,Load packaged object cache when advanced-cache.php and object-cache.php don't implement wp_cache_init( ),,Cache,3.0,normal,normal,Future Release,enhancement,new,has-patch,2012-07-28T06:00:11Z,2013-05-14T13:22:25Z,"'''This ticket has 3 purposes:'''

1) introduces {{{wp_using_ext_object_cache()}}} - mimic {{{wp_suspend_cache_invalidation()}}} and disallow direct access to {{{$_wp_using_ext_object_cache}}}, cleans up importing of globals in functions and provides function to modify that global[[BR]][[BR]]
2) load the wp-packaged object cache when {{{object-cache.php}}} doesn't implement {{{wp_cache_init()}}}[[BR]][[BR]]
3) adds file_exists for advanced-cache.php

{{{wp_start_object_cache()}}}, at its core, is on the hunt for {{{wp_cache_init()}}} and then sets the toggle for the external object cache. We only care about the external object cache if it has that function. Rather than throwing a fatal error if their is a missing method, load the default object cache.

If someone installs Memcached properly, then nothing changes - file loads, all is good. If they install a blanks file, the default Object Cache will load. If they install an external object cache without {{{wp_cache_init()}}}, the default cache loads. 

IMO - there is no reason to turn off non-persistent caching or throw a fatal error if the author of a cache plugin sucks or the user made a mistake in moving the files.",wonderboymusic
15565,More context for clean_post_cache(),,Cache,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-11-24T17:41:07Z,2012-10-17T14:21:18Z,"I'd like more context to be available when the clean_post_cache hook is run.

Scenario: I have a plugin caches the post_IDs of most post queries that go through WP_Query.  Invalidating that cache is done via the clean_post_cache hook, but requires a bunch of fragile hacks to prevent cache invalidation for things like comment inserts, which update the post's comment_count (which could, in theory, affect a WP_Query, but that's another story).

Option 1: Add extra actions to provide context.  This is the simpler option.  Patch 1 does this for the above scenario.

Option 2: Add an optional context parameter to clean_post_cache().  This is more general, but I can't think of anyplace else WordPress uses as similar approach.  Patch two.",mdawaffe
21402,"Remove PHP4 methods, format consistently",,Cache,,normal,normal,Future Release,enhancement,new,has-patch,2012-07-28T06:24:33Z,2013-05-14T13:16:42Z,"While I was looking around in cache.php, I noticed the TODO to remove the destructor that does nothing and the constructor that registers it to do nothing

Also, the whitespace was different for almost every function - yet the functions all have similar code, this cleans it up",wonderboymusic
18488,set_transient crashes when value parameter is a SimpleXMLElement object,,Cache,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-08-19T18:58:02Z,2012-09-01T18:03:16Z,"I have been developing a plugin that obtains information about high and low tides in the UK. The data is obtained from another site as a SimpleXMLElement. I found that when I passed a value to set_transient that had been assigned directly from the SimpleXMLObject then it was being received as an object and somewhere in the innards of the function the routine crashed. My workaround was to cast the assignment.
e.g. this failed

{{{
$title = $channel->item->title;
$store = '1';
$secs = bw_time_of_day_secs();
$secs = 86400 - $secs;
$set_transient( ""bw_tides_title_"" . $store, $title, $secs);

}}}

but change line 1 as below and it works

$title = '''(string)''' $channel->item->title;

Two questions therefore. 
1. Am I misinterpreting the documentation that says I don't need to serialise the value? What does mixed actually mean.
2. Does set_transient have to crash when the parameters are wrong?

The problem is completely reproducable. I now have a working solution so I don't need a fix right now. I just want to understand.
Herb 

",bobbingwide
23327,Cache incrementors for get_bookmarks(),,Cache,3.5.1,normal,normal,Future Release,task (blessed),new,early,2013-01-30T18:24:08Z,2013-04-16T17:11:33Z,"Make use of a caching incrementor and store queries in individual cache buckets to avoid memory exhaustion.

Pattern this after #23167, which does the same thing for get_pages().

See #23173 for an explanation of the motivation behind this.",ryan
23173,Don't cache arrays of query results in a single cache bucket,,Cache,3.5,normal,normal,Future Release,task (blessed),new,,2013-01-10T19:05:17Z,2013-04-16T17:10:11Z,"We have started using one cache bucket per query with passive invalidation controlled through a last_changed incrementor. See #22024 for an example. We also need to do this with get_pages(), wp_get_archives(), and elsewhere. On wordpress.com we have hacked some of these into separate buckets because saving multiple queries per cache bucket results in huge buckets. We have seen 72MB get_pages caches. Let's finally clean this up for good. Some of the last_changed work done for #22176 can be used here.",ryan
15256,?cat=## permalinks do not redirect when category is a parent,,Canonical,3.0.1,high,normal,Future Release,defect (bug),reopened,needs-unit-tests,2010-10-30T05:44:18Z,2013-02-25T13:08:53Z,"One of my plugin users reported this while using dropdowns to display his categories: http://wordpress.org/support/topic/plugin-my-category-order-multiple-widget-support-broken

I was able to duplicate it on my own site in 3.0.1. Any category that has children displayed in the dropdown will redirect to /?cat=## instead of the the friendly /category-name permalink when selected. Select any other category or one of the children and they redirect correctly.

Any thoughts?",froman118
20388,?cpage=N URLs do not have canonical redirection,,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T05:43:02Z,2012-05-22T01:07:50Z,?cpage=N URLs aren't redirected to their pretty URL counterparts. They should be.,markjaquith
17661,Appending date & author based query vars to a permalink overrides the permalink,,Canonical,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-02T11:05:05Z,2012-09-09T20:14:26Z,"Some canonical code branches are not properly accounting for extra query variables being specified via the url.

For example, these url's are not handled properly:
{{{
/2008/?author=1 redirects to /author/admin/
/author/admin/?year=2008 redirects to /year/2008/
/category/uncategorized/?year=2008 redirects to /2008/
}}}

This happens with most date based branches, as once a higher priority canonical rule is hit, the permalink component is ignored.

The canonical code includes a branch to add any ""forgotten"" `$_GET` variables back onto the url, however this doesn't help when it's the rewritten variables are being lost.",dd32
22879,Canonical Link Missing on Front Page,,Canonical,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T11:03:05Z,2012-12-30T19:54:30Z,"Canonical links are provided for posts, so if someone links to /2012/12/my-post/?whatever then Google will know it is a duplicate of /2012/12/my-post/

But if someone links to /?whatever there is no canonical address.",miqrogroove
13041,Canonical redirection will redirect a non-exitant page to a post.,markjaquith,Canonical,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-04-18T06:14:20Z,2010-11-13T07:53:23Z,"Following on from #12601

Canonical redirection will kick in for http://localhost/wordpress-commit/apage/something and redirect it to http://localhost/wordpress-commit/2010/02/13/something-else/

#12601 limited redirect_guess_404_permalink() to only searching in the same post_type if one was provided, for posts and pages however, which are builtin, these vars are not set. 

I'm attaching a patch which will prevent a Page -> Post redirection, but not the other way around. - this patch was originally added to the other ticket.",dd32
23074,Changing post's URL and then setting it back causes redirect loop,,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,close,2012-12-29T00:44:50Z,2012-12-30T06:59:34Z,"This morning, I changed the URL of one of my posts, but then changed my mind and set it back. When you change the URL of your post, WP automatically creates a redirect from the old page to the new page, which is good, but in this case it led to an unintended consequence: after I changed the link from A to B and then back to A, it set up a redirect from A to B and a redirect from B to A, causing anyone trying to access A or B to end up in a redirect loop between the two (or possibly it created a redirect loop from A to A; I'm not sure). It should check for such loops when you update the URL to avoid this problem.",vbuterin
17718,Don't redirect if user is already on port 80,,Canonical,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-07T11:31:40Z,2012-10-16T16:36:46Z,"If user is already using port 80 but {{{$original['port']}}} is set to 80 anyway, do not send a needless redirect.

wp-includes/canonical.php line 324

change from

{{{        if ( !empty( $original['port'] ) )}}}

change to

{{{        if ( !empty( $original['port'] ) && $original['port'] != 80 )}}}

Fixes, for example, Nagios's check_http getting sent a redirect rather than the page content.

-davidc",davidcx
14773,Error in slug parsing leads to unlimited URLs for the same article = duplicate content,,Canonical,,normal,normal,3.6,defect (bug),assigned,has-patch,2010-09-03T14:20:45Z,2013-04-11T03:30:30Z,"an example says more than 1000 words:

right url:

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not-hmong-and-i-dont-speak-spanish/

wrong urls:

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not------hmong-and-i-dont-speak-spanish/

http://ahmongwoman.wordpress.com/2010/09/02/i----am-not-hmong-and-i-dont-speak-spanish/

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not-----hmong-and-i-------dont-speak---------spanish/

Problem:

Wordpress returns the article with HTTP status code 200 for the wrong URLs.

This is a serious issue for people regarding search engine optimization (duplicate content).

Expected results:

Wordpress returns HTTP Status code 301 with Location-Header and right URL to the client.",thermoman
8593,HTTP_HOST being manipulated improperly for redirects,markjaquith,Canonical,,normal,normal,Future Release,defect (bug),new,has-patch,2008-12-12T16:37:23Z,2011-03-22T14:49:41Z,"When redirecting a hit to the proper URL, WordPress makes some bad assumptions. Specifically, during redirects, any port information provided by the client is dropped. If I go to http://example.com:80/, I get redirected to http://example.com/. If I go to https://example.com:443/, I get redirected to https://example.com/.

Thus far, no problem has occurred because we are on on server that uses default ports. However, lets say my web server is running http on 8080 and https on 8443. Now when I go to http://example.com:8080/ and get redirected to http://example.com/, it fails. As a workaround, you can change the following settings:
WordPress address: http://example.com:8080/
Blog address: http://example.com:8080/

While this clears up the problem for http requests, you will not be able to use https becuse and attempt to go to https://example.com:8443/ now redirects to https://example.com:8080/ and it fails because the server does not speak ssl on 8080.

Additionally, when you have an https proxy in front of your web server such as pound (with http on port 80 and https on port 8443), you run into another problem caused by this same bug. In this situation if you attempt to go to https://example.com/, the proxy server accepts the request and then on the back end makes a none ssl connection to apache. Good so far, but in order to not make any assumptions, the proxy server tells apache that the request was for 'https://example.com:443/' and apache sets HTTP_HOST (very appropriately) to example.com:443. WordPress sees this request and redirects it to 'https://example.com/' by responding to the web browser with a 'Location:' header. Thus the browser sends another request for 'https://example.com/' and starts the whole process over again resulting in an infinite redirect.

As specifying a port is completely valid, this is a clear case of WordPress not handling things appropriately.",revmj
23602,"Incorrect canonical redirect if p=123 query argument present in ""paged"" archives",,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-02-25T08:34:19Z,2013-02-25T08:34:19Z,"URLs that include `page/n` AND `p=n` query variable, such as:

http://example.com/page/3/?p=123

will issue a 301 redirect to the homepage. This is being reported as incorrect behaviour in Google Webmaster Tools, because:

  The target URL does not exist and your server is not returning a 404 (file not found) error. 

  Your server is redirecting requests for a non-existent page, instead of returning a 404 response code. This creates a poor experience for searchers and search engines.

A fix would be to strip the `p=` query variable and redirect to the paged archive. 

From: 

http://example.com/page/3/?p=123

to:

http://example.com/page/3/
",kasparsd
16133,"Pagination issue with tag ""rss""",,Canonical,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-07T09:39:10Z,2012-09-04T21:50:34Z,"When posts use ""RSS"" as a tag, and the /tag/rss/ page has more posts than it is set to display on one single page, the link to page 2:

/tag/rss/page/2/

is redirected to:

/category/page/2/

Tested on Paolo Belcastro test WordPress.org :

http://test.belcastro.com/tag/rss/

Running 3.1-RC2-17229 with only Debug Bar plugin activated

This is not theme related, same behaviour with TwentyTen or Thematic on this install.",paolal
21700,Problem obtaining the Feed of an archive of tag “RSS”,,Canonical,3.4.1,normal,normal,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
20383,Strip trailing punctuation with canonical URLs,,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T03:59:49Z,2012-07-13T00:47:29Z,"A follow-up to #7537 where we removed %20 and "" "" from the end of URLs, we should try to remove all sorts of punctuation from the end of a URL, both URL-encoded and decoded.

Example bad URLs we should surely be able to resolve:

http://ma.tt/2012/03/productivity-per-square-inch/%7B

http://ma.tt/2012/03/productivity-per-square-inch/)

http://ma.tt/2012/03/productivity-per-square-inch/,

http://ma.tt/2012/03/productivity-per-square-inch/!

More difficult when there is no trailing slash in the permalink structure (or the link requested, regardless of permalink structure), but if is_404() is taken into account, it should be doable to trail various pieces of punctuation and see if we can get things to resolve.",nacin
18734,Subcategory archive does work with any name as parent category in URL,,Canonical,3.0.1,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2011-09-21T15:10:46Z,2012-10-22T23:10:00Z,"Parent category is ''parentcategory'' and his sub category is ''subcategory''.

The URL will be ''domain.com/category/parentcategory/subcategory''.

The problem is, that you will get the same page if you use any words as ''parentcategory''.

Examples:
- ''domain.com/category/xxx/subcategory''
- ''domain.com/category/subcategory''
- ''domain.com/category/foo/bar/subcategory''

IMO {{{redirect_canonical}}} should do his work here (and sometimes it does).

In 3.1 it does redirect.
In 3.1.4 it doesn't redirect; after r17549.
In 3.2.1 it doesn't redirect.
Duck_ found that it does redirect before r18079.
In current trunk it doesn't redirect.


",ocean90
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
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
20386,"Year permalinks ""win"" against category permalinks",,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T05:20:55Z,2012-07-16T04:14:43Z,"We need to decide whether category permalinks should take priority over year permalinks.

e.g. /2008/?category_name=cat-a

Should that stay the same, or redirect to:

/category/cat-a/?year=2008

We have a unit test which is failing.",markjaquith
21602,redirect_canonical can lead to infinite loop on index navigation if site url is not all lower case,,Canonical,,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-08-15T21:31:17Z,2013-04-23T07:53:55Z,"The function redirect_canonical in wp-includes/canonical.php (WordPress 3.4.1) on line 406 and 422 makes the following check:


{{{
if ( !$redirect_url || $redirect_url == $requested_url )
		return false;
}}}


This ensures that it does not attempt to redirect you to the page you requested in the first place. However this function is not case sensitive so if the redirect URL is in a different case than the requested URL then the user can enter an infinite redirect loop. (For example if the Site Address (URL) of the site is set to be in all upper case.) 

This function should do a case-insensitive string comparison since domain names are case-insensitive.


The issue only appears to happen with certain plugins installed (ShareThis and PilotPress both led to this issue,) I haven't figured out yet why it's only an issue with certain plugins but it should still be fixed in WordPress to make the proper string comparison. ",sreedoap
20902,redirect_canonical() on using permalink: Not all $_GET being redirected,,Canonical,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-11T09:30:08Z,2012-11-01T04:54:03Z,"Using permalink, I suppose that all query_var entered manually on URL or using $_GET will be redirected to proper permalink. Apparently not all being redirected at all. AFAIC:

1. /?post_format=image : should be redirected to /type/image/
2. /?pagename=blog : should be redirected to /blog/
3. /?author_name=admin : should be redirected to /author/admin/

Unfortunately, they are not.

It can be done by filtering redirect_canonical() but it will be better  if it's being done by default as we can see that /?category_name=cat will be redirected to /category/cat/",arieputranto
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
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
17653,Canonical Redirect when space(s) are used instead of hyphens when requesting a page,dd32*,Canonical,3.2,normal,normal,3.6,enhancement,accepted,needs-unit-tests,2011-06-02T01:25:08Z,2013-02-21T01:15:53Z,"Create a page with a slug that contains a hyphen (eg. /page-name/).

If you then visit /page name/ (ie. use a space instead of a hyphen), WordPress currently manages to locate and display the page-name page. This could cause duplicate content issues.

The same issue occurs if multiple spaces are used instead of a hyphen.

As an example, this is the original page: http://jamesc.id.au/test-page/

This page is accessible via:
* http://jamesc.id.au/test%20page/
* http://jamesc.id.au/test%20%20page/
* http://jamesc.id.au/test%20%20%20page/
* http://jamesc.id.au/test%20%20%20%20page/

and so on.

WordPress should either output a 404 error, or redirect to /page-name/.

Tested using the latest 3.2 trunk (r18110).",jamescollins
12456,Canonical URL redirect issue with post_id/postname permalink structure,dd32*,Canonical,2.9.2,normal,normal,Future Release,enhancement,accepted,has-patch,2010-03-02T14:06:38Z,2013-05-16T12:31:07Z,"The issue:

Using /%post_id%/%postname%/ as permalink structure,
Most canonical redirects work fine, except: 

domain.com/post_id/ brings you to the post but does not redirect to the canonical domain.com/post_id/postname/

Additional info:

The above permalink structure conforms to best practice as described in the codex:
http://codex.wordpress.org/Using_Permalinks#Structure_Tags

Therefore I figured this was a bug, given the attention given to redirecting to the canonical url ""So to avoid confusing search engines and to consolidate your rankings for your content, there should only be one URL for a resource."" 
http://markjaquith.wordpress.com/2007/09/25/wordpress-23-canonical-urls/
",Frank.Prendergast
18385,"Canonical redirections not suited for Queries with multiple query vars and ""pretty permalinks"" in general",,Canonical,3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-08-12T09:05:03Z,2011-08-12T12:21:47Z,"When the Canonical code was originally written, it served it's purpose quite well. However, over the years the number of Query vars which can be used to access content via has increased, and so have the number of archive views. This has lead to increased complexity in the Taxonomy canonical code which has needlessly caused bugs.

What I'm proposing, is that it might be time to lay to rest the current `if.. elseif.. elseif..` style checks, It's not possible for 1 if branch to handle every single access point without duplicating another branch.

As a result, I've put a half-finished together alternate version of Canonical, It's based on tallying up which query vars have been used/accounted for and removing any duplicates.. It's certainly not the best, but it's fairing better with the unit tests so far.

{{{
Unit Testing: http://unit-tests.trac.wordpress.org/browser/wp-testcase/test_includes_canonical.php
Before: FF.......FFFF..FFF.....F......FFFFFF.F....F.....FF....FF...
 After: FF...........FFF..................FF..................F....
}}}

It's a work in progress, but it's worth considering IMO.

Attaching a diff, and the full file (since the diff is going to be rather unreadable in some sections)",dd32
20283,Create new variable or function in $wp_query object to get canonical URL of any site's page,,Canonical,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-22T14:42:36Z,2012-03-24T12:08:55Z,"For the sake of Search Engine Optimization it's recommended to set canonical URL inside <link rel='canonical'> tag in any site's page. Incorrect URL can exist in search engine index. For example: http://example.com?some_param=some_val&cat=3,4. URL points to categories with id equals 3 and 4, but we have another unnecessary parameter 'some_param'. It's malicious! We must set canonical URL to http://example.com?cat=3,4.
So It's advance to have canonical URL generated some way. I propose to set function or variable inside WP_Query class to retrieve canonical URL to any opened page.

In WP_Query we have variable WP_Query::query which consists of all necessary parameters for that propose. But we must use $wp_rewrites also.
Any thoughts?
",egorpromo
14458,Create rel_canonical filter,,Canonical,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-07-29T21:48:34Z,2011-05-06T14:18:54Z,"Wouldn't it be nice to be able to set the canonical rel value.
This comes in handy when you create a duplicate page and be able to manipulate the cannonical value.

Usage:
{{{
add_filter( 'rel_canonical', 'childtheme_rel_canonical', 10, 2 );
function childtheme_rel_canonical( $link, $id ) {
  return get_permalink( 55 );
}
}}}
",wjm
18660,"Enhance rel_canonical function, add filter",joostdevalk,Canonical,3.3,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-09-14T15:59:03Z,2012-05-02T05:21:15Z,"I think it's a bit shortsighted to think that only singular pages need the canonical tag output in the `<head>`. Considering the fact that just about any page on your site can be accessed with a malformed URL, I think it's time to enhance this function.

The attached patch is just a first pass. But I think it gets us started in the right direction. There's also a filter before output, so themes and plugins can further enhance the output of this plugin (related #14458).

Patch is against [438126].",nathanrice
23087,Filter wp-register.php canonical redirect in single site too,,Canonical,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-30T16:02:06Z,2012-12-30T21:05:43Z,"in canonical registration location redirecting we have a filter for MS but none for WP Single Site. I'm unsure of how to convert Git patches to svn, so... yeah... Sorry.

patch:
https://github.com/ChrisClayton/WordPress/commit/449ac581ff45bfd68050280cdad6211d907ca12f",chrisclayton
20496,Previews should redirect to the permalink if the post has been published,,Canonical,,normal,normal,Future Release,enhancement,new,has-patch,2012-04-20T21:55:08Z,2013-05-21T20:00:47Z,"If a post is saved as a draft and you visit the preview URL, even after the post is published, you will stay on the preview view (with preview=true in the URL).  This is confusing since you're not actually previewing anything, you're viewing a public post.",evansolomon
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
21765,Redirect to canonical URL if URL has 'preview' parameter with any nonempty value and user not log in,,Canonical,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-09-01T13:18:44Z,2012-09-01T15:15:07Z,"if any URL has nonempty GET-parameter 'preview' that there is noredirection to canonical URL.
If we have http://example.com?p={post_id}&post_type={post_slug}&preview=true there is no redirection to correct URL like http://example.com?{post_type}={post_slug} or like http://example.com/{post_type}/{post_slug} (if site has permalinks). This is bad for SEO and bad user experience. If user not log in there must be redirecttion.",egorpromo
15950,Tweak canonical redirect name requests,,Canonical,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-22T18:09:54Z,2010-12-22T22:28:38Z,"Scenario: A website has the following two pages:

 * `example.com/foo/amazing-thing/`
 * `example.com/amazing/`

Upon requesting `example.com/amazin` the canonical redirect should favour the top-most level page. This doesn't happen as the relevant SQL query doesn't have an `ORDER BY` clause, making the behaviour unpredictable.",johnbillion
20224,WordPress should always add a / at the end of URLs,,Canonical,3.4,normal,normal,Awaiting Review,enhancement,reopened,close,2012-03-13T09:54:17Z,2012-03-14T12:36:36Z,"Users can change permalinks. They can add whatever they whant at the end of each url. For example :[[BR]]
- mydomain.com/myurl
- mydomain.com/myurl/
- mydomain.com/myurl.php
- mydomain.com/myurl.html
- mydomain.com/myurl.htm
- ...

There is a bug with search engines and empty URLs (mydomain.com/myurl). Google, Yahoo or Bing consider that it's not the same URl as mydomain.com/myurl/. They always try to add a / at the end of those URLs : it creates duplicate content for search engines that harms website visibility. For example, if a WordPress Blog uses /%postname% as permalink, Google is going to index both url:
- mydomain.com/myurl
- mydomain.com/myurl/

In order to correct this issue, WordPress should always add a / at the end of empty URLs (for example, without a / or without extension like .php, .asp, .html, ...).",Confridin
15397,redirect_guess_404_permalink() purposedly doesn't guess posts with updated dates,,Canonical,,lowest,normal,Future Release,enhancement,new,dev-feedback,2010-11-12T00:17:38Z,2012-07-03T15:37:18Z,"'''Problem'''

Here's my post path scheme: http://site.com/YEAR/MONTH/DAY/SLUG. Whenever I have writers working on a post for a while and saving drafts (we're all using Windows Live Writer), they oftentimes publish to the date when the last draft was saved, i.e. several days in the past. Then, they quickly correct the date but the previously tweeted/shared link is now 404 due to the changed date.

I've looked into the source of redirect_guess_404_permalink(), and it purposedly narrows down the query when it sees a post date to that date only. If I understand correctly, this is done to minimize accidental redirects to the wrong post, but has the side effect of not guessing the new link if only the date was changed.

A workaround of removing these lines:
{{{
  if ( get_query_var('year') )
    $where .= $wpdb->prepare("" AND YEAR(post_date) = %d"", get_query_var('year'));
  if ( get_query_var('monthnum') )
    $where .= $wpdb->prepare("" AND MONTH(post_date) = %d"", get_query_var('monthnum'));
  if ( get_query_var('day') )
    $where .= $wpdb->prepare("" AND DAYOFMONTH(post_date) = %d"", get_query_var('day'));
}}}

fixes the problem for me.

Can this case be solved in the trunk and the code above removed, or logic improved? My .htaccess file is filled with 301 redirects to correct wrong dates.

Thank you.",archon810
10543,Incorrect (non-UTF-8) character handling in tag's name and slug,westi*,Charset,2.8.2,normal,normal,Future Release,defect (bug),accepted,needs-unit-tests,2009-08-04T05:26:11Z,2010-11-13T01:15:40Z,"Incorrect (non-UTF-8) character tag's name and slug are handled in different way: name is truncated on 1st such character, and in slug they are just removed (no truncation). WP should handle both in the same way - drop invalid characters, instead of truncation.

I found this issue recently. One of the Polish programs for adding posts to the Wordpresses does not encode tags in UTF-8 - it left them in ISO-8859-2. I notified author of this bug. Unfortunately there are many copies around, so it may take a long time before everyone upgrade.",sirzooro
18007,is_serialized trouble for multibytes encoding,,Charset,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-07-06T16:51:52Z,2013-04-10T12:47:42Z,"Possible bug in the ''is_serialized'' function, in a multibytes environment :

== Context ==

* ''utf-8'' encoded database fields
* auto overlaoding singlebyte functions from conf (see http://www.php.net/manual/en/mbstring.overload.php)

Retrieving an option from the database, the ''get_option'' function try to deserialize it.

== Bug scenario ==
 * the ''strlen'' call is actually a ''mb_strlen'' one
 * the ''$length'' var is the number of characters (not bytes)
 * using {{{ $data[$length-1] }}} don't retrieve the last char but one before, it's actual position is undefined, depending on the other content of the string
 * this ''$lastc'' is not '';'' or ''}'' 
 * the string is understood has not serialized

== Patch proposal ==

here is a fix i made to make it work with multibytes string :
Not tested it for single bytes, but there is no reason for it to not work.
{{{
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -256,7 +256,7 @@ function is_serialized( $data ) {
                return false;
        if ( ':' !== $data[1] )
                return false;
-       $lastc = $data[$length-1];
+       $lastc = substr($data, -1);
        if ( ';' !== $lastc && '}' !== $lastc )
                return false;
        $token = $data[0];
}}}

",challet
11738,sanitize_text_field() issue with UTF-8 characters,hakre,Charset,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-06T07:39:11Z,2010-11-13T07:36:00Z,"See Description #11528

Suggested patch does not take UTF-8 properly into account. Function has been degraded in the commit(s) [12499], [12501] to not support shift-spaces any longer. Details about preg_replace and UTF-8 as well as a proper suggestion to fix w/o degration [https://core.trac.wordpress.org/ticket/11528#comment:10 here].",hakre
11175,wp_check_invalid_utf8() should drop invalid utf-8 chars only instead of truncating string,hakre,Charset,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-11-18T19:18:43Z,2011-07-13T09:46:51Z,"When you call wp_check_invalid_utf8() with 2nd param set to true, it tries to strip invalid utf-8. Now it removes 1st invalid utf-8 char and all chars after it, no matter if they are correct or not. Additionally it can print following notice:

Notice: iconv() [function.iconv]: Detected an illegal character in input string in .../wp-includes/formatting.php on line 437

Attached patch changes this, so function removes invalid chars only. Additionally it is less configuration-dependent, because it can use either mb_convert_encoding() or iconv().",sirzooro
20319,$page value not being defaulted to 1 in the absence of cpage query var in get_next_comments_link()/get_previous_comments_link(),,Comments,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-29T09:23:19Z,2012-05-24T07:27:29Z,"get_next_comments_link() generates incorrect comment pagination links on the first page when used alongside a user-made call to wp_list_comments().

Currently, get_next_comments_link() doesn't take into account instances where there is no 'cpage' query var (which is the case when a user-made call to wp_list_comments() is performed). The intval() of the empty $page variable returns 0, and at this point should then be defaulted to 1 in order for the correct link to page 2 to be generated. Instead, it's left as 0, and the resulting link is self-referencing to page 1.

In wp-includes/link-template.php:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage'); //RETURNS EMPTY IN ABSENCE OF A cpage VALUE ON PAGE 1 OF A USER-MADE CALL TO wp_list_comments()

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK SELF-REFERENCING PAGE 1, INSTEAD OF POINTING TO PAGE 2

    ...
}}}

Coincidentally, in paginate_comments_links() (wp-includes/link-template.php) this situation is handled correctly, and $page does get correctly defaulted to 1. The same conditional used in paginate_comments_links() can be applied to both get_next_comments_link() and get_previous_comments_link(). The code to properly account for it is:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage');
    if ( !$page ) //******** ADDED
        $page = 1; //******** ADDED

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK NOT POINTING TO PAGE 2

    ...
}}}

The same addition should be made to get_previous_comments_link() as well, although it's obviously unnoticeable on the first page.",MomDad
19930,Add tabindex to Comment Submit button,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-30T14:54:21Z,2012-05-03T15:40:22Z,"For accessibility reasons, it would be nice to be able to add tabindex to the comment form submit area.",wpsmith
22792,Cannot change name attribute of comment submit button,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-06T17:03:01Z,2012-12-06T17:20:24Z,"This prevents developers from using client-side validation, as the name attribute being set to ""submit"" interferes with the .submit() method.  I can change the id and the label of the submit button, but that is all.

The default WordPress server-side validation is unacceptable from a user-experience standpoint.

This would be the solution for me, which I find cumbersome (http://wordpress.stackexchange.com/questions/65001/error-when-posting-comment-form-the-error-is-typeerror-eh-is-not-a-function). 

The developer should be allowed to set the name attribute of the submit button (maybe through the use of comment_form()).",willi828
16134,Check capabilities/role before adding comment links to email,,Comments,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-07T10:23:06Z,2011-02-19T20:35:22Z,"Currently the Trash it, Delete it, Spam it are added to comment notifcation emails, which are sent to the author.

However, the author may have had their role changed down to a lower-role (or had capability removed) since they wrote the post, and no longer would have permissions to use the links added to the email. 

It may also be the case that a subscriber user was assigned as the Post Author (perhaps as a sort of Guest Author) for a post, and never had the permissions to use those links.

Can some sort of check be added, before these links be added to the email?",GaryJ
16430,"Comment 'Reply' button still present when comment max depth has been reached, just without text.",,Comments,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-01-31T22:12:56Z,2013-01-15T23:41:09Z,"With comment max depth set, in my case, to 5 on the admin panel, the div for the reply link would still appear even though the text that says 'Reply' would not. Basically, it was an empty div with class=""reply"". The fix is quite easy, which I implemented in test on one of my WP sites.

Around line 1372 of wp-includes/comment-template.php, there is the following is code:
{{{
<div class=""reply"">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
}}}

This can simply be enhanced to this:
{{{
<?php if ( $depth < $args['max_depth'] ) : ?>
<div class=""reply"">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
<?php endif; ?>
}}}

I just added a quick check to make sure our current comment depth did not meet (or somehow exceed?) our set max depth.",TheGremlyn
10377,Comment fields should have max lengths,,Comments,2.8,normal,normal,Future Release,defect (bug),new,,2009-07-10T14:34:27Z,2012-07-13T01:05:25Z,"Hello, I don't know if exactly it's a bug or use javascript validation, but i think so there's no 	
treatment for this, or was fix in the new version.

In the section of comments(Wordpress 2.8), we can insert how many characheters we wants, generating an SQL Exception and breaking the all system.

The solution is simple, use the property maxlenght in the tag 
<input /> e limit the characters if will be send to database.



",muriloazevedo
23469,Comment meta query is parsed before the pre_get_comments filter,,Comments,3.5,normal,normal,3.6,defect (bug),new,has-patch,2013-02-13T12:21:26Z,2013-04-08T06:54:07Z,"Currently it is impossible to use the `pre_get_comments` filter to adjust the meta_query, because `parse_query_vars( $this->query_vars )` is run before the filter is applied http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/comment.php#L243:

{{{
// Parse meta query
$this->meta_query = new WP_Meta_Query();
$this->meta_query->parse_query_vars( $this->query_vars );

do_action_ref_array( 'pre_get_comments', array( &$this ) );
}}}

Comment meta query should be parsed '''after''' the `pre_get_comments` filter has been applied.",kasparsd
12363,Comment permalink wrong when only listing one comment type,,Comments,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-24T14:31:51Z,2010-11-13T07:46:50Z,"If you pass the `type` parameter to `wp_list_comments()` (for example, to show comments only and no pings), then comment permalinks can easily use the wrong page number as they expect there to be pings included. This is apparent after leaving a comment and WordPress attempts to redirect back to your new comment.

At first I was thinking you could tell WordPress that you're filtering to a type and it could compensate when determining the page number, but then I realized perhaps it'd just be better for `wp_list_comments()` to check if there were 0 comments returned for the query and if so, see if there are any of that type of comment available. If so, then we know we're on too high of a page number and can instead display the highest existing page. Then again this introduces SEO issues.

Ideas on what to do are welcome.",Viper007Bond
17714,Comment/pingback handlers don't check whether the post type supports comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-06-07T06:09:02Z,2011-06-07T06:17:45Z,"wp-comments-post and XML-RPC don't check post type support for comments before accepting them - I think they should. We can't rely solely on `$post->comment_status` because that may not always be set to ""closed"" even if the post type doesn't support comments (see also #13473)

Maybe we could add a check to `comments_open()`?",solarissmoke
18603,Comments on pages which exceed paginate settings create erroneous permalinks,Mike Sagman http://www.dogfoodadvisor.com,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-09-06T17:32:14Z,2013-02-07T17:09:36Z,"On my website, clicking on any of the Recent Comments that possess large numbers of comments exceeding paginate settings (50 comments) present erroneous permalinks. Only the posts containing enough comments on page 3 or higher present these improperly constructed links that take users to the wrong page (a page that does not contain the comment in question). The problem does not occur on pages containing a limited number of comments. So far, we have removed our Thesis theme and changed to the standard WP default theme. And we've deactivated all plugins. Yet neither solution appears to resolve the issue. Thanks for your consideration. You may view this issue live at http://www.dogfoodadvisor.com",msagman
16976,Don't use photo as avatar class in comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-27T00:54:44Z,2011-03-27T01:07:30Z,"If you use an image in your post with class 'photo' to show it in Google's search results as a rich snippet is not possible if you make use of avatars in your comments. Google will pick the last class 'photo' image on the page to show as the search result.

Suggestion is to change the avatar class in comments to from 'photo' to 'comment-photo'. A post image is more important than a comment avatar to use for rich snippets.",Okoth1
8973,Function get_page_of_comment() returns incorrect page numbers,,Comments,2.7,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2009-01-27T16:54:40Z,2012-06-17T22:37:09Z,"The function get_page_of_comment(), defined in /wp-includes/comment.php for WordPress 2.7, returns wildly incorrect results in cases where the database includes spam trackbacks or pingbacks. The reason is that the DB query on line 595 does not include ""comment_approved = 1"" and therefore incorrectly counts unapproved trackback and pingback spam (not to mention non-spam comments in moderation). As far as I can tell from browsing my DB, although spam comments have their comment_type changed to 'spam' in the database, trackbacks and pingbacks still retain their original comment_type.

As a newbie to the WordPress Trac, I'm afraid I don't know how to provide a diff, but the full correct query is as follows:

$oldercoms = $wpdb->get_var( $wpdb->prepare( ""SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 1 AND comment_post_ID = %d AND comment_parent = 0 AND comment_date_gmt < '%s'"" . $comtypewhere, $comment->comment_post_ID, $comment->comment_date_gmt ) );

The upshot is that without the above fix, comment URLs in several places (e.g., RSS feeds) may point to non-existent pages.

All the best,
Greg

",GregMulhauser
24383,Improper moderation_notify check with comment moderation,,Comments,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-21T21:06:31Z,2013-05-21T21:06:31Z,"When comments are held for moderation, there are no options to allow the admin only to receive such comment. 
Checking the ""Email me whenever: A comment is held for moderation"" actually enables the moderation_notify setting, allowing the admin to receive the email, but the post author (and anyone with edit access it seems) will receive the email too.

moderation_notify should be split into moderation_notify_author and moderation_notify_admin",TeckniX
14711,Indexes for comment_author_email and user_id,,Comments,3.0,normal,normal,Future Release,defect (bug),new,early,2010-08-27T07:18:30Z,2011-01-08T19:36:17Z,"There are currently no indexes on any of the author columns in wp_comments.  That means there's no efficient way to count the comments written by a given commenter, for example.

The enclosed patch adds two separate non-unique indexes, one each for comment_author_email and user_id.
",tellyworth
13792,Invalid reply link from comment admin when comment nested level > max,,Comments,2.9.2,normal,normal,Future Release,defect (bug),reopened,,2010-06-09T07:05:56Z,2010-11-13T17:53:57Z,"I have a blog with nested comments enabled, max depth of 4. When the last level comment is posted, it no longer contains a Reply link.

However, in the Comment admin, the Reply link is still present. If used, this new reply will show up at the very bottom of the comment list once posted (even if other newer regular comments are entered, this new reply will still show up at the very bottom).

The bug is, basically, that Comment admin doesn't respect the max nested value.",archon810
21845,Losing comment reply by accidentally clicking on another comment,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-08T13:17:20Z,2012-09-17T22:31:50Z,"This is a usability bug.

When replying to a comment in the Edit Comments (wp-admin/edit-comments.php) page, double-clicking on another comment will open that comment for editing and wipe away the reply you were writing. 

If you want to highlight a word to copy from the comment that you are replying to this can be done by double-clicking the word. So completely by accident your reply is wiped out. This occurred on wordpress.com so I'm guessing their using the latest 3.4.2 version.",icc97
12480,Moderated comments don't show blank links,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-02T18:29:09Z,2010-11-13T07:48:54Z,"Comments caught in moderation won't show the blank links inserted into them unless you edit them.

A comment with html code like <a href='http://example.com/'></a> will not show that link on the moderation page.",donncha
10790,"No feedback given to commenter when ""Name"" field empty",,Comments,2.8.4,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-09-15T17:43:44Z,2011-01-21T05:44:40Z,"On my installation, name and email are not required to post a comment. I must approve every comment before it appears. If a user chooses to give their name anyway, then after they post their comment, they get a screen that says ""Blah says:"" and below that ""Your comment is awaiting moderation."" This is expected behavior.

However, if the user does not give their name, then they do not get any sort of confirmation that their comment was sent. It is sent successfully, but the user should have confirmation, otherwise they will likely try more than once before giving up in frustration.

I have tested this bug using Firefox 3.0, with and without JS enabled, and Internet Explorer 6.",WK1
11286,Normal User Input Causes Status 500,,Comments,2.8.4,normal,normal,Future Release,defect (bug),new,commit,2009-11-30T21:45:04Z,2012-11-26T22:20:40Z,"To reproduce:  Click the Submit Comment button on any post with no other input.

Expected Result:  Status 200 or 403 with feedback to user.

Actual Result:  Status 500 with feedback to user.

Status 500 means the server is at fault for an unexpected error condition, which is not the case here.  It is the incorrect response to send, and it is alarming to see it show up in a server log without an error message.

Patch should be ready shortly...",miqrogroove
11248,Paged wp_list_comments() should always output something,,Comments,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-11-24T06:00:23Z,2010-03-13T22:04:21Z,"Enable comment paging on your blog and visit `http://yourblog.com/a/single/post/comment-page-999999/`. Note no comments will be displayed.

There's situations where the comment form will redirect you back to the wrong page (for example if you mess with the type parameter and exclude pings). The Walker should detect if there's no comments to be displayed on the requested page and if that's the case, then display the latest page that actually has comments.",Viper007Bond
18762,Pagination does not work correctly on walker in reverse order.,,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-23T21:08:42Z,2012-05-02T17:26:33Z,"Steps to reproduce:
1. Go to Discussion and change Comments should be displayed with the  comments at the top of each page to ""newer"" (that is, set comment_order='desc'). 
2. Make sure your theme is paginating comments. Make sure you have more than the page limit of comments.
3. Note that the first page does not actually contain the newest comments (they're off by a page, or perhaps they're just sorted in one way for the pagination and a different way for the inner page sort).

If you check out the $start, $oldstart and $end variables, the way it was written before the patch, $start gets set to 11 (page limit + 1) on page = 1, the way it is written after the patch, start is 0, as it should be. 

All I've done is swapped the order of $start and $end being updated. This fixes the starting point. This needs to be tested in more detail before actually deploying it, but there is definitely a pretty serious bug here.",gburtini
13648,Post link?,ryan,Comments,3.0,normal,normal,Future Release,defect (bug),new,,2010-05-30T22:51:23Z,2010-05-31T20:50:17Z,Adding '''?comments_popup=1''' to the url go to that post id number but in comment view with the trackback to the post with the regular permalink. Found this via search engine that indexed it instead of post url.,giuseppex
20050,Proper Cap check in edit_comments.php,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-15T17:36:51Z,2012-02-15T17:56:25Z,"See #20025.
As in edit.php?post_type=custom_post_type
and edit-tags.php?taxonomy=custom_taxonomy

When filtering comments for a specific post type
The fix in cap is more appropriate",nprasath002
22261,Recent comments widget makes additional queries when pagination is enabled,,Comments,,normal,normal,Future Release,defect (bug),new,,2012-10-23T14:19:59Z,2012-10-23T14:19:59Z,A continuation of #15400.,nacin
16770,"The comments field in the post table gets set to 'closed' for all posts, and commenting options change from those set",,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-06T00:48:21Z,2011-03-06T17:25:27Z,"these problems are documented in this forum topic. http://wordpress.org/support/topic/why-is-my-comments-closed-in-all-posts-open-in-all-pages?replies=13#post-1768692 

It has happened to me twice",linusinutah
15905,Using wp_list_comments using both the type and callback arguments causes the first comment to be repeated,,Comments,,normal,normal,Future Release,defect (bug),new,close,2010-12-20T03:12:18Z,2011-01-27T07:01:44Z,"I'm using wp_list_comments like so: 

{{{
	<ol class=""commentlist"">
	<?php wp_list_comments('callback=comment_callback&type=comment'); ?>
	</ol>
}}}

When including the comments on a page listing many posts (like the home index page), the callback function is always passed the first comment that is encountered.  Trying get_comments before wp_list_comments shows the proper comments that should be displayed, but the callback always receives the same comment as it's argument.

Removing '&type=comment' yields the expected output.  My current workaround is to remove '&type=comment' and only respond to comments with an empty string for the comment_type in my comment callback function.
",benschell
23369,WP_Comment_Query meta query 'count' conflicts with 'group by',,Comments,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-02T13:39:20Z,2013-02-02T14:52:54Z,"This problem relates to {{{/wp-includes/comment.php}}}, both 3.5.1 and trunk are affected. The following line number refers to the 3.5.1 version. 

At line 195, definition of class {{{WP_Comment_Query}}} , a typical meta query will generate such SQL:

{{{SELECT * FROM wp_comments INNER JOIN wp_commentmeta ON (wp_comments.comment_ID = wp_commentmeta.comment_id) WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND comment_post_ID = 22 AND ( (wp_commentmeta.meta_key = 'my_flag' AND CAST(wp_commentmeta.meta_value AS CHAR) = 'my_value') ) GROUP BY wp_comments.comment_ID ORDER BY comment_date_gmt DESC }}}

Note that at line 357, a meta query will always generate a {{{GROUP BY}}} clause. This works for comment rows. Say that I've got 3 comments matching this query, I'll see each of them in a row:

{{{
comment row 1, data
comment row 2, data
comment row 3, data
}}}

However, this query doesn't work well then {{{$count = true}}}. Note that by specifying {{{$count = true}}}, the function only changes {{{'SELECT *'}}} into {{{'SELECT COUNT(*)'}}}. For 3 comment result, I'm seeing something like this:

{{{
1
1
1
}}}

And you can see, because there's a {{{'GROUP BY'}}} clause. And each comment has a unique ID. The result is 3 'grouped row' of comments, and each will always have count of 1.

Therefore, the result of {{{$wpdb->get_var()}}} will be either 1, or NULL (when nothing is matched). I believe this behavior is not by intention.

To get count working, {{{'GROUP BY'}}} clause must be removed when $count is true.",heshiming
20262,"When ""Automatically close comments on articles older than X days"" is enabled, comments appear closed on draft posts",,Comments,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-20T15:14:21Z,2012-09-05T17:12:08Z,"If the setting to ""Automatically close comments on articles older than X days"" is enabled via Settings -> Discussion, comments automatically appear as closed on draft posts until the post is published. This is regardless of the Discussion settings configured on the Post Edit page for the draft post.

To replicate:

1. Via Settings -> Discussion, click on ""Automatically close comments on articles older than X days."" 

2. Create a new post and save it as a draft. Make sure comments are enabled in your Discussion module.

3. When previewing the draft post, it will say ""Comments closed"" regardless of the Discussion settings.

The post will show comments as being allowed once it's published, they only show up as closed when in the draft format. ",evarlese
23939,Wrong capability check in wp_ajax_replyto_comment,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-04T18:39:21Z,2013-04-05T01:06:32Z,"The wp_ajax_replyto_comment function in the wp-admin/includes/ajax-actions.php checks the ""edit-post"" capability instead of the ""edit-comment"" capability.

Attached a tested patch. ",fgauthier
11566,clean_comment_cache() does not clean $GLOBALS['comment'],,Comments,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-22T21:18:23Z,2011-04-28T22:55:15Z,"I am trying to add links to comment list, which will allow to delete comments directly without need to move them to trash first (and with trash enabled). For posts/pages I found working workaround: hook `trashed_post` and `call wp_delete_post()` again from. 

Unfortunately similar approach for comments does work. As I checked, `wp_trash_comment()` calls `get_comment()`. The latter function implements simple comments cache using `$GLOBALS['comment']`. When you change comment status to `trash`, `wp_set_comment_status()` clears cache by calling `clean_comment_cache()`, but it leaves that global set. As a result my workaround does not work. 

I think that `clean_comment_cache()` should clear that global too.",sirzooro
13473,comment_status should be set to default_comment_status when commentstatusdiv is removed,westi,Comments,,normal,normal,Future Release,defect (bug),reopened,,2010-05-20T23:36:24Z,2011-11-24T16:13:29Z,"When the Comment Status box is removed from the Add/Edit Post screens, posts should be created with the comment_status set to the value of the default_comment_status option.

-----

I had hidden the Comment Status box via:
remove_meta_box('commentstatusdiv','post','normal');

and made sure that default_comment_status was set to open:
update_option('default_comment_status', 'open');

After adding a new post it displayed ""Comments Off"" when I was assuming that it should have honored the value of default_comment_status.",jimmcq
4916,comment_type function doesn't return the comment type string,,Comments,2.3,normal,normal,Future Release,defect (bug),assigned,,2007-09-06T07:41:30Z,2012-03-12T11:37:16Z,"The comment_type function in comment-template.php only echoes string that explain the comment type. Sometimes we need the string to be returned instead of echoed, e.g. for i18n purposes.",hudatoriq
13091,edit_post action on wp_update_comment_count_now should not be fired if the comment count hasn't changed,,Comments,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-23T06:43:15Z,2010-10-02T00:13:54Z,"wp_update_comment_count_now() is called whenever a comment status is transitioned (or a comment is deleted). However, if the comment transition is not from/to the 'approved' status (e.g., if the comment is transitioned from 'spam' to 'trash' or from 'unapproved' to 'trash'), then the associated post is not actually affected. Therefore in such cases the edit_post action shouldn't be fired, because the post has not been edited/modified in any way. I would argue that the 'wp_update_comment_count' action also should not be fired.

One solution is to check whether the comment count has changed before firing the action.  Another possible option is to call wp_update_comment_count only when a comment has transitioned in/out of the ""approved"" status. I'm inclined to prefer the former because it involves less change.

Proposed patch to follow.",solarissmoke
17778,get_comment_pages_count() returns > 1 when pagination is disabled,,Comments,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-13T05:01:58Z,2011-07-09T11:10:47Z,"If pagination is disabled, get_comment_pages_count() will still return the number of pages possible if pagination was enabled.

As a workaround, themes & TwentyEleven are having to get to see if pagination is enabled first:
{{{
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
}}}

I'd suggest that if comment pagination is not enabled, this function should return 0 or 1 (0 = no comments, 1 = 1 page).

The addition of an extra block after the [http://core.trac.wordpress.org/browser/trunk/wp-includes/comment.php#L740 empty comments check] would be:
{{{
if ( ! get_option('page_comments') )
	return 1;
}}}",dd32
20006,get_comments (and WP_Comment_Query) does not accept multiple post_type,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T05:46:52Z,2012-08-14T08:34:53Z,"Although get_comments was recently improved to support post_types, it does not seem to properly handle MULTIPLE post_types.

Suppose you need to get the most recent comments for posts, pages, and attachments (attachments don't seem to be included by default).  The following doesn't work, as it only returns comments on attachments (or whichever status is listed first):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type'=>array('attachment','post','page')));
}}}

The following doesn't work either, only returning the default post/page comments (taken from the example for multiple category handling at http://codex.wordpress.org/Class_Reference/WP_Query):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type__in'=>array('attachment','post','page')));
}}}

A quick look at wp-includes/comment.php, line 327 (WP v3.3.1) shows that the 2nd option will be array_filter'ed away.  Immediately below, all of the WHERE clauses are hardcoded as ""="", which is why there's no way to specify more than one.  As a result, it seems like the only way to get recent comments on posts,pages,and attachments (or any other subset of >1 post_type) is to do multiple calls to get_comments (i.e. one with default params and one for attachments) then merge the results together...effectively requiring twice the work.",Justin_K
16010,get_comments()  returns as result (by default) comments that were not approved.,,Comments,3.0.3,normal,normal,Future Release,defect (bug),new,,2010-12-28T16:41:11Z,2011-01-13T04:00:49Z,"I see two problems in behavior of ""get_comments()"" function (wp-includes/comments.php: 180).

1. The function returns as result (by default) comments that were approved and also comments that were not approved. 
I think that this does not fit the standard of all functions in WP that by default return only posts/comments that have been published/approved.

2. I think that there is no support of cookies of current responder. In other words, a parameter that allows the following functionality does not exist.
comment_approved = '1 'OR (comment_author =% s AND comment_author_email =% s AND comment_approved = '0')
( wp-includes/comments-template.php: 852)",mati1000
13939,get_page_of_comment returns wrong page number when changing threading level,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-17T07:58:01Z,2010-11-13T10:04:51Z,"Initial discussion settings:
 * Enable threaded comments 2 levels deep
 * 5 top-level comments per page, first page by default
 * Older comments at top of each page

If I have comments on a post like:

'''cpage 1'''
 * comment-1
 * comment-2
 * comment-3
 * comment-4
 * comment-5
  * comment-6

{{{
$page = get_page_of_comment(6); // returns 1 which is the correct page
}}}

If I modify the initial discussion settings by disabling threading (e.g. changing the threading level to 1), the comments change to:

'''cpage 1'''
 * comment-1
 * comment-2
 * comment-3
 * comment-4
 * comment-5
'''cpage 2'''
 * comment-6

{{{
$page = get_page_of_comment(6); // returns 1 which is incorrect
}}}

This function doesn't follow the same algorithm as what is used to display the comments

This can potentially happen whenever you decrease the threading level from x to x-n",laceous
21448,unfiltered HTML comments from a frame js fix breaks js in windowed comments,,Comments,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-01T21:58:53Z,2012-08-02T17:56:36Z,"Noticed this today.

We have comments loading up in a jquery colorbox on a site being developed and it loads the comment form via ajax.  When it's loaded, the fix in #20812 breaks javascript because the property ""name"" is null.

Attaching a patch after posting this for only executing when `document.getElementById(""_wp_unfiltered_html_comment_disabled"")` != null.",nerrad
23931,wp_insert_comment should require comment_post_ID,,Comments,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-03T18:41:58Z,2013-04-03T19:06:08Z,"At this moment there is no check for example comment_post_ID. Not sure if there are more checks needed. Reason I asked are a few notices on the unit tests caused by WP_UnitTest_Factory_For_Comment. Those comments don't add a post ID what should change.

Currently, if a null comment_post_ID is passed, the comment isn't connected to a post. This can create confusion. Also Unit tests should run with WP_Debug on.",markoheijnen
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
14279,wp_new_comment ignores comment_date_gmt and comment_date,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-12T14:07:06Z,2011-01-27T08:08:52Z,"wp_new_comment takes in a $comment array, but then ignores the comment_date and comment_date_gmt passed into it, instead replacing them with the current time. 

It should only set them if the data passed in is empty or not a date/time. ",johneckman
24054,(get_)comment_class() should include a is_user_member_of_blog() class,,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-11T22:35:04Z,2013-04-11T23:27:06Z,"On multi-site, there's no way to style comments that are members of the site. You can either style the post author or all registered users (who may not have access to the site's admin area). Example use case would be a multi-author site where you want comments from all authors highlighted.

I think it'd also be cool to include what role they are so that you could style say all authors, editors, and administrators but not style contributors or something like that.

I'm not sure if this would an information exposure issue though (does it matter if it is known what role a user is or that they are a member of the site?).",Viper007Bond
19256,Ability to mark a comment as spam from the trash,,Comments,2.9,normal,normal,Awaiting Review,enhancement,new,,2011-11-16T03:07:48Z,2011-11-16T09:42:58Z,"Say you're scrolling through comments in the trash and you realize a comment should have ended up in spam instead.

There's no easy way to untrash then re-spam the comment — you'd lose it and it'd get restored to its previous status. You can't edit it and modify its status from there, either.

I think there should probably be a way to spam a comment from the trash. (For that matter, I don't think there's an issue with being able to edit a trashed comment, too. Perhaps you want to modify it then untrash/approve it.)",nacin
20977,Add Dynamic Comment Statuses,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-15T17:12:07Z,2012-06-15T17:21:37Z,It would be great to add some filters/actions that would allow plugin developers to add additional statuses to comments.,supercleanse
14856,Add an $args parameter to comment_text filter,,Comments,,normal,normal,3.6,enhancement,new,has-patch,2010-09-12T12:20:06Z,2013-05-04T23:25:53Z,"When using the {{{comment_text}}} filter, there are times when the context provided by {{{$args}}} would be extremely useful. For example to know the depth of the commen. I propose adding an additional parameter for {{{comment_text}}} to add the {{{$args}}}.

I've incorporated the proposed {{{$comment_ID}}} parameter from #14261, which looks to add a {{{$comment_id}}} parameter to the same filter, in the hope that this is helpful... let me know if not and I'll refactor.

I've included a small plugin to demo the use and prove the new parameters are working, and the diff for a small tweak to Twenty Ten v1.1 which is needed to use this plugin with that theme.",simonwheatley
20446,Add comment form submit button class attribute,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-15T07:34:55Z,2012-05-03T15:59:12Z,"The comment_form() is packed with filters all over the place to customize the from just the way you need, but one thing i find missing is a class on the submit input tag and if there was a class attribute then it should be filterable.

I know you can set the input ID and simply style based on the ID selector but when designing themes usually you have some kind of class defined for buttons, especially when using any of the html5/responsive theme frameworks and if the comment submit input had a class which was filterable then it would make our lives much easier.

",bainternet
22922,Add filter 'comment_notification_email_to' in wp_notify_postauthor(),,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-13T17:53:32Z,2013-01-03T17:57:54Z,"Currently, mailto: address is not filterable in pluggable function `wp_notify_postauthor()`. Thus, in order to send replies to email addresses other than the post author, the entire function must be overridden.

Patch makes mailto: filterable for `wp_notify_postauthor()`, moving `$author->user_email` to an array, and applying the `'comment_notification_email_to'` filter.",chipbennett
761,Add hook to conditionally disable comment notifications [w/ patch],matt,Comments,1.2.2,normal,normal,Future Release,enhancement,reopened,has-patch,2005-01-27T07:42:58Z,2012-11-07T07:56:15Z,"E-mail notifications for posted comments are controlled by the  'comments_notify' setting.  E-mail notifications for comments needing modification are controlled by the 'moderation_notify' setting.  Each is an all or nothing setting, i.e. if 'on', ALL post authors will receive notifications when appropriate.  AFAIK, there isn't a  clean way for a plugin to insert itself into the notification process.",coffee2code
16944,Add new 'bynetworkuser' CSS class to output from comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:28:46Z,2011-06-08T05:23:43Z,"Currently, the comment-template.php file checks to see whether a comment author is in the wp_user table.

If they are, then WordPress will emit a 'byuser' class as part of the comment div markup.

However, this behaviour is not ideal from multisite installations. 'byuser' should be restricted on a per-blog basis.

I propose that the current behaviour be assigned to a new CSS class, 'bynetworkuser'.",jacques_chester
16882,Add support for fetching comments posted since a specific date,,Comments,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T21:08:51Z,2011-03-22T14:30:12Z,"Adding a ""since"" option to wp.getComments and get_comments() could help reducing bandwidth used by mobile apps.

Probably useful for themes/plugins too",koke
21571,Add support multiple comment types in get_comments,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-08-14T00:49:42Z,2012-08-24T19:54:42Z,"Custom comment types are a nice way to categorize comments, however, if you wish to retrieve multiple comment types you cannot use ''get_comments''.  This enhancement request (patch attached) adds support for multiple comment types a la:

{{{
$comments = get_comments( array(
  'post_id' => $post->ID,
  'type' => array(
    'a-sweet-comment-type',
    'some-other-comment-type',
  ),
));
}}}",borkweb
20597,Allow WP_Comment_Query::query to filter by category,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-02T03:35:35Z,2012-05-02T03:45:58Z,"The attached patch allows WP_Comment_Query::query to accept three additional arguments:

* `cat`
* `category__in`
* `category__not_in`

The resulting comments are then filtered by these category arguments as well as any other arguments.

These arguments work the same way as their `WP_Query` counterparts.

I would appreciate advice on the appropriateness of using `INNER JOIN` (as I have done here) to join in the taxonomy tables to the query.",sambauers
20302,Allow comment_form() to add attributes to <form> tag,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-25T15:48:53Z,2012-04-01T18:23:56Z,"The standard method to allow Google Analytics to track comment submissions as a 'goal' is to add a piece of JavaScript code wrapped in an 'onsumbit' attribute:
http://www.optimisationbeacon.com/analytics/track-blog-comments-in-google-analytics/
http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

We want something like the following:

{{{
<form action=""http://www.example.com/wp-comments-post.php"" method=""post"" id=""commentform"" onsubmit=""_gaq.push(['_trackEvent', 'Comments', 'Submit', 'POST TITLE']);"">
}}}

However the current arguments submitted to comment_form() do not provide for adding attributes to <form>
http://codex.wordpress.org/Function_Reference/comment_form

I was forced to perform a workaround in which the onsubmit code was inserted by JavaScript on the fly at runtime.

So this is request to alter comment_form() such that arguments accepted provide for 'onsubmit' or other custom attributes to be appended on the <form> tag.",psbook
10569,Allow filtering of reply text with comment context,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2009-08-08T13:55:54Z,2011-02-01T16:30:36Z,"I know you can specify the reply text for comments, but you can't make them specific to each comment such as ""`Reply to comment #1234 by Joe`"".  This will let you do that by adding a filter called `comment_reply_link_text` to `get_comment_reply_link()` that passes along $args, $comment, and $post (just like the existing `comment_reply_link` filter).

I know you COULD do this with some processing on the link, but it would require pulling comment and post IDs from the URL and/or onclick, then replacing the text in the link itself.  This way would be a lot simpler and only adds a single filter.",aaroncampbell
12991,Allow setting default_comment_status specifically for Pages (or for any post type),messenlehner,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-04-13T22:52:28Z,2012-11-25T01:22:22Z,"Now that the default theme has {{{comments_template}}} in Pages too, I have been thinking that maybe we should offer a way of setting {{{default_comment_status}}} specifically for Pages (as distinguished from Posts).

Why?

Say that I select Twenty Ten as my theme.  I leave the global option for comments ON, because, like most people, I want comments on my Posts.  However, like most people, I do not want comments on Pages, or I want comments only on a few selected Pages.  So, every time I make a new Page, I have to untick the checkbox on the Edit screen, in order to override the global setting.  That’s not convenient!

I think we need to do something about that:

Either we leave Twenty Ten as is and change something at the level of post type registration, or we change something in Twenty Ten.

(I have no idea what would be a satisfactory way to deal with this at the theme level.  Sandbox, for instance, displayed the form on Pages only if there was a certain custom field with a certain value, which may seem very unfriendly at first sight, but I find it is much friendlier than what we have now in Twenty Ten.)",demetris
15520,Break date/time into a separate column in Comments views,,Comments,,normal,normal,Future Release,enhancement,new,needs-refresh,2010-11-20T15:30:35Z,2012-03-08T10:18:38Z,"Now that column sorting is in, it makes sense to break the date and time a comment was made into a separate column in the Comments view so they can be sorted chronologically.

Currently, the time is part of the content column, which can be confusing as if someone sorts by that column it becomes an alphabetical sort.",markel
23851,Can we get some classes on the comment form output?,,Comments,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-22T20:02:00Z,2013-04-04T03:32:41Z,"The `comment_form()` function is quite useful, but styling it pretty much requires that you target the IDs, since the the outermost div and the form itself don't have classes.

If you're trying to stay as low on the specificity scale when writing CSS, not having classes available to target pretty much stops you cold.

I don't really care about the class names, though something descriptive and somewhat semantic would be preferable.

Anybody have thoughts?",nathanrice
21834,Comment History,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-07T20:30:47Z,2012-09-08T03:37:40Z,"This ticket provides a simple patch for comment history in core.

''The Problem'':  

In at least a few  places:  ([comment:ticket:9117:10], [comment:ticket:15534:4], [comment:ticket:9495:3]) Nacin has mused about the desirability of introducing comment history to core, citing Akismet’s implementation as a model for how this might be done.

There are good reasons for wanting this, as comment history could serve as a solid underpinning for a variety of other features such as more informative moderation emails, some indication of why a message was marked as spam, and even comment versioning.

The idea is that to implement any of that, we really should have basic comment versioning in core, a la Akisment.


''The Solution'':

Our goal was to expand the API so as to reproduce and streamline the basic history functionality provided by Akismet, port and tweak Akismet’s nice history UI, and keep the change set minimal.

Comment history API:

* added simple functions to /wp-includes/comment.php to get and update comment history.  These in turn use existing comment_meta functions.

UI:  

* there’s now a comment history meta box on the comment edit screen.  It looks just like Akismet’s.  This was implemented as a real meta box.  A sorting function is also included.

History Events:

* this patch supports the following history events, each of which has a nice, plain-english (internationalizable) history message, which always includes the user responsible for the action and a timesince. 
 * edit_comment (“edited by user”)
 * trashed_comment (“trashed by user”)
 * untrashed_comment (“un-trashed by user”)
 * comment_unapproved_to_approved (“user approved this comment”)
* comment_approved_to_unapproved (“user unapproved this comment”)
* spammed_comment (“user marked this comment as spam”)
* unspammed_comment (“user marked this comment as ham”)

''Next steps'':

Here’s what we’d think of doing next if this were to be introduced into core:
* support more history events and provide more detail. In particular, support events where the comment is spammed as a result of a blacklist word or other reason.
* include some of this detail in moderation emails

''Note'':

* the Akismet plugin should be updated to use this new API instead of its own history functions
* meta boxes on edit comment did not work properly until this: http://core.trac.wordpress.org/ticket/21499 (in 3.5)

''Who we are'':

This patch comes from [http://profiles.wordpress.org/bbrooks Ben Brooks], [http://profiles.wordpress.org/mattoperry Matt Perry] and [http://profiles.wordpress.org/natebot Nathan Letsinger].  Enjoy",mattoperry
20487,Comment search isn't customizable,,Comments,3.2.1,normal,normal,Future Release,enhancement,new,has-patch,2012-04-18T23:32:07Z,2012-07-12T16:05:07Z,"*cross-posted to the wp-hackers mailing list last night*


I work on a large news oriented WP site and first off, it actually scales remarkably well. We keep users, comments, and actual posts all in WordPress. However, due to our size, administering comments is causing us issues at the moment.

Our last outage was caused by one of our comment moderators doing a simple comment search in the admin. The query took 16 seconds to execute, the next query locked, and, with our traffic, the DB couldn't handle the resulting queued traffic.

Staying away from discussions of ""you should use Disqus"" or, ""you need more X for your mysql server,"" I think there is significant opportunity to improve the way WP handles comment searching. Every comment search takes the following form:

SELECT * FROM wp_comments  WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND (comment_author LIKE '%TERM%' OR comment_author_email LIKE '%TERM%' OR comment_author_url LIKE '%TERM%' OR comment_author_IP LIKE '%TERM%' OR comment_content LIKE '%TERM%') ORDER BY comment_date_gmt DESC LIMIT #;

As we can all see, this is a beast of a query. Even when the term is clearly an specific term (say an email or IP), or when the intent of the admin is known (e.g. clicking the IP link on a specific comment). Furthermore, there are no hooks activated in this process for plugins to use to say create an advanced comment search plugin. One might expect hooks like those activated in post search to be activated here, like ""parse_request"" and ""get_search_query.""

Waxing philosophical, as posts, comments, and users are the three basic types of data to be stored and displayed in WP, one would expect them to have similar interfaces and functionality. They each have basic functionality of being able to retrieve a single item, a list (in full or in part), search for an element, or edit a single entry. For this reason I don't understand why each of their functionality isn't derived from something like an abstract class or an interface. The architecture here is also difficult in that you are not able to replace or extend a single class to change the functionality.

Back on target. I propose that we add functionality by which we'll be able to search by exact match in addition to the existing full wildcard (left, right, or full wildcard is probably excessive) as well as specifying the field to search. This would allow my earlier use case of searching by IP to look for an exact match in the ""comment_author_IP"" field only, not searching the fulltext of every comment.

This functionality can be created simply by:

1. Adding ""search_type"" and ""search_field"" to the WP_Comment_Query::query_vars data structure in wp_includes/comment.php
2. Replacing WP_Comment_Query::get_search_sql with something more robust, able to understand these new properties and construct the query on their basis
3. Upgrading WP_Comments_List_Table::prepare_items to accept the new queries and add them to the data structure it creates
4. Either modifying WP_List_Table::search_box to have some options of advanced search, or dropping a hook so that a plugin can easily modify it
5. Modifying the WP_Comments_List_Table::column_author to supply the correct query string to indicate an IP search

If I can figure out a way to make this more similar to the signature of posts and users, or at least add some hooks at the right places, I can do that as well.

This will add efficiency for everyone--particularly those who have lots of comments. I modified our core for this functionality today and we will fully QA it tomorrow. I made it on 3.2.1 as that is what we're running right now, and there are minimal changes in the affected files and functions between 3.2.1 and 3.3.1 and even the nightly.

I can submit a patch as long as it passes our QA--how should I do that, off the nightly?

Thanks,
-Kenton Jacobsen",brokentone
15015,Customisable submit button for comment form,,Comments,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-10-02T16:38:10Z,2012-12-16T00:07:37Z,"Note: I'm setting this as a blocker because it is a blocker '''to me'''. Set it whatever you feel appropriate.

I badly needed to customise the submit button because I wanted to add a tabindex.

I could reimplement the whole form with my markup, but as I already worked my way through all the other fields, I did want to continue this way.

Sadly I discovered it's not possible. So, after discussing this in IRC, I decided to hack the core and propose the attached patch.

Basically now you can create a filter and output your markup, like this:

{{{
function awesome_comment_form_submit_button($button) {
	$button =
		'<input name=""submit"" type=""submit"" class=""form-submit"" tabindex=""5"" id=""[args:id_submit]"" value=""[args:label_submit]"" />' .
		get_comment_id_fields();
	return $button;
}
add_filter('comment_form_submit_button', 'awesome_comment_form_submit_button');
}}}

and filter magic happens. Please notice that
1. you have to include [args:id_submit] and [args:label_submit] if you want the comment_form() parameters to work.
2. you have to use the get_comment_id_fields() function.

It may be better but it works for me. If anybody feels like making it better, be my guest.",morpheu5
7051,Delete blacklisted comments rather than mark them as spam,,Comments,2.5.1,normal,normal,Future Release,enhancement,new,has-patch,2008-05-28T11:37:11Z,2011-02-08T04:10:40Z,Comments that are blacklisted because of the Blacklist keys on options-discussion.php should be deleted immediately instead of being marked as spam. Patch attached.,donncha
12521,Disable Site Wide Discussions - Admin Settings,,Comments,3.0,normal,normal,Future Release,enhancement,new,,2010-03-05T01:44:26Z,2011-08-27T08:42:14Z,In the admin discussions options there should be an option to completely disable discussions site wide.,ceenz
23136,Do not notify the post author about comments if they are no longer a member of the blog,markjaquith,Comments,3.5,normal,normal,3.6,enhancement,reopened,dev-feedback,2013-01-07T18:45:21Z,2013-04-19T20:08:24Z,wp_notify_postauthor() should not notify the post author of comments if the author is no longer a member of the blog.,ryan
21758,Do not require a file in comments_template(),,Comments,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-31T20:22:16Z,2012-09-01T11:23:07Z,"comments_template() is a very useful and reliable way to set up comments for a page, but it has a major downfall: it forces a file to be included when, in reality, one does not need to be.

Numerous times it has been the case that I needed comments to be setup in the wp_query object, but did not want to output anything at that time. The hack I have used is simply to include an empty comments.php file. This method is less than desirable for obvious reasons.

So, I propose that we simply add a parameter I'm calling $require that will control whether or not a file is included at all.",mattonomics
11359,Don't nofollow links in admin comments,,Comments,2.9,normal,normal,Future Release,enhancement,new,,2009-12-08T12:23:15Z,2011-04-15T08:25:24Z,"Links in admin comments shouldn't have rel=nofollow.

Admin comments are not user-generated content, and the site owner (admin) is vouching for the links just like when they link from the post itself. 

Therefore, this usage of nofollow is incorrect.

Also, if I go and edit a comment and remove nofollow from a link, WP adds it back. It shouldn't do that either.

Note that in the unlikely event of wanting a link in a comment to be nofollowed, this could still be done manually.",caesarsgrunt
11360,Don't nofollow links within the site,,Comments,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-08T12:24:42Z,2010-04-04T06:48:37Z,"Relative links or links with the site's own domain shouldn't be nofollowed.

This use of nofollow is damaging to the site's search engine rankings.",caesarsgrunt
9775,Duplicate comment check is too strict,,Comments,2.7.1,normal,normal,Awaiting Review,enhancement,reopened,,2009-05-09T21:27:38Z,2012-08-19T23:33:35Z,"The duplicate comment detection mechanism doesn't allow duplicate comments on the same post, even from the post author. That's not good.

The duplicate comment check should only block the new comment if there is no other comment posted between the new comment and the old comment.",scribu
13363,Edit Comments: Pending > Approving shouldn't make them disappear from screen,garyc40,Comments,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-05-11T23:35:45Z,2012-03-08T01:56:30Z,"Edit Comments: Pending > when clicking Approve the comments shouldn't just disappear from the screen.

They should collapse and have an undo status like when you trash or spam a comment.

ENV: WordPress trunk r14573 (3.0-beta2-14565)

",lloydbudd
10869,Eliminate moderation on admin comments,,Comments,,normal,normal,Future Release,enhancement,new,,2009-09-28T10:18:53Z,2009-11-28T12:34:10Z,"Currently, if comment moderation is enabled, comments left by the admin are also moderated, requiring approval before they're posted.  

Proposed change: If comment moderation is activated, all replies and comments left by the admin are auto-approved.",heather_r
13857,"Email notifications lack a link to the comment, from address could be improved",,Comments,,normal,normal,Future Release,enhancement,new,,2010-06-11T21:27:24Z,2010-10-28T01:47:17Z,"'''Email Notification'''
For the 6+ years I believe I have been using WordPress, the emails that notify me someone has made a comment have several links in them.

'''Fields within an email notification'''
Email, Url, Whois, Comment, All Comments, Delete, Spam

The comment, at least in plain text emails, contains html markup, which often is encoded making it hard to read, depending on the comment complexity.  I suggest a simple strip_html style function be ran on the comment copy.

The link to the comments only takes you to the comments, but does not add in the identifier in the url to take you to that specific comment.  The blog I am managing has 30+ comments on each page, making it harder than it should be to get to the comment and reply.

An example of a better method might be:
http://example.com/foo-bar-baz/#comment-7348
Compared to:
http://example.com/foo-bar-baz/#comments
----
'''Email Headers'''
The From header in the email is is correctly set to the ""Name"" value the user filled into the comment form, the email address is set to wordpress@example.com where example.com is the domain of the site.

However, the reply-to header is correctly set to the actual sender.  Bounces (NDR's) and the cosmetic view of an email could all be improved with a simple condition:

{{{
if is_valid(emaIl) then
  from = name & ' <' & email & '>'
  reply-to = from
else
  // looks like they did not set the data
  // fall back to some sane defaults
end if
}}}


",hexley
16979,Extra hooks needed in comment process,,Comments,,normal,normal,Future Release,enhancement,new,dev-feedback,2011-03-27T06:06:54Z,2012-05-22T16:29:11Z,"I'm running into a few commenting issues whilst building a plugin with a custom post type..

 * Duplicate comment check's cannot be bypassed
 * Empty comments are not allowed (In this case, the comment body is empty whilst a set of custom fields acting as metadata are set, meaning, the plugin wants to accept that comment)
 * being able to override the wp_die() in the commenting process would be useful (Currently: Duplicate comments, User not logged in, and not all fields filled in will cause this)

One potential solution would be to move [http://core.trac.wordpress.org/browser/trunk/wp-comments-post.php#L55 lines 55-84] from `wp-comments-post.php` to functions hooked to `preprocess_comment`",dd32
23800,"Filter Comment Blacklist, to delete duplicated terms",,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T23:37:13Z,2013-03-16T23:37:13Z,"Hi,

In Comment Blacklist, when I save terms, duplicates are not eliminated.

Would be good if the function array_unique would remove these duplicate terms.",shadowhck
13450,Filter Comments Link,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2010-05-19T01:19:50Z,2010-10-28T12:12:51Z,"This filter allows a developer to modify a post's comments link.

Useful for situations where one needs to add or modify components of the URL such as on-click javascript, or changes to the anchor text, etc...",ikailo
23870,Filter Glyph for Comment Required Fields,,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-27T16:57:51Z,2013-03-31T15:31:37Z,"Currently the `comment-template.php` file uses an asterisk (*) as the default glyph for required fields used in the `comment_form()` function. This glyph is not easily manipulated without having to essentially over-write the entire `comment_form()` function.

I suggest the glyph be filtered. Therefore if one wants to change it, for example, to a hash (#) symbol then they can simply filter the output; or, if for any other reason one might want to enhance the glyph visibility or utility the filter would then allow for this while minimizing the impact on the default comment form.",cais
19739,Filter to override exit for comments on drafts (comment_on_draft),,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-04T19:01:18Z,2012-01-05T18:45:37Z,"I'd like to use comments on draft posts as part of an editorial workflow. Will this be as easy as adding a filter to fire before the current comment_on_draft action that can be checked before exiting? I'll try that and add a patch if it looks good.

Related #13276. Not relevant to #18630, I think.",cyberhobo
7054,Generated avatars should not be shown on moderation pages.,ryan,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2008-05-28T15:53:22Z,2011-02-01T04:44:25Z,"When moderating a lot of comments or checking the akismet queue the presence of an avatar can assist when checking for spammers. If generated avatars are shown on those pages it will increase the time to check comments and could lead to spam being inadvertently approved.

These 2 pages should not show generated avatars.

/edit-comments.php?comment_status=moderated

/edit-comments.php?page=akismet-admin

This does mean that avatar-free users who have had a previous comment approved would not have their generated avatar shown. In this case their avatar would need to be shown.",podz
23797,Hard coded HTML marking in comment_form(),,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T21:16:23Z,2013-03-17T14:50:58Z,"Hello

it seems so ugly hard coding has slipped in the comment form. 

On line 1554 of comment-template.php, there is some hard-coded html :
 {{{
<h3 id=""reply-title"">
<?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?>
<small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small>
</h3>
 }}}

Semantically speaking, a H3 is far from being optimal. 
Also, filters exists for all other elements of the comment form. 
The h3 and small should not be hardcoded. 

A new value could be included in the defaults : 

 {{{
'comment_reply_markup' => 
    '<h3 id=""reply-title"">%1$s <small>%2$s</small></h3>',
 }}}

and line 1554 replaced by : 

 {{{
<?php printf( $args['comment_reply_markup'], 
comment_form_title( $args['title_reply'], 
$args['title_reply_to'] ), cancel_comment_reply_link( $args['cancel_reply_link'] ); ?>
 }}}

Thanks a lot, hope you'll take it :)",Marie-Aude
16219,"If you can edit comments on the post, 'Slow down Cowboy' shouldn't kick in",garyc40,Comments,,normal,normal,Future Release,enhancement,assigned,has-patch,2011-01-13T19:05:44Z,2011-01-14T02:51:10Z,Currently it's for administrators only. That doesn't make much sense for those who can already moderate comments.,nacin
6536,"Introduce the concept of ""read"" and ""unread"" comments for better workflow in the admin",markjaquith*,Comments,2.5,normal,normal,Future Release,enhancement,accepted,,2008-04-02T00:48:54Z,2012-03-08T01:31:11Z,"The Moderation Queue is a great way to manage your comment workflow.  All comments go in there, and you approve, spam, or delete them.  At the end you get a nice little ""0"" and you know you've dealt with all new comments.  This doesn't work for people who don't moderate every comment.  They have no idea when they are done, and which comments they have or have not looked at.

I'd like to add a {{{comment_read}}} column to the comments table.  It would be either ""1"" or ""0"".  There would be a new sub-tab for Comments: ""Unread comments (%d)""  This page would be just like the Moderation page, except that it would only show comments with {{{comment_read = 0}}}.  This could act as ""comment workflow central"" for both people who pre-moderate and people who post-moderate.  Unapproved comments would have the actions: Approve, Spam and Delete.  Approved comments would have the actions: Archive, Spam and Delete.  Clicking any of these actions would both carry out that action AND mark that comment as read, making it disappear from the ""Unread comments"" page.  (""Archive"" only marks it as read).

Enterprising theme developers could even have this status shown on the public blog, so that people know whether their comments have been seen.

For background on this idea, please see [http://markjaquith.wordpress.com/2008/03/20/the-comment-inbox/ The Comment Inbox]

Note that this has benefits for people who moderate every comment, because they can now store comments in the moderation queue (comments they want to remove from the blog, but not delete) without that getting in the way of their comment workflow.",markjaquith
22164,"Move comment ""keyboard shortcuts"" setting to comments -> screen options",,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2012-10-11T14:14:23Z,2012-11-22T03:31:45Z,"Seems like it would make more sense to move the comment ""keyboard shortcuts"" setting from ""Your Profile"" to the screen options pane of edit-comments.php.  Something like:

[[Image(http://f.cl.ly/items/1k210Z2V1o0b350I1n0V/keyboard-shortcuts.jpg)]]",lessbloat
12392,Move comment fields to meta data instead,,Comments,,normal,normal,Future Release,enhancement,new,,2010-02-26T20:09:24Z,2012-07-16T04:19:52Z,"Look at the comment table:
{{{
CREATE TABLE $wpdb->comments (
  comment_ID bigint(20) unsigned NOT NULL auto_increment,
  comment_post_ID bigint(20) unsigned NOT NULL default '0',
  comment_author tinytext NOT NULL,
  comment_author_email varchar(100) NOT NULL default '',
  comment_author_url varchar(200) NOT NULL default '',
  comment_author_IP varchar(100) NOT NULL default '',
  comment_date datetime NOT NULL default '0000-00-00 00:00:00',
  comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
  comment_content text NOT NULL,
  comment_karma int(11) NOT NULL default '0',
  comment_approved varchar(20) NOT NULL default '1',
  comment_agent varchar(255) NOT NULL default '',
  comment_type varchar(20) NOT NULL default '',
  comment_parent bigint(20) unsigned NOT NULL default '0',
  user_id bigint(20) unsigned NOT NULL default '0',
...
}}}
A lot of that is not actually being used on many sites and could be moved to standard meta data, available on demand, but not pulled out by default.

Specifically:

comment_author_IP - Used by Akismet and blacklist functions, included in emails sent to post authors/moderators, but once stored in the DB it's never really used again.

comment_karma - Used by some of the importers as a space to store temporary data. Not actually used by core for anything serious anywhere.

comment_agent - Used by Akismet and blacklist functions, but once stored in the DB it's never really used again.

These could be pushed to meta and thus still made available, but without them being in the main table.

This is a long term change, because some plugins would likely break. So the columns should be deprecated for a while first.
",Otto42
17951,Move or duplicate comment actions at top of each comment row,,Comments,,normal,normal,Awaiting Review,enhancement,new,close,2011-06-30T17:29:35Z,2013-01-21T23:31:29Z,"When I attempt to take an action on a comment and the comment is EXTREMELY long, it takes a while to get to the SPAM link since it's at the bottom of the comment.

This ticket is to simply propose moving the actions to the top, rather than the bottom of the comment. Or perhaps duplicate the actions there, since they are only visible on hover anyway.",chriswallace
20490,Move submit_button to wp-includes for frontend inclusion & use with comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:04:55Z,2012-04-23T14:43:09Z,"It would be nice to be able to use submit_button() on the frontend as well (cf. #15064). It appears that #16066 ""fixed"" #16061, which it did, but moving the submit_button functions would enable to revert back to the use of submit_button(). Moreover, I recommend changing the comment-template.php in wp-includes ([http://core.trac.wordpress.org/changeset/16066#file2 16066#file2]) to use a filter with the submit_button to enable attributes like onClick. As it stands right now, if a user wants to track comments in their analytics they have to hide the original and add a function hooked into comment_form and redo all the args.",wpsmith
10856,Move unesential comment fields to the comment meta table,,Comments,2.9,normal,normal,Future Release,enhancement,new,dev-feedback,2009-09-26T03:07:47Z,2011-07-28T21:03:24Z,"The wp_comments table has 3 less-used fields that would be better placed in the new commentmeta table. These are:

- comment_author_IP

- comment_agent

- comment_karma",scribu
23179,New avatar related option - use gravatar  only for registered users,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T15:40:59Z,2013-01-21T04:42:39Z,"The use of gravater is problematic because there is no attempt to verify that a comment with which an email was used was actually left by the owner of the email (AFAICT gravatar doesn't even have an API for authentication).

This makes impersonating to someone else that have a gravatar in a wordpress site comments much too easy. 

IMO non autogenerated gravatars should be displayed by default only for users for which it is known that they actually own the email address, which are usually only the registered users.",mark-k
23634,New hook for adding content after each comment,,Comments,,normal,normal,3.6,enhancement,new,has-patch,2013-02-26T19:29:57Z,2013-05-11T17:53:38Z,"Similar to #18561 (which is for a new ""after post"" hook) add a hook that fires after each comment output with {{{wp_list_comments}}}.",lancewillett
22889,Reconsider no-JS ?replytocom= links,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T15:13:20Z,2012-12-14T13:05:31Z,"We have a no-JS fallback for comment replies. Normally JS moves the comment form around. For people with JavaScript disabled, they follow the `?replytocom={123}` link. This results in a lot of extra crawling by search engines (potentially an additional crawl per reply-able comment!) in exchange for enabling an awkwardly executed, likely underused, and non-essential feature for non-JS users.

I'd like to consider making comment reply JS-only.",markjaquith
12431,Record comment meta in wp_new_comment,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-02-28T21:29:43Z,2010-10-28T09:01:14Z,"Spam filter plugins usually trigger on the preprocess_comment filter, which obviously happens prior to storing the comment (and thus prior to knowing comment_ID).

Comment meta would be ideal for storing spam status information, but since the comment_ID isn't known at that point, doing so involves jumping through some hoops.

This patch provides a simple way for spam filters to include comment metadata from preprocess_comment.  They simply include values in a 'comment_meta' array like this:

{{{
add_action('preprocess_comment', 'my_spam_handler');

function my_spam_handler($comment) {
    $comment['comment_meta']['my_spam_status'] = 'not-spam';
    return $comment;
}
}}}

Each key/value pair in the comment_meta array is stored as comment metadata.
",tellyworth
8071,Refrain from querying all the comments on a post when paged,,Comments,2.7,normal,normal,Future Release,enhancement,reopened,,2008-11-05T22:17:15Z,2012-07-16T04:35:24Z,"If a post has more than (comment_per_page) comments, we should query them specifically, not query all the comments and sort in PHP (doesn't scale well).

Logic:

if threading is off, use a simple limit query

elseif the page has equal or fewer comments than (comments_per_page), query them all

else query (comments_per_page) parent comments, and keep doing queries for their children, up to the threading limit (10).",markjaquith
3842,Should make nofollow implementation cleaner and easier to remove,,Comments,2.1.1,normal,normal,Future Release,enhancement,new,,2007-02-22T10:08:56Z,2011-07-23T06:44:21Z,"{{{rel=""nofollow""}}} didn't appreciably stop comment spam, and there are many arguments for why it is a '''bad''' idea (and not just a failed idea).  We should consider axing it.",markjaquith
17020,Some comment queries are not filterable,,Comments,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-04-02T16:56:32Z,2011-05-09T23:21:46Z,"Although WP_Comment_Query::query() is fully filterable, some supplemental comment queries are still unfilterable.  The submitted patch adds the following hooks:

 * function get_approved_comments() - query filter 'get_approved_comments_query'

 * function wp_dashboard_recent_comments() - query filter 'dashboard_recent_comments_query'",kevinB
17862,The second argument for wp_notify_postauthor() is unnecessary,,Comments,,normal,normal,Future Release,enhancement,new,has-patch,2011-06-21T17:04:39Z,2011-06-21T17:04:39Z,Only the comment id is needed. See patch.,scribu
17275,UI: Missing comments count in admin screen,,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-04-29T13:00:48Z,2013-02-23T11:29:14Z,See Attached image.,ramiy
4332,Unusable comment error pages,markjaquith*,Comments,1.5,normal,normal,Future Release,enhancement,accepted,,2007-05-24T20:53:17Z,2012-03-08T01:35:22Z,"No comment error page requires browser navigation to leave

ENV: WP trunk r5486

While viewing a post, I click Submit Comment without entering any information and the result is  (wp-comments-post.php):

WordPress [[br]]
Error: please type a comment.

Dead end: no link back to the page where I meant to comment or maybe accidentally clicked the button, and ""Error:"" makes me feel stupid ;-)

POSSIBLE SOLUTION

I don't see any reason to navigate away from the post post.

ADDITIONAL DETAILS

Assuming the error page is desirable (sure hope not), being able to style it might be useful.",foolswisdom
10653,Update comment_author when display_name changes,,Comments,,normal,normal,Future Release,enhancement,reopened,has-patch,2009-08-19T19:43:29Z,2010-12-18T11:08:18Z,One thing that has bothered me recently is the fact that your previous comments doesn't get updated when your display_name is being updated. Which could cause some confusion. I wrote a function (see attached file for further reference) that takes care of this but I would love to see a similiar feature in the WordPress core.,mptre
19623,"Use Comment API in comments_template, rather than hardcoded SQL",,Comments,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-20T18:07:44Z,2012-08-14T08:36:00Z,"Currently the function {{{comments_template}}} uses hard-coded SQL queries, rather than {{{WP_Comment_Query}}} or {{{get_comments}}}. There's a note above the queries saying [http://core.trac.wordpress.org/browser/tags/3.3/wp-includes/comment-template.php#L888 /** @todo Use API instead of SELECTs. */].

To replace the queries using the API, the {{{WP_Comment_Query}}} class will need to be extended to allow querying for comments which are '''either''' approved '''or''' unapproved ({{{hold}}} status) but by a particular comment author email and comment author name ''or'' by a particular {{{user_id}}} to replace these two queries:

* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND (comment_approved = '1' OR ( user_id = %d AND comment_approved = '0' ) )  ORDER BY comment_date_gmt}}}
* {{{SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND ( comment_approved = '1' OR ( comment_author = %s AND comment_author_email = %s AND comment_approved = '0' ) ) ORDER BY comment_date_gmt}}}

If we change to use the API, there's also an opportunity to add a filter for the args, which would be lovely for plugin developers. :)",simonwheatley
10931,Verify Comment Email Addresses of Registered Users,,Comments,2.8.4,normal,normal,Future Release,enhancement,assigned,has-patch,2009-10-08T14:34:44Z,2013-01-13T21:45:07Z,"When leaving a comment with an email address of a registered user, WordPress should force the visitor to login or change the email address in the comment form.

Anyone can impersonate a blog's user if they know the user's email address.",mtdewvirus
17928,"When a comment is spammed/trashed, change the parent of it's children",,Comments,3.2,normal,normal,Future Release,enhancement,assigned,has-patch,2011-06-29T06:42:11Z,2012-03-08T02:17:19Z,"When removing (spam/trash) a comment that has children, everything goes to hell in terms of hierarchy and you're left with a bunch of orphaned comments.

See two attached images for what currently happens after removing a comment that has children.

When a comment is removed, all immediate children of the comment to be removed should have their parent changed that of the the parent of the comment being removed (or top level if the comment to be removed is top level). Each comment that has it's parent changed then gets that action logged to it's post meta so that it can be moved back in the case of it's previous comment being restored (on post un-delete/spam, find all matching comment metas).",Viper007Bond
16576,comment_form() fields being displayed only for non logged in users,,Comments,3.0.5,normal,normal,Awaiting Review,enhancement,new,,2011-02-16T18:15:44Z,2011-10-19T23:28:16Z,"I've just noticed this - When using the '''comment_form()''' function and adding some comment meta fields,using the fields array in the $args, these fields are being showed in the front-end only for non logged in users.
In this case, the registered users can never use these comment fields.

Look at wp-includes/comment-template, lines 1561-1573 (WP 3.0.5), it parse the $args['fields'] in the else block - 

{{{
<?php if ( is_user_logged_in() ) : ?>
	<?php echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity ); ?>
	<?php do_action( 'comment_form_logged_in_after', $commenter, $user_identity ); ?>
<?php else : ?>
	<?php echo $args['comment_notes_before']; ?>
	<?php
	do_action( 'comment_form_before_fields' );
	foreach ( (array) $args['fields'] as $name => $field ) {
		echo apply_filters( ""comment_form_field_{$name}"", $field ) . ""\n"";
	}
	do_action( 'comment_form_after_fields' );
	?>
<?php endif; ?>
}}}

I think it is better that added meta fields should be displayable for all users (logged in and not logged in), or even to add a parameter to let the developer decide which extra fields are shown to logged or not logged users.


",maorb
14510,comment_notes_before does not work.,,Comments,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-08-02T18:39:34Z,2011-02-18T04:51:54Z,"I am unable to get the comment_notes_before to work.

Using the code:

{{{
comment_form(array( 'comment_notes_before' => 'some text' ));
}}}

... does not work.  it just leaves the default text there.

{{{
comment_form(array( 'comment_notes_after' => 'some text' ));
}}}

... does work.  It allows you to put whatever text you want.",hotforwords
12104,edit-comments.php not available to roles with proper capabilities,,Comments,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-01-31T22:25:24Z,2012-10-12T15:49:22Z,"I tried to create a Comment Moderator role today and realized it wouldn't work. My intention was to create a role for people who can't write or edit posts, but can keep an eye on the comment threads. I created the role like so:

{{{
#!php
add_role('moderator', 'Moderator', array(
            'read' => 1,
            'moderate_comments' => 1,
        ));
}}}

... then created a new user with that role. When I logged in as my test user, I realized that it was for all intents and purposes a Subscriber. I couldn't see any admin panels but the Dashboard, my profile, and the Tools. I went poking around in edit-comments.php and discovered that it's checking for another capability altogether: 

{{{
#!php
if ( !current_user_can('edit_posts') )
	wp_die(__('Cheatin&#8217; uh?'));
}}}

I double-checked wp-admin/includes/menu.php and it agreed that 'edit_posts' was the minimum capability to see this page, so I tried adding 'edit_posts' to my new role, and I still couldn't get there.

Later on in edit-comments.php, when actually trashing a comment, there is a check for 'moderate_comments', but it's a moot point: this screen doesn't even show up in the admin menu, and if you navigate directly to it, you'll get the ""You do not have sufficient permissions to access this page"" message.

I thought it was entirely possible I'd missed some finer point of creating roles, so I redid it with Justin Tadlock's excellent Members plugin, and that didn't work either.

This behavior might be intentional, but if so, I'm not following the logic. I know roles are due for an overhaul in the next version or two.",sillybean
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
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
20025,Add a filter for post types when viewing list of comments in the backend,,Comments,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-12T14:03:49Z,2012-02-12T14:38:23Z,Filtering comments based on post type,nprasath002
12223,Adding a titles to comment levels with the walker class,,Comments,,normal,normal,Future Release,feature request,new,,2010-02-14T11:20:07Z,2010-02-14T17:52:36Z,"Hi Everyone! 

This is only my second post here, and my first feature request, so please excuse me if I have duplicated something or my solution is completely unsuitable. 

I am experimenting with the CMS capabilities of Wordpress, especially the enhanced post_type GUI in the new 3.0 alpha release. While building a sort of Yahoo Answers type platform, I wanted to have 1st level comments as answers to a question (a post), and 2nd level comments as comments on the answer (1st level comments). I wanted to label comments on an answer as ""comments"", but this is not really possible to do, to my knowledge, using ""wp_list_comments"".

I created my own function for wp_list_comments so I didn't have to modify Wordpress core, in order to get at the walker class at the bottom of wp_list_comments. I wanted to use start_lvl to add a title for comment level 2. However, start_lvl in ""class Walker_Comment extends Walker"" will only let you change the list type to ""ul"", ""ol"" or ""div"". My idea is to add an argument which would allow you to add a title, along with specifying it's heading (or surrounding tag). As I said, I am not an expert on Wordpress coding standards, so the following code may be completely off. 

{{{
/**
   * @see Walker::start_lvl()
   * @since unknown
   *
   * @param string $output Passed by reference. Used to append additional content.
   * @param int $depth Depth of comment.
   * @param array $args Uses 'style' argument for type of HTML list.
   * @param array $args Uses 'title' argument for title text.
   * @param array $args Uses 'title_heading' argument for title text heading level.
   */
	

function start_lvl(&$output, $depth, $args) {
  $GLOBALS['comment_depth'] = $depth + 1;
  
    switch ( $args['style'] ) {
      case 'div':
        break;
      case 'ol':
        echo ""<ol class='children'>\n"";
        break;
     default:
     case 'ul':
        echo ""<ul class='children'>\n"";
        break;
    }
	
	if (!empty ($args['title'])) {
	  
      if(!empty ($args['title_heading'])) {
	    echo '<'.$args['title_heading'].'>';
	  }
	  
	  echo $args['title'];

	  if(!empty ($args['title_heading'])) {
	    echo '</'.$args['title_heading'].'>';
	  }
	
	}
	
}
}}}",danielpataki
16252,Allow comment reparenting to fix poor threading,,Comments,,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-15T23:12:25Z,2012-04-29T10:48:16Z,"For the OCD among us, it would be super nice to be able to edit the comment_parent, to properly thread comments made in the wrong place/threading order.

Choose your own UI, but even just a numeric editor in the Quick Edit area would be a huge enhancement.",Otto42
18417,Comment whitelist in discussion settings,,Comments,,normal,normal,Awaiting Review,feature request,new,,2011-08-15T18:48:46Z,2011-08-17T09:49:25Z,"Currently, there are methods for automatically flagging comments for moderation or blacklisting comments, but there's no way to auto-approve comments that meet a certain criteria.

In Discussion Settings, it would be nice to have ""Comment Whitelist"" option to automatically approve comments from a specific IP address, using a specific email address, or matching certain keywords.

One use case: a conference or workshop where lots of people are posting comments from the same IP address often invokes the ""Slow down, you're posting too fast"" message. Instead, we should be able to add the IP address to the whitelist (possibly temporarily) so that everyone can comment without hitting the restriction.

The concern I can think of is that this would add another large paragraph box to the Discussion Settings view.",danielbachhuber
12986,Enhancement to comments_popup_link(),,Comments,,normal,normal,Future Release,feature request,new,has-patch,2010-04-13T06:25:13Z,2010-04-18T05:53:20Z,"Currently ""Comments Off"" is wrap with <span> tag, but not ""Enter your password to view comments."" if post requires password. 

The idea is to wrap ""Enter your password to view comments."" with span tag, have its own css class e.g enter-password. Also adds $css_class if set. This way, theme author can easily style it based on post / comment status condition.

And add another paramater $password so that theme author can customize the text to display if post is password protected.

Need 2nd opinion with the attached patch.

",zeo
13820,AJAX update the comment bubbles on edit-comments.php,,Comments,3.0,normal,normal,Future Release,task (blessed),assigned,has-patch,2010-06-10T13:45:27Z,2012-03-08T01:58:35Z,"We update the bubble in the Comments admin menu item. We should also update the counts in the ""In Response To"" bubbles, as well as the bubble color.",matt
24160,ALTERNATE_WP_CRON runs wp_cron() too early,,Cron,3.4,normal,normal,3.6,defect (bug),new,has-patch,2013-04-22T17:48:44Z,2013-05-08T18:47:13Z,"See #19818 for full details.

Then, [https://core.trac.wordpress.org/ticket/19818#comment:8 read my comment in that ticket].

Was advised to create a new ticket.",r-a-y
20537,Don't spawn cron requests for suspended blogs,,Cron,3.3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2012-04-24T20:40:19Z,2012-09-17T06:54:10Z,"
{{{

}}}
For multisite, spawning cron requests is wasteful and unnecessary. wp_cron()/spawn_cron()/wp-cron.php should check the blog's status and bail if the blog is suspended.",ryan
12609,Enabling FORCE_SSL_ADMIN breaks wp-cron.php,westi,Cron,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-03-15T16:02:29Z,2010-11-13T07:50:43Z,"I just completed a server migration and discovered that scheduled posting broke during the process. I tried a few things, including the suggestions from ticket #8923 with no luck. I realized that one change I made, on the new server, was a requirement that the admin uses SSL. After disabling FORCE_SSL_ADMIN I discovered that scheduled posts work again. It seems that I can leave FORCE_SSL_LOGIN turned on and it doesn't cause any problems. This is good enough for our security needs, but I'm sure others might want to have both enabled.",dphiffer
11826,Endless Cron Spawn,westi,Cron,2.9,normal,normal,Future Release,defect (bug),new,,2010-01-08T19:09:02Z,2010-12-14T10:00:23Z,"I somehow get it managed to keep such request in memory while they consume CPU all the time. I noticed that first a week ago or so and now I was able to find out some specifics:

{{{
REQUEST_URI /wordpress-trunk/wp-cron.php?doing_wp_cron
REQUEST_METHOD post
}}}

Maybe there is a condition for an endless loop in there?",hakre
8923,cron timeout is too short,,Cron,,normal,normal,Future Release,defect (bug),reopened,reporter-feedback,2009-01-22T23:50:57Z,2011-09-21T17:13:46Z,"Many users have reported  that 2.7 cron sometimes fails to publish future post. 
And it is further reported that it depends on the number of jobs on the cron queue - when the queue is too long, it will miss some. 

I believe this is because we set the timeout value too short: 

wp_remote_post($cron_url, array('timeout' => 0.01, 'blocking' => false));

When making a request to wp-cron.php, it won't return until all cron jobs are executed.  And 0.01 is just too short time span. It doesn't hurt to give it sufficent time, such as 10 minutes. It will return as long as the mature crons are fired up and executed (in most cases, it's going to be at most a few seconds ). 
",hailin
11800,doubled execution of cron jobs,westi,Cron,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-07T11:17:53Z,2011-06-02T07:18:50Z,"Hi,

as I've already mentioned in ticket #11505 , cron-jobs occasionally get executed twice (e.g. daily backup arrives two times).

I've changed the code according to the patch attachment:ticket:11505:ticket-11505-stop-gap.patch (which derives from [http://wpengineer.com/ping-problem/]) after my comment:ticket:11505:49 and had no doubles within this time period. This week I've upgraded to WP 2.9.1 and since then backups arrive two, sometimes three times, again.

Looking at the changes from 2.9 to 2.9.1, I have no other explanation for this behavior. - Maybe we should consider having a closer look again on this patch attachment:ticket:11505:ticket-11505-stop-gap.patch .

Greetz,
Berny",neoxx
18471,Add action hook after cron processed it's jobs,,Cron,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-18T12:30:19Z,2012-10-15T01:26:35Z,Sometimes it's hard to debug cron jobs or validate the results. A simple action fired after the wp-cron.php did his magic could help improve this experience.,tott
21072,CRON often returns ambiguous values,,Cron,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T02:18:27Z,2012-06-26T06:18:34Z,"Many of the cron API functions return ambiguous values.  For example, `wp_cron()` [http://core.trac.wordpress.org/browser/tags/3.4/wp-includes/cron.php#L251 returns] `null` (explicitly) when cron doesn't run, but it also returns `null` (implicitly) every other time.  This can make debugging harder.

Whenever possible, I think it's valuable to return meaningful values.  The attached patch does that.",evansolomon
15148,Cron Storage Abstraction,,Cron,,normal,normal,Future Release,enhancement,new,has-patch,2010-10-19T04:04:00Z,2011-06-02T07:03:36Z,Abstract cron storage to allow pluggable storage schemes.,ryan
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
18997,Adding wp_unschedule_hook function,arena,Cron,3.3,normal,normal,Future Release,feature request,reopened,needs-unit-tests,2011-10-19T07:45:11Z,2012-04-20T00:02:54Z,"
Unschedule all previously scheduled cron job for a hook.

Can be usefull for plugins when deactivating to clean up the cron queue

The $hook parameter is required, so that the events can be identified.

@param string $hook Action hook, the execution of which will be unscheduled.
",arena
13103,"""Unknown character set"" during install into database reports successful install.",barrykooij,Database,3.0,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-04-24T15:10:23Z,2012-11-07T23:30:23Z,"During editing of the wp-config.php, I changed 

{{{

define('DB_CHARSET', 'utf8');
}}}
to
{{{

define('DB_CHARSET', 'utf8_general_ci');
}}}
Which I thought was valid.

After clicking ""Install Wordpress"" I got a page full of:
{{{
WordPress database error: [Unknown character set: 'utf8_general_ci']
}}}
And at the bottom, ""Success"" with a login prompt, but nothing was actually created in the database.

I think WP shouldn't report a successful install if the user happened to accidentally change this value (or another) during install as it would cause confusion.

I used a svn checked out version of WP on 2010-04-24 on my local computer using PHP5 and apache2, but I think this is really a problem since 2.6 (or when the current install system was implemented).",MECU
21870,@ error control operator hides fatal error on mysql_fetch_object,,Database,1.5,normal,normal,Future Release,defect (bug),new,has-patch,2012-09-11T14:59:36Z,2012-11-07T19:49:19Z,"I ran a get_posts() query that took me a while to track down to the @ error control operator on the mysql_fetch_object call (see wp-db.php:1219 in trunk), therefore PHP was silently die'ing on me because of a memory limit error.

I'm curious as to what use cases there are for the error control operator to be used here. In my case, I want to see these errors and fix my code accordingly, or tailor my query to the memory constraints, or rethink my data relations in the database.

",ericlewis
23383,High archive page numbers cause invalid database queries,,Database,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-04T20:36:30Z,2013-02-05T13:46:24Z,"Visiting `http://www.viper007bond.com/category/videos/page/6805063692754011230` on my site generates the following database query:

`SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (21) ) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 6.805063692754E+19, 10`

Note the scientific notation `LIMIT` value.


PHP: 5.3.15-pl0-gentoo[[BR]]
MySQL: 5.2.12[[BR]]
WordPress: r23386
",Viper007Bond
15004,Missing index on signups table,pento,Database,,normal,normal,Future Release,defect (bug),assigned,commit,2010-10-01T03:48:25Z,2013-05-07T17:36:17Z,"{{{
wp-includes/ms-functions.php:590:
$signup = $wpdb->get_row( $wpdb->prepare(""SELECT * FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
wp-includes/ms-functions.php:595:
$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
}}}

But there is no index on user_email in the signups table.  Makes these queries perform a full table scan which is slow when you have lots of signups.

Attached patch adds the index but I can't figure out how schema upgrades on MS-specific tables ever get run after the initial activation of MS mode and table creation.

",barry
21504,Not checking if apply_filters exists before calling it in WP_DB,,Database,3.4.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-08-06T22:49:52Z,2012-10-25T21:17:48Z,"Prior to version 3.4, there was a check to verify that apply_filters existed before calling it in wp-includes/wp-db.php.  


{{{
// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
if ( function_exists( 'apply_filters' ) )
  $query = apply_filters( 'query', $query );
}}}


In version 3.4 and above, that check doesn't exist anymore, and can throw an error. There is still a comment indicating that a check should be made, but the actual code to perform the check is now gone. This is around line 1081


{{{
// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
                 $query = apply_filters( 'query', $query );
}}}




Here is the github blame view to show when the code was remove (I'm not sure how to find this same view in your svn):

https://github.com/WordPress/WordPress/commit/81ed9a7563e5ad4c0edccd059bc4ea7d9c1a4a10

There's no explanation about why the code was removed, so would it be possible to add it back in?

Thanks!

Julia
",jdkoelsch
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
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
18210,"Update_post_meta is case insensitive on meta_key, but get_post_meta is NOT",,Database,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-22T07:05:28Z,2013-02-28T16:06:54Z,"In WordPress 3.3-aortic-dissection and 3.2.1

get_post_meta is case sensitive on the meta-key

BUT

update_post_meta is NOT case sensitive

Thus If there is a pre-existing meta record with a key in say UPPERCASE, then one can issue an update for a lowercase key that one can not then fetch as it does not exist - only the uppercase key exists. 


Example Code

{{{

	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />got upper: '; var_dump($meta);
	}
	update_post_meta (21, '_allday','Tried to update lowercase');
	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	else { echo '<br />Tried to get lower but no go';
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />Still have upper: '; var_dump($meta);
	}


}}}



Output of above:



got upper: array(1) { [0]=> string(14) ""tis the upper."" }
Tried to get lower but no go
Still have upper: array(1) { [0]=> string(25) ""Tried to update lowercase"" } ",anmari
16107,WordPress Database Error Logging Extravaganza,,Database,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-05T12:41:00Z,2011-01-05T14:33:05Z,"If PHP error logging is enabled, the wordpress database class will log errors to file by using the error_log() function. This is a PHP function.

While doing so, it does not reflect the PHP configuration setting for {{{log_errors_max_len}}} which defaults to 1024 (bytes).

While not doing so, the database class can log extremely long queries into the file creating multiple gigabytes quite quickly.",hakre
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
11717,Access to automatic database repair/optimize with admin rights,ryan,Database,2.9.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-01-05T07:35:10Z,2012-08-08T08:52:02Z,"Hi,

I read somewhere that the reason for using a constant as enabler for the automatic repairing/optimizing database functionality was, that some people are not able to access their back-end in case certain tables are broken.

Anyway, as db optimization (and not only repairing) is also included in ''/wp-admin/maint/repair.php'', it would be helpful, if we could avoid setting the constant and in addition grant users with the admin role the right to access the functionality.

I've added the necessary two lines and attached a patch to this ticket. - Hopefully this will make it into core, because it would really ease access and increase usability.

My Best,
Berny",neoxx
18736,Add REGEXP to 'compare' values in meta_query,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-21T15:39:51Z,2013-01-16T23:18:07Z,"I wish to sort some queries using the alphabet.

My current query:
{{{
#!php
$getPostIds = $wpdb->get_col(""
    SELECT p.ID
    FROM $wpdb->posts p, $wpdb->postmeta pm
    WHERE p.ID = pm.post_id 
    AND pm.meta_key = 'prod-id' 
    AND pm.meta_value
    REGEXP '^"" . $wpdb->escape($alpha) . ""'
    AND p.post_status = 'publish' 
    AND p.post_type = 'review'
    AND p.post_date < NOW()
    ORDER BY pm.meta_value ASC""
);

$posts = new WP_Query(array(
    'post__in' => $getPostIds,
    'post_type' => 'review',
    'post_status' => 'publish',
    'showposts' => 20,
    'paged' => $paged,
    'caller_get_posts' => 1, // do not order sticky posts at the top
    'orderby' => 'title',
    'order' => 'ASC'
));
}}}

It would be much simpler if I could use the equivalent with meta_query:
{{{
#!php
query_posts(array(
    'post_type' => 'review',
    'post_status' => 'publish',
    'showposts' => 20,
    'paged' => $paged,
    'caller_get_posts' => 1, // do not order sticky posts at the top
    'orderby' => 'metal_value',
    'order' => 'ASC',
    'meta_query' => array(
        array(
            'key'   => 'prod-id',
            'value' => '^'.get_query_var('letter'),
            'compare' => 'REGEXP'
        )
    )
));
}}}

I'd love to see it implemented :)
Thanks!",FlashUK
15499,Add an index for get_lastpostmodified query,,Database,3.0.1,normal,normal,Future Release,enhancement,new,dev-feedback,2010-11-19T18:20:31Z,2012-12-04T21:50:27Z,"I had a friend (Jools Wills) look over a WordPress site recently, to get a fresh view on what might be optimised, and he noticed a query which might benefit from an additional index on ```WP_Posts```. The query ```SELECT post_modified_gmt FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1``` in ```get_lastpostmodified``` is run for last modified date in GMT, and currently doesn't use an index. This SQL is run whenever certain types of feed are requested as far as I can see.

We added ```CREATE INDEX type_status_modified ON wp_posts (post_type, post_status, post_modified_gmt);``` and ```CREATE INDEX type_status_modified_no_id ON wp_posts (post_type, post_status, post_date_gmt);``` and the query runs a lot faster now. The following timings were taken running the first query (```post_modified_gmt```) on a 36,362 row posts table. Note that it doesn't use filesort after the index has been added.

''Before:''

{{{
mysql> EXPLAIN SELECT post_modified_gmt FROM slgr_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1;
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
| id | select_type | table      | type | possible_keys    | key              | key_len | ref         | rows  | Extra                       |
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
|  1 | SIMPLE      | slgr_posts | ref  | type_status_date | type_status_date | 124     | const,const | 24718 | Using where; Using filesort |
+----+-------------+------------+------+------------------+------------------+---------+-------------+-------+-----------------------------+
1 row in set (0.03 sec)
}}}


 * 0.21290683746338ms
 * 0.25690102577209ms
 * 0.230553150177ms
 * 0.2274341583252ms
 * 0.23083996772766ms

''After:''

{{{
mysql> EXPLAIN SELECT post_modified_gmt FROM slgr_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_modified_gmt DESC LIMIT 1;
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
| id | select_type | table      | type | possible_keys                         | key                  | key_len | ref         | rows  | Extra       |
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
|  1 | SIMPLE      | slgr_posts | ref  | type_status_date,type_status_modified | type_status_modified | 124     | const,const | 24718 | Using where |
+----+-------------+------------+------+---------------------------------------+----------------------+---------+-------------+-------+-------------+
1 row in set (0.00 sec)
}}}

 * 0.00082707405090332ms
 * 0.00072288513183594ms
 * 0.00074386596679688ms
 * 0.00066494941711426ms
 * 0.00066208839416504ms

In ```get_lastpostmodified``` both these queries are run, so the total savings in my case on a quiet server are nearly 0.5 seconds... worth having, I reckon.

I've not created a patch for schema changes before, but I think the only place the change would need to go would be ```scheme.php```? Suggested patch attached.",simonwheatley
18315,Add an index to the GUID column in the posts table,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-02T04:31:01Z,2011-08-02T05:09:12Z,"Running queries on the GUID column in the posts table is slow because the column is not indexed. The attached patch adds an index.

Note, this affects ticket #18286 - I will update that ticket with appropriate patches to reflect this request.",alexkingorg
22117,Better backtrace,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-06T14:06:50Z,2012-10-06T18:25:28Z,"Hey,
This is a small hack for a prettier backtrace info.

the file '''''/wp-includes/functions.php''''' at Line 3547

the new functions with added lines

{{{
function wp_debug_backtrace_summary( $ignore_class = null, $skip_frames = 0, $pretty = true ) {
	if ( version_compare( PHP_VERSION, '5.2.5', '>=' ) )
		$trace = debug_backtrace( false );
	else
		$trace = debug_backtrace();

	$caller = array();
	$check_class = ! is_null( $ignore_class );
	$skip_frames++; // skip this function
	$last_info = array();

	foreach ( $trace as $call ) {
		if ( isset( $call['class'] ) && 'wpdb' == $call['class'] )
		{
			$last_info['file'] = basename($call['file']);
			$last_info['line'] = $call['line'];
		}

		if ( $skip_frames > 0 ) {
			$skip_frames--;
		} elseif ( isset( $call['class'] ) ) {
			if ( $check_class && $ignore_class == $call['class'] )
				continue; // Filter out calls
			$caller[] = ""{$call['class']}{$call['type']}{$call['function']}"";
			if( empty( $last_info['func'] ) ) $last_info['func'] = $call['class'].'->'.$call['function'];
		} else {
			if ( in_array( $call['function'], array( 'do_action', 'apply_filters' ) ) ) {
				$caller[] = ""{$call['function']}('{$call['args'][0]}')"";
			} elseif ( in_array( $call['function'], array( 'include', 'include_once', 'require', 'require_once' ) ) ) {
				$caller[] = $call['function'] . ""('"" . str_replace( array( WP_CONTENT_DIR, ABSPATH ) , '', $call['args'][0] ) . ""')"";
			} else {
				$caller[] = $call['function'];
				if( empty( $last_info['func'] ) ) $last_info['func'] = $call['function'];
			}
		}
	}
	if ( $pretty )
		return sprintf(__(""Error at %s, at line %d, in function %s<br/>%s""), 
				$last_info['file'], $last_info['line'], $last_info['func'], join( ', ', array_reverse( $caller ) ) );
	else
		return $caller;
}
}}}",msolution
9642,Database Schema Optimizations,,Database,2.8,normal,normal,Future Release,enhancement,assigned,,2009-04-24T19:42:40Z,2013-02-16T16:15:57Z,Diffs coming...,Denis-de-Bernardy
13310,Extend option_name to varchar(255),ryan,Database,3.4.2,normal,normal,Future Release,enhancement,new,dev-feedback,2010-05-09T13:34:25Z,2012-10-19T09:39:28Z,"option_name is currently set to varchar(64). This raises problems when one tries to use transients with slightly longer names and a timeout:

{{{_transient_timeout_feed_mod_23a137101df6920fbf6047...}}} has 60 chars already.",scribu
22115,Further Simplifying errors,,Database,3.4.2,normal,normal,Future Release,enhancement,new,dev-feedback,2012-10-06T11:32:15Z,2013-05-16T11:55:15Z,"tracking errors while making API's and cron jobs, is a tad difficult.

from the latest wordpress pack, '''''/includes/wp-db.php'''''

{{{
function query( $query ) {
...
...
if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
	$this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() );

// If there is an error then take note of it..
if ( $this->last_error = mysql_error( $this->dbh ) ) {
	$this->print_error();
	return false;
}
...
...
}}}

if we change the above to simply

{{{
// If there is an error then take note of it..
$this->last_error = '';
if ( $this->last_error = mysql_error( $this->dbh ) )
	$this->print_error();

if ( defined( 'SAVEQUERIES' ) && SAVEQUERIES )
	$this->queries[] = array( $query, $this->timer_stop(), $this->get_caller(), $this->last_error );

// If there is an error then take note of it..
if ( ! empty( $this->last_error ) )
	return false;
}}}

then we have all required info in the array queries, for use later. may it be wp_footer, or for a plugin as debug info.",msolution
20316,Garbage collect transients,,Database,,normal,normal,Future Release,enhancement,new,dev-feedback,2012-03-28T22:04:35Z,2013-05-14T15:57:57Z,"Per an IRC discussion and long-considered changes:

 * In wp_scheduled_delete(), look for expired transients and purge them.

 * On DB upgrade, purge all transients, regardless of expiration. (This should probably happen on auto-update as well, but let's let that part slide for now, as DB upgrade will run on all major releases these days.)

We should only do this if ! $_wp_using_ext_object_cache.",nacin
18105,Improve JOIN efficency of tax_query,,Database,,normal,normal,Awaiting Review,enhancement,new,,2011-07-14T04:28:59Z,2012-06-04T23:40:00Z,"Use of multiple items in a tax_query creates an inner join for each entry. This seems unnecessary.

Example query:

{{{
array(
  'tax_query' => array(
    'relation' => 'OR',
    array('taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'term1'),
    array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'),
  )
)
}}}

Resulting SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
  OR tt1.term_taxonomy_id IN (YYY) ) 
...
}}}

Each new entry in the array creates another inner join on the term_relationships table, along with an associated select argument.

However, the term_relationships table is defined with these main keys:

{{{
CREATE TABLE $wpdb->term_taxonomy (
 term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
 term_id bigint(20) unsigned NOT NULL default 0,
 taxonomy varchar(32) NOT NULL default '',
...
 PRIMARY KEY  (term_taxonomy_id),
 UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
}}}


This basically means that the term_taxonomy_id is a unique ID for the row, and it's pointing to a unique relationship between some term and some taxonomy. Essentially, term_relationships defines what terms are in what taxonomies.

Therefore, the extra inner join and selection are entirely unnecessary. All references to a term in a taxonomy are unique. This isn't individual terms we're looking for in this query, but term+taxonomy. 

An equivalent SQL statement to the one given before would be this:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX, YYY) ) 
...
}}}

This is equivalent because both XXX and YYY point to a specific term+taxonomy combination, not just to a term.

For the similar relation = AND case (instead of relation = OR), this query would be equivalent:


{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
AND (wp_term_relationships.term_taxonomy_id IN (YYY) ) 
...
}}}

We get a second statement in the where clause, but note the lack of a second inner join and lack of referencing it. This greatly improves performance. 

Only one inner join is ever actually required for any number of items in the tax_query, thanks to the pre-lookups being performed to find the proper term_relationship entries.

Similar enhancements might be available for the meta table, however that is more complex and may be more difficult to improve.
",Otto42
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
22884,What if I delete wp_posts table from database.,,Database,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-12T12:48:24Z,2012-12-13T11:51:20Z,"I am not a experienced or mature programmer but I have seen it While I was playing with database of WordPress.

I have deleted wp_posts table in database in WordPress - 3.5(beta).

It looks normal on other pages at admin side but when i open single post it shows post-new.php and when hit save, it shows ""wp_error"" with this message ""You are not allowed to edit this post.""

That's OK. I was expecting error but not this type of error.

It seems WordPress doesn't know that its most important table has gone away and that's why admin may not know( well for a while). I think its not good. well I don't know its issue or it is way it behaves with database and its normal but I think WordPress should know what exactly happened.

when I have updated WordPress with stable 3.5 it has updated but database is still same which is normal.

Should we( can we )track tables( some of tables which are important ) by PHP ?",mukkundthanki
22196,add $wpdb->upsert function,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T12:48:33Z,2012-10-15T14:53:24Z,"If i read http://codex.wordpress.org/Class_Reference/wpdb right, we have only insert and update functions, but for many occations, if would be lovely, if we would have upsert function as well (using INSERT ... ON DUPLICATE KEY UPDATE http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html).

So when i am inserting e.g. posts using database function, i do not have to check if post with that id exist (good for some migration / importing tools etc.)",thomask
10883,db-error.php not used for all DB failures,ryan,Database,2.8.4,normal,normal,Future Release,enhancement,new,dev-feedback,2009-10-01T02:45:28Z,2013-01-25T04:39:55Z,"db-error.php (the optional custom DB error message file to be placed in wp-content) does not get included all the time. Sometimes wp-db.php will use its {{{bail()}}} method to spit out its own message.  This code needs to be there too:

{{{
        if ( file_exists( WP_CONTENT_DIR . '/db-error.php' ) ) {
                require_once( WP_CONTENT_DIR . '/db-error.php' );
                die();
        }
}}}",markjaquith
10404,dbDelta creates duplicate indexes when index definition contains spaces,,Database,2.8.1,normal,normal,Future Release,enhancement,new,has-patch,2009-07-14T10:59:54Z,2013-03-25T12:24:45Z,"I was adding a much needed index in wp_object_term_relationships, and testing revealed it was getting added multiple times.

This works as intended:

{{{
CREATE TABLE $wpdb->term_relationships (
 object_id bigint(20) unsigned NOT NULL default 0,
 term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
 term_order int(11) NOT NULL default 0,
 PRIMARY KEY  (object_id,term_taxonomy_id),
 UNIQUE KEY reverse_pkey (term_taxonomy_id,object_id),
 KEY term_taxonomy_id (term_taxonomy_id)
) $charset_collate;"");
}}}


This doesn't:

{{{
CREATE TABLE $wpdb->term_relationships (
 object_id bigint(20) unsigned NOT NULL default 0,
 term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
 term_order int(11) NOT NULL default 0,
 PRIMARY KEY  (object_id,term_taxonomy_id),
 UNIQUE KEY reverse_pkey (term_taxonomy_id, object_id),
 KEY term_taxonomy_id (term_taxonomy_id)
) $charset_collate;"");
}}}

the only difference between the two is a space in the reverse_pkey column list. we should remove spaces in there to avoid potential bugs.",Denis-de-Bernardy
23061,get_post_meta() on post with large amount of meta keys uses too much memory,,Database,,normal,normal,Awaiting Review,enhancement,new,,2012-12-27T13:40:17Z,2012-12-27T14:54:48Z,"I think it's likely there has been a ticket on this in the past, but I couldn't find one so here goes!

If I have a post that have say 25k post meta entries, and I call `get_post_meta( $id, 'foo', true )` then `update_meta_cache` is going to cause all post metas to be loaded into memory.

In most cases I can see this makes sense, however I recently had an issue where I was storing contest votes as meta keys, a post had 30k votes, and would take about 70MB of memory to get any meta key of that post (even if I didn't want votes). This is fairly edgecase, but the idea that all meta for a post is always loaded even if you don't want it is perhaps over presumptuous as a dev may be storing a large amount of data in meta.

With persistant object caching this is somewhat worse, as the object cache store gets very large. 

I am not proposing this functionality is removed, maybe just a filter or something in http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php#L524 so one could either adjust the query or perhaps pass an array of meta keys to exclude from the sql query",joehoyle
14273,maybe_create_table cleanup,pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2010-07-11T13:08:09Z,2012-08-08T07:47:23Z,"Cleaned up maybe_create_table() - no more iterations.
Cheers. Dragoonis aka Dr4g(irc).",dragoonis
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
15158,wpdb insert & update with null values,sorich87*,Database,3.0.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-10-19T20:47:51Z,2013-01-08T13:39:21Z,"From: http://wordpress.org/support/topic/bug-fix-wpdb-insert-amp-update-with-null-values

""Some of you might have noticed but the wpdb's insert & update methods don't work well with null value (if you try to set null on a numeric field you'll end up with 0)""
",westi
5932,"wpdb should reconnect and retry query when ""MySQL server has gone away""",pento,Database,3.0,normal,normal,Future Release,enhancement,assigned,has-patch,2008-02-20T08:17:01Z,2012-11-07T06:15:56Z,"Using 2.3.3, here are the type of errors that crop up in error_log everyday. 


{{{

[25-Jan-2008 08:37:35] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[25-Jan-2008 09:23:19] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[26-Jan-2008 00:03:54] WordPress database error MySQL server has gone away for query UPDATE wp_options SET option_value = '0' WHERE option_name = 'doing_cron'
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:04:29] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:05:09] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_pingme' LIMIT 1
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT * FROM wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '_encloseme' LIMIT 1
[26-Jan-2008 00:05:47] WordPress database error MySQL server has gone away for query SELECT ID FROM wp_posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'
.................
}}}
",dtc
12819,wpdb::prepare support for null,ryan,Database,,normal,normal,Future Release,enhancement,reopened,,2010-04-02T18:15:19Z,2013-05-13T16:39:35Z,"now we can not submit null values using wpdb::prepare. if we lets say have datetime field that can be null, and execute query prepared with $wpdb->prepare(""update table set date_time_field = %s"", null) - it sets value of the field to 0, which results in 0000-00-00 00:00:00 date. what is happening here - null is quoted and passed as a string, that should not be the case.",roxaz
21055,Interface for wpdb compatibility,,Database,,normal,normal,Awaiting Review,feature request,new,,2012-06-23T17:30:13Z,2012-08-24T01:40:01Z,"==Summary==

From the wp-includes/wp-db.php file:
{{{
It is possible to replace this class with your own
by setting the $wpdb global variable in wp-content/db.php
file to your class. The wpdb class will still be included,
so you can extend it or simply use your own.
}}}

When one implements a db class that does not extend wpdb, it would be safer that the new class implements an interface. This interface may be called wpdb_compat and would assure that the class has all necessary methods/properties. Of course, wpdb_compat should be supported by wpdb too.

== Design Strategies ==

My patch adds:
* wp-includes/interfaces/wpdb-compat.php

Very small edits to:
* wp-includes/wp-db.php
* wp-includes/load.php
* wp-admin/install.php

At the moment, WordPress does not include any interface; this means that there is not a directory for interfaces.[[BR]]
In my first draft, I put it in wp-includes/interfaces so that - if more interfaces will be added in the future - they will have a logical place.
",santec
21663,Use PDO for MySQL queries when PDO is available,,Database,3.5,normal,normal,Future Release,task (blessed),new,dev-feedback,2012-08-22T21:02:28Z,2013-05-20T22:21:49Z,"the mysql_* functions are officially deprecated for PHP 5.4 and will begin throwing E_DEPRECATED errors in the next version of PHP.
http://marc.info/?l=php-internals&m=131031747409271&w=2

Wordpress should use PDO by default, but fall back to mysql_* when PDO is not present.

See also: #11622 for last year's discussion.",scottconnerly
23203,Scheduling Posts assumes GMT but UI uses local timezone (creating undesired scheduled posts),,Date/Time,3.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-01-15T15:32:09Z,2013-01-16T13:16:59Z,"I experienced an odd behavior when going to edit a page on a newly created site in a multisite environment. The site uses the New York timezone (GMT-5).

When quick-editing the page, I changed the title and slug, but pressing ""Update"" set the page as ""Scheduled"" rather than leaving it ""Published"". This was very confusing, and took a while to figure out and then explain to the end user. It seems that although the date/time is shown in the UI in the current time zone, once submitted the form interprets the time as if it were in GMT. To the end user, it looks like the page should be published since the time shows what we thought was a 5 minutes ago. In reality, the time in the date field is not recognized as 5 minute ago but 4 hours and 55 minutes in the future.

This is a problem in the full edit form for pages in this newly created site as well. When I go to edit the published time/date, the posted time in my timezone is shown. However, ''even if I hit 'Cancel' the ""Update"" button changes to ""Schedule""''.",bananastalktome
20973,date_i18n() produces invalid output for shorthand formats,,Date/Time,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-06-15T13:39:50Z,2013-04-04T16:36:54Z,"date_i18n() function relies on parsing passed format to make adjustments. However shorthand formats are not handled and produce invalid output.

Example:

{{{
var_dump( date_i18n( 'Y-m-d\TH:i:sP', time() ) ); // 2012-06-15T13:34:03+03:00 << ok
var_dump( date_i18n( DATE_W3C, time() ) ); // 2012-06-15T13:34:03+03:00 << ok
var_dump( date_i18n( 'c', time() ) ); // 2012-06-15T13:34:03+00:00 << broken time zone!
}}}


Hook-level fix:

{{{
add_filter( 'date_i18n', 'fix_c_time_format', 10, 3 );

function fix_c_time_format( $date, $format, $timestamp ) {

    if ( 'c' == $format )
        $date = date_i18n( DATE_W3C, $timestamp );

    return $date;
}
}}}

See [http://wordpress.stackexchange.com/q/54700/847 Why time functions show invalid time zone when using 'c' time format?]

Possibly related (can't say for sure from description) #13538",Rarst
20328,get_date_from_gmt assumes current gmt_offset is appropriate,nacin,Date/Time,,normal,normal,Future Release,defect (bug),reopened,has-patch,2012-03-29T22:02:24Z,2013-05-14T13:22:54Z,"For locations that have daylight savings time, the gmt_offset changes over time. Yet get_date_from_gmt assumes the offset that is in effect now is always the right offset. But I might be trying to display date/times that are in a different timezone transition than the current one.

Proposed fix is to use timezone_transitions_get() as wp-admin/options-general.php does in order to translate those date/times accurately.",scottconnerly
9272,Expand human_time_diff()'s abilities,Viper007Bond,Date/Time,2.8,normal,normal,3.6,enhancement,new,has-patch,2009-03-04T10:42:21Z,2013-05-22T22:56:32Z,"This is partially related to #7250.

Currently `human_time_diff()` can only do days, hours, and minutes. I propose we expand it a bit, to at least weeks and possibly even months and years (although that can be tricky unless PHP has a shortcut).

It should also support the ability to trim to a certain accuracy, i.e. for a 2 year 1 month old post, minutes don't matter.

In short, I propose we integrate Time Since's functionality into the core by expanding the current `human_time_diff()`.",Viper007Bond
21653,Introduce current_date(),,Date/Time,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-08-21T19:33:59Z,2013-01-07T09:25:24Z,"WordPress comes with a function called `current_time()` which returns the current time according to the timezone chosen on the General Settings screen. It's used when populating the post date, among other things.

It would be nice to have a date equivalent of this function for outputting the current date according to the timezone setting. Currently if you want to output the current date you need to do this:
{{{
echo date( 'd/m/Y', current_time( 'timestamp' ) );
}}}
I'd like to be able to use this instead:
{{{
echo current_date( 'd/m/Y' );
}}}

Note that just using `date()` doesn't give the desired effect as WordPress sets the default timezone (as used by `date()`) to UTC, not to the timezone chosen on the settings screen.",johnbillion
19813,Keyboard shortcuts for editing posted date,,Date/Time,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-12T09:28:13Z,2012-01-12T17:39:31Z,"In short, I thought it would be a nice feature to be able to use the Up/Down arrow keys to increment or decrement the values within the post published date/time input boxes. I found this stackoverflow post with the basics of how to retrieve keystrokes and alter the value based on which one was pressed. 

http://stackoverflow.com/questions/7742364/incrementing-value-integer-in-an-input-type-field.

I then altered the code to prevent negative numbers and stay within the limits of each field type.

Days get 1-31
Year gets 1900+
Hours get 0-23
Minutes get 0-59

JS could probably be cleaned up a bit and condensed, but I wasn't quite sure how to separate them all out. Maybe someone with more js-fu can help out with that",tw2113
15921,date column filter in media list table,,Date/Time,3.1,normal,normal,Future Release,enhancement,new,,2010-12-20T18:25:49Z,2011-03-23T17:08:18Z,"please add a filter for date column in media list table, like posts list table.

in wp-admin\includes\class-wp-media-list-table.php @ line:288
replace:
{{{
<td <?php echo $attributes ?>><?php echo $h_time ?></td>
}}}

with:
{{{
<td <?php echo $attributes ?>><?php echo apply_filters( 'media_date_column_time', $h_time); ?></td>
}}}",gonahkar
10660,Time zone suggester based on nascent WordPress.org API call,rmccue,Date/Time,2.8.4,normal,normal,Future Release,feature request,assigned,has-patch,2009-08-20T05:59:42Z,2013-02-19T19:00:38Z,"The attached patch uses a new API call to http://api.wordpress.org/core/ip-to-zoneinfo/1.0/ to retrieve a suggested time zone based on client (not server) IP address.

A button is added next to the existing dropdown list of time zones providing the option to ""Suggest a time zone"". This calls the API using an AJAX/JSONP request which then auto-selects a time zone for the user from the dropdown.

Visual feedback is via a spinner when fetching and then a text response.

Additionally the Date and Time settings have been split out to a new settings page.

Related ticket: #10324",sambauers
16478,"""Get Shortlink"" button disappears if you edit the permalink",,Editor,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-07T08:44:02Z,2012-10-08T08:33:15Z,"Go to edit a post and change the permalink. The ""Get Shortlink"" button is overwritten by the AJAX response. I think it's a simple case of moving where the shortlink is added, see patch.",solarissmoke
24369,"""Open link in a new window/tab"" shows the wrong information",,Editor,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-19T23:55:56Z,2013-05-19T23:55:56Z,"I noticed that the ""Open link in a new window/tab"" checkbox in Wordpress' editor sometime shows the wrong information. I can get this consistently by:

1/ writing a post in word, including links inserted in Word

2/ copy the text to WP's editor

3/ links will be converted from Word in clean HTML and will open in the same window by default

4/ select the first link and open ""Insert/Edit Link"" by clicking on the Link button. The first time, the box will be unchecked. That's correct.

5/ change that first link to ""Open link in a new window/tab"". click on Update

6/ go to the next link and open ""Insert/Edit Link"" again. Oh no it shows the ""Open link in a new window/tab"" checked while the HTML code shows that it is NOT targeted to ""_blank"".

Example: WP's editor says that this will open in aa new window: http://screencast.com/t/rxR6oeEjL

Bur the HTML is clear: it's not targeted to ""_blank"": http://screencast.com/t/xDBnYsh9Z

Thank you,",hubertnguyen
21563,"""Save as"" button disappearing on edit/new post screens",,Editor,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-13T15:15:58Z,2013-03-11T22:01:41Z,"When switching ""visibility"" from ""public"" to ""private"", the ""Save as (draft/etc.)"" button disappears. It doesn't come back when switching to ""public"" anymore.

[[Image(http://i.imgur.com/EExwB.png)]]",F J Kaiser
16477,"""View post"" link should not change when sample permalink changes",,Editor,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-07T08:15:26Z,2011-12-18T23:54:38Z,"To reproduce:

- Go to edit a post
- Change the permalink
- Click on ""View post"" and you get a 404 because the href has been changed to the new sample permalink but the post hasn't been updated yet

The ""View post"" link should always point to the permalink of the currently saved post.",solarissmoke
20609,"<p> tags  in Editor not working on editing with wp_editor, wenn disabling media_buttons or quicktags",,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-05-03T16:36:01Z,2012-05-05T01:01:57Z,"When disabling the media_buttons or quicktags via the third argument in wp_editor via a settings array, <p> tags are not displayed any more, so there are no line breaks any more in the editor. Only ""      "" is in the source code. The Problem also occurs, when changing 'quicktags' or 'media_buttons' in class-wp-editor.php in the core to false. wpautop is still true.

",julian42
19947,Copy paste behavior in Visual mode differs from HTML mode,,Editor,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-02-02T13:13:11Z,2012-02-02T13:13:11Z,"Copy a random html page from a random site including links and images and paste it into the WYSIWYG Editor Visual mode and it will include the images and links. Basically it (mostly) looks like the copied page. If you paste the same into the WYSIWYG Editor HTML tab and it will strip out _all_ HTML markup and just leaves the plain text, without the images or links.  

Expected: 
I would expect the Visual and HTML mode of the WYSIWYG editor to behave the same, either both use the code (displaying the results of the markup code in the Visual tab and the markup code itself in the HTML tab) or both strip out all html.   

",BjornW
19649,DFW Auto textarea lengthening is twitchy,koopersmith,Editor,,normal,normal,Future Release,defect (bug),assigned,,2011-12-22T21:52:36Z,2012-04-27T21:08:56Z,"The auto textarea lengthening is twitchy. It shoves the content up a line, then pulls it back down.

Best seen in a screencast: http://screencast.com/t/e5zIpkk9nY",markjaquith
22185,Distraction Free Writing mode lacks any controls on touch devices,,Editor,3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-13T22:39:05Z,2013-01-10T00:30:44Z,"Distraction Free Writing mode on touch devices is pretty disastrous. All the controls disappear, meaning you can't apply any formatting and - more importantly - you can't save your content or exit fullscreen mode.

Not sure what would be best:
 1. Don't autohide the controls at all on touch devices.
 2. Autohide the controls but add a toggle button which shows up on touch devices to toggle the controls on again.
",johnbillion
18627,Google Chrome handles bulleted lists differently in Visual Editor than other browsers,,Editor,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-09T16:10:51Z,2011-09-09T16:10:51Z,"In Firefox (working functionality):

1. create brand new post or page
2. in the visual editor, click Bulleted List icon
3. In Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press Enter

Result: a new bullet, and we've lost the H1 style (just inside a ul >> li now)

Try this with Chrome 13.x

1. create a brand new post or page
2. in the visual editor hit the Bulleted List icon
3. in the Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press enter

Result: no new bullet. We're inside a ul >> li >> div

Also tested in IE 7 and 8 (works fine). haven't tried other WebKit browsers.",tomauger
11986,HTML comments in post/page content get wrapped in P tags,,Editor,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-23T19:32:13Z,2010-06-14T01:39:31Z,"I don't know if someone already caught this i had mentioned it to someone in the #chat but

When you write a post or a page and include comment html tags

the comments end up being wrapped in <p> tags

<p><!-- comment --></p>

An older plugin i use makes use of comment tags to know where to insert content but comments may be used for other reasons inside posts.

the more comments you add
the more line breaks errr paragraph breaks 

additionally the plugin I was using could not pickup the comment tag and insert the content.


",NPSites
16116,Hide 'Move to Trash' for auto drafts,,Editor,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-06T05:54:59Z,2013-01-22T16:52:51Z,"The 'Move to Trash' link should not appear for auto-drafts. 

This was the original intent of what [13905] removed, which I want to say was designed to reflect additional scenarios.",nacin
19645,Image caption gets removed when editing image dimensions.,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-12-22T16:24:34Z,2011-12-23T18:25:53Z,"When editing an image placed into a post in a certain way, the caption of the image is removed.

Steps to reproduce:
1. Edit a post that contains an included image.
2. Click the edit options icon when selecting the image.
3. Go to the advanced image settings(make sure the image does have a caption).
4. Empty the width field.
5. Press the submit button.
-> The caption of the image is set empty.

Remarks,
In my case only leaving the width input field blank caused this issue.",JanJaapKempenaar
13942,Logged-out notice in post edit page is easily missed,,Editor,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-06-17T11:25:40Z,2012-09-27T15:42:48Z,"When a user gets logged out during post editing, a small warning appears bellow the post editor, next to the word count. This warning states that changes will not be saved until user logs in again - but it's a small notice and is very easily missed.

Since this can be potentially catastrophic for users writing long posts while relying on auto-save, a bigger and more prominent notice probably makes more sense.

=== Repro ===

ENV: WP 3.0

This bug can be reproduced in WordPress 3.0 by opening two tabs – one tab with a blog’s Dashboard, and another tab with the same blog’s New Post page. In the Dashboard, click Logout, then switch to the New Post tab. Here, enter any text in the post’s title, then hit Tab to switch to the editor. This will trigger the permalink preview, which will in turn trigger the notice about being logged out: “ALERT: You are logged out! Could not save draft. Please log in again.”

=== Additional Details ===

The notice comes from wp-admin/admin-ajax.php, in line 36.

Currently behavior was introduced by #7630, where it was already noted ""maybe something more obvious needed""",RanYanivHartstein
23103,Non image caption shortcode lost when switching from text to visual editor and back,,Editor,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-01-02T16:40:25Z,2013-02-13T05:56:05Z,"1. Add the line in text editor 
{{{
[caption caption=""test"" width=""300""]Checkuot this text[/caption]
}}}

2. switch to visual editor 

3. switch back to text and you get 
{{{
<dl class=""wp-caption alignnone"" id="""" style=""width: 310px;""><dt class=""wp-caption-dt"">Checkuot this text</dt><dd class=""wp-caption-dd"">test</dd></dl>
}}}
",mark-k
16077,Placement of link popup in full-size visual editor when browser window is resized,garyc40,Editor,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-01-02T19:47:30Z,2013-01-22T16:54:13Z,"To recreate: Writing a post in the full-window view of the visual editor, click the link popup. While popup open, resize browser window to be smaller. Link popup stays in original location, even if the window gets small enough to cut it off. 

You can move the link popup by dragging the top bar. If you do this, then the link popup will stay in the new place b/c our save state stuff, even when you're writing in the regular size visual editor.

Preferred UX: if browser window resizes, have link popup recenter itself in the overlay. ",jane
13327,Post editor puts content through wpautop() before displaying it to users without JS enabled,,Editor,3.0,low,normal,Future Release,defect (bug),new,,2010-05-10T21:42:50Z,2010-11-12T11:24:54Z,"'''Steps to reproduce:'''

 1. With JS on, change to the Visual Editor
 2. Disable JS
 3. Add a new post
 4. Save as draft
 5. Note that the content is wrapped in {{{<p>}}} tags in the textarea.

[[Image(http://img19.imageshack.us/img19/6363/screenshot20100510at524.png)]]

'''Expected:'''

No paragraph tags are added.",markjaquith
22567,Preview button triggers popup blocker in some browsers if no title is set,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-23T21:41:35Z,2012-12-05T21:31:33Z,"Steps to reproduce:

1. Click on Add New (for a post)
2. DO NOT enter a title.
2. Start typing in the post body.
3. Click Preview

Expected result:

New tab opens with preview.

Actual result:

If popup blocking is disabled, a new window opens with the preview.  On subsequent clicks of the Preview button, it reverts to opening a new tab as it should.

Found in WordPress 3.5-RC1.",miqrogroove
20233,Preview opens in the same window when edit panel was previously another Preview window,,Editor,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-13T23:29:16Z,2013-01-03T05:52:29Z,"Steps to reproduce:

1. Create a new post, save as draft
2. Click ""Preview""
3. Go to the Preview window, and from there use the Admin bar to go back to the Dashboard and start writing a new post
4. Save that new post as draft
5. Hit ""Preview""
  * Expected result: preview opens in a new window
  * Result: preview opens in the same window

Is there some way we could get around that? For people working with multiple tabs, it can be really confusing.",hd-J
14749,Scrollbar position jumping in the Appearance->Editor newcontent textarea,,Editor,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-09-01T01:32:10Z,2012-11-01T05:14:52Z,"As I am editing code in the Appearance Editor main textarea called newcontent, the scrollbar slider will jump upward to a new position moving the current line being edited down.

On a vista machine using ie8 with wp3.0.1 and the 2010 theme, a single character stroke will move the scrollbar up 3 lines.  

On an xp machine using ie8 with wp3.0.1 and a custom theme, a single character stroke will move the scrollbar up 8 lines.  Ocasionally the scrollbar will only move 1 line and every keystroke will bring the down.  Pasting text can and often does bring the line being edited below the visible area of the textarea.

It is very frustrating when it jumps around like this.",Giant Slayer
20016,Spellchecker returns suggestions with wrong encoding,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T17:59:00Z,2012-02-10T20:34:01Z,"Steps to reproduce:

* Create new post
* Type 'canamo'
* Set spellcheck language to Spanish
* Click on 'canamo' for suggestions

",koke
19666,Switching from HTML to Visual editor removes some line breaks inside PRE,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-12-25T21:34:59Z,2013-02-09T12:49:25Z,"All line breaks inside PRE elements used to transmit correctly when switching editor mode from HTML to Visual. Around WP3.1 or so, line breaks started to be removed if they happened to be inside an inline element. The common use case is a single CODE element in a PRE element:
{{{
<pre><code>Line 1
Line 2
Line 3</code></pre>
}}}
The above markup used to be handled correctly when switching between editor modes in either direction, but now the line breaks are converted to spaces when switching from HTML to Visual mode.

Many users have posts with a single CODE inside PRE, as it's semantically correct for source code, and is the convention required to support some syntax highlighters like Chili.",mrclay
21460,The accesskeys in Quicktags don't work in all browsers,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-03T19:21:56Z,2012-08-03T22:01:43Z,"IE (Alt+letter) works properly. Firefox (Alt+Shift+letter) only focuses the corresponding Quicktags button sometimes. Doesn't perform the action. If the button is hidden, performs the action (this shouldn't happen in Quicktags). Chrome doesn't seem to do anything. Opera works differently: Shift+Esc brings a list of all defined access keys on that page. The Quicktags access keys are not listed there.

",azaozz
21934,Title field on Insert/edit link form shouldn't allow autosuggest,,Editor,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-19T21:10:18Z,2012-09-20T22:37:44Z,"When entering a link through the ""Insert/edit link"" thickbox form, Firefox displays autosuggest dropdowns for both the URL field and the title field.

This would be helpful, except that the javascript keyboard handlers bound on keydown/keyup prevent the browser UI from being accessible.

What happens is:

1. User tries to add link to text through the editor (Visual or HTML).
1. User enters the correct URL into the URL field, and exits that field by hitting ""tab"".
1. User begins typing the link title. Firefox browser UI helpfully suggests some similar titles.
1. User sees a title they'd like to use, and hit the keyboard down arrow, thinking that this will select the correct title for them.
1. What actually happens is that the first link listed below in the link to existing content gets selected. This overwrites what's been entered in the URL and title field.
1. User says, WTF just happened.

Solutions:

- Adding `autocomplete=""off""` to these two form fields would prevent Firefox from displaying its autosuggestions. This might fix the problem, but feels kind of like a bandaid.

- A keydown/keyup handler could be attached to each of the text input fields with event.stopPropagation could stop the ui keyboard behavior when typing into those fields.",goldenapples
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
9716,WordPress Theme/Plugin editor adds blank lines,,Editor,2.7.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-05-03T20:32:01Z,2012-04-20T16:29:42Z,"When I edit theme css in theme editor in WP admin
!WordPress reformats my CSS and adds a blank life between entrys in css.
it adds a cr and line break ....
In other words if you have a 100 line css
download with FTP look at in text editor
it is now 200 lines
as WP added blank lines to css
it should not be adding things to the CSS?

It may only do this when it wraps window but I think not it appears to add blank lines.

Imagine the damage to a 1000 line CSS it spaces every entry by 1 line!!!!!!!!!!!!!! It stiil works but it messes it up.

THAT IS COFIRMED ONE EDIT DOUBLE SPACE ENTIRE CSS... VERY BAD 

Here is part of the problem but not the double space in total.
When you down load the file in FTP and it is in windows encoding
the line endings.
So you ftp back and all is fine.
Now you are at the coffee shop and what a quick change, so you login to WP admin and theme editor edit CSS.
Now you get home and download in ftp to continue your work on CSS.
The file is now mac formatted (or thinks it is) so when you edit the line endings do not contain the right line breaks for windows OR WP theme editor as it ignores them. This explains the wierd spacing though not the double spacing .... why is it converting to mac and yet ignores mac?!
weird.. it adds a CR tag
must be bug
again though its still double spacing on edit IN windows line ending though if you down load cSS its tagged mac format...


Use notepad 2 or Note pad plus to see the error.
When ever you edit with !WordPress editor it adds cr and says css is now mac formatted.

FTP download the file and now see all the extra CR's it adds.

So it likes CR only so I convert to CR only and it beaks CSS it wants CR LF to work but if that is the case why does the online editor add CR only????????????????????????? 
",Vistronic
23382,WordPress admin panel lags,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-04T19:02:20Z,2013-05-20T00:01:32Z,"I'm using Windows 7, brand-new laptop with i7 processor, 8GB RAM and 1080p resolution.

I have created a post with 15 1920x1080 images in it and a lot of content (25000 characters). Results:

=== CHROME & CHROME CANARY ===
It's far from being usable at all. It lags that much that cursor doesn't even change from ""default"" to ""pointer"" when I hover over ""Publish"" button. 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
23332,iPad Can't Move Cursor in Visual Editor,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2013-01-30T23:13:50Z,2013-02-11T23:33:20Z,"I've been ramping up iPad usage with WordPress both for mobility as well as testing.

The more I use it, the more frustrated I become with the visual editor.  Due to what appears to be multiple bugs with both iOS and WordPress, I am often unable to move the cursor and must switch to the Text tab to do my editing.

When tapping into the Visual editor in a long post, the screen auto scrolls so that the cursor is sitting directly above the keyboard, and the admin bar moves to the middle of the page, covering most of the remaining editing area.  This blocks the view of any preceing or following text, and makes it very awkward to write sentences longer than the editor is wide.

To move the cursor to a different part of the post, I have to un-focus the editor and the tap into the editor on a different line.  The only place I can reliably land the cursor is at the end of a line, so to change anything in the middle of a paragraph, I have to use the text editor.",miqrogroove
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
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
16819,Accessibility: Internal Linking behaviour in Editor / TinyMCE,,Editor,3.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-03-10T10:52:26Z,2012-10-22T15:58:33Z,"'''Issue'''

The default behaviour of the new 'Internal Linking' feature is to auto-insert the title attribute as a duplicate of the link text.

This is not best-practise and, contrary to some beliefs, doesn't actually aid accessibility.

'''Solution'''

The title field should be blank by default and only included if the uses enters data.

'''Why?'''

Title text is only useful when it is *different* to the actual link text AND provides additional information.  Duplicating the link text in this fashion just adds fuzz to the page.
",stencil
18979,Add $post_type parameter and a filter to meta_form(),,Editor,,normal,normal,Awaiting Review,enhancement,new,,2011-10-18T03:55:56Z,2012-04-01T12:29:54Z,"In the current version, meta_form(), the function which outputs Custom Fields form used in Edit Post pages, shows all meta keys you have used regardless of post type. Sometimes this gives users unwanted options.

I'd like to suggest adding $post_type parameter to meta_form() to show only meta keys you have used in the same post type. In addition, it would be better if there were a filter for the meta keys.",takayukister
14808,Add Editor Documentation Functions URL for theme-defined functions,,Editor,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-08T00:57:20Z,2011-08-25T00:15:44Z,"Currently, functions that are called within template files shown on the editor are included in the list of functions that you can try and lookup documentation for.

(The $ignore_functions array only seems to be for functions defined, not called, in a file.)

As the http://api.wordpress.org/core/handbook/1.0/?function=... seems to be hard-coded in, it's not possible for themes to overwrite it for functions they've defined.

Is it possible to allow themes to define where the documentation lookup should be for their own functions?",GamajoTech
23159,Add Words Counter In The Excerpt Metabox,,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-01-09T19:46:57Z,2013-01-11T17:26:24Z,"Hi WordPress Lovers :) , WordPress 3.6 fouces on ""Content Editing"" a small good idea is to add a words counter in the bottom of excerpt meta-box , and a small tip of the current theme max words count ..",alex-ye
22924,Add filter to theme editor accepted files,,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-13T21:35:48Z,2013-02-22T20:41:09Z,"Proposing adding a filter to theme-editor.php so theme authors can add to the list of files that are editable. ie html/less/js files.

Hers an example of what could be possible:
{{{
add_filter( 'wp_theme_editor_filetypes', 'add_my_filetype', 10, 2 );
function add_my_filetype( $allowed_types, $theme ) {
	
	$extra = $theme->get_files( 'less', 1 );
	return $allowed_types += $extra;
}
}}}",pross
19992,Auto-fill URL field on Insert/edit link popup,,Editor,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-08T22:38:14Z,2012-11-26T00:14:21Z,"I'd like to see the following behavior: When I select a plain URL or email address in the editor and click on ""Insert/edit link"" the URL field is already populated with either the URL or with a ""mailto:<email-address>"". Any thoughts? I'd more than happy to write a patch.",tillkruess
15631,Custom fields auto-focus,,Editor,3.1,normal,normal,Future Release,enhancement,new,has-patch,2010-12-01T19:02:16Z,2013-01-22T15:23:25Z,"When you are on the post editor (page editor, whatever), if you want to create a new custom field and click on Create New, it should auto-focus on the text input field that appears. ",jane
23339,DFW in HTML mode should have switch text direction button for RTL languages,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2013-01-31T12:22:55Z,2013-02-01T19:14:02Z,It is hard to edit HTML when the flow of the text is right to left. The normal HTML editor has this button when used in RTL environment.,mark-k
20186,Default font in the Visual Editor doesn't work well in all languages,,Editor,,normal,normal,Future Release,enhancement,new,,2012-03-06T20:41:53Z,2012-05-02T20:25:57Z,As the title. This is somewhat unnoticed as most themes seem set the fonts there with editor-style.css. However we would need a default that works well for themes that don't set that.,azaozz
17388,Distraction free writing mode submit button text,,Editor,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-12T12:11:09Z,2011-05-12T12:11:09Z,"The text on the submit button in distraction free writing mode should match that of the submit button on the main editing screen. Currently it always says ""Update"" for published posts, and ""Save"" for other statuses. It should say ""Save Draft"", ""Save as Pending"" etc when relevant (and change when you change the post status dropdown too).",johnbillion
2702,Easier way to change page order (AJAX/jQuery?),mdawaffe,Editor,2.3,normal,normal,Future Release,enhancement,new,,2006-05-03T21:36:37Z,2011-10-08T03:23:13Z,"When having a lot of pages, they get harder to manage (see also Ticket #2004 [Pages page should page]).

When needing to change the page order, it's very inefficient to manually change the page order value, or whole series of page order values, just to move one page up or down the list. Suggestions for alternative ways to change the page order are:

In ""Manage - Pages""
1) With up/down arrows (page goes one up or down when the button/link is clicked).
2) or: Drag+Drop (The post/page settings can be dragged and dropped, so why can't this, too?)
",FireMotion
14640,"Feature Requst:  Add Action Hook ""post_submitbox_end""",,Editor,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-18T21:09:53Z,2013-01-10T02:55:26Z,"I'd like to add a button UNDER the Publish button on an edit post page.  There is an action for adding a button (or other elements) BEFORE the Publish button (post_submitbox_start), but I'd like one at the end.  I know that I can address this w/ CSS if necessary, but it would be nice to be able to position my button in the HTML as well.",ancawonka
18820,Formatting bar loading experience is subpar,azaozz,Editor,3.2.1,normal,normal,Future Release,enhancement,reopened,,2011-09-29T21:51:41Z,2011-11-18T07:23:24Z,"When you save a post, the way the formatting bar loads in (Visual and HTML both) is subpar. It pops in really late, and shoves your post content down.

Screencast: http://s3.amazonaws.com/txfx/screencasts/Formatting-Toolbar.mov

Let's make this better.",markjaquith
22980,Get Shortlink button should be appended using the get_sample_permalink_html filter,,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-17T18:39:43Z,2012-12-17T18:49:00Z,"Currently the Get Shortlink button is appended directly to the output of get_sample_permalink_html(), which makes it impossible (without CSS/JS) to append items to the HTML.

The get_sample_permalink_html filter should be used inside of 
[source:/trunk/wp-admin/edit-form-advanced.php?rev=23180#L334 edit-form-advanced.php] so the user has complete control over the generated output.",coreygilmore
24047,Line numbers in post editor text mode?,,Editor,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-11T17:48:32Z,2013-04-11T22:23:28Z,"I would love to see line numbers in the post editor when in text mode. This and/or the cursor returning to the editing point when updating a post.

It can be very annoying that the cursor always returns to the top of the editor when a manual update is initiated. Making a lot of small edits in various parts of a longish post can be really tedious.",dgwyer
18423,Make internal linking's River + Query constructors public,koopersmith,Editor,3.2,normal,normal,Future Release,enhancement,reviewing,has-patch,2011-08-16T02:00:07Z,2011-12-19T00:24:45Z,"...and restructure them so that they're slightly more configurable, i.e. making the AJAX endpoint URL and result rendering overrideable.",mitchoyoshitaka
18306,Make sample permalink clickable,,Editor,3.2,normal,normal,Future Release,enhancement,new,has-patch,2011-07-31T14:41:39Z,2012-11-01T20:02:13Z,"Following the lead from #17282, the ""View Post"" button next to the sample permalink is also just a link to another screen.

I propose we get rid of it and make the sample permalink itself clickable",scribu
18245,Make the visual editor KSES filter/user capabilities aware,,Editor,,normal,normal,Future Release,enhancement,new,,2011-07-25T18:11:21Z,2011-08-23T20:16:45Z,"Currently the visual editor assumes ""unlimited html"" for all users. This can result in some surprises when a user doesn't have that capability.

We can make a function that translates the KSES allowed tags and attributes into TinyMCE format and sets the editor accordingly.",azaozz
18042,Need a way to override wp_link_query(),,Editor,3.2,normal,normal,3.6,enhancement,new,has-patch,2011-07-08T22:24:44Z,2013-05-05T04:18:55Z,"In previous versions of !WordPress, we were able to write a plugin which called add_filter on `tiny_mce_before_init` and then we were able to specify `external_link_list_url` which we gave it a list of all of the URLs on our site (we primarily linked to non-WordPress URLs on our site from this tool). Then when an author created a Link in the post tool the little popup would include a dropdown of all of the URLs/page titles that we specified.

In !WordPress 3.2 you have the new fancy ""link to existing content"" feature in the popup.

The problem is that there is NO hook, filter, or pluggable function whatsoever to allow you to override the functionality of this.

I needed to make the search results box return a list of pages (urls and titles) that I specified from a different database. In order order to do that I had to re-create the entire `wp_link_query()` function from wp-admin/includes/internal-linking.php to make it return search results from my own database. I put that function into a Plugin (to keep it out of Core) but then I had to hack core to rename `wp_link_query()` to `wp_link_query_ORIGINAL()` to get it to use my function and not the existing one.

Either `wp_link_query()` needs to be a pluggable function or there need to be hooks that let you completely replace how it works.",philfreo
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
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
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
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
23630,Simplify the DFW implementation,,Editor,,normal,normal,Future Release,enhancement,new,early,2013-02-26T16:44:57Z,2013-03-06T20:04:42Z,"I was sad to see that distraction free writing [http://make.wordpress.org/core/2013/01/08/wordpress-3-6-distraction-free-writing-improvements/#comment-7469 didn't get picked up] for 3.6.  I decided to play around with a rough proof of concept to see how difficult it would be to use the existing TinyMCE instance for DFW.

Benefits of handling it this way include:

- It eliminates the need (and complexity) of juggling multiple instances of TinyMCE
- We'll be able to remove a bunch of the old DFW code
- It makes the transition between regular mode and DFW mode much more smooth
- It can be as fully featured as we want it to be",lessbloat
15139,Texteditor: link button always enabled,,Editor,,normal,normal,Future Release,enhancement,assigned,,2010-10-17T08:27:06Z,2012-01-06T01:32:10Z,"When you make a link you are forced to write the text in the editor and select the text before the link button is usable. I have seen users fail to understad this and getting stuck at creating links.

It might be better if the link button was enabled as default and if no text was selected a textfield with the link text appeared in the insert/edit link.

Another alternative is that the link text textfield (just mentioned) is visible all times but if text is selected it's written there by default. Otherwise it's left blank.",olalindberg
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
21649,_WP_Editor class is currently marked as final,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2012-08-21T13:13:08Z,2012-08-21T17:16:30Z,"Revision [19420] turned

{{{
class _WP_Editors{}
}}}

from wp-includes/class-wp-editor.php into 

{{{
final class _WP_Editors{}
}}}

I'm aware that editor API is currently under large changes but it would be great if plugins could extend _WP_Editors class by removing ""final"" keyword.",Marko-M
23323,"img quicktag is so inferior to add media, should be merged or removed",,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-01-30T09:55:50Z,2013-01-30T20:16:31Z,"Right now, in the text editor there are two ways to add an image, with the ""img"" button or the ""add media"" button. ""Add media"" contains all the functionality of ""img"" and adds much more, while ""img"" is ugly and feels like an historical artifact.

IMO ""img"" should be deleted or be an alias to ""add media""",mark-k
11319,oEmbed should be integrated into Add ... from URL experiences,,Editor,2.9,normal,normal,Future Release,enhancement,new,,2009-12-03T22:55:05Z,2010-10-28T08:50:33Z,"oEmbed should be integrated into Add ... from URL experiences

enhancement, ENV: WP 2.9-beta-2 ++ (trunk r12320)

For WP 2.9 we removed oEmbed from the UI, #11288.

The ""Embed"" field did not validate the oEmbed, that is part of the reason I recommended not incorporating UI for WP 2.9 -- I think JS based validation is essential to a good experience.

If you use the ""Insert an image from another web site"", once you input a URL, WordPress should automatically check if it is an oEmbed link and adjust and populate the fields as appropriate.

ADDITIONAL DETAILS

If JS is disabled, I see little benefit to including a oEmbed form. The ability just to include oEmbeds on their own line in the content seems like a good balance.",lloydbudd
6619,permalink field misleading in page editor: it displays the erroneous values,,Editor,2.5,normal,normal,Future Release,enhancement,new,,2008-04-06T14:48:15Z,2009-11-20T20:32:33Z,"if you create a sub-page, the permalink field should display the proper permalink.

currently, if you have:

site.com/page/

and when you create:

site.com/page/subpage/

the permalink shows:

site.com/subpage/

until it gets saved

the expected behavior would be for it to show the correct permalink.

the same remark applies when you then change the permalink. if the parent is no longer page, but rather page-2, then the permalink should update accordingly.",Denis-de-Bernardy
22180,"Add attachments to ""existing content"" area in link dialog",,Editor,3.4,normal,normal,Awaiting Review,feature request,new,,2012-10-12T20:59:26Z,2012-11-13T01:30:57Z,"At the moment, the process for linking to attachments within the editor is rather cumbersome. Each time someone wants to link to a PDF document or other item they've uploaded through the media interface, they have to take the following steps:

1. Upload the file through the media uploader
2. Press the File URL button in the media modal
3. Copy the URL from the ""Link URL"" box
4. Close the media modal
5. Highlight the text they want to link
6. Press the ""Insert/edit link"" button in the editor toolbar
7. Paste the URL from their clipboard into the URL input

It would be nice if attachments could be included in the ""Link to existing content"" area within the link dialog.

I can see two possible ways of implementing this. Either simply include attachments in line with the pages, posts and custom post types that already display in that area; or, use a tabbed interface to switch back and forth between the normal ""existing content"" list and a list of existing attachments.

When I discussed this with Nacin and a few others at WordCamp Baltimore, we proposed adding a preference (possibly based on the information that's stored when the user uploads the media) determining whether the permalink leads to the attachment page or the actual file.

Based on my preliminary research, it looks like implementing this will essentially take two steps:

1. Add 'attachment' to the `$pts` array at the beginning of the `_WP_Editors::wp_link_query()` method.
2. If the preference has been set to link to the actual file, the code will need to adjust the `permalink` value in the `$results` array for anything that comes up as an attachment.

I'll look at starting a patch for this over the next few days, unless someone else gets to it first. Thanks.",cgrymala
21188,Fullscreen (distraction-free) editor should have a preview button,,Editor,,normal,normal,Awaiting Review,feature request,new,,2012-07-08T08:36:00Z,2013-01-08T14:01:54Z,"Per http://alexking.org/blog/2012/07/06/wordpress-fullscreen-preview-button

I do find it annoying to have to exit fullscreen, preview, then flip back to fullscreen.",markjaquith
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
23776,"A string of text starting with ""http://"" turned into a paragraph",,Embeds,2.9,normal,normal,Awaiting Review,defect (bug),new,,2013-03-14T21:11:00Z,2013-03-15T07:10:14Z,"
In either editor, if there's a line of text that starts with http:// wordpress will create a new paragraph.

This description box isn't working to show what I mean see this support post.

http://wordpress.org/support/topic/a-string-of-text-starting-with-http-turned-into-a-paragraph",winterstreet
17210,Massive duplication of oEmbed postmeta,Viper007Bond,Embeds,3.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2011-04-21T23:38:35Z,2013-02-15T19:56:22Z,"Hey guys,

Ever since my blog grew to a considerable size (a few million PVs a month) and started slowing down and exploding my server, I've been looking and implementing various optimizations. During one such passes through the data, I noticed this really weird oEmbed related behavior, which I've been observing for a number of WP version upgrades.

I use [embed] shortcodes a lot, and every new post after a few minutes ends up with a ton of oembed caches that don't belong to it at all - they're all from other posts. Posts that don't even have [embed]s at all still have over 100 oembed entries in wp_postmeta.

Here's an example of just a small subset of data residing in the table:

[[Image(http://farm6.static.flickr.com/5230/5641419581_0610c9e267_b.jpg)]]

There are now about 150,000 entries in the wp_postmeta table due to this, half of which are duplicated _oembed entries, which I think has heavy impact on server load. Not only that but I'm sure WP is filling the table up with values by redoing oEmbed queries, which may explain that load shoots up very high at times when publishing.
{{{
mysql> select count(*) from wp_postmeta where meta_key like '_oembed%';
+----------+
| count(*) |
+----------+
|    81499 |
+----------+
1 row in set

mysql> select count(*) from wp_postmeta;
+----------+
| count(*) |
+----------+
|   148451 |
+----------+
1 row in set
}}}

Just look at how many times this random video embed value shows up in the table. I'm sure it was used in only one actual post:
{{{
mysql> select count(*) from wp_postmeta where meta_value like '%p2oWELcd-lI%';
+----------+
| count(*) |
+----------+
|      815 |
+----------+
1 row in set
}}}

Just to clarify - I don't have 815 updates to a single post that may have explained this - these are completely unrelated, separate, published posts.

To put things in perspective, here are the top 20 offenders:
{{{
mysql> select distinct meta_key, count(*) as cnt from wp_postmeta where meta_key like '_oembed%' group by meta_key order by cnt desc limit 20;
+------------------------------------------+-----+
| meta_key                                 | cnt |
+------------------------------------------+-----+
| _oembed_5607e41abb700707540a854ae76182cf | 864 |
| _oembed_984bc07d3bc0f61b6b35230cd2fa7ced | 859 |
| _oembed_da8ae36275b4576cfcd92c0ed455be96 | 859 |
| _oembed_71dd4068a9a6911f50dbe57b3ff477c5 | 858 |
| _oembed_9f817e820c23ccbfac9b22b3474e5dd3 | 858 |
| _oembed_f3c1c03a81bc301b5f1a063f65119328 | 857 |
| _oembed_31bf10d95cb7c8e9f646d9d6e5728da0 | 857 |
| _oembed_25d0ebf59c994050cb604900cf04f53f | 856 |
| _oembed_6265dae657e38579c0a8ddb66132d526 | 852 |
| _oembed_562dd8c13888905cbd15dbd74e8699cc | 849 |
| _oembed_30ea17d1cc73acd925a74373d2be32ec | 848 |
| _oembed_87f16916b4da6571f454266bfbfaebe0 | 847 |
| _oembed_9f1f038d43e973bd60929201eee24f57 | 843 |
| _oembed_d46317d44fe11c0d90ef2cc3b45bce57 | 843 |
| _oembed_b1f8685ba405feee46baf9408eb632f7 | 841 |
| _oembed_1b56f492eba4c4ea698d816d0ecf2d51 | 840 |
| _oembed_fe597714de4081e6e7e78a88256c7db4 | 840 |
| _oembed_fb843e7b604cbc4e1ffa144d4eb300c8 | 839 |
| _oembed_97b12f2f1e59ee6eff95c61095aa5bef | 838 |
| _oembed_2b94d9f7c28ee37bfbead0a622c8be85 | 838 |
+------------------------------------------+-----+
20 rows in set
}}}

I'm quite at a loss here and would appreciate the next debugging steps. I haven't been able to determine where things are going wrong on my own.

Thank you.

P.S. The site in question is AndroidPolice.com",archon810
23715,Plugins/Themes that rely on get_option('embed_autourls') may fail in 3.5.x,,Embeds,3.5,normal,normal,3.5.2,defect (bug),new,commit,2013-03-07T17:43:17Z,2013-04-18T06:56:31Z,"After upgrading to WordPress 3.5. or greater from 3.4.x and below, the option ""embed_autourls"" will still exist in the database. Plugins or Themes that make assumptions based on this may fail as regardless of the answer, the actual behavior is that embed_autourls is always on per http://codex.wordpress.org/Embeds

  WordPress will automatically turn that into a YouTube embed when the post is viewed. As of 3.5, Auto-embeds are automatically enabled and there is no setting to turn them off in the WordPress admin pages. Prior to 3.5, there was an ""Auto-embeds"" checkbox in Administration > Settings > Media SubPanel.

Backwards compatibility could be preserved if this option would always return true from 3.5.x onward. Perhaps removing this option (from all sites if multisite) as an upgrade step could be another solution (though terrifying) to at least have a consistent (though not helpful) return value. These are just ideas that come to mind.

I did a quick scan through the options code I didn't see a history of forcing an option to a specific value for historical purposes. I assume this ticket will likely result in a ""won't fix"" but I wanted to make a record of it in the event others search the bug database.

Thank you for your time!",standardbanter
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
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
24381,A little more abstraction in the WP_oEmbed class,,Embeds,2.9,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-05-21T11:33:49Z,2013-05-21T20:54:01Z,"The logic for determining the oEmbed provider for a given URL is contained within the `get_html()` method of the `WP_oEmbed` class.

I'd like to be able to determine whether or not a given URL has a supported oEmbed provider. There's no method in the `WP_oEmbed` class to do this, and I've copied the logic from `get_html()` into my own function.

Patch coming up shortly.",johnbillion
23171,Add Meetup.com oEmbed support,,Embeds,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-01-10T12:21:01Z,2013-04-25T23:19:37Z,"Given the number of meetups people are doing around the world I think it would be nice to add Meetup.com to the list of oEmbed providers.

http://www.meetup.com/meetup_api/docs/oembed/

Currently there is a ''minor issue'' with their oEmbed API as it fails when the Meetup group has a custom domain for the group. I've had to do some ''dodgy'' code for our Aussie custom domains to get around that:

https://github.com/BronsonQuick/wpaustralia/blob/master/plugins/wpoz-meetups/wpoz_meetups.php

Seeing their is a new agreement between http://make.wordpress.org/events/ and Meetup.com hopefully one of the Automatticians can let Meetup.com know that their API needs a patch for custom domains ;)",sennza
21540,Add support for responsive video embeds,Viper007Bond,Embeds,,normal,normal,Awaiting Review,enhancement,assigned,,2012-08-10T17:15:50Z,2013-01-17T17:27:31Z,"By wrapping the html content of a video embed with a container (incl. class name), we could provide a simplified way for Theme authors to make video embeds truly responsive, through basic CSS.

See #21480",obenland
21632,Adding Imgur as an oEmbed provider,markjaquith,Embeds,,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-08-19T15:51:15Z,2012-09-23T18:26:36Z,Adding imgur to the list of oEmbed providers! (wcgr rocks),bradparbs
23442,Allow wp_remote_get args to be filtered for oEmbed calls,,Embeds,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-10T21:48:10Z,2013-02-15T20:36:04Z,"Currently, the oEmbed code use wp_remote_get() to communicate with the oEmbedded service. However, there's no way to filter the arguments that get used - it simply uses the system wide defaults. 

Filtering the defaults (E.g. http_request_timeout) seems overkill when you know that you only want to change things for something specific like an oEmbed call that you know may take longer than 5 seconds (E.g. 
https://github.com/leewillis77/wp-github-oembed/blob/1.2/github-api.php#L35)

The attached patch adds a new filter oembed_remote_get_args which allows plugins to override the wp_remote_get args for oembed calls (Including discovery)",leewillis77
14759,Improve the way oEmbed deals with caching,,Embeds,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-01T23:47:30Z,2013-03-15T07:57:59Z,"As Matt pointed to me today, caching oEmbed results to post meta is kinda lame.

I originally did this because I didn't want the HTML in old posts changing on it's own, say for example if the oEmbed provider got compromised. However I think that's extremely unlikely since we only whitelist major websites that can be trusted.

Perhaps instead we should use transients to cache this data. That way when embed HTML is updated, posts will eventually be updated too due to expiring caches. I'm thinking a cache time of a week would be good, but with some random +/- to make sure multiple caches don't all expire at once.

A good example of this is Vimeo. Anyone who embedded a Vimeo embed in their post before a few weeks ago got `<object>`-based embeds. However now Vimeo gives out `<iframe>` based ones. The only way currently to update the old embeds to the new HTML (without using a few lines of code) is to edit all of the posts and re-save them to trigger a cache update. That's painful.

Alternate suggestions welcome though.",Viper007Bond
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
24318,oEmbeds in feeds,,Embeds,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-05-11T16:31:46Z,2013-05-13T19:06:43Z,"The [http://wordpress.org/news/2013/05/wordpress-3-6-beta-3/ latest blog post] on wordpress.org included links to a playlist on Rdio and Spotify. As per #24242 these are converted to oEmbeds.

When viewing this post in Google Reader, neither the Rdio or the Spotify embeds are displayed, presumably because they both use an iframe. This led to the paragraph above it not making a lot of sense (see screenshot).

Is it safe to assume that any oEmbed which uses an iframe will not be displayed in an RSS reader? I genuinely don't know the answer to this as I only use Google Reader (not for much longer of course).

Should we implement a fallback (ie. just display the link as-is) in the RSS feed if the oEmbed uses an iframe?",johnbillion
22346,Add Videojug.com to internal whitelist,,Embeds,3.4.2,normal,normal,Awaiting Review,feature request,new,has-patch,2012-11-02T15:30:50Z,2012-11-05T10:48:00Z,"Dear Wordpress,

I am writing on behalf of Videojug. We create and distribute hiqh quality ""How-To"" online content, and have been producing professional, instructional, short-form video content since 2006. We receive many requests monthly from our Contributors and Users asking for assistance in embedding our videos in their Wordpress sites. Currently it is a convoluted process involving plugins adding complexities.  

Other video providers in our sector are already whitelisted. We would like to be added please to your internal whitelist, allowing any Wordpress blogger to embed our videos by copying the URL just like they would when embedding a Youtube video. Our own embed code has been stable for a long time.

We have our oembeds working in the following wordpress account:
[http://chloeluper.co.uk/index.php/embed-test-page/]

This is the add oembed provider code:

{{{
wp_oembed_add_provider( '#http://(www\.)?videojug.com/(film|interview)/.*#i', 'http://www.videojug.com/oembed.{format}', true );
}}}

I have attached the modified default theme.

Thank you
Imad Salhi
 ",Videojug
23622,Support Google Maps / Docs / Spreadsheet embeds,,Embeds,,normal,normal,Awaiting Review,feature request,new,,2013-02-26T06:08:17Z,2013-05-20T18:54:44Z,"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
23431,[embed] shortcode doesn't work with do_shortcode(),,Embeds,3.5,normal,normal,Awaiting Review,feature request,new,has-patch,2013-02-09T15:05:02Z,2013-02-10T15:35:37Z,"It would be preferable to use the [embed] shortcode through do_shortcode rather than apply_filters( 'the_content',... in order to avoid sharing plugins, related posts plugins etc appending content to something that could simple be post meta, i.e. looking to convert a youtube url to a video.",jtsternberg
20903,Exporter gets stuck in a loop a loop/break in the category hierarchy,westi,Export,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-06-11T11:26:07Z,2012-06-12T08:13:02Z,"Ideally it should be impossible for a loop/incorrect parentage in a category hierarchy to exist.

But sometimes they do.

If one does exist then {{{export_wp()}}} gets stuck :(

It gets stuck in this code:

{{{
		// put categories in order with no child going before its parent
		while ( $cat = array_shift( $categories ) ) {
			if ( $cat->parent == 0 || isset( $cats[$cat->parent] ) )
				$cats[$cat->term_id] = $cat;
			else
				$categories[] = $cat;
		}
}}}

Similar to #20635 but different.",westi
14584,HTML entities in category and tag elements,,Export,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-08-11T05:47:13Z,2010-08-11T05:47:13Z,"The script wp-admin/includes/export.php creates CDATA blocks for category and tag data which contain HTML entities. Normally, these characters should appear un-encoded in the CDATA blocks, see #4321.

I suspect this problem may have been considered at some point, but currently the line in question is commented out : http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/export.php?rev=9148#L102

The solution, I think, would be to replace that comment with html_entity_decode($str) ",lavamind
8470,Large exports break frequently,tott,Export,,normal,normal,Future Release,defect (bug),new,reporter-feedback,2008-12-03T13:51:37Z,2009-11-18T21:21:54Z,"For large wordpress exports frequently the download stops at some point.

This effect seems to be due to bad memory utilization on slow downloads where the content cannot be flushed fast enough to the browser.

Attached patch includes various improvements in content flushing, and for cleaning of variables in order to save some memory.",tott
19864,Abstract export_wp() for use by CLI scripts,,Export,3.3.1,normal,normal,Awaiting Review,enhancement,reopened,,2012-01-20T18:16:17Z,2012-05-20T04:15:19Z,"Need to be able to execute an export from the PHP CLI for the purpose of running cron / maintenance scripts that write out exports.

This would include writing additional hooks that allow the arguments to be pulled from the cli as well as hooks that allow the output to redirected from the output buffer to a file.

Related ticket: #19863, extra hooks for manipulating content and arguments of an export",scottconnerly
22435,Export API,,Export,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-11-13T16:41:55Z,2013-02-19T07:22:45Z,"From experience and from tickets (#19864, #19307, #17379) it's evident that we need to update the export API.

High level goals:
 * To be usable from different parts of the code. From the web backend, from a CLI script, from an async job.
 * To allow more control of the output format – serve over HTTP, write a single XML file to disk, split it and write many smaller XML files, write a big zip with many XML files, etc.
 * To allow exporting the data without querying all the posts at once, so that we can fit the exports to memory.
 * Keep {{{export_wp()}}} for backwards compatibility without the need to keep all (even any) of its code.

Here's my idea for the part of the API 99% of the developers touching export would use and be happy:

{{{
#!php
<?php
// WP_WXR_Export is an aimmutable representing all the data needed for the export and allows us to have it in multiple formats
$export = new WP_WXR_Export( array( 'start_date' => '2011-10-10', 'post_type' => 'event', … ) );

backup( $export->get_xml() ); // string

$export->export_to_xml_file( 'mom.xml' );
send_to_mom_to_import( 'mom.xml');

$export->serve_xml(); // with all the headers and stuff

$export->export_to_xml_files( '/files/exports-for-my-awesome-website/', 'export-%02d.wxr.xml', 5 * MB_IN_BYTES );
}}}

Before I dive into implementation details (in the comments, not to pollute the ticket), I'd like to hear what use cases for extending this code you have in mind and where should we draw the line. Adding more output writers? Adding custom export data? Adding formats different from WXR?




",nbachiyski
19307,"Need ability to export ""All content"" but limited to date range",,Export,3.1,normal,normal,Future Release,enhancement,new,early,2011-11-20T23:19:43Z,2012-07-11T07:39:18Z,"Need ability to export ""All content"" but limited to date range

==== ENV ====

 WP 3.3-beta3-19254 (trunk r19367)

==== Additional Details ====

For a larger site is a common scenario to need to export all content, but because of resource limitations or time constraints it cannot be done in a single export.

Exporting individual post types is not a work around, further you lose attachments on posts when exporting just ""posts"", and that breaks features including Featured Images.

==== Also Consider ====

Another common scenario for media and enterprise customer is wanting to export a period of time to further analysis that content, or stage it in their development environment for debugging an issue, or developing new designs and features.",lloydbudd
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
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
17379,Filtered exports drop attachments and featured images,,Export,3.0,normal,normal,Awaiting Review,feature request,new,has-patch,2011-05-11T18:37:31Z,2013-01-29T06:46:59Z,"When using Tools>Export, targeting a specific author, the resulting XML file does not contain a reference/link to any Featured Image (thumbnail) associated with these posts.

On the other hand, Tools>Export ""all content"" (including all authors) produces an XML file that does contain reference/link to Featured Image.

Request: Have Tools>Export ""specific author"" generate the same metadata as the ""all content"" export, so that Export ""specific author"" will also include metadata reference to the Featured Image.

Many people (including myself) use ""specific author"" as a way to export some, but not all, posts. Full metadata would really help. Thanks.",billseymour
22974,Media manager inaccessible when dragging several images on Safari,azaozz,External Libraries,3.5,normal,normal,3.6,defect (bug),assigned,reporter-feedback,2012-12-17T13:54:07Z,2013-01-04T22:00:49Z,"Browser: Version 6.0.2 (8536.26.17)

Target: The new media manager

Bug Description: After drag and dropping multiple images on the manager for upload, the manager becomes inaccessible.

Reason: In some cases the uploader-window fails to change display:block to display:none which makes everything on that page unclickable:

    <div class=""uploader-window"" style=""display: block; opacity: 0; "">     <div class=""uploader-window-content""> <h3>Drop files to upload</h3> </div> </div>

Since this is an external jQuery plugin used in Core and related to html5 structure, attached is the fix in the minified versions, as well as a standalone dev new version and the related code itself.

",mario-siteground
14888,PHPMailer class uses wrong/no sender for mail envelope,,External Libraries,3.0,normal,normal,Future Release,defect (bug),new,close,2010-09-17T07:50:38Z,2013-02-07T01:53:01Z,"As an result following SMTP envelope and ""Return-Path"" email address can occur:

{{{apache@localhost.localdomain}}}

This will lead some mail servers to reject mails because of the not valid fqdn ""localhost.localdomain"".

Correctly the defined FROM address should be used, usually:

{{{'wordpress@'.$_SERVER['SERVER_NAME']}}}

In PHPMailer::CreateHeader() it is checked for

{{{if($this->Sender == '')}}}

The following will set the ""Return-Path"" in the mail headers, but NOT the envelope email address used in the SMTP handshake:

{{{$result .= $this->HeaderLine('Return-Path', trim($this->From));}}}

I fixed it by adding the following line after the mentioned one, setting the ""Return-Path"" in the mail header:
{{{$this->Sender = $this->From;}}}

So my condition looks like:
{{{
    if($this->Sender == '') {
      $result .= $this->HeaderLine('Return-Path', trim($this->From));
      $this->Sender = $this->From;
    } else {
      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
    }
}}}",gkusardi
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
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
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
24132,Add jQuery 2.0 to available scripts to enqueue,,External Libraries,trunk,normal,normal,Awaiting Review,enhancement,new,,2013-04-18T23:09:24Z,2013-04-22T07:02:25Z,"jQuery 2.0 was released, and is a major release, more than previous ones. the 2.0 branch removes support for IE8 and down. Personally, I think it'd be best to add it alongside jQuery 1.9.x instead of outright replace. That way people who want to use the 2.0 branch can, but those who need legacy IE support still, can still use 1.9.x.

My thoughts were for a new enqueue handle of 'jquery2'.",tw2113
18909,Bundled jQuery UI should have CSS,,External Libraries,3.3,normal,normal,Future Release,enhancement,assigned,has-patch,2011-10-11T18:53:57Z,2013-05-13T16:14:29Z,"Now that all of jQuery UI is in core, matching CSS should also be included for use in the admin in both color schemes.

Related: #17952",helen
21769,Can we remove un-minified versions of all external libraries?,,External Libraries,3.5,normal,normal,Future Release,enhancement,new,dev-feedback,2012-09-02T09:32:35Z,2012-10-24T20:50:12Z,"With [21646] and [21648] we had removed the un-minified versions of Jcrop and jQuery Color.

A quick search through the plugin repo shows that there is only one plugin which includes the script directly:

Pie Register: http://plugins.trac.wordpress.org/browser/pie-register/trunk/pie-register.php#L1444

Should we be consistent and remove the un-minified versions of other external libraries too? These would be:

* colorpicker.js
* hoverIntent.js
* jquery.imgareaselect.js
* cropper.js (not used in core anymore and no minified version exists)
* json2.js
* tw-sack.js",ocean90
19489,Consider updating jquery.hotkeys plugin,,External Libraries,3.3,normal,normal,Future Release,enhancement,reopened,,2011-12-09T18:50:05Z,2013-01-22T19:40:32Z,"The current version of the jquery.hotkeys plugin in trunk is ""(beta)(0.0.3)"", where as the [https://github.com/tzuryby/jquery.hotkeys/blob/master/jquery.hotkeys.js latest version] (as linked to from the credits screen) is 0.8.

Incidentally, this 0.8 version from tzuryby is credited as being authored by John Resig (and indeed, he appears to have his own [https://github.com/jeresig/jquery.hotkeys repo] for it.",GaryJ
19449,"Fix Farbtastic to make it work with empty input fields, too",,External Libraries,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-05T17:38:08Z,2011-12-05T17:38:08Z,"Farbtastic requires that the color input field has either a color value or at least a '#' character. If it's empty it won't work. This seems like an artificial limitation and requires workarounds if the integrated Farbtastic is used for input fields that may be empty, i.e. for theme or plugin options where the color is optional. If the color fields has a default value there's no issue but having empty color fields is a useful and valid use case. 

This could be fixed in /wp-admin/js/farbtastic.js, line 192

Old:
if (this.value && this.value != fb.color) {

New:
if (this.value != fb.color) {


Looks like WP is working around this for the 'custom background' for themes (which is empty by default) by adding a hardcoded '#' and saving the background-color without '#' 

/wp-includes/theme.php, line 1772:
$style = $color ? ""background-color: #$color;"" : '';

/wp-admin/custom-background.php, line 303:
<input type=""text"" name=""background-color"" id=""background-color"" value=""#<?php echo esc_attr(get_background_color()) ?>"" />

",BytesForAll
19719,PHPMailer allows invalid characters in display-name,westi,External Libraries,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-03T16:06:27Z,2012-01-03T16:06:27Z,"[http://tools.ietf.org/html/rfc5322 RFC5322] defines the display name portion of an email address as follows:

{{{
display-name => phrase
phrase => word / obs-phrase
obs-phrase => word / whitespace / dot
word => atom / quoted strings
atom => whitespace / atext
atext => 

                       ALPHA / DIGIT /    ; Printable US-ASCII
                       ""!"" / ""#"" /        ;  characters not including
                       ""$"" / ""%"" /        ;  specials.  Used for atoms.
                       ""&"" / ""'"" /
                       ""*"" / ""+"" /
                       ""-"" / ""/"" /
                       ""="" / ""?"" /
                       ""^"" / ""_"" /
                       ""`"" / ""{"" /
                       ""|"" / ""}"" /
                       ""~""
}}}

So, the display-name can contain the list of characters defined as atext plus dots plus whitespace plus quoted stringss.

Notable exclusions include things like >, <, ( and ). At present, PHPMailer does no validation of the display-name field. The attached patch adds validation that does the following:

* Make sure we decode any utf8 characters
* Compare the original value against a value with invalid characters stripped out
* Fail validation if the original and the stripped version do not match (ie, we stripped something invalid, so the string must have been invalid)

The patch does not handle assuring proper pairing of quoted strings (it doesn't validate that quotes nest properly or occur only in pairs).

The following code works for testing the patch:

{{{
<?php

require_once 'class-phpmailer.php';
require_once 'class-smtp.php';

$to_address = 'dllh@mailinator.com';
$to_name = 'DLLH';
$from_address = 'dllh@mailinator.com';
$from_name = 'DLLH test';
$subject = 'PHPMailer display-name validation test';
$body = ""To Address: $to_address\nTo Name: $to_name\nFrom Address: $from_address\nFrom Name: $from_name"";

try {
        $phpmailer = new PHPMailer( true );
        $phpmailer->AddAddress( $to_address, $to_name );
        $phpmailer->SetFrom( $from_address, $from_name );
        $phpmailer->Subject = $subject;
        $phpmailer->Body = $body;
        $phpmailer->Send();
} catch ( phpmailerException $e ) {
        print_r( $e->getMessage() );
}
}}}

To provoke an error, add a disallowed character such as > or ) to one of the _name variables. The code will bail with an invalid_display_name exception.",dllh
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-22T17:26:23Z,"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
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
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
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
17767,Anonymous comments can break comments RSS feed,westi*,Feeds,3.2,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-06-11T11:30:34Z,2013-05-20T12:00:48Z,"dc:creator and description elements should not be parsed.

Author field that can break RSS:
{{{
&#1040;&#1079; &#1089;&#1077; &#1082;&#1072;&#1079;&#1074;&#1072;&#1084; &#1042;&#1077;&#1089;&#1077;&#1083;&#1080;&#1085; &#1053;&#1080;&#1082;&#1086;&#1083;&#1086;&#1074;, &#1090;&#1086;&#1074;&#1072; &#1077; &#1077;&#1076;&#1085;&#1086; &#1084;&#1085;&#1086;&#1075;&#1086; &#1076;&#1098;&#1083;&#1075;&#1086; &#1080;&#1084;&#1077;
}}}

Comment text that can break RSS:
{{{
&amp;ndash;
}}} 

(and most of the $allowedentitynames)",dzver
14363,Atom feed is broken when WordPress is served as application/xhtml+xml,,Feeds,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-20T14:57:52Z,2011-05-10T18:54:37Z,"Atom feed is broken when WordPress is served as application/xhtml+xml because of the difference in html_type_rss().

The patch attached also deprecates the_excerpt_rss() with a new function called 'the_excerpt_feed'.",peaceablewhale
22028,Comments feed,,Feeds,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-28T00:29:04Z,2012-09-28T08:04:24Z,"The problem I have noticed is with the comments feed however I think that this can happen with any of the other feeds.

When there are no comments accessing somedomain.com/comments/feed will cause a 404 error message in some browsers and in others just a blank screen, no errors whatsoever are generated which makes it very hard to figure out what the underlying cause is.

I would suggest providing a message that clearly states the lack of comments instead of a 404 error message or blank page, I think this same problem applies to all other feeds except it is clearly not noticeable as posts are the first things that are created after a clean install but comments can sometimes take longer or may not even happen however the comments feed url is added in the head of the document causing the site to have a broken link.",tlacaelelrl
11060,Content-Type of XML feeds is misstated as 'text/html',dd32,Feeds,2.8.6,normal,normal,Future Release,defect (bug),new,has-patch,2009-11-02T01:56:40Z,2010-02-05T13:22:33Z,"I access blog XML feeds via a caching proxy (squid).  The Content-Type in the HTTP response headers is initially reported correctly as 'text/xml', but when a subsequent request is made and the object is stale, wordpress sometimes returns a '304 Not Modified', but also incorrectly re-characterizes the Content-Type as 'text/html'.  Example:

{{{
HTTP/1.0 304 Not Modified
X-Pingback: http://wordpress.org/development/xmlrpc.php
Last-Modified: Sat, 31 Oct 2009 21:28:00 GMT
ETag: ""a4aa82a49dbe294617210eb367fa0997""
Content-type: text/html
Date: Mon, 02 Nov 2009 01:25:17 GMT
Server: LiteSpeed
Connection: close
}}}
I've seen this on 'wordpress.org/development/feed' (LiteSpeed), on a wordpress.com hosted blog (nginx), and on an independent site running wordpress (Apache).
",celejar0
21753,Feed excerpts are missing important filter formatting,,Feeds,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-31T14:20:56Z,2012-08-31T14:20:56Z,"Excerpts included in feeds are missing important formatting because the relevant filters are not applied (e.g. wpautop).

In file wp-includes/feed.php, function the_excerpt_rss() does not apply the same filters as the_excerpt() whilst results in lost formatting instructions.  By comparison, function the_content_feed() ensures that the same filters declared for the_content() are applied.

A suggested patch is attached. Note that for symmetry between the_excerpt_rss() and the_content_feed() this patch also removes the (unnecessary?) filter ent2ncr() from the_excerpt_rss() and retains the (controversial?) escaping for CDATA blocks (see #3670).

A few related issues are worth mentioning. Firstly, shortcodes are still not applied to excerpts (see #7093). Also, the (obsolete?) RDF feed does not make use of a CDATA block unlike those for RSS, RSS2 and Atom (see #20888). Finally, a similar problem occurs with comment text in feeds (see #16466).",mdgl
19885,Feed wfw Namespace no longer valid,,Feeds,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-01-24T16:00:06Z,2012-01-31T07:45:00Z,"Related to this post [http://wordpress.org/support/topic/rss-feed-wellformedweborg-offline?replies=2]

A broken link scan of our website revealed that the link in the feeds to http://wellformedweb.org/CommentAPI/ (for the wfw namespace) is invalid. Going to that website reveals that the site has been taken down by the hosting company.

I found 2 references to that namespace in /wp-includes/feed-rss2.php and /wp-admin/includes/export.php and removed them, and the instances to the wfw namespace within the feed content. This fixed my issue.

This begs the larger question: should this be removed/replaced in the core if the site that references the namespace is no longer available?

Verified here: [http://ww2.aaronwagner.net/feed/]",ajwagner777
19998,Feeds can contain characters that are not valid XML,,Feeds,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-09T16:28:47Z,2013-02-12T03:11:21Z,"It is possible for any of the feeds to contain control characters which are not valid in XML e.g. http://www.fileformat.info/info/unicode/char/1c/index.htm

When outputting user supplied content in an XML context we should strip these control characters - they are unprintable and just break feed parsers.

http://en.wikipedia.org/wiki/Valid_characters_in_XML has a good list of what is and isn't valid.

I guess we need a {{{strip_for_xml()}}} function or something.",westi
22101,"Gallery shortcode with link=""file"" is not linking the file in the RSS feed",,Feeds,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-04T16:14:16Z,2012-10-27T15:58:55Z,"Hi,
In a WordPress site I'm currently developing I want to use the stock gallery shortcode. I use [gallery link=""file""] to link directly the image URL which, should fix Flipboard, Currents et al. showing just a little thumbnail. 

In the page the code is displayed properly and the a tag links the image file, but, on the RSS feed, it links to the attachment page. 

I've tested this in the latest nightly version 3.5-beta1-22104 and on the stable 3.4.2. I attach the output of the page and the feed. ",ifrins
10984,If content uses the nextpage tag then only the first page is shown in feeds,,Feeds,2.8.4,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-10-20T11:03:11Z,2012-08-27T17:40:40Z,"If content uses the nextpage tag then only the first page is shown in feeds if the ""full text"" option is selected in ""Settings > Reading > Show Full Text (in feed)"". 

No links are displayed to read the full content and no indication is given in the feed that it isn't the full content.

I think the behaviour should be to ignore pagination in feeds which are set to ""full text"".

I have attached a patch which alters the behaviour of the_content() so that if it is used in the context of a feed it concatenates the pages to form the full content and returns that.",simonwheatley
13066,Last-Modified headers for individual comment feeds are incorrect,jgci*,Feeds,3.0,low,normal,Future Release,defect (bug),accepted,dev-feedback,2010-04-21T07:32:34Z,2010-11-28T16:18:31Z,"The WP::send_headers function currently uses get_lastcommentmodified() to set the Last-Modified header for all comment feeds. This is a problem when used for individual post comment feeds. The function gets the last modified comment across all blog posts. That means that every time a comment is posted anywhere, the Last-Modified header for ALL comment feeds is refreshed. Issues:

1. This is technically incorrect, since only the global comment feed and one specific post's comment feed have changed with the last comment (not all possible comment feeds); and 

2. It means that If-Modified-Since requests for other post comment feeds will not receive a 304 response when they should do (since their content hasn't changed). On blogs with many posts and many comment feeds, this will have a large impact on bandwidth because lots of requests will receive 200 responses where 304's would have done, just because a comment was posted on some other post.

If I've understood the flow correctly, $wp_query hasn't been fully set up at the time this function is called, so changing this behaviour would require some change in the flow of things (e.g., the handling of last modified headers for feeds moves into the do_feed() function). But doing so would mean that Last-Modified headers are correct/meaningful and that many more 304 responses can be served.

Any thoughts?",solarissmoke
10713,Output encoding not set in fetch_feed,,Feeds,2.8.4,low,normal,Future Release,defect (bug),new,dev-feedback,2009-09-01T15:56:15Z,2012-12-13T20:30:56Z,"If using WP Super Cache (or a similar plugin) on a blog with a non-UTF-8 charset that has an RSS widget then the charset is incorrectly changed to UTF-8 by SimplePie.

The fix is to explictly set the encoding in fetch_feed before SimplePie sends any headers (which it only does if WP Super Cache is being used, since it checks if any headers have already been sent).

{{{
*** live/wp-includes/feed.php      2009-05-25 11:13:48.000000000 +0200
--- dev/wp-includes/feed.php       2009-09-01 17:40:19.000000000 +0200
***************
*** 552,557 ****
--- 552,558 ----
        $feed->set_file_class('WP_SimplePie_File');
        $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200));
        $feed->init();
+       $feed->set_output_encoding(get_option('blog_charset'));
        $feed->handle_content_type();
  
        if ( $feed->error() )
}}}

I've put this as low priority since I guess most blogs use UTF-8 and don't use WP Super Cache.",iansealy
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
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
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
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
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
15110,Useless MIME type served for rss feeds,,Feeds,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-10-13T14:16:54Z,2012-06-05T08:37:39Z,"Both /feed/, /feed/rss2/, and /feed/rss/ are served using the very undescriptive and generally useless ""text/xml"" MIME type.  ATOM and RDF feeds are served with their proper MIME types.  It looks like the MIME types for RSS are in feed.php, but for some reason there is a special ""rss-http"" type that returns the useless type?  Changing the first line in feed-rss.php and feed-rss2.php to use the rss and rss2 type instead of rss-http fixed it on my site.",singpolyma
13049,Wordpress should not generate feeds for 404 pages,,Feeds,3.0,low,normal,Future Release,defect (bug),reopened,dev-feedback,2010-04-19T11:32:20Z,2010-12-05T22:04:49Z,"Say I try to visit: `http://my.blog.tld/non-existent-slug/`, (where non-existent-slug is not a valid slug) I get a the normal 404 template.

However, if I try to visit `http://my.blog.tld/non-existent-slug/feed/`, then the response is a bit weird. A 404 response header is sent but the content is nonetheless sent through the feed template. And so you get something like this:

{{{
<?xml version=""1.0"" encoding=""UTF-8""?><rss version=""0.92"">
<channel>
  <title>A Sandbox &#187; Page not found</title>
  <link>http://my.blog.tld</link>
  <description>Just another WordPress weblog</description>
  <lastBuildDate>Mon, 19 Apr 2010 11:17:05 +0000</lastBuildDate>
  <docs>http://backend.userland.com/rss092</docs>
  <language>en</language>
  <!-- generator=""WordPress/3.0-beta1"" -->
</channel>
</rss>
}}}

Assuming this isn't intentional (I can't think why it would be), this should be changed so that the content is the normal 404 template.",solarissmoke
3260,"XML output (rss, atom, rdf ...) should always use UTF-8 or CDATA for user input",,Feeds,2.8.2,normal,normal,Future Release,defect (bug),new,has-patch,2006-10-18T02:33:58Z,2009-11-20T15:32:29Z,"If none UTF-8 is used, user generated text like titles or categories may contain unallowed entities. The elements <title>, <tagline>, <dc:subject>, <category> (there may be more) are not protected width <![[CDATA ]]>.

The conversion can be done width the PHP MulitByte function. If MB is not available, the <![[CDATA should be used instead.

Please contact me for development help.",deremder
20379,"dashboard_incoming_links fails to update when 'home' changes, so google rss is wrong",,Feeds,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-06T16:04:00Z,2013-02-12T22:50:59Z,"When the user changes 'home', the wp_option 'dashboard_widget_options' is updated. But WP fails to update it completely, so the default Google RSS syndication URL is broken.

The borked value is:

dashboard_widget_options: dashboard_incoming_links: url

which is of the form

http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://example.com/

The string at the end, example.com, is supposed to change but it does not.

Here is the problem.
(Trunk has the same code as the current ver. 3.3.1.)

http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/dashboard.php#L59
constructs 'url' as follows, expanded for readability:

{{{
'url' => isset($widget_options['dashboard_incoming_links']['url'])
	? apply_filters(
		'dashboard_incoming_links_feed',
		$widget_options['dashboard_incoming_links']['url']
	)
	: apply_filters(
		'dashboard_incoming_links_feed',
		'http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=' . $num_items . '&output=rss&partner=wordpress&q=link:' . trailingslashit( get_option('home') )
	),
}}}

Since 'url' is already set, it never changes! The value of get_option('home') is not used.

This code block is only reached when 'home' has changed, or on initial setup, so it does not make much sense to ignore 'home'.

I'm not sure if there is any reason to keep the tertiary. Solution 1 below is the simple fix.
Solution 2 is a heuristic fix to handle the case where a plugin or theme has updated the database, instead of using the filter. It mimics the current (possibly wrong) behavior in that case.

Solution 1:
{{{
$widget_options['dashboard_incoming_links'] = array(
	...
	'url' => apply_filters( 'dashboard_incoming_links_feed', 'http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=' . $num_items . '&output=rss&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) ),
}}}

Solution 2:
{{{
$url_prefix = 'http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=' . $num_items . '&output=rss&partner=wordpress&q=link:';
$url = $url_prefix . trailingslashit( get_option( 'home' ) );
if ( isset ( $widget_options['dashboard_incoming_links']['url'] ) ) {
	if ( 0 !== strpos( $widget_options['dashboard_incoming_links']['url'], $url_prefix ) ) {
		$url = $widget_options['dashboard_incoming_links']['url'];
	}
}
$widget_options['dashboard_incoming_links'] = array(
	...
	'url' => apply_filters( 'dashboard_incoming_links_feed', $url ),
}}}

The importance of this bug is twofold:
1. No clear workaround for the user, even with basic PHPMyAdmin skills. The incorrect value is in a serialized array in the table 'wp_options'.
2. Users may not realize the feed is borked, since there is no Dashboard UI. I think there used to be. The WP forums have several 5-year old threads about it.

By the way, $num_items never changes by default. It could only be updated by plugins or themes, and Solution 2 assumes they know what they are doing there too.
",kitchin
18505,http 404 sent for the RSS feed when there are no posts - should be 200,,Feeds,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-24T03:33:52Z,2011-08-25T00:13:02Z,"for sites with no posts, the HTTP status code returned for the RSS feed is 404, but since the address was a valid address and it just happens that the content is empty, a 200 status should be sent.

(It annoys link checkers which then report that there are broken link at the site because by default for most themes there is a link to the RSS feed in the header) ",mark-k
17150,Atom category terms and labels,,Feeds,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-16T22:46:37Z,2011-04-16T22:46:37Z,"An [http://tools.ietf.org/html/rfc4287#section-4.2.2 Atom category] supports both machine-facing and human-facing text through its 'term' and 'label' attributes respectively. WordPress Atom template currently outputs category or tag name as the 'term' attribute. I would like to output the category or tag's slug as 'term' and its name as 'label'

Before:
<category scheme=""!http://wordpress.org/"" term=""Open Source"" />

After:
<category scheme=""!http://wordpress.org/"" term=""open-source"" label=""Open Source"" />

Attached is a patch for get_the_category_rss() inside wp-includes/feed.php. I constructed an associative array with slug as the key and name as the value. The slug column is a unique key on the terms table and can also be used to enforce uniqueness in the array.

A possible downside: it's possible two entry categories or tags might have the same name, which would produce two identical outputted lines in RSS 2.0 and RDF feeds while correcting the previous lossy behavior in the Atom feed.",niallkennedy
4253,Category feeds don't indicate they are category feeds,,Feeds,,normal,normal,Future Release,enhancement,new,,2007-05-13T04:35:10Z,2009-06-14T13:43:40Z,"Okay guys, here is a patch for WordPress that properly titles and describes category RSS/Atom feeds.  I didn't know how to set the URL for the feed to the URL of the category, so what I'm doing is just leaving the bloginfo URL as it is, but I hope you can whip that out from your fabulous hacking heads.

This patch makes sense because of several reasons.  My personal reason is that I'm running a magazine with different sections (using categories as the section) at rudd-o.com, and I'm encouraging subscriptions to the section feeds instead of the whole magazine, but the feeds themselves don't say which category they're from.  Now with this patch they do.

Another thing that I'm not sure about, and I'd like a response in the form of a comment here (I'm tracking this bug via RSS): do I have to htmlspecialchars() before doing the print's ""..."" in this patch?  The question, more properly phrased, is: if I print a get_category_name(), should I print it htmlspecialchar()red, or should I just print it out, and trust that the WordPress category administrator won't let people type random HTML?  Another way of posing the question would be: if I type an ampersand (&amp;) in the category name, what should the theme display, ""&amp;"" or ""&""?  This is keeping me up at night, need some sleep, please help =).

",RuddO
11053,Conditional Tags should work in feeds as well,,Feeds,2.8.5,normal,normal,Future Release,enhancement,new,,2009-10-31T14:56:17Z,2010-01-17T14:20:19Z,"I try to get the following to work:

{{{
function xxx_filter_cat()
{
	if (is_author()) query_posts(""cat=4"");
	if (is_front_page()) query_posts(""cat=2,3"");
}

add_action('rss2_head', 'xxx_filter_cat');
}}}

It should alter the rss2 feed, depending if it should get generated for the general homepage, or for a single author.

But: It doesn't work at all - is_author and all the other is_* functions I tried always trigger false. is_feed works, but well, doesn't help me very much.

It would be easy to manipulate the generated feeds if wp would support the already built-in conditional tags in the feeds as well.",pampfelimetten
13867,New filter for comment RSS feed's title,,Feeds,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-12T21:53:07Z,2010-10-28T12:18:31Z,"I'd like to be able to customize comments titles in RSS feed.

Currently it's hardcoded and has no way to be changed, so I added 2 new filters so that plugins can edit them.

I've tested and patch is working for me.",shidouhikari
16983,Pass $sep to 'wp_title_rss' filter,,Feeds,,normal,normal,Future Release,enhancement,new,commit,2011-03-27T21:11:14Z,2011-03-27T21:11:14Z,Same for 'get_wp_title_rss'.,scribu
7092,Should support separate setting for limiting comments feed,,Feeds,2.9,normal,normal,Future Release,enhancement,reopened,has-patch,2008-06-04T15:48:34Z,2010-05-14T13:07:07Z,"Right now the comments feeds are throttled by the same limiting number the user chooses for ""posts feeds"" (posts_per_rss).

It makes sense that a blog owner would want to set a higher threshold for comments than for posts, for these reasons:

- Readers who subscribe to comment feeds are fewer in number and less likely to burden the system in aggregate.

- Comments are typically shorter per entry than posts are.

- Comments are liable to expand much more quickly than posts, making it difficult for readers to ""keep up"" without wrapping past the limit.

For instance in my blog I limit post feeds to 10 entries, but I'd like to offer a much larger limit for comments subscribers.

Establishing a ""comments_per_feed"" variable that is used in place of the ""posts_per_rss"" would accomplish this.

",redsweater
8828,Tags and Categories are undifferentiable in Atom and RSS feeds,,Feeds,2.7,normal,normal,Future Release,enhancement,new,needs-review,2009-01-09T11:48:18Z,2009-11-23T19:48:49Z,"In RSS feeds this can be achieved using the 'domain' attributes of the category element. This is already done in Wordpress export through the wxr_post_taxonomy function, so we just have to do the same in RSS feeds. 

In Atom feeds this can be achieved using the 'scheme' attributes of the category element. The Atom standard is not explicit about what to put in this scheme attributes. There is [http://edward.oconnor.cx/2007/02/representing-tags-in-atom an interesting topic on Edward O’Connor blog]. In my proposed patch, i decided to use the 1st representation and i also considered seriously the 2nd.

In the patch, i'm also adding the 'label' attribute to the atom category element and changed the 'term' attribute to be the tag slug. Seems this are currently the best practices in the Atom community.",znarfor
14493,"do_enclose() can ping the same URL many times, can't filter URLs to ping",nacin*,Feeds,3.0.1,normal,normal,Future Release,enhancement,accepted,has-patch,2010-07-31T18:52:01Z,2012-11-07T09:14:47Z,"If the same URL is included in a post several times, do_enclose() can check that URL for inclusion as a possible enclosure several times.

Additionally, there's no way to filter what URLs do_enclose() should ping for possible inclusion as enclosures.

Attached adds an array_unique() call to do_enclose().

Attached adds a {{{do_action_ref_array( 'pre_enclose', array( &$post_links, &$pung ) )}}} hook to allow filtration of URLs to ping.  (Matches the pre_ping hook.)

do_enclose() has several more problems this patch addresses.

 1. Correct non-functional DELETE FROM postmeta query (bad use of wpdb::prepare()).
 2. Use like_escape() in several LIKE queries.
 3. Add an {{{apply_filters( 'enclosure_mime_types', array( 'video', 'audio' ) )}}} hook.
 4. Currently do_enclose() doesn't allow root URLs as enclosures (e.g. http://example.com/), only URLs with a non-trivial path or query.  Move that functionality to the new pre_enclose filter.
 5. Efficiency improvements in conditional logic.
 6. Clean up code by reducing control structure nesting depth.",mdawaffe
8994,Incorporate MediaRSS Plugin into core,technosailor,Feeds,,normal,normal,Future Release,feature request,new,,2009-01-29T18:00:20Z,2013-01-05T09:05:59Z,"Per conversation on the hackers list, this ticket is a working area for incorporation of the MediaRSS plugin (http://wordpress.org/extend/plugins/mrss) into core for WP 2.8.",technosailor
10831,Autoupgrade: Synchronous FTP client fails while plugin upgrade/installation (on some systems),dd32,Filesystem,2.8.4,normal,normal,Future Release,defect (bug),reviewing,has-patch,2009-09-23T15:52:29Z,2011-03-22T00:46:45Z,"Decription here
http://wordpress.org/support/topic/288093

Apache/2.2.13 (Unix) DAV/2 mod_ssl/2.2.13 OpenSSL/0.9.8k configured

PHP 5.2.10 with Suhosin-Patch 0.9.7 (cli) (built: Jul 14 2009 11:56:54)

pure-ftpd-1.0.22-1

I solved by changing some lines of code in class-ftp-sockets.php 
(_exec and _readmsg)

Below the patch:
http://darkman.it/x/class-ftp-sockets.patch
",darkman82
23589,FS_CHMOD_FILE doesn't work for ssh,,Filesystem,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-22T21:34:44Z,2013-02-23T00:19:11Z,"Steps to reproduce:
1. set up ssh access for !WordPress (FTP_* constants).
2. `define('FS_CHMOD_FILE', 0664)`.
3. install some theme.

Expected result: files have 0664 permissions.

Actual result: files have default permissions (0644).

I believe this happens because filename is ltrimmed before sending over SSH, but not restored before changing permissions. See [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/class-wp-filesystem-ssh2.php#L164 this].",x-yuri
23845,Install new theme via FTP failed,,Filesystem,3.5.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-22T12:19:03Z,2013-04-10T21:12:23Z,"New theme installation via FTP has failed when we specified custom FTP_BASE folder.  If we try this theme installation , wordpress shows error message: ""Unable to locate WordPress theme directory"". This was because search_for_folder method do not respect FTP_BASE setting and allows to walking on parent directories.  All solutions I found in google is ugly hacks who only mask the problem but does not resolved it
I attached patch  example who resolve this problem. I hope is useful and  will help to repair this bug.",Przemyslaw Plewa
16925,Move the WP_Filesystem_SSH2 class to a plugin,dd32*,Filesystem,,normal,normal,Future Release,defect (bug),accepted,,2011-03-22T00:16:08Z,2011-07-06T03:57:26Z,"I'd like to consider moving the WP_Filesystem_SSH2 class out of WordPress core and into a plugin.

The reasoning for this is simply due to the fact that the majority of users will not use it, It already requires the PHP extension to basically be custom-compiled (thanks to limited installations coming with the extension). 

In my opinion, This would be better served in a plugin, potentially with a PHP-based version as well: #10348",dd32
24107,Plugin/Theme installer asks for connection info when wp-content is writable but wp-admin is not,,Filesystem,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-16T21:39:34Z,2013-04-17T01:08:42Z,"For background, please see [http://www.chrisabernethy.com/why-wordpress-asks-connection-info/]

When installing a new plugin or theme, WP first checks to see if it can directly write to the filesystem.  If so, it proceeds.  If not, it asks the user for FTP connection info.

The directory to which it NEEDS access is /wp-content

However, the directory it CHECKS is /wp-admin

get_filesystem_method() should be changed (or parameterized) to check only /wp-content in cases where /wp-admin access is not needed.  This will allow installations to have a higher filesystem-security setting for /wp-admin than for /wp-content, while still utilizing direct filesystem access.",peckjon
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
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
10424,change get_filesystem_method()'s code for direct to reflect actual purpose,dd32,Filesystem,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-07-16T11:38:41Z,2010-11-13T01:37:42Z,"due to tickets such as #10205 and #10423 I propose we add some documentation, or change the code a bit to reflect to others the intended purpose of the code.

Eg, something such as this could potentially work:
{{{
if ( file_owner($temp_file) !== false && file_owner(__FILE__) === file_owner($temp_file) ) {
//use direct
}
}}}

Too many people assume its a typo, and just a complex is_writable() call..",dd32
24277,chgrp and chown don't work for Filesystem over SSH2,dd32,Filesystem,,normal,normal,3.6,defect (bug),assigned,has-patch,2013-05-07T16:04:11Z,2013-05-08T00:41:29Z,"As found using a static analyzer in #24210 (from rlerdorf).

Looks to be copy-pasted from the chmod method. Attaching a patch that I think does the trick.",nacin
23196,mkdir not recursive (in wp-includes/functions.php),,Filesystem,,normal,normal,Awaiting Review,defect (bug),new,,2013-01-14T08:35:51Z,2013-01-14T10:25:01Z,"This January, Wordpress tried to create a directory and a subdirectory in ""uploads"": ""2013"" and inside it ""01"".

`mkdir($target)` was used to create these two directories, but since the $recursive option (3rd argument) was not set, this operation failed.

I have just checked this path and it does exist, hence I suspect this procedure is being done somewhere else (and succeeding).

Still, this is a problem since:
1. It is showing up in our error logging system.
2. It is very easy to fix.
3. It potentially fixes more problems than it seems.

The solution is to change this line:

    1306:        if ( @mkdir( $target ) ) {

To the following:

    1306:        if ( @mkdir( $target, 0777, true ) ) {


On a sidenote, PHP's default directory creation mode is 0777 (so the above code is best for compatibility), but as you may know, it is not good in terms of security, so you may want to look for a more secure fix (eg, lowering the mode if it doesn't cause problems).",uuf6429
21453,Appending hyphen before numbers when creating a create unique filename in wp_unique_filename(),,Filesystem,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-02T13:32:00Z,2012-08-02T13:32:00Z,"When WordPress appends a number to a file to create a unique filename, it just adds a number to the file.
ie If ""photo.jpg"" exists then ""photo1.jpg"" is created

I suggest that it should include a hyphen so the file would be called ""photo-1.jpg""

The main reason is that if you upload files ending in numbers then then the new filename is less easy to read.
ie If ""photo234.jpg"" exists then ""photo2341.jpg"" is created

Would be nicer if it produced ""photo234-1.jpg""

It's only cosmetic but it does make it easier to search for images in the uploads folder if you need to for any reason, especially if you have uploaded a load of images from a camera DSC123.jpg, DSC124.jpg etc",husobj
20716,Control how and when request_filesystem_credentials outputs creds form,,Filesystem,3.4,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-05-21T02:02:08Z,2012-05-21T02:05:10Z,"When using WP_Filesystem in a plugin or other external app, you can initialize it this way:

{{{
if ( false == ( $creds = request_filesystem_credentials( $url, $method, false, false, $form_fields ) ) ) {
    return true;
}
}}}

Makes sense. If the method isn't direct or we don't have the credentials we need, `request_filesystem_credentials` outputs a form and returns false. Then we check again to make sure the credentials can be verified, and it not, we continue to output the form until the credentials are good.

{{{
if ( ! WP_Filesystem( $creds ) ) {
    request_filesystem_credentials( $url, $method, true, false, $form_fields );
    return true;
}
}}}

`request_filesystem_credentials` arbitrarily outputs the form whether you want it to or not, unless you explicitly filter the `request_filesystem_credentials` function itself. Using this in conjunction with Ajax, you have to use output buffering to catch the output and return it to the Ajax script for processing or else you get errors. This definitely isn't ideal.

I'd suggest storing the form in a variable and possibly pass a parameter that determines whether or not we want to actually output the form or not. Or, if there is another (better) way, that's cool too. Just some way to help `request_filesystem_credentials` determine how we want to interact with credentials should we need them.

",griffinjt
22772,Introduce HOMEPATH,,Filesystem,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-06T03:05:42Z,2013-03-03T20:23:48Z,"I was poking around with get_home_path() and wondering if there's any reason to not set a constant HOMEPATH (like ABSPATH) in the root index.php

I'd seem to be more reliable then get_home_path() and that function could simply return the new constant.

get_home_path has it's origins 8 years ago when the code was very different: [1567]",WraithKenny
21403,"Introduce wp_scandir, remove opendir / closedir code",,Filesystem,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-28T08:57:20Z,2012-07-29T18:29:23Z,"There is {{{@opendir}}} code all over the place that is not standardized. On top of that, there is plenty of code that is duplicated and could be condensed into one handy function. Plus, in all of the places we are using {{{opendir()}}}, we really want to be using {{{scandir()}}}. 

I have created a master function in {{{load.php}}} called {{{wp_scandir()}}} that does the basics:
* scans a directory for files / subdirectories
* filters list by extension(s)
* optionally returns ONLY files

This cleans up code in many places.",wonderboymusic
22267,Make trailingslashit() and untrailingslashit() work with backslashes,,Filesystem,2.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-24T04:09:58Z,2013-02-24T22:19:38Z,"#20778 demonstrates that untrailinhslashit(), hence trailingslashit(), are unable to remove a trailing backslash from file paths on Windows.

As Windows accepts a slash as directory separator, DIRECTORY_SEPARATOR is not needed to make portable code, except when parsing or exploding a path that comes from the system [http://alanhogan.com/tips/php/directory-separator-not-necessary]. We neeed to tell trailingslashit() and untrailingslashit() that we want to remove the trailing slash a file path from system, not a generated one and not a URL path.

My idea is:
{{{
function untrailingslashit( $string, $is_path = false ) {
    if ( $is_path )
        return rtrim( $string, DIRECTORY_SEPARATOR . '/' );
    else
        return rtrim( $string, '/');
}

function trailingslashit( $string, $is_path = false ) {
    if ( $is_path )
        return untrailingslashit( $string, $is_path ) . DIRECTORY_SEPARATOR;
    else
        return untrailingslashit( $string ) . '/';
}
}}}

Expected results that is true:

{{{
  trailingslashit( '/mypath'  ) == '/mypath/'
  trailingslashit( '/mypath/' ) == '/mypath/'
  trailingslashit( '/mypath//') == '/mypath/'
untrailingslashit( '/mypath/' ) == '/mypath'
untrailingslashit( '/mypath//') == '/mypath'
  trailingslashit( '/usr/tmp/', true ) == '/usr/tmp/' // On non-Windows
  trailingslashit( '/usr/tmp',  true ) == '/usr/tmp/' // On non-Windows
  trailingslashit( '/usr/tmp//',true ) == '/usr/tmp/' // On non-Windows
  trailingslashit( 'C:\TEMP',   true ) == 'C:\TEMP\'  // On Windows
  trailingslashit( 'C://TEMP//',true ) == 'C://TEMP\' // On Windows
  trailingslashit( 'C:/TEMP/',  true ) == 'C:/TEMP\'  // On Windows
untrailingslashit( 'C:\TEMP\',  true ) == 'C:\TEMP'   // On Windows
}}}

On Windows, for making a path to $subdir one may use either

{{{
$path = trailingslashit( $path, true ) . $subdir;
$path = untrailingslashit( $path, true ) . '/' . $subdir;
}}}
according to preference in the situation, knowing that '/' is a valid separator in any case.

The added DIRECTORY_SEPARATOR in trailingslashit() code suggestion above could be '/', but it might produce an unexpected result, some someone when deliberately wants to make a true native path for the system.

The second parameter to rtrim() in untrailingslashit() should instruct rtrim() to remove both characters, as we cannot assume a Windows file path is always delimited or trailed with ""\"".

I will make the patch, and will test the all the expected results on Windows and Linux. That is, if I am not convinced this is no way to go (adding optional parameters and ""messing"" with an old formatting function).

== Alternatives ==

We could make untrailingslashpath() and trailingslashpath() which assumes a path string, and no extra argument. This would require, at least softly, a replace all over the code, where a path is to be (un)trailingslashed.

We could make untrailingbackslashit() and trailingbackslashit() instead, but this would force us to check either DIRECTORY_SEPARATOR or $is_win before selecting which function to use, bloating code all over the place. A good helper function should be a real help, especially in edge cases.
",knutsp
10205,getmyuid() called instead of posix_getuid() in get_filesystem_method() (wp-admin/includes/file.php),dd32,Filesystem,2.8,normal,normal,Future Release,enhancement,reopened,dev-feedback,2009-06-18T09:53:55Z,2013-04-25T23:19:21Z,"In wp-admin/includes/file.php, the function get_filesystem_method() attempts to figure out whether it is able to write files correctly, and therefore whether it can update or install files directly, or needs to use some other method.

As part of the function, in a particular case it writes a temporary file and compares it to the return value of getmyuid(). I think this is a mistake - the return value of getmyuid() is the owner of the current _file_ that's being run, not the current process - so if the file is owned by a user other than that of the web server's UID, it thinks it can't install directly (even if it actually can, because the directories are group writable).

This can be worked around by simply changing the owner of the file to another user, although this isn't always going to be possible for the person running Wordpress.

To fix this, change the function call to check the return value of posix_getuid() instead of getmyuid(). (NB: this function isn't available on Windows.)",pgl
24368,Renaming feature for wp-includes,,Filesystem,3.5.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2013-05-19T18:24:16Z,2013-05-20T06:37:10Z,"Currently it is possible to rename wp-content to anything you want. WordPress has a definition built in for wp-includes, that is WPINC, however, this definition isn't used in about 15 - 16 core files preventing it from being changed (For example, some CSS doesn't load for the admin bar). I have added the files that I have changed to allow this to work, to work add a definition for WPINC to wp-config with the name of your wp-includes folder without and slashes. Without the definition it just uses the standard wp-includes.",JoeIzzard
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@…
4539,Abbreviated year followed by punctuation or markup doesn't texturize,jmstacey,Formatting,2.5,low,normal,Future Release,defect (bug),reopened,has-patch,2007-06-26T03:36:36Z,2012-12-17T14:49:10Z,"An abbreviated year followed by punctuation or markup doesn't texturize properly.

e.g. (Bruce Sterling, '97) is texturized as (Bruce Sterling, &#8216;97) when the apostrophe should be texturized as &#8217;

e.g. <li>Casino Royale '06</li> is texturized as <li>Casino Royale, &#8216;06</li> when the apostrophe should be texturized as &#8217;",pah2
19543,Broken formatting when using HTML5 <section> element,,Formatting,3.3,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2011-12-14T10:32:07Z,2012-10-12T18:25:51Z,"When using <section> HTML5 element, the resulting markup is invalid because some paragraphs isn't closed properly. 

Reproduced with WP 3.3, TwentyEleven theme and no plugins. 

Example markup attached to this ticket. Paste into html view of the WYSIWYG editor and publish. Resulting markup also attached. ",exz
22946,Default filter erroneously turns FTP hostnames into HTTP links,,Formatting,2.0.4,normal,normal,Awaiting Review,defect (bug),new,,2012-12-14T20:01:51Z,2012-12-22T19:40:55Z,"The function _make_web_ftp_clickable_cb in wp-includes/formatting.php is invoked upon any hostname matching ""www."" or ""ftp."" at the beginning. It pre-pends 'http://' and makes the link clickable (i.e. wraps it in <a href="""">).

As a default that makes sense for things beginning www. - but not for everything beginning ftp.

In my case, I was using the plugin WP Better Emails, and sent out an email with this line (approx):

`Here is the FTP server: ftp.example.com`

WP, by default, ""helpfully"" totally mangles this into:
`Here is the FTP server: <a href=""http://ftp.example.com"">http://ftp.example.com</a>`

The recipient of my email now believes that I was sending him an HTTP link, and is confused that it does not work. But in fact I never sent such a link - that was WordPress mangling what I did send.

Sure, some FTP servers will also have HTTP listening. But by default WordPress assumes that they all do, which is crazy.

Proposed solution: on line 1471 of wp-includes/formatting.php (as found in 3.4.2), change:
{{{
$ret = preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
}}}
by removing the ""ftp"" case, hence:
{{{
$ret = preg_replace_callback( '#([\s>])((www)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
}}}
The function _make_web_ftp_clickable_cb should then be renamed by removing ftp_, since the case of turning FTP hostnames into clickable HTTP links would have been removed.",DavidAnderson
3833,Extra </p> inside blockquote,Archibald Leaurees,Formatting,2.7,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2007-02-21T19:01:26Z,2012-09-10T22:08:20Z,"When using blockquote </p> is inserted directly in front of </blockquote>, making the code invalid XHTML.

Example:
{{{
<blockquote>This is a blockquote</blockquote>
}}}

Gives the following result:
{{{
<blockquote>This is a blockquote</p></blockquote>
}}}

Seems like [http://wordpress.org/support/topic/106474 this forum thread] adresses the same issue in the support forum.",audwan
14674,HR destroys HTML,,Formatting,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-08-23T15:03:15Z,2012-09-14T22:57:46Z,"if you add <hr /> to the post (via HTML editor, or via enhanced TinyMCE editor) followed by normal text id do not add the <p> for that paragraph, but add the finishing </p>

so it than looks like

<p>some text</p>
<hr>some other text</p>

it can be solved by adding extra line break after <hr> but after reediting the post, the linebreak disapears and must be added again. ",thomask
17105,HTML 5.0 support,azaozz,Formatting,3.2,normal,normal,Future Release,defect (bug),new,,2011-04-10T19:11:46Z,2012-05-30T22:58:25Z,"All HTML 5.0 block tags have been added in both versions of wpautop(), even tags that aren't fully supported in any browser yet and as of [17625] TinyMCE recognizes all HTML 5.0 tags too.

This ticket is for correcting issues with the HTML 5.0 support in WordPress' general workflow (writing, editing, formatting) and writing testcases for it.",azaozz
23185,Hyphens surrounded by non-breaking spaces are not texturized,,Formatting,2.8,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-01-11T20:13:11Z,2013-01-14T01:45:52Z,"Thanks to Ticket #8161, a single hyphen or double hyphen surounded by space is converted to an en-dash or em-dash, respectively.

The problem is this conversion doesn't take place as expected when the space immediately before or after the affected hypehns is a non-breaking space.

Example paste the following into a post as HTML and view it in a browser after texturization:
{{{
Line 1&nbsp;-&nbsp;Non-breaking spaces around the hyphen.<br>
Line 2 - Regular spaces around the hyphen.<br>
Line 3&nbsp;- Non-breaking space before the hyphen.<br>
Line 4 --&nbsp;Non-breaking space after the double-hyphen.<br>
Line 5 -- Regular spaces around the double-hyphen.
}}}
Only the lines where ""Regular spaces"" are around the hyphens get converted as expected.Lines 1, 3, and 4 are not converted to match their regular-space counterparts.

It's reasonable to use non-breaking spaces in web content and I think that for situations where a non-breaking space is used it should imply the same kind of texturization for the hyphens as a regular space does.

The attached patch removes the static replacement rules for hyphens and adds dynamic rules to meet this expectation. I had to add a dynamic rule '--' to prevent it being prematurely converted in the static phase, when it was surrounded by appropriate spacing. Since I havd to move that one from static to dynamic, it made sense to me to just have all the hyphen-conversion behavior in one place in dynamic.
",redsweater
16495,Make iso8601_to_datetime a bit more compliant,,Formatting,3.0.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-08T19:37:09Z,2011-03-16T07:21:44Z,"With a valid ISO 8601 date string with dashes in the date or decimal fractions for seconds, this function will fail to parse it correctly. The attached patch updates the regex to optionally accept dashes and decimal fractions for seconds (which are ignored). It also uses a variable for the regex since it was duplicated.",chrisscott
4857,More issues with wpautop(),mdawaffe*,Formatting,2.3,low,normal,Future Release,defect (bug),accepted,needs-unit-tests,2007-08-29T06:47:01Z,2009-11-28T06:33:01Z,"''Not sure if this should slide into 2.3 or if it can wait for 2.4. Change as need be.''

`wpautop()` has issues with closing `</p>`'s when it comes to HTML.

For example:

{{{
Foo<div>Bar</div>
}}}

Results in:

{{{
<p>Foo
<div>Bar</div>
}}}",Viper007Bond
8775,Numbers in quotation marks get wrong smart quotes,,Formatting,2.8,normal,normal,Future Release,defect (bug),reopened,needs-unit-tests,2009-01-01T18:05:14Z,2013-05-01T15:41:31Z,"Have a number in quotation marks, such as {{{""12345""}}} or {{{'12345'}}} and {{{wptexturize}}} converts the right quotation mark to double-prime and prime marks, respectively.

Patch fixes.",filosofo
20342,Opening Double Quote after 3 hyphens converted to double closing quote,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-01T20:16:05Z,2012-04-01T20:16:05Z,"The string:

{{{
<p>I also remember the line in ""Casey at the Bat"" when he struck out---""There is no Joy in Mudville!!!""</p>
}}}

is converted to this in WordPress 3.3.1:

{{{
<p>I also remember the line in &#8220;Casey at the Bat&#8221; when he struck out&#8212;&#8221;There is no Joy in Mudville!!!&#8221;</p>
}}}


Seems to be what should be an opening quote that follows an Em dash is always converted into a closing quote.",PetesGuide
20943,Paragraphs get removed in table cells when Visual editor is refreshed,,Formatting,3.2,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-06-13T19:06:04Z,2013-04-18T16:14:03Z,"As far as I know, this issue has been around since 3.1.  It's not a bug in 3.0.4.  I even stopped upgrading at 3.0.4 for any sites where I knew the client would need to edit tabular data.  For security reasons, it's time to upgrade these and I'd REALLY like this issue to be fixed.

The problem happens when using paragraphs in a table cell.  When I hit enter to create a new paragraph within a table cell, it looks fine.  If I then hit Update/Publish, when the page refreshes, WordPress converts that paragraph break into a single line break.  If I then click Update again, WordPress removes that linebreak entirely and the paragraphs are essentially merged.

I can also reproduce this behaviour without even clicking Update.  If you just switch to HTML mode and then back to Visual mode, the same issue occurs.",JboyJW
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
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
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
12690,Square brackets breaking links that contain square brackets,,Formatting,,normal,normal,Future Release,defect (bug),reviewing,dev-feedback,2010-03-24T19:16:50Z,2012-09-19T22:40:34Z,"In the editor, wrapping square brackets around an anchor with a URL that contains square brackets, like so

{{{
[photos by <a href=""http://www.etsy.com/view_listing.php?listing_id=42936748&amp;ref=sr_gallery_7&amp;&amp;ga_search_query=keep+calm+and+carry+on&amp;ga_search_type=handmade&amp;ga_page=13&amp;includes[]=tags&amp;includes[]=title"">KeepCalmPosters</a> ]
}}}

converts the last double prime in the href attribute to the character code for the right double quotation mark, like so

{{{
[photos by <a href=""http://www.etsy.com/view_listing.php?listing_id=42936748&amp;ref=sr_gallery_7&amp;&amp;ga_search_query=keep+calm+and+carry+on&amp;ga_search_type=handmade&amp;ga_page=13&amp;includes[]=tags&amp;includes[]=title&#8221;>KeepCalmPosters</a> ]
}}}",iandstewart
20304,Strikethrough does not work for multiple paragraphs in the post editor,,Formatting,3.4,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2012-03-25T20:13:00Z,2012-05-24T07:32:15Z,"'''Overview'''

If you have multiple paragraphs of text in the text editor and select all of them and push the strikethrough button, the text appears to be striked through; however, upon publishing/updating, only the first paragraph of text retains the strikethrough.

'''Steps to Reproduce'''

1) In a new post write screen add two paragraphs of text.

2) Select all of the text

3) Click the strikethrough button

4) Viewing the HTML of the rich text editor through web inspector (note that I am not toggling the visual/html tabs) shows:


{{{
<del>
	<p>text</p>
	<p>text</p>
</del>
}}}


5) Save post 

6) The text in the textarea only has strikeout for the first paragraph.

7) When viewing the source of the content on the front end, you get the following HTML:


{{{
<p>
	<del>text
</p>
<p>text</p>
<p>
	</del>
</p>
}}}


'''Other Information'''

I have tried these same steps on a clean install of 3.3.1. The strikethrough works as expected, and produces in all scenarios:


{{{
<p>
	<del>text</del>
</p>
<p>
	<del>text</del>
</p>
}}}

		
I first had this issue crop up for a .com client approximately 3-4 weeks ago, so this issue may have been introduced with a more recent patch.",tollmanz
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
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
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
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
15367,WordPress strips multiple line breaks inside of <pre> tags,garyc40,Formatting,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-11-10T01:39:33Z,2012-09-12T19:49:52Z,"Write a post:

{{{
<pre>
This


is




a
test.
</pre>
}}}

You end up with this:

{{{
<pre>
This

is

a
test.
</pre>
}}}

Probably related to `wpautop()` I imagine.",Viper007Bond
10645,auto_p and forms,,Formatting,,low,normal,Future Release,defect (bug),new,,2009-08-18T16:53:40Z,2010-11-13T01:38:14Z,"auto_p will errantly injects paragraph and linebreak tags in certain circumstances within forms:

`<div>
<label for=""select_element"">This is a select box placed <select name=""select_element""><option value=""1"">inline</option</select> with the label.</label>
</div>`

becomes:

`<div>
<label for=""select_element"">This is a select box that is pla­ced<br />
<select name=""select_element""><option value=""1"">inline</option><option value=""2"">inside</option><option value=""3"">within</option></select>

<p>inline with the label.</label>
</div>`

linebreak and paragraph tags should never be inserted inside a label. In this case they are not even properly paired.  It would be nice if the surrounding div was identified and no tags were inserted, although if a paragraph tag wrapped the whole thing, it would not be the end of the world.
",kingjeffrey
11202,automatic line breaks in comments,,Formatting,2.8.5,low,normal,Future Release,defect (bug),new,,2009-11-20T18:47:50Z,2010-04-02T07:34:29Z,"WordPress 2.8.6 has got a Problem with the automatic line break. [[BR]]
Example:[[BR]]
Type the following comment in a WordPress Blog. 
{{{
Thank you for your comment!<blockquote>this is a small quote</blockquote> Next Text 
}}}
Then you have to save the comment. If you validate the your publish, you will see, that the sentence ""Thank you for your comment!"" will be put into the following absurd tags: [[BR]]

{{{
p>Thank you for your comment!<br />
}}}

If you write a comment with the following code (hit return after the word ''comment! ''),[[BR]]

{{{
Thank you for your comment! 
<blockquote>this is a small quote</blockquote> Next Text 
}}}
you will get the right codeform when you validate your comment:
{{{
<p>Thank you for your comment!</p> 
}}}

The same Problem exists when you type [[BR]]

{{{
test 2 <p> break </p> next text
}}}
After the word ''test 2'' you will miss the </p>. [[BR]]

WordPress has got this bug with every single elements like these one: 

{{{
<p>, <ul>, <ol>, <li>, <h1> bis <h6>, <div>, <blockquote> etc.
}}}

When you make manuell a new line in front of these elements, you won't find any problem, so WordPress must put an automatic line break in front of these elements and it doesen't do it. Please fix this nerved bug!!

regards, Dunkelangst from http://www.dunkelangst.org/ ",Dunkelangst
23757,"convert_smilies should not convert in pre,code tags",,Formatting,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-13T14:26:07Z,2013-03-14T11:22:31Z,"This related to this ticket [[BR]]
#23756

The purpose to this ticket is to make writing codes in posts more easier !!
",alex-ye
21974,esc_url() doesn't allow protocol-relative URLs with colons,,Formatting,,normal,normal,3.6,defect (bug),new,has-patch,2012-09-23T00:58:25Z,2013-04-10T18:15:42Z,"This doesn't work:
{{{
wp_enqueue_style( 'twentytwelve-fonts', ""//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700"", array(), null );
}}}
The colon is the culprit. `wp_kses_bad_protocol()` reduces the URL to:
{{{
400italic,700italic,400,700
}}}
So `esc_url()` returns an empty string: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.4.2/wp-includes/formatting.php#L2572",SergeyBiryukov
23605,esc_url() strips spaces instead of encoding them,,Formatting,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-25T17:41:21Z,2013-02-27T23:56:38Z,"If I pass a URL into `esc_url()` that contains a space, the space is stripped instead of encoded.

To reproduce:

{{{
$url = 'http://example.com/foo bar/';

echo '<pre>';
var_dump( $url );
var_dump( esc_url( $url ) );
echo '</pre>';
}}}

The resulting URL ends up as `http://example.com/foobar/` instead of the expected `http://example.com/foo%20bar/`",johnbillion
23975,force_balance_tags in get_the_content breaks non-HTML formats,,Formatting,2.8,normal,normal,Awaiting Review,defect (bug),new,,2013-04-07T10:05:44Z,2013-04-07T10:58:50Z,"The change in r11398 (to fix #9765) breaks Markdown formatted articles that use angle bracket links: `<http://example.com/>` turning it into `<http: //example.com></http:>`.

If we call force_balance_tags after adding the more link, we need to establish filter hooks for formatters. This should have happened before r11398 already, but because balancing tags wasn't forced, this issue has not affected sites that disable balancing tags in their preferences.

Typically formatters attach to the `the_content` filter (among others). This should probably change into a `get_the_content` filter (similar to `get_the_excerpt`) that is called early on the full content of the post.

I haven't yet decided where the best place for the new filter would, or if it would be better to undo the force_balance_tags call.

Thoughts? I could work on the change, but would rather prefer some input first.",ruckus
10041,like_escape() should escape backslashes too,,Formatting,2.8,high,normal,Future Release,defect (bug),reopened,has-patch,2009-06-05T11:18:16Z,2013-04-16T17:04:06Z,"The like_escape() function doesn't escape backslashes.

source:trunk/wp-includes/formatting.php@11518#L2260
{{{
	return str_replace(array(""%"", ""_""), array(""\\%"", ""\\_""), $text);
}}}
should be ...
{{{
	return str_replace(array(""\\"", ""%"", ""_""), array(""\\\\"", ""\\%"", ""\\_""), $text);
}}}
or simply ...
{{{
	return addcslashes($text, '%_');
}}}

Considering multi-byte characters ...
{{{
	if (function_exists('mb_ereg_replace')) {
		$text = mb_ereg_replace('\\\\', '\\\\', $text);
		$text = mb_ereg_replace('%', '\\%', $text);
		$text = mb_ereg_replace('_', '\\_', $text);
		return $text;
	} else {
		return addcslashes($text, '%_');
	}
}}}",miau_jp
17433,localhost is not accepted as email domain,,Formatting,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-05-14T16:55:52Z,2013-02-28T11:52:59Z,"Hi. Tried to install WordPress on a Debian machine not connected to Internet, only for testing purposes, so when the setup procedure asked me for an email address, I used mylogin@localhost. The setup procedure, however, rejected this as ""invalid"".

I think the bug is exactly in wp-includes/formatting.php, where it says:

        // Assume the domain will have at least two subs
        if ( 2 > count( $subs ) ) {
                return apply_filters( 'is_email', false, $email, 'domain_no_periods' );
        }

So: Could you please special-case ""localhost"" in is_email() so that it's allowed as email domain?

I guess the probability of someone using @localhost for email ""by mistake"" is extremely low, so this change will unlikely harm the average user.

Thanks.",sanvila
23050,make_clickable incorrectly formats anchors with URL's and spaces in them in comments,,Formatting,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-23T00:32:30Z,2012-12-23T16:27:36Z,"When posting a comment, if an anchor tag contains both a URL and some words, make_clickable formats the output incorrectly.

To duplicate, post the following content in a comment:

{{{
Hey! <a href=""http://wordpress.org"">http://wordpress.org is awesome</a> in case you didn't know!
}}}

When viewing the comment, you'll get:

{{{
Hey!
<a href=""#"" rel=""nofollow""></a>
<a href=""http://wordpress.org"" rel=""nofollow"">http://wordpress.org</a> is awesome in case you didn't know.
}}}",johnjamesjacoby
23308,"make_clickable problem with multiple ""Punctuation URL character""",,Formatting,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-01-28T15:09:59Z,2013-01-28T15:09:59Z,"make_clickable problem with multiple ""Punctuation URL character""

E.g.
{{{
http://www.wordpress.org/some-(parentheses).html
}}}
Results in this html code:
{{{
<a href=""http://www.wordpress.org/some-(parentheses)"" rel=""nofollow"">http://www.wordpress.org/some-(parentheses)</a>.html
}}}
But obvious should be:
{{{
<a href=""http://www.wordpress.org/some-(parentheses)"" rel=""nofollow"">http://www.wordpress.org/some-(parentheses).html</a>
}}}

I suggest to replace:
wp-includes/formatting.php:1603
{{{
[\'.,;:!?)]  # Punctuation URL character
}}}
with
{{{
[\'.,;:!?)]{1,}  # Punctuation URL character
}}}",DrPepper75
23756,"make_clickable should not convert the URLs in pre,code tags",,Formatting,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-13T14:17:36Z,2013-03-14T10:44:29Z,"Hi , Maybe it's a duplicate ticket but I tried to search in history.

Anyway , The purpose of this ticket is to have a clean snippet code posts .. for now it's hard to do it by plug-in .. and many people remove make_clickable filter at all !

So let's make it possible in 3.6 :)",alex-ye
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
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
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
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
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
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
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
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
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
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
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
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
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
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
12134,Add image dimensions to smiley img element,nacin,Formatting,3.0,normal,normal,Future Release,enhancement,reviewing,dev-feedback,2010-02-05T02:55:19Z,2011-02-09T06:10:45Z,All smileys are 15x15. Add dimensions to the img element to avoid a double paint by web browsers during page load.,niallkennedy
14102,Additional CSS class in wp_list_pages when a page has children,,Formatting,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-26T13:28:23Z,2010-12-06T20:35:17Z,"A great addition to the wp_list_pages function would be to add an extra CSS class of 'page_has_children' (or similar) to a list item for when it has child pages.

This would enable theme authors to style the list items with CSS to differentiate between those pages that have child pages, and those that don't at whatever depth you are viewing in really simple CSS.

Here is how it could be implemented in the WP3.0 codebase. I have simply amended the 'start_el' function as shown below.

'''FILE: wp-includes/classes.php - from line 1173'''

{{{

/**
 * @see Walker::start_el()
 * @since 2.1.0
 *
 * @param string $output Passed by reference. Used to append additional content.
 * @param object $page Page data object.
 * @param int $depth Depth of page. Used for padding.
 * @param int $current_page Page ID.
 * @param array $args
 */
function start_el(&$output, $page, $depth, $args, $current_page) {
	if ( $depth )
		$indent = str_repeat(""\t"", $depth);
	else
		$indent = '';

	extract($args, EXTR_SKIP);
	$css_class = array('page_item', 'page-item-'.$page->ID);
	
	//JA ADDITION START 1 of 2 - DETECT IF PAGE HAS CHILDREN START
	$has_children = wp_list_pages('&child_of='.$page->ID.'&echo=0');
	//JA ADDITION END 1 of 2 - DETECT IF PAGE HAS CHILDREN
	
	if ( !empty($current_page) ) {
		$_current_page = get_page( $current_page );
		if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) )
			$css_class[] = 'current_page_ancestor';
		if ( $page->ID == $current_page )
			$css_class[] = 'current_page_item';

		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN START
		if ( !empty($has_children) )
			$css_class[] = 'page_has_children';
		//JA ADDITION START 2 of 2 - DETECT IF PAGE HAS CHILDREN END

		elseif ( $_current_page && $page->ID == $_current_page->post_parent )
			$css_class[] = 'current_page_parent';
	} elseif ( $page->ID == get_option('page_for_posts') ) {
		$css_class[] = 'current_page_parent';
	}

	$css_class = implode(' ', apply_filters('page_css_class', $css_class, $page));

	$output .= $indent . '<li class=""' . $css_class . '""><a href=""' . get_page_link($page->ID) . '"" title=""' . esc_attr( wp_strip_all_tags( apply_filters( 'the_title', $page->post_title, $page->ID ) ) ) . '"">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>';

	if ( !empty($show_date) ) {
		if ( 'modified' == $show_date )
			$time = $page->post_modified;
		else
			$time = $page->post_date;

		$output .= "" "" . mysql2date($date_format, $time);
	}
}

}}}
",Jonnyauk
19308,"C-style hexadecimal is incorrectly ""fixed"" to change the 'x' into a mathematical '×'",,Formatting,2.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-11-21T00:39:00Z,2011-11-30T16:49:55Z,"Pretty much what the title says. I'm running trunk. ""0x07"" gets converted to ""0×07"".

I've attached a patch which fixes this issue by not performing the conversion if the first number starts with a zero -- this is not perfect, and I might have a go at something better when it's not 0030, if you guys decide this should be changed.

My $0.02 - since it's a bit odd to multiply zero by something, I don't think that very many people will expect/want this conversion to happen -- and the lack of conversion is unlikely to confuse those that do. 

On the other hand, this conversion is confusing for any blog post using this hex notation, and does make those posts actually wrong.

",harrym
6969,Don't apply wptexturize() to the insides of shortcode tags,tellyworth,Formatting,2.5.1,normal,normal,Future Release,enhancement,new,needs-unit-tests,2008-05-14T11:47:58Z,2011-05-31T08:45:13Z,"I have this for my post contents:

{{{
[code lang=""php""]$foo = 'bar';[/code]
}}}

The problem is my shortcode function gets this passed to it for the content string:

{{{
$foo = &#8216;bar&#8217;;
}}}

`wptexturize()` should be smart enough to not format the contents of registered shortcodes. If plugins want their contents formatted, they can pass the contents to the `wptexturize()` function itself.",Viper007Bond
23135,Filter for Block Elements in wpautop(),,Formatting,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T16:21:44Z,2013-01-08T12:55:40Z,"This addresses the need to exclude certain block elements (iframe, img) from wpautop.  Using the newly defined filter '''wpautop_block_elements''' every plugin dev, theme dev etc. can redefine, modify and enhance the list of block elements. 

Exsample for functions.php
{{{
#!php
function add_block_elements($block_elements){	
	$block_elements[] = ""iframe"";	
	$block_elements[] = ""img"";	
	
	return $block_elements;
}
add_filter(""wpautop_block_elements"", add_block_elements);
}}}

Thanks for reviewing! :)

Regards,
Hendrik",luehrsen
20166,Function url_shorten() enhancement,,Formatting,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-03T23:03:47Z,2012-03-04T03:37:59Z,"The function url_open is included in the wp_admin/includes/misc.php and is not usable unless loaded. This is not loaded by default so not available site wide. Also, the function is very static as of right now in its use with no defined options. Options to set length of the shortened url and the ability to turn on off the cutting of the leading ""http://www"" and the trailing slashes are included in this patch.",mulvane
16496,Make $sample_permalink_html human-readable on Edit Post screen,,Formatting,,normal,normal,Future Release,enhancement,new,has-patch,2011-02-08T19:40:23Z,2011-11-06T12:00:31Z,"If the permalink contains words with non-latin characters (for example the permalink structure is /%category%/%postname%/ and the assigned category is non-English) the $sample_permalink_html, which is echoed by [http://core.trac.wordpress.org/browser/branches/3.1/wp-admin/edit-form-advanced.php#L260 edit-form-advanced.php], is not human readable on Edit Post screen (below the title). The editable part of the permalink (the one that comes from the title of the post) ''is'' readable.

$sample_permalink_html should be urldecoded at some stage before echoed.

Screenshot attached.",linuxologos
10303,Provide better user feedback when content is changed by filters.,tott*,Formatting,,normal,normal,Future Release,enhancement,accepted,has-patch,2009-06-30T10:37:01Z,2013-01-22T01:03:33Z,"When filtering content via kses, adjusting bad nested xhtml or similar no feedback is given to the user. The content is just stripped and the user is not informed about the changes made and why they happened.

Presenting a diff in the admin message should increase the UX. ",tott
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
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
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
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
5161,balance_tags option should not be in the user interface,,Formatting,2.3,normal,normal,Future Release,enhancement,new,dev-feedback,2007-10-08T08:02:49Z,2013-01-22T01:19:58Z,"In the WP Admin → Options → Writing ({{{options-writing.php}}}), there is an option ""!WordPress should correct invalidly nested XHTML automatically"" which controls whether {{{balance_tags()}}} is run on post content or not.

I'm fully supportive of this feature — I think it's important to ensure the HTML that is output to browsers is valid. There have been a few situations where users needed to turn this off, e.g. bugs in the function, or a plugin misbehaves with it on (if I remember correctly, runPHP).

However, this is a KDE-style option where it is put there for a niche case. In 99% of cases, you will want it on.

A few people on the mailing lists have stated a number of times that we should take a GNOME-like approach to these sort of features, and let them be controlled only by plugins. This option is left over from the dark ages of !WordPress, and I don't think the cases for turning it off are big enough to warrant its inclusion in the user interface.

If a plugin has a problem with balancing tags (e.g. runPHP), the offending plugin can simply remove the filter.

{{{
remove_filter('content_save_pre', 'balance_tags);
}}}

(...or whatever the code would be.)

The new canonical redirect feature has far more many problems, and far more justification for it to be turned off, yet I don't see a checkbox ""Redirect links to their canonical URL"" anywhere in the user interface. If anything should have a checkbox, it's the canonical redirect feature — but, it doesn't have any such thing. So, we should remove this checkbox as well.",JeremyVisser
20771,esc_url() instead of esc_html() in wp_nonce_url(),SergeyBiryukov,Formatting,3.4,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-05-29T06:21:37Z,2013-03-18T19:44:48Z,"The `wp_nonce_url()` function currently uses `esc_html()` in its output, which doesn't really seem to be the appropriate escaping function since it's generating a URL.

Attached patch changes the output to use `esc_url()`",jkudish
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
23236,Add functions to format attributes,,Formatting,,normal,normal,Awaiting Review,feature request,new,,2013-01-19T06:32:57Z,2013-05-16T04:15:04Z,"I'd like to see WP add functions for attributes. These would be extremely useful and resuable for theme devs and internally. I've developed very solid generic functions for this in [http://phat.airve.com phat] and would be happy to make WP versions to the effect of:

{{{
wp_attrs( $array ) // converts array to attributes string
wp_attrs( $name, $value ) // formats attribute string
wp_attrs( $string ) // reformats attribute string
wp_parse_attrs( $string ) parses attributes into assoc array
}}}",ryanve
9437,Allow the use of inline SVG in posts,,Formatting,2.5,normal,normal,Future Release,feature request,reopened,,2009-04-01T13:39:25Z,2011-03-31T07:18:17Z,"My WordPress 2.5 install serves the application/xhtml+xml MIME type (true XHTML) for the purposes of inlining SVG which I've done on my 'blog chrome'.  However, if I try to inline SVG in the contents of a post as follows:

<svg xmlns=""http://www.w3.org/2000/svg"">
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue"">
    <animateTransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/>
  </circle>
</svg>

WordPress mangles it into:

<svg xmlns=""http://www.w3.org/2000/svg""><br />
  <circle cx=""50"" cy=""50"" r=""30"" fill=""blue""><br />
    <animatetransform attributeName=""transform"" type=""scale"" to=""1.5"" dur=""2s"" fill=""freeze""/><br />
  </circle><br />
</svg>

There are two problems with this:

1) WordPress converts the <animateTransform> element into a <animatetransform> element.  WordPress should at least preserve the case of the element (whether this is on a whitelist of SVG elements or all elements I don't care).  List of SVG elements are here: http://www.w3.org/TR/SVG11/eltindex.html

2) The extra <br /> elements.  These are forgivable since the elements are simply ignored by the browser's SVG parser.

Can someone confirm the behavior in WordPress 2.7.x?",codedread
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
24309,Add filters for get_post_galleries() and get_post_gallery(),,Gallery,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-10T21:47:26Z,2013-05-10T21:48:23Z,"As post format implementations were not tightly defined in the past, there are a variety of gallery implementations in the wild. For example, not all implementations included the use of the [gallery] shortcode.

Adding in a couple of hooks will likely allow for backward compatibility to those implementations.",alexkingorg
8177,Comments disabled in post but not in media gallery,,Gallery,2.7,normal,normal,3.6,defect (bug),new,has-patch,2008-11-12T16:08:33Z,2013-04-22T12:46:10Z,"The options to ""allow comments on this post"" and ""allow trackbacks and pingbacks on this post"" have been deselected.  The post will then return the expected message ""Both comments and pings are currently closed"".  (ie. http://localhost/wordpress/?p=42)  However, when selecting an image from an embedded native Gallery of that post, the image redirects to an attachment_id (ie. http://localhost/wordpress/?attachment_id=38)and still has a comments field.  There is no decipherable means to disable comments on attachments through the native gallery.  

If this is the expected behavior, I would believe that if a post may disable comments, then all of its content should be disabled.

Related: #9839 Enable/Disable comments on a per item bases (some attachments don't have parents)",canon2k5
11023,Gallery Category Doesn't change with article,,Gallery,,normal,normal,Future Release,defect (bug),new,,2009-10-24T01:49:09Z,2009-12-08T00:56:23Z,"Lets say I have a default category setup called Drafts that all articles go into at first by default. Then on completing the article before posting it live, I movie it to another category called News (no longer having the draft category ticked also). If I've added an image with that article that I click to view a bigger picture of in the gallery page (image.php). It still shows it as being listed under the Drafts category, while the article itself is listed under just News category.",mrgtb
23873,Gallery shortcode orderby does not support multiple column sorting,,Gallery,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-27T21:13:53Z,2013-04-05T12:42:03Z,"In wp-includes/media.php, function gallery_shortcode, lines 689-694 are:

{{{
// We're trusting author input, so let's at least make sure it looks like a valid orderby statement
if ( isset( $attr['orderby'] ) ) {
	$attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
	if ( !$attr['orderby'] )
		unset( $attr['orderby'] );
}
}}}

The sanitize_sql_orderby function requires commas between multiple column names. If you enter, for example orderby=""menu_order ID"", the lack of a comma causes the parameter to be deleted from the query.

Just after this test, on line 698, a multi-column sort without the comma delimiter is used as the default value.

If you enter commas to get past the sanitize_sql_orderby test, logic in wp-includes/query.php, function get_posts will not accept the commas (lines 2358 - 2361) and all but the last of the columns are ignored.

This issue should be considered along with those raised in #17065 and #16584. Thank you.",dglingren
14819,Gallery shortcode output does not validate.,,Gallery,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-09T14:17:28Z,2012-09-17T05:30:04Z,"I was validating a sites markup when I realized that the gallery shortcode output does not validate where know ""caption"" exists due to the lack of an associated value. Basically a <dt> must be followed by at least one <dd>.

Not sure if dl is the best tag to use for outputting galleries since I imagine lot's of people exclude captions from their galleries. Not sure what the best solution is at the moment.

Thoughts?

This is my first submission so be gentle.",jameslaws
23041,Images Don't Become Attached When Inserting a Gallery,,Gallery,3.5,normal,normal,3.6,defect (bug),new,has-patch,2012-12-21T20:15:21Z,2013-04-02T13:32:45Z,"Steps to Reproduce:

1. Go to the ""Upload New Media"" page (wp-admin/media-new.php)
1. Upload an image.
1. Create a new post.
1. Create an image gallery that includes the newly-uploaded image.
1. Insert the gallery into the post.
1. Publish the post.

Expected result:  Any ""(Unattached)"" image(s) should get attached.

Actual result:  Images remain ""(Unattached)"".",miqrogroove
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
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
18178,"Add ""none"" option to $attr['link'] for [gallery] shortcode",,Gallery,3.2.1,normal,normal,3.6,enhancement,new,has-patch,2011-07-19T20:02:27Z,2013-04-08T08:13:15Z,"Currently, the `[gallery]` shortcode only supports output of linked images. By default, each gallery image links to the attachment page, or directly to the file, if `link=""file""` is passed to the shortcode. Both cases use `wp_get_attachment_image_link()`.

Attached patch adds support for `link=""none""`, enabling the gallery images to be output as flat image files, rather than linked, via `wp_get_attachment_image()`.",chipbennett
18143,Add size for Gallery Settings,nacin*,Gallery,3.2.1,normal,normal,Future Release,enhancement,accepted,has-patch,2011-07-17T00:02:49Z,2012-05-02T20:25:00Z,Add a size option for gallery settings so it's easy to insert a single column gallery with large or full size images.,designsimply
10489,UI Improvements for the gallery tab (edit post),,Gallery,2.8.1,normal,normal,Future Release,enhancement,new,,2009-07-26T11:52:10Z,2010-10-28T08:48:06Z,"It would be nice to ever display the ""Gallery Settings"" Section on the gallery tab, even if only one image exists. That would help if you talk via phone and explain someone something. Often from-sections are helpfull to validate wether or not the other is on the same page as you are while explaining something.
",hakre
11725,Add start and count attributes to gallery shortcode,,Gallery,2.9.1,normal,normal,Future Release,feature request,new,has-patch,2010-01-05T15:00:27Z,2012-08-05T22:58:23Z,"Add shotcodes COUNT for views full gallery after click on MORE. Home

Modify files ./wp-includes/media.php
Lines 699 (add COUNT => '-1')
Lines 767-798 (add ForEach ... )

Use in WP:

[gallery] ... show standard gallery

OR

[gallery count=3] ... show images 1-3
- more -
[gallery count=3+] ... show images 4-n",frymi
12799,Allow gallery shortcode to accept a maximum number of items,,Gallery,2.9.2,normal,normal,Future Release,feature request,new,has-patch,2010-04-01T17:55:55Z,2012-08-27T21:59:51Z,"A ""would be nice"" feature of the gallery would be to allow for a maximum number of items to be displayed.

The main use of this feature would be to allow a page to show a ""preview"" of some of the images contained within one or more subpages, eg:

* Some event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""164""]
* Some other event
[gallery link=""file"" columns=""4"" orderby=""rand"" maximum=""4"" id=""200""]

",dtorbert
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
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
16906,Bogus call to wp_kses_no_null(),,General,3.1,normal,normal,Awaiting Review,defect,new,has-patch,2011-03-20T21:44:21Z,2011-03-20T21:45:23Z,Nullchars and \ have been already replaced in string in question one line above. See [http://core.trac.wordpress.org/browser/tags/3.1/wp-includes/kses.php#L943 wp_kses_no_null()].,hakre
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
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
16164,"""You are not allowed to delete this post."" - While Deleting a Media Library Item",,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-09T13:39:10Z,2012-06-30T20:14:21Z,"While deleteing 999 media library items, the request timed out. Resending the same request triggered an error message:

> You are not allowed to delete this post.

For me as a programmer, I know that those library items are technically a post, but for communicating with the user, the error message is misleading.",hakre
18701,"""hierarchical"" argument for get_pages() does nothing",,General,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-09-19T06:48:32Z,2011-11-16T00:17:33Z,"The `hierarchical` argument for `get_pages()` is never actually used. It is in an `if` statement, but one that requires `child_of` to also be set:

{{{
if ( $child_of || $hierarchical )
	$pages = & get_page_children($child_of, $pages);
}}}

Props Vynce Montgomery for pointing this out to me.",Viper007Bond
18703,'pre_get_posts'-filter without effect when modifying 'tax_query'. Wrong parameters passed to 'parse_tax_query() ??; WP 3.2.1.,info@…,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-09-19T13:10:12Z,2012-05-31T16:27:52Z,"When modifying the 'tax_query' array directly with 'pre_get_posts' filter (e.g. setting 'include_children' to false), then it will firstly  be modified in 'wp-includes/query.php' -> get_posts() after running the filter in line 1911.

But after line 2195 and running 'parse_tax_query' the 'tax_query' 'include_children'-parameter is unwanted reset/changed to the default value.

I think the bug is the following:
 
parse_tax_query() uses and needs values from the 'tax_query'-array but gets passed over only the 'query_vars'-array. so it resets the 'tax_query'-array-parameters in query.php line 1678 and hereby also the previously and individually set 'tax_query' values.

as far as i understand the core, i assume that any changes to the 'tax_query'-array with 'pre_get_posts'-filter will get lost and only changes to the 'query_vars'-array will take effect.",xitromedia
24023,3.5/wp-includes/functions.php : missing break statement,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),reopened,,2013-04-10T02:44:54Z,2013-04-10T18:59:20Z,"Line 263:

{{{
switch ( $token ) {
case 's' :
if ( '""' !== $data[$length-2] )
return false;
case 'a' :
}}}

Need ""break"" after ""return false"", because return happens only if condition met. Otherwise - falls to case 'a'
",tivnet
2877,A Slash too much @ get_pagenum_link(),,General,2.0.3,normal,normal,Future Release,defect (bug),reopened,has-patch,2006-06-29T17:47:30Z,2011-11-05T17:38:23Z," * File: template-functions-links.php
 * Function: get_pagenum_link()

The following code is at the end of the function:

{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

If you work with the mod_rewrite style, you will get this URL for the first page:

http://www.example.com/wordpress/index.php/
This wont work (/ at the end).

Correx:
{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('/page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

Notes:

 * sry for my bad english...
 * i've downloaded a german translation of wordpress 2.0.3, so maybe its just in this version... ?!
",dave@…
24030,Add an action for when nonce verification fails,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-10T10:21:37Z,2013-04-10T10:21:37Z,"Currently when a plugin (or core) calls `check_admin_referer()` there is no way for auditing (or debugging) plugins to hook in and record an event that the nonce check failed.

Previously it was possible to use the `explain_nonce_$nonce` filter to do this, but that was removed in [21133].

If a plugin wants to record an event for a failing nonce, it'll need to call wp_verify_nonce() manually itself, and die afterwards, or call `check_admin_referer()` after verifying the nonce itself for logging purposes.

I'd suggest either resurrecting the previous filter as an action (for back compat) or adding a new nonce failure hook.",dd32
21581,Add orderby meta_value to WP_User_Query,,General,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-14T21:24:05Z,2012-08-14T21:40:10Z,"For some reason, we cannot easily order the WP_User_Query() by last_name without directly editing the SQL statements. However, there is an easy way to add this that would work parallel to WP_Query().

{{{
// prepare arguments
$args  = array(
	'orderby' => 'meta_value',
	'meta_key' => 'last_name',
);
$user_query = new WP_User_Query( $args );
}}}",wpsmith
23905,Add_post_meta strips slashes,,General,2.5,normal,normal,Awaiting Review,defect (bug),new,,2013-03-30T00:20:29Z,2013-03-30T05:32:01Z,"Let's assume that JS generated an object that I want to store in custom field. Everything goes smooth when I convert it back and forth from JS to PHP and from PHP to JS (using json_encode() and json_decode()) and it even works when I do update_post_meta() manually in my file but this stops working as soon as WordPress Importer tries to load it from XML file (in XML it's still valid object) using add_post_meta().

This is the code from importer from the bottom of process_posts() function:

{{{
if ( $key ) {
	// export gets meta straight from the DB so could have a serialized string
	if ( ! $value )
		$value = maybe_unserialize( $meta['value'] );
		$value = '{""0"":{""type"":""text"",""text"":""""},""1"":{""type"":""html"",""html"":""<div class=\""cssclass\"" style=\""margin-top: 3em;\""><p>here goes html</p></div>"",""css_class"":""""}}'; // I added this for test purposes

	add_post_meta( $post_id, $key, $value );
	do_action( 'import_post_meta', $post_id, $key, $value );
}}}


This is an object:

{{{
{""0"":{""type"":""text"",""text"":""""},""1"":{""type"":""html"",""html"":""<div class=\""cssclass\"" style=\""margin-top: 3em;\""><p>here goes html</p></div>"",""css_class"":""""}}
}}}


It strips slashes from HTML tags (before each double quote sign) from objects that are stored as strings. I bet it shouldn't happen. Why would add_post_meta strip slashes or anything if XML explicitly says:


{{{
<wp:meta_value><![CDATA[{""0"":{""type"":""text"",""text"":""""},""1"":{""type"":""html"",""html"":""<div class=\""cssclass\"" style=\""margin-top: 3em;\""><p>here goes html</p></div>"",""css_class"":""""}}]]></wp:meta_value>
}}}

which in XML language is considered ""use as is. Do not modify"". I think that it might be a bug.",Looimaster
13926,Adding 'page-attributes' to a custom post type slows down edit screen in the admin,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-06-16T20:01:17Z,2010-10-28T01:52:55Z,"When I add 'page-attributes' to a custom post type it takes roughly 1.5 to 2 min for the edit screen to load...  When I remove 'page-attributes' edit screen load is extremely fast.

Under the post type i created I have 5000+ entries.",granulr
16672,Admin Bar and param href = FALSE,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-26T00:21:52Z,2011-02-27T11:21:37Z,"Current i dont find an solution to add an element in the admin bar with a a-tag inside the li-tag. But the function add_menu has an param href and is also possible to add the value false, but the a-tag ist always visible


maybe a fix on wp-includes/class-wp-admin-bar.php

{{{
	/* Helpers */
	function recursive_render( $id, &$menu_item ) { ?>
		<?php
		$is_parent =  ! empty( $menu_item['children'] );

		$menuclass = $is_parent ? 'menupop' : '';
		if ( ! empty( $menu_item['meta']['class'] ) )
			$menuclass .= ' ' . $menu_item['meta']['class'];
		?>

		<li id=""<?php echo esc_attr( ""wp-admin-bar-$id"" ); ?>"" class=""<?php echo esc_attr( $menuclass ); ?>""><?php
			if ( ! empty( $menu_item['href'] ) ) : ?>
				<a href=""<?php echo esc_url( $menu_item['href'] ) ?>""<?php
					if ( ! empty( $menu_item['meta']['onclick'] ) ) :
						?> onclick=""<?php echo esc_js( $menu_item['meta']['onclick'] ); ?>""<?php
					endif;
				
				if ( ! empty( $menu_item['meta']['target'] ) ) :
					?> target=""<?php echo esc_attr( $menu_item['meta']['target'] ); ?>""<?php
				endif;
				if ( ! empty( $menu_item['meta']['title'] ) ) :
					?> title=""<?php echo esc_attr( $menu_item['meta']['title'] ); ?>""<?php
				endif;
				
				?>><?php
			endif;
			
			if ( $is_parent ) :
				?><span><?php
			endif;

			echo $menu_item['title'];

			if ( $is_parent ) :
				?></span><?php
			endif;

			if ( ! empty( $menu_item['href'] ) ) : ?></a><?php endif; ?>

			<?php if ( $is_parent ) : ?>
			<ul>
				<?php foreach ( $menu_item['children'] as $child_id => $child_menu_item ) : ?>
					<?php $this->recursive_render( $child_id, $child_menu_item ); ?>
				<?php endforeach; ?>
			</ul>
			<?php endif; ?>

			<?php if ( ! empty( $menu_item['meta']['html'] ) ) : ?>
				<?php echo $menu_item['meta']['html']; ?>
			<?php endif; ?>
		</li><?php
	}
}}}
",Bueltge
20927,Ampersand inside HTML comment causes wp_insert_post to loop infinitely,,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-12T19:54:46Z,2012-06-14T13:09:40Z,"I'm encountering an issue with wp_insert_post where, when the post_content contains an HTML comment containing an ampersand (ie, ""<!-- & -->""), wp_insert_post seems to be getting stuck in an infinite loop. As far as I can tell, it is endless escaping the & into &amp; over and over.

I've attached a small script that reproduces this error; you need to replace the HTTP_HOST and the path to wp-load.php to reflect your own machine for it to run. I've reproduced this issue on two different machines, both running Ubuntu 12.04, one on Wordpress 3.3.1 and the other on Wordpress 3.3.2.

The most bizarre thing about this issue, to me, is if you move the contents of the includeFiles() function out of the function and into the main body of the script, the issue no longer occurs. Somehow, including wp-load.php from a function is causing the infinite loop.",jpayette
17170,Attachment slugs are not unique,,General,2.8,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-18T21:02:52Z,2011-04-18T21:02:52Z,"From wp_unique_post_slug() and #9726:

{{{
Attachment slugs must be unique across all types.
}}}

It's true that attachment slugs are checked for uniqueness against all other object types, however, when inserting an object of another type any uniqueness checks do not include attachments. This means that #9539 isn't actually fixed if you attempt the steps in the order described (insert attachment first followed by conflicting page).

Fix would be to add 'attachment' to the `post_type IN` clause for hierarchical types. See attachments-hierarchically-unique.diff.

Still puzzling out why/if attachments need to be unique against non-hierarchical types since there shouldn't be collisions as attachment URLs are subpage style. However, if attachment slugs do need to be globally unique then see attachments-globally-unique.diff (not tested so much).

Related: #9726, #9539, #6437, [11467]",duck_
21729,Better logic for comments email notification,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-29T15:26:37Z,2012-11-22T03:49:45Z,"Please see attached patch.

- If comment_author_email is known, it can be used in ""From"" email header.

- Also in ""Reply-To"" header we can use comment_author.

I am not sure if there is any reason for current logic, but my friend noticed it and he thought that this way it would be better...",pavelevap
16487,Bug wp_new_user_notification() when using it in multisite mode,,General,3.0.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-08T09:04:08Z,2011-02-08T12:07:48Z,"In the file ""wp-includes/pluggable.php""
into the function named ""wp_new_user_notification""

$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

This is correct but, in mutisite mode,

that one return the site name where you are logged into, not the blogname you are going to create.
$message .= wp_login_url() . ""\r\n"";

for example, i try to create test1.mynamesite.com
i'm logged on primarysite.mynamesite.com with my super admin account.

Into the mail i recieved, with ""Your Username and password""
the url is ""http://primarysite.mynamesite.com/wp_login.php""

it had to be ""http://test1.mynamesite.com/wp_login.php"".

In the other mail recieved with the complete message, acces code and url, all is perfect, just in the mail when adding the user to the new site.",wp_user59
17442,CSS selector #wpadminbar * overwrites accessibility generic selectors like screen-reader-text,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T10:42:59Z,2011-05-15T12:52:23Z,"I just was looking to update one of my plugins for 3.1/3.2 making use of the new admin bar.

My plugin makes use of the `.screen-reader-text` CSS class but it is overwritten in the admin-bar by `#wpadminbar *`",hakre
17157,Cannot preview changes to published multi-page posts,,General,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-04-17T17:41:50Z,2012-05-09T17:10:23Z,"Use Case: After publishing a post, an editor needs to make changes/update the post.  Editor would like to preview changes before publishing.  (Permalinks are turned on in this case)

To Reproduce:
1. Write a post. Make it paged by putting <!--nextpage--> somewhere in the post.
2. Publish the post 
3. Make changes to the post, somewhere on page 2
4. Click ""Preview Changes"" button

Browser will open a new page for the post: http://[domain]/yyyy/mm/dd/[post title]/?preview=true&preview_id=126507&preview_nonce=f0a2ecd9ae

5. Next page link will point to http://[domain]/yyyy/mm/dd/[post title]/   (Note: that preview, preview_id and preview_nonce are missing from the url)

Suggested fix is attached.
",akoyfman
16230,Category slugs not cut at 200 characters as it should under some conditions,,General,3.1,normal,normal,Future Release,defect (bug),new,,2011-01-14T14:10:23Z,2011-07-17T02:21:27Z,"When a category name is longer than 200 characters, it is cut to 200 and so is the slug automatically created upon category creation.

Now, if you edit the category name or slug afterwards, again trying to set a name longer than 200 characters it is cut again.

But, if you edit the name or slug and use a very long string like this one:

%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8/%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%81%d0%bb%d0%b0%d0%b4%d0%ba%d0%b8%d1%88%d0%b8-%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%/

Then the slug ends up being longer than the 200 chars limit.

Now if on the Categories list dashboard page you have more categories than visible on one page, and the category you edited above is not on page 1, the page it is on will appear empty (while successive pages will be all right if they contain regular categories)

This has been reproduced on 3.1-RC2-17283",paolal
13821,Changing visibility to password-protected without entering a password does not warn user,kapeels*,General,,normal,normal,Future Release,defect (bug),accepted,has-patch,2010-06-10T13:48:48Z,2012-10-01T17:42:25Z,"Tested on r15182.

If the status of a post is set to Password Protected, and a password is not specified before the user clicks the OK button in visibility and then either publishes, saves, or updates the post, no warning is given to the user that not setting a password forces the post or page to remain Public.

In fact, if updating a post, and this is the only change made, the success message (1) for updating the post appears instead, even though no change was made to the post.

If the post was previously published as Private, and switched to Password Protected without entering a password, then saved, the post switches to Public on save instead of remaining Private.

Either a failure message upon updating or a warning to the user before saving should be displayed to the user to remind them that they didn't properly set a password.

To reproduce the last case above:

1. Create a post. Publish it as Private.
2. Edit the post. Change the visibility to Password Protected, but do not enter a password. Click OK.
3. Update the post.
4. The post visibility will be changed to Public.",markel
16934,Commented code in /wp-includes/canonical.php,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-22T14:00:26Z,2011-06-25T18:57:57Z,"Timestamp: 10/16/08 19:17:04 (2 years) - Safe to remove this by now?

[9203]",hakre
14268,Comments editor HTML tag,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-07-10T19:16:16Z,2010-11-22T18:22:42Z,"With a vanilla (2.8.4 -> 3.0) installation, if you go and edit the comment from Mr Wordpress, you will see that in the editor you can find the HTML code of the apostrophe for ""post's"".

{{{
Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.
}}}

The problem comes with a production env with European languages where comments are full of accented letters that make the reading almost impossible.",pkirk
12945,Constrain wp_page_menu(),technosailor*,General,,normal,normal,Future Release,defect (bug),accepted,,2010-04-09T19:39:51Z,2010-05-02T18:49:39Z,"The wp_page_menu() function is the default callback for wp_nav_menu(). IOW, when a user is not using the new menu system, it defaults to this function. While that is good, any number of pages over, say 10, will make a theme puke in many cases.

As a workaround, I suggest we make a default of wp_page_menu() to exclude all pages() except home. It's a stupid idea, I think, but something needs to be done to make this manageable so I'm looking for feedback.

The Pro of taking this approach is that it encourages customization of menus via the WP menu system. It also does not lock theme devs into a particular approach because this stuff can be overidden via arguments and filters.

The con is that the default callback becomes pretty benign and useless. Almost pointless.

Ideas?",technosailor
20438,Custom Post Types with Post Format support aren't registered against post_format taxonomy,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2012-04-13T16:56:40Z,2012-11-20T18:15:16Z,"When a custom post type adds support for {{{post-formats}}}, this doesn't actually register the {{{post_format}}} taxonomy for the post_type.

Here's a quick test:

{{{
add_action( 'init', function() {
        register_post_type( 'not-post', array( 'supports' => 'post-formats' ) );
        global $wp_taxonomies;
        var_dump( 'post supports post_format:', in_array( 'post', $wp_taxonomies[ 'post_format' ]->object_type ) );
        var_dump( 'not-post supports post_format:', in_array( 'not-post', $wp_taxonomies[ 'post_format' ]->object_type ) );
} );
}}}

The {{{post_format}}} taxonomy doesn't get returned when {{{get_object_taxonomies}}} is called for the custom post type and one side-effect of this is that the {{{post_format_relationships}}} cache does not get flushed by {{{clean_object_term_cache}}} leading to stale values when a post format is changed.

(The {{{post}}} post_type is immune to this because core registers the {{{post_format}}} taxonomy with it.)

When a post_type adds support for post-formats, an explicit association should be made between the post_type and the {{{post_format}}} taxonomy.",batmoo
15837,Custom Taxonomy: Admin Menu Not Selecting Current Item,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,,2010-12-15T21:57:24Z,2011-01-09T14:01:43Z,"Story: Developing a plugin that adds a Custom Post Type and then a Taxonomy.

Problem: Adding the Taxonomy and displaying the Menu Item on the Admin section, when selecting the menu item - there seems to be a difference in functionality depending on what tag the Taxonomy hooks onto.

For example code:
{{{
      register_taxonomy(
        'mytaxonomy',
        'myposttype',
        array( 
          'labels' => array(
            'name' => 'Manage XXX',
            'add_new_item' => 'Add New XXX',
            'new_item_name' => 'New XXX Name',
            'add_new' => 'Add New XXX',
            'singular_name' => 'XXX'
          ),  
          'public' => false,
          'publicly_queryable' => true,
          'show_ui' => true,
          'hierarchical' => true,
          'rewrite' => array(
            'slug' => 'XXX',
            'with_front' => false
          ),  
          'query_var' => 'XXX'
        )
      );
}}}

The above code adds the Menu Item for the Taxonomy to the new Custom Post Type menu I created.

When I select the new Taxonomy...it ""open"" or ""behaves"" as though it expects to see it under the ""post"" tag.

It does not select the Taxonomy Menu Item as ""current"".

Expected result: Select Taxonomy Menu Item -> Menu Item obtains CSS class of ""current"".

Actual result: Select Taxonomy Menu Item -> Menu Item doesn't obtain a CSS class and IF the Posts menu was ""collapsed"" it expands.

Now - conversely if I add the Taxonomy Menu Item to the tag ""post"" - it DOES add the CSS class.

This seems to be inconsistent functionality and I believe that it's not there's something surrounding it that has to be malfunctioning.",sterlo
16949,Custom post types: error on page if query contains multiple post types,,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-23T17:19:22Z,2011-10-18T19:53:06Z,"I'm using custom post types, and I modified the $query to include multiple post types. This works quite well, until I enter a URL to a non-existant post (modifying the last part, i.e. the post's slug).

{{{

// some HOWTO linked from the Codex suggests this,
// can't find the link right now

function add_posttypes_to_query($query)
{
	if (!is_admin() && !$query->query_vars['suppress_filters'])
	{
		if (!is_home())
			$post_type = array('video', 'post');

		$query->set('post_type', $post_type);
	}

	return $query;
}

add_filter('pre_get_posts', 'add_posttypes_to_query');
}}}

The error I get is: “Warning: Illegal offset type in isset or empty in /home/lxg/www/shops.supreme.de/supremeshops/branches/private_wp3/wp-includes/post.php on line 811”.

It appears that the function {{{get_post_type_object}}} gets the array passed if no posts were found.

Also, I realized that custom post single pages don't issue a HTTP 404 status on errors. But this may be due to local modifications. I am currently not able to set up an environment where I isolate this problem.",mastermind
16009,Define z-index on the new admin bar,,General,3.1,normal,normal,Future Release,defect (bug),reopened,,2010-12-28T15:41:24Z,2011-01-06T12:08:20Z,"Proposal for z-index to be defined on the new admin bar (so that it will work in harmony with browser toolbar --> Web Develoepr Toolbar's ""Display Element Information"" Feature)

When the new admin toolbar is showing,
crucial information from the Web Developer Toolbar's 
""Display Element Information"" balloon becomes hidden.

Specifying a z-index for the admin toolbar seems to resolve this problem.

ie.
I changed line 92 of class-wp-admin-bar.php, 
FROM:

{{{
<div id=""wpadminbar"">
}}}

TO:

{{{
<div id=""wpadminbar"" style=""z-index:1000;"">
}}}


It seems that the z-index value is somewhat arbitrary to getting these two toolbars to work in harmony... as I've tried values ranging from 0 to 1000, and they all worked.",BlueKachina
21432,Deprecate *_blog_option(),ryan,General,3.4.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2012-07-31T21:53:06Z,2012-10-24T17:44:45Z,"Deprecate get_blog_option(), add_blog_option(), update_blog_option(), and delete_blog_option(). The regular *_option() functions wrapped with switch_to_blog() and restore_current_blog() should be used instead.

Previous discussion:

http://core.trac.wordpress.org/ticket/21270#comment:11",ryan
19555,Deprecate url_is_accessable_via_ssl(),,General,,normal,normal,Future Release,defect (bug),new,has-patch,2011-12-14T22:56:31Z,2012-04-27T16:10:44Z,"We can convert it to use wp_remote_get() when we do, or just stub it.",nacin
10902,Display problem with exclude option in wp_list_pages,,General,2.8.4,normal,normal,Future Release,defect (bug),new,reporter-feedback,2009-10-04T19:45:38Z,2011-04-02T11:50:55Z,"Create pages A,B,C and D, A parent of B, B of C and C of D[[BR]]
A[[BR]]
-B[[BR]]
--C[[BR]]
---D[[BR]]

call in a template 
<?php wp_list_pages(""exclude=6""); ?>
(6 is the ID of page B)

I get this display :[[BR]]
* A[[BR]]
* C[[BR]]
* D[[BR]]

when I expect :[[BR]]
* A[[BR]]
* C[[BR]]
-* D[[BR]]",toutantic
18190,Don't redirect to 404 page on empty post archives,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-21T09:05:41Z,2011-07-22T13:55:20Z,"""../archive/2010/09/29"" redirects to a 404 Error because there are no posts that day.

If there are no posts, it shouldn't redirect to a 404 page. It should let the user perform the loop and show a message like this:

""Sorry, there are no posts for that date""",gazpachu
14296,Don't show previous post link on orphaned attachments,,General,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-07-13T12:52:51Z,2010-07-14T04:43:32Z,"In function adjacent_post_link(), add check if post parent not empty.",zeo
15963,Don't try to add orphaned pages' parents' slugs to the page URL,,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-23T11:08:55Z,2012-09-19T22:31:20Z,"If a page becomes orphaned---in other words, if a page points to a parent object that doesn't exist any more---`get_page_uri()` doesn't sanity check that the parent object actually exists.

Patch does the check without any extra work, by moving stuff around.",filosofo
21537,Email address sanitisation mangles valid email addresses,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-10T11:24:50Z,2013-01-22T09:00:07Z,"If you change your email address to one including an ampersand then we mangle the address with html entities.

For example:
 * This - peter&paul@sitting.in.a.tree.com
 * Becomes - peter&amp;paul@sitting.in.a.tree.com

This is due to the call to {{{wp_filter_kses}}} on {{{pre_user_email'}}} in {{{default-filters.php}}}.

The was added in [5906] for #4546.

I'm not sure if we need kses filtering for emails - if we do which should probably revert this conversion of the & => &amp; afterwards.",westi
21204,Encoding problem with errors and warnings,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-09T16:31:04Z,2012-07-09T22:01:05Z,"There are several functions for debugging and their messages are also localized. For example _deprecated_argument(), _doing_it_wrong(), etc. But when these functions are fired, encoding of the whole administration (not only error messages) is damaged (see attached screenshot).

It is not very good because even if debugging is turned off, some errors can be still triggered - for example trigger_error() in ms_subdomain_constants() function, etc.",pavelevap
18002,Entering page number for spam comments takes you to page 1,,General,3.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-07-06T11:27:25Z,2011-11-22T17:17:15Z,"When browsing through spam comments, I attempt to view pages in the middle of the set (e.g. page 9 of 13) using the number-entry feature (at the top right) introduced in WP 3.1. Unfortunately, in WP 3.2 this feature has been broken, and when I press Enter, it substitutes '1' for the page number I enter, and then takes me to page 1. I have tried this when browsing posts or normal comments, and it doesn't happen; it only happens when viewing spam comments. I have tried it on Chrome in Linux and Safari on Mac OS X and the same thing happens.",IndigoJo
15674,Error when trying to logout,,General,3.0.2,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2010-12-03T23:46:21Z,2011-08-07T20:51:51Z,"I get this error when trying to logout of WordPress 3.0.1 & 3.0.2:

""This webpage is not available. The webpage at http://my.site.com/wp-login.php?action=logout&_wpnonce=12c23f0af8 might be temporarily down or it may have moved permanently to a new web address.""

and

""Error 101 (net::ERR_CONNECTION_RESET): Unknown error.""

in Google Chrome and

""The connection was reset""

in Firefox. Both browsers running on Windows XP SP3. I tested this on another computer running Windows XP SP3 (different ISP) and got the same error in Firefox.

Strangely, I do not get these errors at all on my Mac, in both Chrome and Firefox; they both logout correctly. It also works correctly on my iPhone.

I've tried cleaning cache and cookies in both browsers, reseting my sub-domain in my host's control panel, changing to the default theme; none of which worked at all.  Must be some kind of bug, lots of reports about this in the forums.

See thread here:  http://wordpress.org/support/topic/error-when-trying-to-logout?replies=9",interconnect
12760,Escaping shortcode conditionally,markjaquith,General,3.0,low,normal,Future Release,defect (bug),assigned,dev-feedback,2010-03-29T12:21:55Z,2011-04-07T00:11:32Z,"Using additional brackets is the official way to ""escape"" a shortcode. e.g. {{{[[escaped]]}}}

Using additional brackets {{{[[shortcode]]}}} in a post works only when the plugin (function) for this shortcode is active. When deactivated, additional brackets are shown in the post. It is annoying for many users, because editors sometimes test a plugin, write about it in a post with shortcode example and after some months this plugin is deactivated. Now there will be additional brackets, breaking their example code.

Input:

{{{[[shortcode_that_does_not_exist]]}}}

Expected output, regardless of whether that plugin is active:

{{{[shortcode_that_does_not_exist]}}}

Actual output, if plugin is not active:

{{{[[shortcode_that_does_not_exist]}}}

[edited by Mark Jaquith]",pavelevap
19268,"Even if .htaccess isn't writable, WP shouldn't prompt if there are no changes.",,General,,normal,normal,Future Release,defect (bug),new,reporter-feedback,2011-11-16T21:36:20Z,2011-11-17T16:39:33Z,"When you visit the permalinks settings screen, and .htaccess isn't writable, it prompts you to manually update. But it does that even if the current rules it is suggesting are already present. It should only prompt if the rules it is suggesting are different from what you have.",markjaquith
16167,FORCE_ADMIN_SSL broken if site runs on port different from 80,,General,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-09T15:49:44Z,2011-10-17T23:37:51Z,"I'm running a wordpress site (http://yoush.homelinux.org:8079/) hosted at my home server. Unfortunately mu ISP blocks incoming connections on port 80, so I have to use non-standard port.

With unmodified wordpress 3.0.4, I was unable to use FORCE_ADMIN_SSL, because it caused URLs starting with

http://yoush.homelinux.org:8079/

to be converted to

https://yoush.homelinux.org:8079/

Which is definitly broken since it is impossible to serve both http and https on the same port.

To fix this, I propose removing ':port' from URL when converting http url to https.
I've created a patch for this, that seems to work for me on my site.",yoush
18685,GET Requests with hostname in them causes wrong redirect,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-09-16T14:34:54Z,2011-10-07T08:49:01Z,"Hi!

I have noticed that my Android phone when using Cyanogenmod with default browser does some ""special"" things when on 3G. (It does not happend via WiFi)

It appears that the hostname is sent with every GET-request. Its common to only send the path in a GET-request but the HTTP secification also allows for the use of hostname within a GET-request.

My test page ( http://h3x.no/dump/test.php ) shows the hostname in the REQUEST_URI via 3G, and skips the hostname when on WiFi.

This causes Wordpress(i suspect) to redirect me to the wrong page.

Example:

I want the page:
http://h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line

My phone sends me to:
http://h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line/http/h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line",Ueland
15619,General Settings Tab Not Allowing trailing URL slash to be stored in Site & WordPress address (URL),,General,3.0.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2010-12-01T02:35:11Z,2011-01-21T10:15:11Z,"**Thank you for all of the efforts you've made regarding plugins easier to maintain - I deeply appreciate it.** 

When WordPress is installed in a subfolder, attempts to add the trailing slash currently will not save properly. From this URL:
http://www.domain.com/wordpressinstalledinfolder/wp-admin/options-general.php

The General Settings Tab - WordPress address (URL)
The General Settings Tab - Site address (URL)

Want to enter ""http://www.domain.com/wordpressinstalledinfolder/""
***it won't let me enter a trailing slash on the end like it will in other URL fields on the site.***

Request: Please tweak this field to allow storage of folder trailing slash.




",dsquared
17445,Give a speed kick to combined is_serialized() + is_serialized_string() + maybe_unserialize() usage,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T14:13:18Z,2011-05-15T21:14:14Z,"In #17129 is_serialized_string() has been speed up by 23%. That was for the function itself.

However, that function is used in contexts that make the call to is_serialized() directly or indirectly via maybe_unserialize().

Most often these calls are redundant and must not be done at all.

If preconditions are already met, is_serialized_string() can be replaced with a simple check for the 's' or 'S' format and maybe_unserialize() can be replaced with @unserialize($data) as that's the code executed in maybe_unserialize() when is_serialze() had returned true on $data;",hakre
17632,HTML 5 Validation issues (theme independent),,General,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T07:52:09Z,2013-04-17T01:37:23Z,"Wordpress often adds the rel attribute to links.

For example rel=""category"" or rel=""attachment"" etc...

Apparently these keywords are not allowed in html 5 :

http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#linkTypes

So the validation fails :-/

These attributes are a bit hardcoded. You can use regex in filters or javascript solutions to remove them, but this is not a good solution.

I think this problem is now a bug, if you consider the importance of code validation.",amirhabibi
2691,HTML comments in posts aren't handled properly.,,General,2.8.5,normal,normal,Future Release,defect (bug),reopened,,2006-04-25T03:16:37Z,2011-02-28T06:45:22Z,"When an HTML comment is added in a post, autop adds paragraph ( <p> ) tags around the comment and for multi-line comments line breaks ( <br /> ) are added after every line.  This should not happen in HTML comments.

This ticket is similar to #712 which was closed with wontfix.  I would like to know why this isn't seen as an issue?  It prevents the addition of RDF and other metadata, not to mention just plain old HTML comments in posts.",gord
19383,Hide post formats next to post titles if the active blog theme does not support post formats,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-11-28T18:16:12Z,2011-11-29T18:47:55Z,"If I'm using a theme that supports post formats—e.g. Twenty Eleven—then next to each title on `wp-admin/edit.php` I'm able to see not only the title name but also the post format that corresponds to its respective post.

If I switch to a theme that does not support post formats at all I am still able to see post formats associated with their respective posts.

This is not good for a few reasons:

* Showing a post format next to a title while a theme that doesn't support post formats is active is confusing. ""Why does my post have the word Image/Link/Status/Quote by it? What does that mean?""
* There is no way to edit or remove a post format associated with a post when a theme that does not support post formats is active, so the labels are useless.

When a theme that does not support post formats is active those format labels should be hidden. The posts can of course still retain their formats in case a user switches back to a theme that supports theme, but otherwise they should be hidden.",philiparthurmoore
18102,IE8 and wp_tiny_mce has broken Link button,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-07-13T14:07:43Z,2011-07-13T17:57:57Z,"With IE8 and custom-generated WYSIWYG editors created with wp_tiny_mce, the link button doesn't work correctly.  What happens is quite interesting:

On the first click, the Add/Edit dialog link box appears full sized, but empty.

Dismissing the box and clicking the link button again will give you just the Add/Edit link dialog box's title, but not even a box.

Dismissing that box and clicking on it a third time will finally generate an Add/Edit link form in the dialog box, but it won't be functional.

As far as I can tell, there are no JavaScript errors displayed.

This works correctly in Chrome, FireFox, and IE9. The problem only exists in IE8 as far as I can tell.  I tested on 3.2 and 3.2.1

The issue occurs with a default theme, but not with all plugins disabled (because plugins are required to create such a WYSIWYG box).  The issue does NOT exist on the default post/page add/edit screens.  Examples of plugins affected are WYSIWYG Widgets (http://wordpress.org/extend/plugins/wysiwyg-widgets/) and Rich Text Tags (http://wordpress.org/extend/plugins/rich-text-tags/), although I discovered the issue while developing my own plugin.

I also put together a bare-bones plugin to help verify the issue in case that helps (see the new menu item in Settings):
http://dl.dropbox.com/u/5148765/lems_wysiwyg_test.php  (requires WP 3.2+)

While it's possible that the real problem is how we're calling wp_tiny_mce (and I certainly apologize if that's the case), all 3 of us developers have run into this issue independently.

Let me know if you need any more info!",MadtownLems
23478,"Impossible to view posts titled ""WP Content"" or ""WP Includes"" with some forms of permalinks",,General,,normal,normal,Awaiting Review,defect (bug),new,close,2013-02-15T06:33:05Z,2013-02-15T09:35:07Z,"Posts titled ""WP Content"" or ""WP Includes"" (without quotes) are impossible to view when using the following forms of permalinks:

1. /%postname%
2. /%postname%/

A post titled ""WP Content"" will have a permalink of either http://example.com/wp-content or http://example.com/wp-content/, '''both will show a blank page'''.

A post titled ""WP Includes"" will have a permalink of either http://example.com/wp-includes or http://example.com/wp-includes/, '''both will show the directory index of the wp-includes directory'''.

WordPress should either:

a) make it possible to view both posts normally

b) warn the user or make it not possible to have a combination of some post titles and some certain forms of permalink.",kjasdu
14789,Inconsistency in 'all' hook invocation,,General,3.0.1,normal,normal,Awaiting Review,defect (bug),reviewing,has-patch,2010-09-07T01:41:33Z,2011-03-21T11:36:19Z,"The 'all' hook (catchall hook for any hook name) is getting inconsistently called depending on how the concrete hook is being invoked: by apply_filters, apply_filters_ref_array, do_action or do_action_ref_array.

In the simple cases (apply_filters, do_action), the hook will get all parameters passed, in the ..._ref_array cases, the hook will get only two parameters passed in which the first parameter is the name of the hook (a.k.a. tag) and the second parameter is an array of all other parameters.

Every 'all' hook-function-callbacks should be called in the same way regardless whether which of the four invocation functions have been used on that pointcut.

Additionally all four routines share a lot of the same code which could benefit of a refactoring.",hakre
7267,Infinite recursion in get_category_parents() and _children(),,General,,normal,normal,Future Release,defect (bug),reopened,has-patch,2008-07-09T04:54:21Z,2010-12-07T18:41:17Z,"These two functions can get stuck in a recursion loop if there's an indirect category hierarchy loop like A -> B -> C -> A.

The patch keeps track of traversed IDs and prevents repetition - there's a name for the algorithm but it escapes me.  It increases memory usage but probably not too much - certainly less than infinite recursion does.


",tellyworth
19120,Interim login needs some work,azaozz,General,,normal,normal,Future Release,defect (bug),assigned,early,2011-11-02T22:46:42Z,2012-05-02T19:43:33Z,"A CSS style causes a white 20px stripe at the top of the otherwise gray interim login screen.

That should go, and azaozz thinks the popup should as well.

3.3 for now, but the rest may be punted by azaozz.",nacin
24210,Issues found using a static analysis tool,nacin*,General,,normal,normal,3.6,defect (bug),accepted,,2013-04-28T06:16:09Z,2013-05-07T16:35:03Z,"These all look like valid, but minor, issues:
{{{
--------------------------------
File       : wp-includes/class-json.php:495
Reason     : UnknownFunction
Snippet    : class_name($var)
Line       : : new Services_JSON_Error(class_name($var).

--------------------------------
File       : wp-includes/SimplePie/Locator.php:94
Reason     : RequiredAfterOptionalParam
Snippet    : $type = SIMPLEPIE_LOCATOR_ALL
Line       : public function find($type = SIMPLEPIE_LOCATOR_ALL, &$working)

--------------------------------
File       : wp-includes/ID3/module.tag.id3v2.php:433
Reason     : TooFewArgument
Snippet    : substr($footer[5])
Line       : $id3_flags = ord(substr($footer{5}));

--------------------------------
File       : wp-includes/ID3/module.tag.id3v2.php:1586
Reason     : StatementHasNoEffect
Snippet    : $frame_ownerid == '';
Line       : $frame_ownerid == '';

--------------------------------
File       : wp-includes/ID3/module.audio.mp3.php:37
Reason     : TooManyArgument
Snippet    : $this->getOnlyMPEGaudioInfoBruteForce($this->getid3->fp, $info)
Line       : $this->getOnlyMPEGaudioInfoBruteForce($this->getid3->fp, $info);

--------------------------------
File       : wp-includes/SimplePie/Misc.php:127
Reason     : TooManyArgument
Snippet    : SimplePie_Misc::entities_decode(end($attribs[$j]), 'UTF-8')
Line       : $return[$i]['attribs'][strtolower($attribs[$j][1])]['data'] = SimplePie_Misc::entities_decode(end($attribs[$j]), 
'UTF-8');
}}}

Resolved:
{{{
--------------------------------
File       : wp-includes/class-wp-walker.php:118
Reason     : RequiredAfterOptionalParam
Snippet    : $depth = 0
Line       : function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) {

--------------------------------
File       : wp-includes/comment-template.php:1298
Reason     : RequiredAfterOptionalParam
Snippet    : $depth = 0
Line       : function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) {

--------------------------------
File       : wp-includes/deprecated.php:802
Reason     : RequiredAfterOptionalParam
Snippet    : $echo = false
Line       : function get_author_link($echo = false, $author_id, $author_nicename = '') {

--------------------------------
File       : wp-includes/deprecated.php:1709
Reason     : TooManyArgument
Snippet    : get_the_content($more_link_text, $stripteaser, $more_file)
Line       : $content = get_the_content($more_link_text, $stripteaser, $more_file);

--------------------------------
File       : wp-signup.php:493
Reason     : RequiredAfterOptionalParam
Snippet    : $user_name = ''
Line       : function confirm_blog_signup($domain, $path, $blog_title, $user_name = '', $user_email = '', $meta) {

--------------------------------
File       : wp-signup.php:493
Reason     : RequiredAfterOptionalParam
Snippet    : $user_email = ''
Line       : function confirm_blog_signup($domain, $path, $blog_title, $user_name = '', $user_email = '', $meta) {

--------------------------------
File       : wp-includes/widgets.php:76
Reason     : RequiredAfterOptionalParam
Snippet    : $id_base = false
Line       : function WP_Widget( $id_base = false, $name, $widget_options = array(), $control_options = array() ) {

--------------------------------
File       : wp-includes/widgets.php:93
Reason     : RequiredAfterOptionalParam
Snippet    : $id_base = false
Line       : function __construct( $id_base = false, $name, $widget_options = array(), $control_options = array() ) {

--------------------------------
File       : wp-includes/post.php:4789
Reason     : RequiredAfterOptionalParam
Snippet    : $deprecated = ''
Line       : function _future_post_hook( $deprecated = '', $post ) {

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:173
Reason     : RequiredAfterOptionalParam
Snippet    : $start = 0
Line       : function _rows( $taxonomy, $terms, &$children, $start = 0, $per_page = 20, &$count, $parent = 0, $level = 0 ) {

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:173
Reason     : RequiredAfterOptionalParam
Snippet    : $per_page = 20
Line       : function _rows( $taxonomy, $terms, &$children, $start = 0, $per_page = 20, &$count, $parent = 0, $level = 0 ) {

--------------------------------
File       : wp-includes/rewrite.php:92
Reason     : TooManyArgument
Snippet    : remove_action($hook, $hook, 10, 1)
Line       : remove_action($hook, $hook, 10, 1);

--------------------------------
File       : wp-admin/includes/user.php:350
Reason     : TooManyArgument
Snippet    : delete_user_setting('default_password_nag', $user_ID)
Line       : delete_user_setting('default_password_nag', $user_ID);

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:159
Reason     : TooManyArgument
Snippet    : $this->single_row($term, 0, $taxonomy)
Line       : $out .= $this->single_row( $term, 0, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:202
Reason     : TooManyArgument
Snippet    : $this->single_row($my_parent, $level - $num_parents, $taxonomy)
Line       : $output .=  ""\t"" . $this->single_row( $my_parent, $level - $num_parents, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:208
Reason     : TooManyArgument
Snippet    : $this->single_row($term, $level, $taxonomy)
Line       : $output .= ""\t"" . $this->single_row( $term, $level, $taxonomy );

--------------------------------
File       : wp-includes/media.php:2453
Reason     : UnknownFunction
Snippet    : sprint($link_fmt, $image)
Line       : $image = sprint( $link_fmt, $image );

--------------------------------
File       : wp-includes/media.php:1040
Reason     : TooManyArgument
Snippet    : wp_mediaelement_fallback($fileurl, $width, $height)
Line       : $html .= wp_mediaelement_fallback( $fileurl, $width, $height );

--------------------------------
File       : wp-includes/Text/Diff/Engine/xdiff.php:30
Reason     : UnknownFunction
Snippet    : xdiff_string_diff($from_string, $to_string, count($to_lines))
Line       : $diff = xdiff_string_diff($from_string, $to_string, count($to_lines));

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:159
Reason     : UseVoidReturn
Snippet    : $this->single_row($term, 0, $taxonomy)
Line       : $out .= $this->single_row( $term, 0, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:202
Reason     : UseVoidReturn
Snippet    : $this->single_row($my_parent, $level - $num_parents, $taxonomy)
Line       : $output .=  ""\t"" . $this->single_row( $my_parent, $level - $num_parents, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:208
Reason     : UseVoidReturn
Snippet    : $this->single_row($term, $level, $taxonomy)
Line       : $output .= ""\t"" . $this->single_row( $term, $level, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:228
Reason     : UseVoidReturn
Snippet    : $this->single_row_columns($tag)
Line       : echo $this->single_row_columns( $tag );

--------------------------------
File       : wp-includes/wp-db.php:648
Reason     : TooManyArgument
Snippet    : $this->has_cap('collation', $dbh)
Line       : if ( $this->has_cap( 'collation', $dbh ) && !empty( $charset ) ) {

--------------------------------
File       : wp-includes/wp-db.php:649
Reason     : TooManyArgument
Snippet    : $this->has_cap('set_charset', $dbh)
Line       : if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset', $dbh ) ) {

--------------------------------
File       : wp-admin/network/site-settings.php:63
Reason     : TooManyArgument
Snippet    : update_option($key, $val, false)
Line       : update_option( $key, $val, false ); // no need to refresh blog details yet

--------------------------------
File       : wp-admin/network/site-settings.php:126
Reason     : TooManyArgument
Snippet    : esc_html(maybe_unserialize($option->option_value), 'single')
Line       : $option->option_value = esc_html( maybe_unserialize( $option->option_value ), 'single' );

--------------------------------
File       : wp-admin/includes/class-wp-comments-list-table.php:318
Reason     : UseVoidReturn
Snippet    : $this->single_row_columns($comment)
Line       : echo $this->single_row_columns( $comment );

--------------------------------
File       : wp-admin/includes/class-wp-list-table.php:829
Reason     : UseVoidReturn
Snippet    : $this->single_row_columns($item)
Line       : echo $this->single_row_columns( $item );

--------------------------------
File       : wp-admin/includes/class-wp-upgrader.php:1132
Reason     : UseVoidReturn
Snippet    : screen_icon()
Line       : echo screen_icon();

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:386
Reason     : UseVoidReturn
Snippet    : $this->single_row($page, $level)
Line       : echo ""\t"" . $this->single_row( $page, $level );

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:401
Reason     : UseVoidReturn
Snippet    : $this->single_row($op, 0)
Line       : echo ""\t"" . $this->single_row( $op, 0 );

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:447
Reason     : UseVoidReturn
Snippet    : $this->single_row($my_parent, $level - $num_parents)
Line       : echo ""\t"" . $this->single_row( $my_parent, $level - $num_parents );

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:453
Reason     : UseVoidReturn
Snippet    : $this->single_row($page, $level)
Line       : echo ""\t"" . $this->single_row( $page, $level );
}}}",rlerdorf
11697,Keep private posts in the admin area / Was: Make private posts a canonical plugin,,General,2.9,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-01-02T21:33:21Z,2011-04-11T23:15:01Z,"Said Matt:
> Also, a lot of the complexity of private posts could be avoided by a relatively simple change: saying they're only viewable in the dashboard. (Which I think is close to how people use them already.)

----

There are quite a few tickets related to private posts that can be viewed by users who should, and even more tickets related to private comments that can be viewed by users who aren't authorized to view the post.

There also is at least one ticket that highlights a performance issue related to private posts.

http://core.trac.wordpress.org/search?q=private

Would it be an option to turn this into a canonical plugin and begone with the problems?",Denis-de-Bernardy
17296,Link Descriptions Are Truncated Without Notification,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-05-01T03:04:09Z,2011-07-03T07:48:46Z,"When creating new links, or editing existing links, using the WordPress admin interface, link descriptions are truncated to 255 characters. This is because there is a 255 character limit defined in the link_description column in the wp_links database table.

Steps to reproduce:

1) Go to WP dashboard

2) Select Links > Add New from the menu.

3) Create a link with a description longer than 255 characters.

4) Go back to the link in the links interface; the description has been truncated.

Expected behavior:

1) The field should have a larger limit (perhaps 1024 characters?).

2) Even if we keep the limit at 255, the UI should prevent users from entering more than the limit, or notify them that the description they have entered will be truncated to the limit.

Thanks for your time!",achmafooma
22625,Lone less than (<) characters foul up balanceTags(),,General,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-28T22:47:23Z,2012-12-11T20:34:57Z,"1. Turn on tag balancing.
2. Try this text:
{{{
This is < That.

<blockquote>foo</blockquote>

Text <a href=""#"">link</a>. Post-link text.
}}}
3. On save, the ending blockquote tag is stripped, and the subsequent text is blockquoted.

We should recognize lone {{{<}}} characters and entity encode them like we do for {{{<3}}}.",markjaquith
15029,Make it possible to determine resource in get_ancestors(),filosofo,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-10-04T10:59:12Z,2010-12-17T15:43:54Z,"In case there exists a conflict between taxonomy and post_type names, allow it to be resolved explicitly when calling `get_ancestors()`.",filosofo
21658,Meaningless adjacent post links for pages,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-22T12:34:26Z,2012-08-22T12:34:26Z,"In WP 3.3 we removed a number of obsolete <link> elements from the page header leaving just those with rel=""next"" and rel=""prev"" generated by function adjacent_post_rel_link_wp_head() in file wp-includes/link-template.php [see #18128].

This change brings the function of these links into sharper relief and raises several concerns. Presently, they are generated only for singular pages/posts that are not attachments.

Such links make some kind of sense for ordinary posts, because these can be considered to be part of an ordered collection where the next/previous relationship is meaningful. It may also make sense for custom post types, depending on the use to which they are being put.

For pages, however the links generated refer to the next/previous pages as they happen to be stored in the WP database and these are unlikely to have any meaningful relation to the originating page.

Others have reported performance and other problems with browsers such as Firefox that use these links to prefetch content [see #12603, #14382 and #19018].

You can see their point! If I'm viewing page ""about"" what are the chances that I will next want to view the page ""contact"" just because this happens to have the next sequential ID in the WordPress database?

At the very least, I believe that these links should not be generated for pages.  Better still would be to follow Google's advice [see #18672] and use these just for paginated content (i.e. individual posts/pages [with <!--nextpage-->] or archives [including blog home]). Some potential patch code is available against #18660 which raised a similar issue. Links between adjacent posts can be left to the usual navigation elements within the page body.",mdgl
16584,Media Gallery sorts images by two columns despite get_posts not supporting this properly,,General,2.6,normal,normal,Future Release,defect (bug),new,,2011-02-17T22:25:55Z,2011-02-20T17:08:05Z,"In the get_media_items function in wp-admin/includes/media.php, attachments are sorted first by menu order, then by post ID by the following line:

{{{
$attachments = get_children( array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC') );
}}}

However, the get_posts in wp-admin/includes/query.php function does not properly support this. It splits up orderby by spaces, and then throws out 'ASC,' as it does not match a valid value. Due to a lucky coincidence, it turns into ORDER BY menu_order, ID DESC which still works in the same way.

I often want to display the first x uploaded images to a post, but allow changing which images are considered the first x via menu_order. If I solely order by ID ASC, that won't work. If I solely order by menu_order ASC, that won't work either, since the ones at the top of the list (latest uploaded) become first in the menu order. The only way to get it to work is to sort by menu_order DESC, ID ASC - but using 

{{'orderby' => 'menu_order DESC, ID', 'order' => 'ASC'}}

doesn't not work since the 'DESC,' gets ignored.

There are two possible interpretations of this bug:

a) Remove 'ASC,' in the line I mentioned since it's not valid according to the current rules for get_posts

b) Make get_posts properly support the above method by not having it throw out the extra order condition.
",smerriman
16529,Missing quotes in DB_NAME on installation,,General,3.0.4,normal,normal,Awaiting Review,defect (bug),new,close,2011-02-10T23:41:47Z,2011-02-11T00:31:33Z,"A fresh installation of the database creates the file ""wp-config.php"".  This sets the MYSQL hostname.  When entering the proper information from the 5-minute installation into the MYSQL hostname field, this is incorrectly saved to the ""wp-config.php"" file *without* quotes around the host if the hostname is something other than localhost.

This makes installation problematic for users for which MySQL is not residing on the same host as their web server.  Specifically 1&1 users experience this issue.  This appears in the latest SVN pull.

see line 220 - 229 on /wp-admin/setup-config.php

patch attached.",beadon
19588,"Move to Trash results in a page with a ""0""",,General,3.3,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-12-17T15:41:04Z,2012-01-13T06:24:36Z,"In the latest wordpress, if I delete a draft either the bulk delete , or individual move to trash, it loads a page with a zero. If I publish the draft, then move to trash, it works. I searched open tickets and could not find anything specific on this flow. ",astriker
20360,New Sidebar Takes Over Previous Sidebar Widgets,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-05T00:09:43Z,2012-04-05T00:09:43Z,"When creating a new sidebar in a theme already utilizing a sidebar, the new sidebar takes on the widgets of the sidebar previously occupying that place of order.  For example, a theme currently has these sidebars, with widgets in use:

Sidebar
Footer

Adding a new sidebar in a array:


{{{
$sidebars = array('Home Page Sidebar','Sidebar','Footer');

foreach ($sidebars as $sidebar) {

  register_sidebar(array('name'=> $sidebar,

    'before_widget' => '<article id=""%1$s"" class=""widget %2$s""><div class=""container"">',

    'after_widget' => '</div></article>',

    'before_title' => '<h3>',

    'after_title' => '</h3>'

  ));

}
}}}

Home Page Sidebar takes the widgets of the Sidebar when it takes in place in line.",imikedesigns
20935,No display in the WYSIWYG editor.,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-06-13T05:58:51Z,2012-06-13T05:58:51Z,"Sometimes, nothing in the visual editor in me does not appear and you can switch to HTML view.",OldShaterhan
14581,No magic numbers,,General,,normal,normal,Future Release,defect (bug),new,,2010-08-10T15:57:59Z,2010-11-26T21:54:49Z,Add defines for the numeric user_status and comment_status values.,ryan
16845,Notice: Undefined index: post_id  in wp-admin/media-upload.php,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-13T08:09:22Z,2011-03-15T11:34:06Z,"Installed 3.1 on my server. when i edit a post and trying to insert a image from another site using: /wp-admin/media-upload.php?tab=type_url . im missing post_id in that url. then i dont get the ""insert into post"" button. 
error msg:
Notice: Undefined index: post_id in /var/www/blog/htdocs/wp-admin/includes/media.php on line 1639 
Notice: Undefined index: post_id in /var/www/blog/htdocs/wp-admin/includes/media.php on line 2223 ",spaam
19188,Only one dashboard widget can't be moved into second column unless Screen Options is expanded,,General,2.9,normal,normal,Awaiting Review,defect (bug),new,,2011-11-06T22:02:54Z,2011-11-07T21:01:20Z,"A crazy weird issue. Since 2.9, a single dashboard widget can't be dragged (easily) into the second column unless the Screen Options are expanded. 

Screencast: http://cl.ly/3y0j1o2f3A2f3l06120R",ryanimel
11235,"Pages whose ancestors are not all ""published"" cannot be used as parents for other pages.",,General,2.9,normal,normal,Future Release,defect (bug),new,,2009-11-23T01:04:01Z,2009-11-23T15:27:55Z,Pages with trashed parents cannot be used as parents for other pages (they do not appear on the list).,caesarsgrunt
23412,Password protected pages - redirect after login,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-02-07T10:32:30Z,2013-03-02T16:03:02Z,"Hi,

I am using WP 3.5.1 and I have found out that after a successful login to a password protected page, WP won't redirect back.

This is because referrer is empty.

So I have modified page login script to have hidden ""_wp_http_referer"" field in form.

After that, login redirects back to page normally.

Here is my script:
{{{
	function my_password_form() {
	    global $post;
	    $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID );
	    $o = '<form class=""protected-post-form"" action=""' . get_option( 'siteurl' ) . '/wp-login.php?action=postpass"" method=""post"">
	    <p>' . __( ""To view this protected post, enter the password below:"" ) . '</p>
	    <label for=""' . $label . '"">' . __( ""Password:"" ) . ' </label><input name=""post_password"" id=""' . $label . '"" type=""password"" size=""20"" /><input type=""submit"" name=""Submit"" value=""' . esc_attr__( ""Submit"" ) . '"" />
	    <input type=""hidden"" name=""_wp_http_referer"" value=""'.get_permalink().'"" />
	    </form>
	    ';
	    return $o;
	}
	add_filter( 'the_password_form', 'my_password_form' );
}}}


This functions returns empty URL to wp-login.php script:
{{{
function wp_get_referer() {
	$ref = false;
	if ( ! empty( $_REQUEST['_wp_http_referer'] ) )
		$ref = $_REQUEST['_wp_http_referer'];
	else if ( ! empty( $_SERVER['HTTP_REFERER'] ) )
		$ref = $_SERVER['HTTP_REFERER'];

	if ( $ref && $ref !== $_SERVER['REQUEST_URI'] )
		return $ref;
	return false;
}
}}}
I hope this helps.

I have tried this with all plugins disabled, and also on 20-12 theme, same error occurs.

Bye,
Dubravko

",dood_cro
18824,Password protected pages don't work if site address is different from wordpress address,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-30T13:15:08Z,2011-11-09T21:44:28Z,"Hi,

On a 3.2.1 wordpress site, we notices that password protected pages didn't work.

Site address is in another domain (x.com) than wordpress address (y.com).

If we set the same domain for both of them, protected pages work again.

I think I understood what was going on:

1. the browser gets the form for the password via siteurl.
2. however the forms posts data to wordpress address (wp-pass.php), and the browser gets the cookie within this domain (and not siteurl domain)
3. the browser is redirected to siteurl, but the cookie doesn't work (domain mismatch).

I corrected wp-pass.php, by replacing get_option('siteurl') by get_option('home'), and it worked.",3singes
19065,Please provide original javascript files (.dev.js) for all minified files,nacin,General,,normal,normal,WordPress.org,defect (bug),reopened,,2011-10-27T10:18:57Z,2012-06-15T09:01:46Z,"Please provide original javascript files (.dev.js) for all minified files. This is not only useful for debugging, it's also a requirement of some free software distributions like Debian (cf the bug report that prompted all this: http://bugs.debian.org/646729).

Missing files that I noted are (relative to wp-includes/js):
{{{
crop/cropper.dev.js
jquery/jquery.dev.js
jquery/jquery.query.dev.js
jquery/jquery.schedule.dev.js
jquery/jquery.serialize-object.dev.js 
jquery/ui/*.dev.js (all *.js files are minified)
plupload/plupload.*.dev.js (all plupload.*.js files are minified)
swfupload/swfupload-all.dev.js
tinymce/tiny_mce.dev.js
tinymce/tiny_mce_popup.dev.js 
tinymce/plugins/*/editor_plugin.dev.js (all plugins except the WP ones)
tinymce/themes/advanced/editor_template.js
tinymce/wp-tinymce.dev.js.gz
swfobject.dev.js
}}}

I'm not really sure about swfupload/swfupload-all.js, if it's swfupload.js + the 4 plugins minified, then it's ok I guess. But it would be nice to have it documented.

tinymce/wp-tinymce.dev.js.gz is probably also generated from something else but I could not figure out what. It would be nice to document how and when to regenerate it.

I can help to dig out the required files if it helps. Ideally the build process of wordpress would include a way to regenerate automatically the minified files from the corresponding .dev.js file.",rhertzog
20260,Post by email posting same message multiple times,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-19T15:40:57Z,2012-03-20T08:45:04Z,"I am using the Post by email feature for a Wordpress.org blog. I post by mail once a day and daily to the blog, usually around midnight. There are usually between 2 and 6 messages posting on any given day (sent as individual emails).

I have set up a secret POP email address to which I send emails, and these emails are picked up by Wordpress as Posts on my blog.

However, I am seeing the messages post multiple times; sometimes twice, sometimes up to 10 times in a row on the blog.

It usually happens for all messages on certain days, but some days this does not happen at all. I have not been able to identify a pattern of which days have this problem or if it is related to the number of messages posting on a particular day.

This issue began happening around October 2011; previously, I didn't notice this problem.

Environment:
Wordpress.org 3.3.1
Thunderbird 7.1 email client; publish messages sent in text mode, with word wrap off
Google Apps account used as secret email. Account set to POP. All forwarding, etc. is turned off.

Steps: 1) wp-mail.php modified to post regardless of author, per bug 18923 which keeps messages stuck in Pending status 2) User from which posts sent is registered as Editor or Admin in Wordpress site. 3) Theme footer modified to include automatic checking for incoming messages 4) Email account is setup in mail client that matches the Admin/Editor email in Wordpress 5) Message to post is sent to the secret address by user

Result: 1) Wordpress on certain days posts the messages with no problem; other days, it posts multiple copies of the message. Usually, either all messages post multiple times or all post one time for a given day; I have not noticed that if one message on a particular day posts multiple times that another will post only once. 2) There can be anywhere from 2 to 10 copies of the same message posted. 3) I have tried to modify my POP account settings so that messages get Archived when read, rather than staying in the Inbox; however, this did not fix the problem.

Note: I use Google Apps as the email server for both the From: mail and the secret address mail. 

I have not been able to find other discussions on this topic, nor track down any possible root cause of it.

Message of one of the posts that posted multiple times is attached.",bloggertype
16555,Post format metabox shows duplicate 'standard' format,,General,3.1,low,normal,Future Release,defect (bug),new,has-patch,2011-02-13T23:01:55Z,2011-02-20T17:38:15Z,"Having 'standard' within add_theme_support makes the standard option show up twice within the post format metabox on the write/edit screen.

{{{add_theme_support( 'post-formats', array( 'standard', 'aside', 'chat', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio' ) );}}}

Patch fixes this by skiping over standard since it's hardcoded in the metabox.",ptahdunbar
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
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
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
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
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
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
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
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
14745,Renaming a Link-Category Resets Link Widget Options of that Category,,General,,low,normal,Future Release,defect (bug),new,,2010-08-31T13:21:50Z,2010-12-27T17:42:30Z,"When renaming the name of a Link Category that is used as well in a Link Widget, the Link Widget stops working.

Step to Reproduce:

 1. Create a Link Category ""Test Start"".
 2. Add 10 Links into the Category ""Test Start"".
 3. Go to the Widgets Screen and add a new Link Widget to a sidebar.
 4. Select that Link-Widget and set it from ""All-Links"" to the Category ""Test Start"".
 5. Visit your Frontpage so proof that the Widget displays.
 6. Go to the Link Cagegory Editor and quick-edit the ""Test Start"" Category.
 7. Rename it to ""Test End"".
 8. Save Changes.
 9. Visit your Frontpage.

''=>>'' The Widget has disappeared.

'''Expected behavior:''' Widget displaying with the (renamed) link category.

",hakre
15833,Script concatenation fails to take external dependencies into account.,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-12-15T17:35:17Z,2011-01-16T02:19:59Z,"Script concatenation places the concatenated script include first, before any scripts loaded separately.  If one of the scripts in the concatenation relies on a script outside the concatenation the dependency order is ignored.

When the dependencies are all internal to the concatenation things work fine (for example script4 relies on script3):

* concat=script1,script2,script3,script4,script5

But when script3 is loaded externally, script4 will break:

* concat=script1,script2,script4,script5
* external-script3

This becomes apparent if jQuery is loaded from a non-standard location (via a plugin or the [http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_a_default_WordPress_script_from_a_non-default_location code from the Codex]) in that the visual editor fails to function correctly because source:/trunk/wp-admin/js/editor.js uses jQuery (which it fails to register as a dependency, see ticket:15830, but when I fixed that locally the results were the same).

I'm working around this in [http://wordpress.org/extend/plugins/use-google-libraries/ Use Google Libraries] by globally disabling concatenation, but it would be nice if this was fixed.


If possible, it would be nice if the loader was smart enough to do something like:

* concat=script1,script2
* external-script3
* concat=script4,script5

Or at least flagged the script with the dependency as unsafe for concatenation:

* concat=script1,script2,script5
* external-script3
* script4
  


",jczorkmid
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
11414,Sidebar Calendar Widget broken,,General,2.9,normal,normal,Future Release,defect (bug),new,reporter-feedback,2009-12-12T22:33:24Z,2010-11-13T07:31:07Z,"I'm giving 2.9 beta a test drive for theme development purposes. On my test installation, I currently have the two default themes and a very simple theme of my own that I developed via a tutorial.

After I upgraded to 2.9 beta, the sidebar calendar started displaying rather oddly. It looks okay when the main page first loads, but when I click the <<Nov link, the calendar rows are way out of whack. When click on <<Oct, it's not as bad, but still incorrect. Then, when I go forward again and hit December, even that is a little bit off.

This happens whether I use the Calendar widget or just the theme's own sidebar, and it happens in all three installed themes.

My test site is at http://bleeder.faltarego.com
or http://faltarego.com/bleeder

Many thanks.",faltarego
14169,Slashes not removed when $_SERVER in process_conditionals(),,General,3.0,normal,normal,Future Release,defect (bug),new,commit,2010-07-01T20:40:28Z,2011-01-06T23:42:37Z,"Since [1964] (now after [12732] in {{{wp-includes/load.php}}}) slashes are added to all values of {{{$_SERVER}}}. If then {{{$_SERVER}}} is accessed, slashes must be removed again otherwise things might not work as intended, e.g. comparing and parsing strings.",hakre
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
13418,Smaller Bits of Code Improvement,,General,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-17T02:44:52Z,2012-12-07T21:18:42Z,"This ticket is for smaller bits of code-improvements all over trunk whenever something pops into sight.

Descriptions are put in the Description field of the attachment. Feel free to add your own so this won't clutter up tac too much.

Discussion in IRC and/or wp-hackers.",hakre
15965,Streamline exit call syntax,,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-23T13:20:09Z,2010-12-23T14:45:11Z,"After review of patches in #15518 it came to my attention that {{{exit}}} is sometimes called with and sometime w/o paranthesis.

As #15518 makes use of the {{{exit;}}} variant, all occurences of {{{exit();}}} can be replaced with it.",hakre
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
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
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
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
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
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
15349,TinyMCE Internal Links Not Extendable,filosofo,General,3.1,normal,normal,Future Release,defect (bug),new,,2010-11-09T05:06:05Z,2010-12-07T19:04:58Z,It needs a couple filters and an action hook so we can modify and extend the content.,filosofo
15030,Unserialize deep when returning arrays of metadata,,General,,normal,normal,Future Release,defect (bug),new,,2010-10-04T11:05:52Z,2010-12-08T19:34:06Z,"Currently when retrieving an array of metadata values for an object (no meta key specialized), they are retrieved as serialized. Only when meta key is specified do we unserialize.

We should array_map( 'maybe_unserialize' ) on what we plan to return instead of forcing plugins to call that themselves.",nacin
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
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
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
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
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@…
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
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
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
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
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
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
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
21268,_wp_page_template is getting 'stuck' to a page,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-13T22:21:42Z,2012-07-13T22:21:42Z,"Unmodified WP 3.4.1 / Ummodified TwentyEleven theme

Create a page (id=2).  Manually add a postmeta entry for 

{{{
post_id=2, 
meta_key = _wp_page_template, 
meta_value = pagefull.php
}}}


The page now opens with margin: 0 7.6%;  (correct!)

Now try to change it back to default, either by removing the _wp_page_template postmeta record or by editing the page -> Page Attribute / Template.  The page will not revert back to Default.  It continually displays as Full Width, and a postmeta item telling post_id 2 to use _wp_page_template = pagefull.php is added.

http://wp34.roveridx.com/?page_id=2

This behavior does not happen in 3.3.2.",shawmutsteve
20690,add_post_meta/update_post_meta and cache,,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-05-16T14:33:30Z,2012-05-16T14:33:30Z,"I have a custom post type with 2 fields for price, second one has 5% discount and I want to populate it automatically by hooking to 'save_post'. 

I have a working logic that calls update_post_meta() (or add_post_meta() ) for the second field but it doesn't get executed even with several post updates. However, if I end my function call with a var_dump that outputs the values from the function, everything goes smooth.

It looks like some caching issue to me that gets flushed per var_dump call, anyone able to reproduce?",nofearinc
14754,add_query_arg() refactoring,,General,,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2010-09-01T16:32:20Z,2011-03-23T19:34:24Z,"The function add_query_arg() looks like that it could benefit from a refactoring. Especially the handling of optional parameters (did introduce PHP 4 that language feature?) can benefit by a sligh touch-up.

Attached patch reflects only the first few lines of the function.",hakre
17923,add_query_arg() should encode values,,General,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-28T22:55:50Z,2013-02-26T14:08:52Z,"One (or me at least) would expect that the result of

{{{
add_query_arg( 'foobar', 'this&that', 'index.php' )
}}}

would be

{{{
index.php?foobar=this%26that
}}}

since the whole purpose of the function is to build a URL. However the actual result is

{{{
index.php?foobar=this&that
}}}

You're asking to the function to create a URL in which `foobar` is `this&that` but instead it creates a URL in which `foobar` is set to only `this`. You shouldn't have to pre-encode values -- the function should take care of it for you.

The function to ""blame"" for this is our `build_query()` which for some reason does not encode by default.

Semi-related: #16943",Viper007Bond
16221,admin bar hover class toggle adds whitespace,koopersmith*,General,3.1,low,normal,Future Release,defect (bug),accepted,close,2011-01-13T22:32:25Z,2012-12-13T19:52:17Z,"Every time I mouseover and mouseout an admin bar item, its class attribute gets longer.

Seen in Chrome while inspecting elements in the admin bar.",andy
19921,"always use require_once for wp-load.php (fixes ""ABSPATH defined multiple times"")",,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-29T18:09:46Z,2012-02-10T17:53:45Z,"The `wp-load.php` file should always be included via `require_once`.  This allows developers to include files when necessary with having to run into the ""ABSPATH defined multiple times"" notice (let alone waste time processing the file).

In trunk, require_once is already used in the majority of cases for `wp-load.php`:
    * 24 require_once
    * 8 require
    * 1 include

This has come up because of a situation in a plugin where it is necessary to manually include the `wp-login.php`.  But then `wp-login.php` calls `require wp-load.php` and the constant re-declaration notice arises.

In two cases, the patch changes relative paths (eg `./` to `dirname(__FILE__)`) to avoid safe mode problems and improve the ability to run files from anywhere(1), which is helpful for testing from the command line.

(1) Paths in PHP are relative to the present working directory, not the directory the file is in.",convissor
20415,big tags formatted incorrectly in rss,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-04-11T06:45:13Z,2012-04-11T06:45:13Z,"several (doubled, tripled) big tags formatted incorrectly in rss, may be single big tags behave same way

what is formatted


{{{
<blockquote><p><big><big>123</big></big></p>
<p><big><big>123</big></big></p></blockquote>

}}}

in normal view is formatted


{{{
<blockquote><p><big><big>123</big></big></p>
<p>123</p></blockquote>

}}}

in rss.


( and it is just

{{{
<blockquote><big><big>123
123</big></big></blockquote>

}}}
in editor)",qdinar
19130,current wp-login.php call to wp_admin_css() bypasses its own filter,F J Kaiser,General,2.6,normal,normal,Awaiting Review,defect (bug),assigned,close,2011-11-03T13:54:07Z,2012-04-25T17:31:20Z,"The current situation in wp-login.php looks like the following:

{{{
	wp_admin_css( 'login', true );
	wp_admin_css( 'colors-fresh', true );
}}}

Looking at /wp-includes/general-template.php and {{{wp_admin_css( $file = 'wp-admin', $force_echo = false );}}} tells that this bypasses the filter calls as the function returns if {{{$force_echo}}} is true. The filters are called after that. This doesn't make sense as the filter will never work this way. Changing {{{wp_admin_css()}}} is no option, so I suggest to change the calls to it in login_head.",F J Kaiser
21000,custom-background still include background-image: none; when setting background color,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,close,2012-06-17T17:38:56Z,2012-10-08T17:52:30Z,"I am sorry I missed this after the last inclusion before release, but in the function _custom_background_cb() 

I overlooked testing logic in the callback before it was released.  

if background color was specified but no image, act as if image shouldn't exist

The original complaint was that when you removed (both) the $background and $color that it outputted the background-image: none;  However in 3.4 it's not account for $color in the function and !$background

This is the change I am requesting.

{{{
      if ($background) {
...
}}}

line: 1136 - wp-includes/theme.php

{{{
      } else $style .= ' background-image: none;';
}}}

This will make it handle the if ($color && !background) appropriately


",Frumph
16408,get_bloginfo('template_url') is not returning valid URLs.,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,,2011-01-30T08:04:50Z,2011-02-01T04:04:00Z,"There seems to be a general consensus on the #wordpress IRC channel that URLs cannot contain spaces. I agree with this, and I'm almost sure the entire internet community would to. Based on this axiom, get_bloginfo('template_url') should return URLs with spaces properly encoded, otherwise, it's not returning a valid URL, hence it's not returning a URL at all. I'm guessing that get_bloginfo('template_url') is suppose to return a URL, so this must mean that it's not currently (as of version 3.0.3) doing what it's suppose to.

As for what a properly encoded space character in a URL would be, I'm not exactly sure. I know it's either %20 or +, but I wont make the decision as to which of these it is.

If you by any chance believe that URLs *should* contain spaces, then that's another problem related to wp_enqueue_script. wp_enqueue_script removes spaces from it's URL. Again, if you think URLs should contain spaces, then wp_enqueue_script should include them.

Either way you think about it, get_bloginfo (including bloginfo) or wp_enqueue_script contains a defect. You may argue that you should not use spaces in your directory/file names to begin with, but this argument is irrelevant.

Thank you. I would appreciate this issue not being overlooked. :)",figaroo
18356,get_bookmarks() indefinitely caches randomly ordered results,,General,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-08T18:12:45Z,2011-08-12T01:11:20Z,"The get_bookmarks() function caches the results of all requests to the function in a single cache result so it can clear all the items when a new book mark is added.  However, randomly ordered results shouldn't be cached indefinitely.  This specifically affects the Links widget as it never refreshes when set to random order.",prettyboymp
22950,get_boundary_post Does not return single post object,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-15T00:56:48Z,2012-12-15T11:49:01Z,"`get_boundary_post` Seems not to return a single `post` object, the way `get_adjacent_post` does.

It seems that `get_boundary_post` should call `array_shift` or `get_post` on the results, in a similar way to `get_adjacent_post`.

It's just odd that the behavior is different.",pathawks
12016,get_calendar can output a calendar when there are no posts,,General,3.0,normal,normal,Future Release,defect (bug),reviewing,dev-feedback,2010-01-25T17:54:31Z,2010-11-13T09:06:16Z,"If a site doesn't have any posts, get_calendar isn't supposed to display a calendar. You can visit a page or have a static home page, and a calendar is displayed. The get_calendar function is looking at global $posts to determine if the site has posts but this variable can contain data from other post_types.

r12821",mtdewvirus
15838,get_home_path() mixes PHP and server paths,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-12-15T23:40:27Z,2011-12-16T03:15:52Z,"FYI: I've looked through the other get_home_path() tickets and believe this to be a different issue.

If the home and site urls are the same then you get a '''PHP relative''' path returned. i.e. it uses {{{ ABSPATH }}}, which is calculated using the PHP constant {{{__FILE__}}}
.

If the home and site urls are different you get a '''server relative''' path returned. i.e. one calculated via 
{{{$_SERVER[""SCRIPT_FILENAME""] }}}.


With web hosts who have the server and PHP paths configured consistently this is no problem.

But on 1and1 it could be if you are comparing the return value of this function against another path. If the function can either return a PHP or a server path then your code may not always work.

The server path (Apache) on 1and1 has an extra '/kunden' at the start. This means that PHP and Apache retrieve paths slightly differently.

Example.
Blog with same home and site urls

{{{
get_home_path =         /homepages/xx/dxxxxxxxx/htdocs/site1
}}}


Blog with different home and site urls

{{{
get_home_path = /kunden/homepages/xx/dxxxxxxxx/htdocs/site1
}}}


I'd suggest that as this is PHP the right thing to do is to always calculate the path using PHP relative paths - i.e. using 
{{{ __FILE__ }}} / {{{ ABSPATH }}} . Don't use the server relative paths at all as you can't rely on them being the same as the PHP ones. 

Certainly having a function returning a path that can be calculated from two different base paths is a bad idea.

For reference here's the current function:

{{{
function get_home_path() {
	$home = get_option( 'home' );
	$siteurl = get_option( 'siteurl' );
	if ( $home != '' && $home != $siteurl ) {
	        $wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */
	        $pos = strpos($_SERVER[""SCRIPT_FILENAME""], $wp_path_rel_to_home);
	        $home_path = substr($_SERVER[""SCRIPT_FILENAME""], 0, $pos);
		$home_path = trailingslashit( $home_path );
	} else {
		$home_path = ABSPATH;
	}

	return $home_path;
}
}}}
",reviewmylife
17374,get_pages() with child_of forgets sort,,General,3.1.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-11T10:06:17Z,2011-05-11T10:06:17Z,"If you call {{{get_pages()}}} with both the {{{child_of}}} and {{{sort_column}}}, the sorting is not applied.

{{{child_of}}} makes it select all pages (sorted) and later applies a subselect via {{{get_page_children()}}}. This subselect can mess up the sort order.

An example was reported on http://wordpress.stackexchange.com/questions/16921/get-pages-not-ordering-as-it-should

Related: #12821",janfabry
20251,get_preferred_from_update_core can return false,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-03-17T14:51:41Z,2012-03-17T14:51:41Z,"I just had a case in my network installation where get_site_transient( 'update_core' ) returned false.
In this case it gave an error message at core_update_footer();

When I went back to Network admin updates page and press 'check_again' the error went away.
The error can be caused because of running the recent nightly build (3.4-alpha-20205).

What was weird that in the site wp-admin there still was the balloon that there was an update when I had the error. When I pressed the button the balloon went away what is the correct.",markoheijnen
16863,get_terms hierarchical/hide_empty incompatible with include/exclude args,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-03-16T12:37:06Z,2012-09-13T09:36:55Z,"{{{
$terms = get_terms('taxName', array(
    'hierarchical' => true,
    'hide_empty' => true,
    'include' => array(1, 2, 3)
));
}}}
$terms will not contain a meaningful result set. In order for get_terms to process 'hierarchical' correctly it must recieve in 'include' a full list of term ids for all child terms that may have count > 0, this obviously negates the point of 'include' here.
'include/exclude' is processed at query level, 'hierarchical' is processed post query and expects the results of the query to be unfiltered.
The following patch seems to fix the issue in my application, I think this approach would need to take in 'child_of' also, which I haven't done here.
{{{
diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php
index 89532dc..2f51bea 100644
--- a/wp-includes/taxonomy.php
+++ b/wp-includes/taxonomy.php
@@ -1337,9 +1337,13 @@ function &get_terms($taxonomies, $args = '') {
 
 	// Make sure we show empty categories that have children.
 	if ( $hierarchical && $hide_empty && is_array($terms) ) {
+
+        $taxTerms = !(empty($include) && empty($exclude) && empty($exclude_tree)) ?
+            get_terms($taxonomies) : $terms;
+
 		foreach ( $terms as $k => $term ) {
 			if ( ! $term->count ) {
-				$children = _get_term_children($term->term_id, $terms, $taxonomies[0]);
+				$children = _get_term_children($term->term_id, $taxTerms, $taxonomies[0]);
 				if ( is_array($children) )
 					foreach ( $children as $child )
 						if ( $child->count )
}}}
",martinshopland
22369,get_transient() do not call delete_transient() when deleting one,,General,2.8,normal,normal,Awaiting Review,defect (bug),new,close,2012-11-06T01:27:01Z,2012-11-10T10:33:00Z,"Hello

i was wondering why get_transient() is not calling delete_transient when deleting a timeouted transient.

Piece of code from get_transient()
{{{
				$transient_option = '_transient_' . $transient;
				$transient_timeout = '_transient_timeout_' . $transient;
				if ( get_option( $transient_timeout ) < time() ) {
					delete_option( $transient_option  );
					delete_option( $transient_timeout );
					return false;
				}
}}}

but i need to trigger the ""deleted_transient"" hook.
Can we do that:
{{{
				$transient_option = '_transient_' . $transient;
				$transient_timeout = '_transient_timeout_' . $transient;
				if ( get_option( $transient_timeout ) < time() ) {
					delete_transient( $transient_option  );
					return false;
				}
}}}
",juliobox
23407,http 403 should be returned for private content,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-02-06T20:32:29Z,2013-02-07T09:18:40Z,"Right now a 404 is returned which indicates that there is no content at the URL while all you need to do in order to see it is to login.

Same probably applies to posts which where published and returned to draft state.

",mark-k
17078,is_active_sidebar() doesn't work with Numeric sidebar ID's,,General,2.8,normal,normal,Awaiting Review,defect (bug),new,,2011-04-07T10:06:54Z,2011-09-19T15:07:09Z,"This needs a small fix: 

Function is_active_sidebar( $index)  converts $index to a string

then uses wp_get_sidebars_widgets() to see if the sidebar is active

..but keys in the array wp_get_sidebars_widgets() generates can be integers if the ID's of the registered sidebars are integers",lanceo
24319,jQuery not loading in Admin.,,General,trunk,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-05-11T18:24:45Z,2013-05-12T15:12:28Z,"I was encountering an odd bug after updating to the newest nightly.

It appeared that no js scripts were being loaded by load-scripts in wp-admin.  Since CSS was obviously being included, I compared load-scripts.php and load-styles.php and found what appears to be a missing directory separator.

Changing

define( 'WPINC', 'wp-includes' );

to

define( 'WPINC', '/wp-includes' );

in wp-admin/load-scripts.php seems to have fixed the problem.  I'm not sure if this is the correct fix, but I did find it odd that load-scripts.php used different syntaxes to include their respective filenames:

from wp-admin/load-scripts.php:

require(ABSPATH . WPINC . '/script-loader.php');
require(ABSPATH . WPINC . '/version.php');

and from wp-admin/load-styles.php

require(ABSPATH . '/wp-includes/script-loader.php');
require(ABSPATH . '/wp-includes/version.php');",willhaynes24
10458,lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php,,General,2.8,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-07-21T14:10:36Z,2010-05-10T08:50:09Z,"lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php, this in turn disabled any action in the switch statement breaking the ability to logout.

Symtoms of this bug are: clicking logout in wordpress 2.8 and going to the login page but not really logging out.  Clicking logout in wordpress 2.3 and being redirected right back to the /wp-admin page.

adding this code to wp-login.php, fixes the behavior and re-enables all features in wp-login.php.

I don't know the wordpress code but if there is a section which deals with idiosyncrasies of web servers that lighttpd be detected and this code be run to deal with it. 

//
// Main
//


if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false)
{
$_lighty_url = $base_url.$_SERVER['REQUEST_URI'];
$_lighty_url = @parse_url($_lighty_url);
$_SERVER['QUERY_STRING'] = $_lighty_url['query'];
parse_str($_lighty_url['query'], $_lighty_query);
foreach ($_lighty_query as $key => $val)
$_GET[$key] = $_REQUEST[$key] = $val;
}
",myrond
12264,links truncated: link_url column in wp_links table -- datatype too small,,General,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-17T20:27:25Z,2011-08-03T19:55:37Z,"Here is my original post about the issue:  [http://wordpress.org/support/topic/365540?replies=3]

In short, the link_url column in the wp_links table has a datatype of VARCHAR(255).  As far as I know, there is no pre-defined limit to the length of a URL.  However, browsers typically enforce their own practical limits, the shortest of which is much larger than the 255 character limit that WP is enforcing.  Entering urls longer than 255 characters causes them to be truncated.

I tried altering the table so that link_url has a datatype of VARCHAR(1024).  This allowed me to use much larger links without them being cut off.  Therefore, I believe that the limiting factor is the DB and not some other code within WP.
",goto10
16916,make_clickable() and URI in context,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-21T15:56:00Z,2011-03-21T15:56:00Z,"I just stumbled over [http://tools.ietf.org/html/rfc3986#appendix-C Appendix C.  Delimiting a URI in Context] and was wondering if this has been taken into account for the make_clickable() routine so far.

Looks like <> angle brackets are  especially recommended as a delimitier.

IIRC we ingore it so far, would be nice to support the RFC.",hakre
21109,maybe_unserialized fails to unserialize multibyte strings (contains solution),,General,3.4,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-06-29T06:09:19Z,2013-04-24T22:31:38Z,"I've came across a bug trying to fetch a custom theme (http://themeforest.net/item/rebirth-the-wordpress-theme-for-churches/1167055) option (see addendum #1). The value was UTF8 value and unserialization failed. DB values were imported by the means of SQL query.

I applied the following fix:
instead of:

{{{
function maybe_unserialize( $original ) {
	if ( is_serialized( $original ) )  // don't attempt to unserialize data that wasn't serialized going in
            return @unserialize( $original );
    
	return $original;
}
}}}


I had:

{{{
function maybe_unserialize( $original ) {
	if ( is_serialized( $original ) ) { // don't attempt to unserialize data that wasn't serialized going in
        // fix from: http://www.php.net/manual/en/function.unserialize.php#76012
        $out = preg_replace('!s:(\d+):""(.*?)"";!se', ""'s:'.strlen('$2').':\""$2\"";'"", $original );
        return @unserialize( $original );
    }
	return $original;
}
}}}


and it worked like a charm.

I also think that it may have some connection to mbstring settings in php.ini on the server.

'''addendum #1'''

{{{
(wp_options, option_id='rebirth' option_value='a:47:{s:18:""js_highlight_color"";s:7:""#DB2A07"";s:7:""js_logo"";s:0:"""";s:14:""js_logo_height"";s:2:""70"";s:19:""js_background_color"";s:7:""#a8a3a3"";s:19:""js_background_image"";s:64:""http://hasulam.dev/wp-content/uploads/2011/12/bg-tile-dkgray.png"";s:29:""js_background_image_alignment"";s:8:""top left"";s:26:""js_background_image_repeat"";s:6:""repeat"";s:20:""js_footer_text_style"";s:4:""dark"";s:25:""js_background_image_fixed"";s:1:""0"";s:10:""js_favicon"";s:0:"""";s:14:""js_custom_font"";s:10:""FBBeeSerif"";s:24:""js_disable_page_comments"";s:0:"""";s:24:""js_disable_post_comments"";s:0:"""";s:25:""js_disable_event_comments"";s:0:"""";s:27:""js_disable_gallery_comments"";s:0:"""";s:25:""js_disable_video_comments"";s:0:"""";s:25:""js_disable_audio_comments"";s:0:"""";s:24:""js_homepage_page_display"";s:0:"""";s:18:""js_homepage_blocks"";a:5:{s:18:""js_homepage_slider"";s:1:""0"";s:22:""js_homepage_introblock"";s:1:""0"";s:12:""widget_block"";s:1:""0"";s:18:""js_event_countdown"";s:1:""1"";s:18:""js_footer_mapblock"";s:1:""0"";}s:23:""js_homepage_block_order"";s:33:""slider,introblock,block,countdown"";s:24:""js_homepage_slider_cycle"";s:3:""yes"";s:24:""js_homepage_slider_speed"";s:4:""6000"";s:35:""js_homepage_slider_transition_speed"";s:3:""500"";s:22:""js_homepage_intro_text"";s:224:""קהילת הסולם — היא קהילה דתית עם לימוד העמוק והמדויק ביותר של חכמת הקבלה ופנימיות התורה על פי דרכו של בעל הסולם והרב""ש זצוק""ל"";s:23:""js_social_icon_facebook"";s:32:""http://www.facebook.com/hasulams"";s:22:""js_social_icon_twitter"";s:30:""https://twitter.com/#!/hasulam"";s:21:""js_social_icon_flickr"";s:42:""http://www.flickr.com/people/80922930@N07/"";s:22:""js_social_icon_youtube"";s:40:""http://www.youtube.com/user/hasulammedia"";s:20:""js_social_icon_vimeo"";s:0:"""";s:25:""js_social_icon_foursquare"";s:36:""https://foursquare.com/user/30915399"";s:14:""js_time_format"";s:3:""24h"";s:21:""js_countdown_language"";s:7:""english"";s:21:""js_contactblock_title"";s:18:""בואו לבקר!"";s:20:""js_contactblock_text"";s:295:""אנו מזמינים אתכם לבא ולבקר אותנו בבית מדרשנו ברמת גן. כאן מתפללים, לומדים שיעורי ם עם הרב ובחברותות, קורסים וסמינרים בשבת. נשמח לראותכם או לשמוע מכם דרך המשוב באתר."";s:23:""js_contactblock_address"";s:33:""128 Jabotinsky, Ramat Gan, Israel"";s:26:""js_contactblock_buttontext"";s:17:""יצירת קשר"";s:26:""js_contactblock_buttonlink"";s:15:""/about/contact/"";s:14:""js_footer_text"";s:26:""Copyright ©[year] Hasulam"";s:12:""js_gmap_zoom"";s:2:""14"";s:14:""js_hide_social"";s:1:""0"";s:22:""js_disable_breadcrumbs"";s:1:""1"";s:13:""js_audio_link"";s:1:""0"";s:13:""js_video_link"";s:1:""0"";s:18:""js_hide_contactmap"";s:1:""0"";s:21:""js_contact_form_email"";s:22:""hasulam.site@gmail.com"";s:14:""js_404_content"";s:34:""צטערת, לא מצאתי הדף"";s:19:""js_google_analytics"";s:0:"""";}')
}}}
",veedeezee
19197,phplinter error reports against wordpress core.,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2011-11-07T17:34:14Z,2011-11-09T14:42:40Z,"One of our developer has been developing phplinter which can be found here [1] which gives wordpress core rather poor grade many of which are simply due to you guys having spaces mixed with tabs and whitespace after final close tag and others generally considered bad practices and few probably more serious.

Instead of me filing indvidual bugs for all of those I think it's best that you just git pull the phplinter and run it against wordpress then point your web browser against the report and flag/fix those that are relevant and those that are not.

An simple cli example is as follow...

#phplinter -wFIH  wordpress/ -o lintreport/ 

380 files, Average score: -2.86

Worst: wp-includes/class-simplepie.php with -303.39

[1] https://github.com/robotis/PHPLinter",vikingnr1
19714,plugins which use the 'authenticate' hook unable to return errors,,General,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-03T00:31:35Z,2012-11-20T17:37:34Z,"The 'authenticate' hook is designed to allow functions to return either an authenticated `WP_User` object (which will cause the user to be logged in), or a `WP_Error` object, which will cause the errors to be displayed to the user.

In practice, most plugins that use this hook don't rely on the username and password at all, but instead on other means entirely.  So what is happening with these plugins (the OpenID plugin chief among them), is that they are returning a `WP_Error` object that describes the error, but then the `wp_authenticate_username_password` function is ignoring that and returning its own `WP_Error` object which rightfully shows that the username and password fields were left empty.  Unfortunately, this error object (containing both an empty username AND password) is explicitly checked for and removed in the `wp_signon` method.  This is normally the right behavior and handles the case of a user who simply clicks ""Log In"" without entering anything... we don't show them an error, we just redraw the login form.  However, in the case described above, an actual error did occur with an authentication plugin, but the user simply sees the normal login form with no error displayed.

(patch forthcoming)",willnorris
15946,post_date_gmt ignored in wp_insert_post(),,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-22T00:41:40Z,2010-12-26T22:46:25Z,"If a post is inserted with `post_date_gmt` set and `post_date` not, `post_date` defaults to the current date/time, rather than being generated from `post_date_gmt`",kawauso
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
22781,setUserSetting cannot handle hyphens,,General,2.7,normal,normal,Future Release,defect (bug),new,early,2012-12-06T06:18:39Z,2012-12-06T18:25:43Z,"sanitize_key() can, setUserSetting should be able to as well. It's not that sanitize_key() plays a role, but it sets expectations for what is allowed in keys across core. Both keys and values should be able to accept a hyphen.

The post-thumbnail image size cannot be remembered, for example, if it is added to image_size_names_choose.",nacin
16472,set_query_var() / get_query_var() does not work for NULL values,,General,,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-06T16:08:06Z,2011-02-09T16:54:38Z,"Setting a query var to NULL will convert it into an empty string:

{{{
$name = 'test';
$value = NULL;
set_query_var($name, $value);
$get = get_query_var($name);
echo $value === $get ? 'same' : 'different';
var_dump($get);
}}}

This will output ""different"" and showing that the query var now is an empty string.",hakre
13208,shared code in get_mu_plugins() and get_dropins(),,General,,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-02T03:22:40Z,2010-11-13T07:56:26Z,"Aka code buplication.


FYI closedir() is not necessary in PHP. It only consumes runtime and memory if you use it especially with the @ operator.",hakre
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
24371,tags and editing publishing date do not work,,General,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-05-20T13:37:34Z,2013-05-20T14:22:07Z,"Create a new post via firefox. try to change publishing date to future, does not work. try to add tags using most used tags and also adding new tags, no tags are added. at some point, I saved this as a draft but I think it was after I tried to changed the publishing date.",Shira.victor
12056,"target=""_blank"" being stripped from Profile Bio and Category Description",,General,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-01-27T16:50:00Z,2011-05-31T19:32:07Z,"Many apologies if this is a duplicate. I have searched but did not find it yet posted.

I noticed that target=""_blank"" is being stripped from my ""a href"" tags my profile ""Biographical Info"" field even though the ""a href"" with the URL and closing tag still remain. It happens every time I save my profile. 

This was independently verified.

It is a regular wordpress install running 2.9.1 (not wordpressmu, etc.).

My original thread can be found here:
http://wordpress.org/support/topic/355388?replies=1",lovewpmu
14938,title of add_settings_section and add_settings_field,,General,,normal,normal,Future Release,defect (bug),new,,2010-09-22T16:44:40Z,2011-01-16T17:10:15Z,"When the title of both these functions is left blank, they echo 
<h3></h3> and <table><th>.... on to the page. 

When the title is left blank, they shouldn't add the blank tags.",gandham
11734,trackback_rdf() for IDN (xn--) Domains produces invalid HTML,,General,3.1,normal,normal,Future Release,defect (bug),new,close,2010-01-06T01:10:55Z,2012-02-20T12:22:02Z,"Hello

The trackback_rdf() function from wp-includes/comment-template.php wraps the ""<rdf:RDF>...</rdf:RDF>"" output inside ""<!-- ... -->"" HTML comments, probably to be safe as not all Browsers understand them.

When using Wordpress 2.9.1 on a site with an international domain name [1] that contains special characters like German ""Umlauts"" like äöü, this domain name is written as e.g. xn--tst-qla.de for täst.de.

Now the output of trackback_rdf() suddenly gets a ""--"" which is the SGML/HTML comment separator mark [2]. Firefox 3.5.6 e.g. sees this as the end of the comment and therefore shows the final ""-->"" as text to the user.

As the whole RDF tag is supposed to be invisible for the user, it's a bug in Wordpress :-(

Here is an real world example output:

{{{
                     <p class=""post-tags"">

                      </p>
				  <p class=""post-info"">
					  				  </p>
				  <!--
				    <rdf:RDF xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#""
				xmlns:dc=""http://purl.org/dc/elements/1.1/""
				xmlns:trackback=""http://madskills.com/public/xml/rss/module/trackback/"">
			<rdf:Description rdf:about=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/""
    dc:identifier=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/""
    dc:title=""Wortlieblinge""
    trackback:ping=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/trackback/"" />
</rdf:RDF>				  -->
			  </div>
}}}


Sadly I have not yet come up with a solution. PHPs urlencode() does not escape a double dash - which is ok as its usually perfectly valid. Maybe someone with RDF experience has a good idea.

bye,

-christian-


[1] http://en.wikipedia.org/wiki/Internationalized_domain_name#Example_of_IDNA_encoding

[2] http://htmlhelp.com/reference/wilbur/misc/comment.html



",lathspell
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
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
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
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
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
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
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
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
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
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
13575,wp_max_upload_size() is not taking memory limit into account,,General,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-27T12:38:41Z,2011-03-08T15:14:43Z,"wp_max_upload_size() is not taking a memory limit into account while checking for the maximum upload size.

according to the official php documentation the memory limit is limiting file uploads as well (and post form operations).


> post_max_size - integer [[BR]][[BR]]
> Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.

[http://www.php.net/manual/en/ini.core.php#ini.post-max-size Source]",hakre
12657,wp_signon() adds one filter per call,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-03-20T11:52:10Z,2010-10-02T00:35:56Z,"If wp_signon() is called multiple times, the filter will be added multiple times. Next to this a lot of the function seems to be just typed in in the wish that it does work instead of doing things properly. See quote: ""ugly hack to pass this to wp_authenticate_cookie"" or leftover TODO markings and the like.

Should be put in order prior to next release.",hakre
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
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
16686,$user argument of get_edit_profile_url() should be optional,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-02-27T05:40:21Z,2011-02-27T09:54:36Z,It should default to the current user.,nacin
23471,"Abstraction of post format parameters (wp_update_post(), XML-RPC, template tags)",,General,trunk,normal,normal,Future Release,enhancement,new,,2013-02-13T19:55:58Z,2013-05-16T12:07:38Z,"#19570 is introducing a UI for post formats. Correspondingly, various post meta fields will be introduced to store the extended data that's used in some post formats (eg. the URL field for a link or the source field for a quote).

Anything that interacts with the XML-RPC API and wants to support post formats (eg. future versions of the [http://wordpress.org/extend/mobile/ WordPress mobile apps]) will therefore need to:

 1. Send the various post format meta fields in its requests, and
 2. Receive the various post format meta fields in responses.

There should be some abstraction available at all levels of saving and fetching posts, don't we have to deal with the post meta fields directly. We should:

 1. Introduce a new parameter to the `wp.newPost` and `wp.editPost` XML-RPC methods for specifying the values of the extended post format fields when saving posts,
 2. Introduce a new parameter to the `wp.getPost` and `wp.getPosts` XML-RPC methods for returning the values of the extended post format fields when fetching posts,
 3. Introduce a new parameter to `wp_update_post()` for specifying the values of the extended post format fields when saving posts, and
 4. Introduce template tags for displaying/returning the values of the extended post format fields.

Point number 4 may be being covered somewhere else. I know it's been mentioned in IRC but I couldn't find mention of it on Trac.

The end result of this is that extended post format data is abstracted from its storage method.

Consideration: Which of these fields will be required and which are optional (on a per-post-format basis).

Thoughts? I'm happy to volunteer a first patch (or patches).",johnbillion
17455,Add $post_type argument to get_lastpostdate/get_lastpostmodified/_get_last_post_time,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-05-16T15:05:59Z,2011-05-16T16:00:05Z,As title says. You can currently use these functions to only get the latest [modification] date of all publicly queryable content types.,duck_
18816,Add 'offset' parameter and 'ancestral' boolean to wp_nav_menu,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T16:13:42Z,2011-09-29T16:13:42Z,"Since we can now call wp_nav_menu multiple times and there is the very useful 'depth' parameter, I believe adding an 'offset' parameter would be very beneficial in many situations. This would allow you to start at the children of the main pages for example and combined with depth it becomes very powerful. An 'ancestral' => 'true' option could output only menu items that the current page is a descendant of. Currently if you want to display a main menu in the header and then a submenu on page.php you either need a tricky custom walker or terrible CSS 'visibility:hidden' or 'display:none' situations.",signyourbikeout
21014,Add Action to Form Tags In Settings Pages,,General,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-18T19:04:14Z,2012-06-18T19:04:14Z,"It would be nice to have additional hooks that allow adding attributes to form tags in settings pages.

For example, if you would like to allow a user to upload an image in a settings page, you need to add the enctype attribute to the form tag. Having a hook would allow you to avoid doing this with JS.

user-edit.php and user-new.php allow this using the 'user_edit_form_tag' and 'user_new_form_tag' hooks respectively, and it appears that edit-tag-form.php is adding this also. (http://core.trac.wordpress.org/ticket/15261)",desrosj
21488,Add Default Callback Functions for add_settings_field(),,General,,normal,normal,Future Release,enhancement,reopened,dev-feedback,2012-08-05T23:22:00Z,2013-02-24T04:57:58Z,"By default, when creating options in plugins and themes, every developer is required to create custom callback functions for rendering their option's HTML. The HTML for most options is nothing more than a standard INPUT field, a SELECT field, TEXTAREA field, etc, so there's really no reason there shouldn't be default callback options in place.

For example, if I have a plugin that registers one text field option in the General settings page, it really doesn't make sense that I should be forced to create a callback function, especially not when probably 99% of all text fields are outputted in exactly the same way: 

{{{
<input name=""FIELD NAME"" id=""FIELD ID"" value=""FIELD VALUE"" class=""regular-text""/>
<div class=""description"">The description of the field (if present)</div>
}}}

With default field callbacks available, developers can do this:


{{{
function pw_register_settings() {
	register_setting( 'general', 'pw_sample_option', 'esc_attr' );
	add_settings_section( 'pw_sample_section', 'This is a Sample Section', 'pw_sample_section_cb', 'general');
	add_settings_field( 'pw_sample_option', 'A Sample Setting', 'text', 'general', 'pw_sample_section', array( 'description' => 'The field description' ) );
}
add_action('admin_init', 'pw_test_settings');

function pw_sample_section_cb() {
	// this is the section HTML (if you want it)
}
}}}

This is much simpler than also having to write the callback function to render the HTML for the option.

The patch attached adds the following default callbacks:

* text
* textarea
* select
* radio
* checkbox
* checkbox_group

For select, radio, and checkbox groups, the options are passed as an array of ""choices"" in the last, optional $args parameter for add_settings_field():

{{{
$options = array( 
	'one' => 'The Choice Name',
	'two' => 'The Second name', 
	'three' => 'The Third option'
);
add_settings_field( 'pw_sample_option', 'A Sample Setting', 'select', 'general', 'pw_sample_section', array( 'choices' => $options, 'description' => 'This is a select' ) );

}}}

When a user wants to create a custom callback function, this is still allowed as call_user_func() is the default in the `$field['callback']` switch statement for the do_settings_fields() function.",mordauk
14960,Add More bulk actions to the link manager,edwardw*,General,,low,normal,Future Release,enhancement,accepted,dev-feedback,2010-09-25T22:11:35Z,2011-09-23T21:26:10Z,"Currently, the link manager supports only one bulk action, which is delete. 
If there are a lot of links, making links visible and invisible is now a tedious process. A bulk action for ""make visible"" and ""make hidden"" would be a good enhancement, IMHO.",teraom
19514,Add Per Page Filter for Nav Menu Post Type Meta Box,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-12T15:40:53Z,2011-12-12T15:40:53Z,"Currently, there is a default (50) for paginating Post Type Entries on the wp_nav_menu_item_post_type_meta_box(). While there are other ways to filter this, it would be great for larger sites or larger number of post objects to be able to increase this for UX reasons.",wpsmith
20357,Add Return Empty String Function,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-04T21:20:39Z,2013-03-07T16:53:39Z,"There's an easy way to return boolean, integer (0), and an empty array. But what about an empty string?
root\wp-includes\functions.php
{{{
/**
 * Returns an empty string.
 *
 * Useful for returning an empty string to filters easily.
 *
 * @since 3.0.0
 * @see __return_empty_string()
 * @return string Empty string
 */
function __return_empty_string() {
	return '';
}
}}}",wpsmith
21168,Add ability to remove a parent theme's page templates,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-07-05T19:32:31Z,2012-08-05T23:54:15Z,"When building a website using a child theme, I'll often want to remove page templates that the parent theme provides but aren't useful/relevant to the specific site I'm building. 

You can create a page template with the same name to override the parent theme's, but you can't simply remove it.

This could be a use case of #13265, or we could add function that leverages #13265",billerickson
18550,Add args to signup_finished action,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-08-31T00:07:01Z,2011-08-31T00:31:40Z,"In wp-signup.php there are 2 calls to do_action( 'signup_finished' );

1) When an user sings up.
2) When a new user sing up and a new site (in Multisite) is created.

It'd be good to have a way to diferenciare this differente scenarios. Also, it'd be good to have the registered user info passed to this action.
",rabino
18244,Add autoload flag to update_option,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-07-25T16:21:21Z,2011-07-25T16:21:21Z,I think having an autoload flag in update_option would be beneficial in terms of making sure developers aren't unknowingly autoloading every single option. I've created a patch that allows developers to define autoload using update_option and force a change if needed.,wpdavis
14541,Add boolean at remove_meta_box action,,General,3.0.1,normal,normal,Future Release,enhancement,new,has-patch,2010-08-05T09:09:51Z,2010-11-18T10:09:59Z,"Add the possibility of getting the status of the remove_meta_box action by boolean.
Can be useful if you want to add/remove other metaboxes if one other is present or not.",Rahe
11581,Add category description to wp_list_bookmarks(),,General,2.9,normal,normal,Future Release,enhancement,new,has-patch,2009-12-23T20:09:22Z,2010-07-15T09:02:13Z,Add a parameter to display the link category description under the category title in wp_list_bookmarks() in bookmark-template.php. Setting a link category description is an option in the manager panel but there is not a good way to display it without modifying the core function itself a la http://www.brainshitting.com/index.php/archives/241,nedsferatu
18574,Add class_name support to wpdb,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-02T20:03:58Z,2011-09-02T20:03:58Z,"As of PHP 5.0.0, the second parameter to mysql_fetch_object takes a class name which will be instantiated instead of stdClass. This will be handy as we upgrade core objects (see #12267 and #15458). I am using the attached patch on WordPress.com to simplify a lazy process. The effect is similar to what  does with WP_User but the code is much simpler.

The attached patch is fully backward-compatible unless you have defined classes named OBJECT, OBJECT_K, ARRAY_A, or ARRAY_N.

It could be improved by supporting the third parameter to mysql_fetch_object, an array of parameters to pass to the constructor. (For instance, you might want to pass $blog_id when constructing a WP_User). Adding this parameter would be perfectly simple if get_row did not already have a third parameter, $y, which is not used in core and should be removed because it invites wasteful queries.",andy
11212,Add filter to wp_parse_args(),,General,2.9,lowest,normal,Future Release,enhancement,reopened,,2009-11-21T05:23:01Z,2011-02-02T09:23:16Z,"This will allow for some l33t hackery (basically being able to modify a wide variety of functions).

Think we could squeeze it into 2.9 since it's just a filter?",Viper007Bond
23257,Add plural versions of Post Format strings,,General,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-01-22T00:59:30Z,2013-02-04T08:45:32Z,"To make it easier for theme authors to create meaningful titles for post format archive pages, we could extend `get_post_format_strings()` to also provide a standardized set of plurals.

I'm not entirely sure whether the plurals I used in the diff are the ones we actually want to go with (apparently there is no plural of 'Audio'?), but the change is fairly simple and is backwards compatible.

See [https://github.com/Automattic/_s/pull/137 this discussion] for additional context.",obenland
17594,Add pre_get_home_url hook for plugins,,General,3.2,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-05-27T20:07:46Z,2011-08-26T02:46:22Z,"We need to allow plugins to ""do stuff"" in pre_get_home_url. In profiling today, we wrote some code that, if we have this hook, would allow a reduction of computations from x (in our case, 4000) down to 1 using a pseudo-cache technique. 

While that code isn't core-worthy, having a hook to allow plugin modification would incredibly enhance the ability to make WP more efficient on scale.",technosailor
16945,Add relative URIs containing a query in esc_url(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:37:36Z,2011-03-23T08:18:14Z,"I'd like to enhance the esc_url function to accept an url starting with ? (query) to not require a protocol.

That's comparable with the # (fragment) case we already have in.

This is useful to create links to the current page that need a query only. Otherwise the php file must be added and for frontend pages it won't work with pretty permalinks.",hakre
10946,Add set_post_field(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2009-10-12T16:58:43Z,2009-11-17T15:05:33Z,"get_post_field() should have a matching function that updates a certain field.

Very useful both for Core and for plugins.",scribu
23237,Add tag function to format markup,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-01-19T06:46:55Z,2013-05-16T04:32:30Z,"Related to #23236 I'd like to add a generic function for making html tags:

{{{
wp_tag( $tagname, $attrs, $inner_html ) // returns an html tag
wp_tag_e( $tagname, $attrs, $inner_html ) // echoes an html tag
}}}

$attrs could be an array|string, and the tag should only close if $inner_html is defined, like tag() in [http://phat.airve.com phat].",ryanve
16431,Adding include to wp_list_comments(),,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-01T04:27:50Z,2011-02-01T07:23:31Z,"I have been building a simple forum on Wordpress using posts as questions, top-level comments as answers, replies as comments on answers. 

Choosing a best answer is available, which adds the ID of the chosen answer (comment) ti the postmeta of the question. 

I would like to arrange my answers so that the first one is the chosen best answer, and below you can view the normal flow of answers.

It would be nice if this could be done using wp_list_comments(). I would call it once and use ""include"" to show just the one comment, and then I would call it again without the include to show the usual flow of comments. 

I believe this might be generally helpful in other cases as well though.  ",danielpataki
23387,Adding priority to individual settings via the settings API.,,General,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-05T00:05:19Z,2013-02-05T11:54:36Z,"Currently there is no way (at least that I could find) to specify the order of settings on a settings page (for example, a theme options page). Use case: a child theme adding a setting to the parent theme's ""Theme Options"" page has no way of specifying the order in which the new setting should be inserted. 

I've modified the add_settings_field() function to allow for a priority to be set (much like when adding settings to the theme customizer). I also added uasort($wp_settings_fields[$page][$section], 'compare_priority'); to the do_settings_fields() function, where 'compare_priority' is a slightly modified version of the compare function used to set the priority of the theme customizer sections.

This patch is loosely related to #22487 which adds priority to settings sections, but not individual settings.",alexmansfield
22487,Adding priority to settings sections.,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-17T09:08:34Z,2013-02-05T10:35:14Z,"Currently there is no way (at least that I could find) to specify the order of settings sections on a settings page (for example, a theme options page). Use case: a child theme adding a settings section to the parent theme's ""Theme Options"" page has no way of specifying where on the page the new section should be placed.

I've modified the add_settings_section() function to allow for a priority to be set (much like when adding sections to the theme customizer). I also added `uasort($wp_settings_sections[$page], 'compare_priority');` to the do_settings_section() function, where 'compare_priority' is a slightly modified version of the compare function used to set the priority of the theme customizer sections. The patch is based on version 3.4.2, but I'd be happy to make another for the development version if that would help.

This is my first patch submitted, so please let me know if I need to do anything differently. Thanks!",alexmansfield
14741,Allow MS sites to share a posts table,filosofo,General,3.0.1,normal,normal,Future Release,enhancement,new,,2010-08-30T22:20:24Z,2010-08-30T22:20:24Z,"MS should allow admins to set a constant in `wp-config.php` that looks for all post objects to be in the main `posts` table.  When that constant is true, one could distinguish sites by a postmeta value.

This would make activity-stream like stuff across sites much easier to do as well as allow network-wide custom post types.",filosofo
22631,Allow change of dropins folder,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-11-29T07:02:44Z,2012-11-29T15:44:06Z,"Dropins are stored in the `wp-content` directory. Currently there is no way to alter this (short of editing core code).

The `get_dropins()` function does not utilize filters or predefined constants in any way.

Probably the best method here would be to define `WP_DROPINS_DIR` constant in `/wp-includes/default-constants.php` that can be overridden in wp-config.php.",bungeshea
10722,Allow filtering of whether or not 404 should be handled.,markjaquith,General,2.8.5,normal,normal,Future Release,enhancement,assigned,has-patch,2009-09-02T17:50:14Z,2012-09-24T02:22:27Z,"There are certain situations where a user may not want the page to always 404 when there are no posts for the given permalink.  IE, author pages, dates, etc.  There should be a filter available to allow the 404 handling to be bypassed.",prettyboymp
20048,Allow mt.getRecentPostTitles to return the sticky flag,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-02-15T14:02:03Z,2012-02-15T14:02:03Z,"Would be nice to return the value of the sticky flag in the mt.getRecentPostTitles response. This XML-RPC call is mostly used on mobile clients, and we need to show a visual indicator on ""sticky"" posts. Obviously, we can  call metaWeblog.getRecentPosts, but it is a ""more expensive"" XML-RPC call.",daniloercoli
12721,Allow post_type's _edit_link to be outside of the admin.,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-03-26T13:07:49Z,2010-05-15T10:06:36Z,get_edit_post_link runs the post_type's _edit_link through admin_url() always forcing the edit page to be within wp-admin.  There are times where this isn't desired.  I'm submitting a patch to check that the url of the _edit_link doesn't begin with http(s?): before running it through admin_url ,prettyboymp
12494,Allow selectable value in Walker_*Dropdown classes,,General,,normal,normal,Future Release,enhancement,new,dev-feedback,2010-03-03T06:17:50Z,2010-03-26T03:04:47Z,I think we should be able to select either term_id or term_slug as the output value for Walker_CategoryDropdown class and likewise either ID or post_name for Walker_PageDropdown class.,jfarthing84
14804,Allow the_title_attribute() to accept a post ID,,General,,normal,normal,Future Release,enhancement,new,has-patch,2010-09-07T15:41:38Z,2011-01-14T03:48:09Z,"`the_title_attribute()` does not currently accept being passed a post object/ID and therefore, via its call to `get_the_title()` without an argument, always assumes the current post.  By simply allowing its `$args` array to accept and use a ""post"" value, then the function can be used to generate an attribute-friendly post title for any specified post.

Attached is the patch enabling this.  The `$args` array is amended with a ""post"" element, default of 0 (which maintains current default behavior).  Since `get_post()`, by way of `get_the_title()`, accepts a post ID or post object, either type can be assigned as value for the ""post"" element.
",coffee2code
17526,Allow themes and plugins to disable options in the admin,,General,,normal,normal,Future Release,enhancement,new,,2011-05-20T20:19:50Z,2011-05-20T22:09:04Z,"I frequently set options in functions.php by hooking 'pre_option_*', thus whatever the user does in the admin interface they can't change it.

There should be a filter to make the option obviously disabled to the user (it should probably also set the disabled attribute on the form fields) and perhaps add a short message saying for instance ""This option was changed by $plugin_name, visit $link to change it."" or ""This option has been set by the '$theme_name' theme. It cannot be changed.""",holizz
11642,Allow to define upload path and url in wp-config.php,,General,2.9,normal,normal,Future Release,enhancement,new,,2009-12-27T11:11:35Z,2012-09-28T11:44:33Z,"When someone wants to move default directories elsewhere, he/she must do work in two places: add defines to wp-config.php and change upload path on settings page. I think it will be good to introduce two new defines: UPLOAD_PATH and UPLOAD_URL_PATH. When they will be defined, WordPress should use them and do not allow to change these on settings page - similarly to home and site url options.",sirzooro
16734,Allowing multiple selection when using wp_dropdown_categories,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-02T22:58:25Z,2012-01-11T23:40:00Z,"I would like to be able to pass an argument to wp_dropdown_categories() to allow the user to select more than one category using a CTRL-CLICK. I can use a preg_replace to add the multiple tag to the html select tag, but I cannot pass multiple selections in the ""selected"" argument. 

I modified two files (wp-includes/category-template.php and wp-admin/css/wp-admin.css) to add this option and will include patches for these files. It adds a boolean argument for ""multiple"" to wp_dropdown_categories and uses in_array to check if terms are listed in an array in the ""selected"" argument, casting it as an array if it is not. I have tested this patch to work in the latest trunk (3.1).

The change in the w-admin.css is so the multiple selection box is tall enough to show the slider and more than one category.",grandslambert
21521,Audit use of set_time_limit(),,General,3.4.1,normal,normal,Future Release,enhancement,new,,2012-08-08T17:28:21Z,2012-10-18T13:07:12Z,Core calls this half a dozen times. The call in wp_get_http() interferes with unit tests. Unit tests will terminate 60 seconds after wp_get_http() is called. Let's justify each use of set_time_limit() and remove what we can.,ryan
18954,Automatically whitelist screen options added via add_screen_option(),,General,,normal,normal,Future Release,enhancement,new,early,2011-10-14T22:54:08Z,2011-11-25T19:27:18Z,"{{{set_screen_options()}}} currently maintains a hardcoded whitelist of screens that can set options.

The list is extendable via the filter:

{{{
apply_filters('set-screen-option', false, $option, $value);
}}}

but that's sort of a pain.  If a plugin calls {{{add_screen_option()}}}, it should be added to the whitelist automatically.

Also note that {{{set_screen_options()}}} is called so early, there's no convenient place for plugins to add to the {{{set-screen-option}}} filter.  The best workaround I've been able to come up with is to manually call {{{set_screen_options()}}} again inside the page's {{{load-$hook}}}.

Example naive plugin code that does not work in <=3.3.

{{{
# Inside a menu page's load-$hook
// Display per-page settings in screen options
add_screen_option( 'per_page', array( 'label' => __( 'Things' ) ) );
}}}",mdawaffe
21258,Autosuggest for tags suggests tag already chosen,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-07-13T12:38:03Z,2012-07-13T12:38:03Z,"When entering tags in the meta box on a post (or page) edit screen in admin, the AJAX autosuggest will suggest tags that have already been added to the post (i.e. shown below the input field).

Steps to reproduce:

1. Go to the post edit screen.
2. Add a tag (example: ""Apple"") to the current post.
3. Type ""App"" in the tag entry field and wait for autosuggest to come up.
4. ""Apple"" is listed in the suggestions dropdown.

I've investigated this a little, and I don't think there's a really easy patch for this (mostly because of how suggest.js works). However, it would imho be very elegant to fix this. Perhaps autocomplete.js can be of service here (see issue #12399)?",roytanck
19825,Bugs and modifications to localize script,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-01-13T16:47:55Z,2012-01-18T20:00:08Z,"After working in trunk, I noted that I get a fatal error when trying to localize some objects with wp_localize_script informing me that I cannot use an object of that type as an array. For tests, I've done this with $wp, $wp_query, $wpdb, and $wp_scripts on a clean install with no plugins.

I also have been working on sites that would like to compress all of their JS calls into a single request where possible, but in the past I was not able to keep localizations that certain scripts required, and had to leave them out.

With the changes I've made in this patch file, the issues regarding pushing arbitrary objects for localization are addressed. It also stores those objects, rather than a string of JS with $wp_scripts. This allows me to pull the localizations used for some files, and attach them instead to another file using wp_localize_script.

As a side benefit, by not processing the object into JS until output, we are able to preserve the data cleanly, and reduce process on any script that may be dequeued later that has such dependencies.

I would like to submit this patch as a core patch for a future release. Its design is fully compatible with existing functionality in 3.3, with the exception of any code modifying the underlying data key in an enqueued script directly.",ssmathias
16185,Bulk Actions Dropdown Box JS Sync Ajax-Tables,,General,3.1,normal,normal,Future Release,enhancement,new,has-patch,2011-01-11T11:15:33Z,2012-07-26T19:25:41Z,"It would be an increase in usability - if JS is enabled - to sync the changes between the bulk-action-drop-down on top of the table with the one below the table.

In my scenario I increased the amount of entries to over 100. So you need to scroll. So to set the bulk action on top and then you might think twice, need to check something, scroll down to the list to check the last entry and you want to press the bulk submit down below.

That combo box is still on the default value right now. To spare additional clicks, it would be nice that it got synched with the one on top.

Related: #14579; #15580",hakre
18243,Can you make `add_settings_error` work for custom top-level admin menus?,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-07-25T13:13:33Z,2013-03-15T23:46:07Z,"Currently when trying to use the Settings API on custom top-level admin menus, `add_settings_error` will fail to work. It fails silently, and no error message is displayed. I'm told this is because `options-head.php` is not included on custom top-level admin menu pages.",jcskyrocket
20298,Change requires to require_once,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,close,2012-03-24T22:39:20Z,2012-04-01T17:58:37Z,"Wordpress partially uses ""require"" to include files. I'd prefer to have require_once everywhere where a file really shouldn't be included twice. I'm currently developing an HTTP-Server (https://github.com/pp3345/Pancake) with a function to keep ""static"" codefiles (for example files that only do class-definitions and don't actually really execute any code) in some kind of a cache so that they don't need to be loaded again on every single request in order to improve performance. When I now, for example, load the wp-includes/class-wp-walker.php into the cache at the beginning and then Wordpress tries to require the file again, it fails with an Fatal Error due to trying to define the class again. Using require_once instead of require in Wordpress can be done quickly and would easily fix this. Also, it could improve the codes quality a bit.",pp3345
22110,Check for current conditional,,General,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-10-05T17:12:18Z,2012-10-11T00:37:05Z,"More than once I've needed a programmatic way to determine what page is being displayed, for example when implementing event tracking recently:


{{{
add_action( 'wp_enqueue_scripts', function() {
	wp_enqueue_script( 'my-site', get_template_directory_uri() . '/js/mysite.js', array( 'jquery' ), '1', true );

	// Figure out what type of page we're on
	$is = '';
	foreach ( $GLOBALS['wp_query'] as $key => $value ) {
		if ( true === $value && 'is_' === substr( $key, 0, 3 ) ) {
			$is = substr( $key, 3, strlen($key) );
			break;
		}
	}
	wp_localize_script( 'my-site', 'event_tracking', array(
		'category' => $is,
	) );
} );

}}}
And then used like:

{{{
<a onclick=""_gaq.push(['_trackEvent', event_tracking.category, 'more-stories', 'click']);"">Action</a>
}}}

Now granted the above way to determine the current page is a little janky, and has at least one flaw (on custom post type archives because both ""is_archive"" and ""is_post_type_archive"" are set, and it will find ""is_archive"" first, every time).  TBH this was me with a bowl of chili in one hand trying to avoid typing out ""if ( is_* ) { } elseif ( is_* ) { } elseif ( is_* ) {} ..."".  

A saner function would probably explicitly check each conditional, which would make it a little more tedious but also more maintainable:

{{{
function where_am_i( $return = 'simple' ) {
	global $wp_query;
	
	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.5' );
		return false;
	}
	
	$primary = null;
	$secondary = null;
	$tertiary = null;
	
	// Tried to maintain the hierarchy from query.php
	if ( true === $wp_query->is_robots ) {
		$primary = 'robots';
	} elseif ( true === $wp_query->is_attachment ) {
		$primary = 'attachment';
		$secondary = 'single';
		$tertiary = 'singular';
	} elseif ( true === $wp_query->is_page ) {
		$primary = 'page';
		$tertiary = 'singular';
	} elseif ( true === $wp_query->is_single ) {
		$primary = 'single';
		$secondary = 'singular';
	} elseif ( true === $wp_query->is_search ) {
		$primary = 'search';
	} elseif ( true === $wp_query->is_time ) {
		$primary = 'time';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_day ) {
		$primary = 'day';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_month ) {
		$primary = 'month';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_year ) {
		$primary = 'year';
		$secondary = 'date';
		$tertiary = 'archive';
	} elseif ( true === $wp_query->is_date ) {
		$primary = 'date';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_category ) {
		$primary = 'category';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_tag ) {
		$primary = 'tag';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_tax ) {
		$primary = 'custom_taxonomy';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_author ) {
		$primary = 'author';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_post_type_archive ) {
		$primary = 'post_type';
		$secondary = 'archive';
	} elseif ( true === $wp_query->is_feed ) {
		$primary = 'feed';
	} elseif ( true === $wp_query->is_trackback ) {
		$primary = 'trackback';
	} elseif ( true === $wp_query->is_comments_popup ) {
		$primary = 'comments_popup';
		$secondary = 'comments';
	} elseif ( true === $wp_query->is_preview ) {
		$primary = 'preview';
		$secondary = 'singular';
	} elseif ( true === $wp_query->is_admin ) {
		$primary = 'admin';
	} elseif ( true === $wp_query->is_comment_feed ) {
		$primary = 'comment_feed';
		$secondary = 'comments';
		$tertiary = 'feed';
	} elseif ( true === $wp_query->is_404 ) {
		$primary = '404';
		$secondary = 'singular';
	} elseif ( true === $wp_query->is_home ) {
		$primary = 'home';
		if ( true === $wp_query->is_posts_page ) {
			$secondary = 'posts_page';
			$tertiary = 'page';
		} else {
			$secondary = 'static_page';
		}
	}
	
	if ( 'detailed' === $return ) {
		$details = compact( $primary, $secondary, $tertiary );
		$details = array_filter( $details ); // Remove empty
		return $details;
	}
	
	// 'simple' === $return
	return $primary;
}
}}}

Should it use $wp_the_query so that it always acts on the main query?  ",mintindeed
16943,Code Cleanup add_query_arg() + friends,,General,3.1,normal,normal,Awaiting Review,enhancement,new,needs-unit-tests,2011-03-23T05:41:22Z,2011-03-23T07:11:27Z,"This should reduce the complexity of add_query_arg() a bit.

This is partially related to PHP 5 stuff (#16918,#16920) we can make use of now.

Originated in #16932 

Related: #16942",hakre
18489,Create constants in default-constants.php for the uploads folder to allow better custom uploads location,eddiemoya,General,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,close,2011-08-19T20:11:41Z,2013-03-16T04:24:33Z,"There are cases in which a the uploads directory might need to be divorced WP_CONTENT_DIR, currently the only thing we can use is the UPLOADS constant, which works but is relative to ABSPATH and as such limits where the uploads directory can be moved to.

In default-constants.php we have constants for the wp-content, and plugins folder - the uploads folder is a natural addition to this. Currently there is only a poorly documented UPLOADS override in wp_uploads_dir, which can be overridden in wp-config.php. I also think there should be a similar constant for the themes folder, but I would that would be a bit more complex of a change.

I have create a new function in default-constants.php which introduce WP_UPLOADS_DIR and WP_UPLOADS_URL, which are called after wp_plugins_directory_constants() in wp-settings.php - because that function create WP_CONTENT_URL, which is needed in order to create WP_UPLOADS_URL.

It is important to note that I have not changed any of the precedent in terms of what overrides what - the uploads_path option still overrides the default location (or now, the potentially custom location) defined by the new constant, ''the old UPLOADS constant will still override either of them if it is set''. Thats the way it worked before and that behavior has been preserved.

Additionally, I have patched /wp-includes/function.php wp_uploads_dir to make use of these new constants as well as a little clean up of some related logic.

First patch to core - go easy.",eddiemoya
13504,Create cookie name hash option,,General,,normal,normal,Future Release,enhancement,new,,2010-05-23T16:45:47Z,2010-05-23T16:46:10Z,"I put this on future release but we should do it early in 3.1. Currently, by default,

an upgraded MU install has an empty string as a cookie name hash

a single WP site uses the siteurl option as the seed for a MD5 hash

a WP -> WP 3.0 network uses the main site's siteurl option + '/' as the seed for a MD5 hash

We should move these to a common more appropriately name option/site option and give the super admin(s) the ability to change it and/or generate a new one.",wpmuguru
20317,Delete auto-draft using window.onbeforeunload,,General,,low,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-28T22:50:27Z,2012-03-28T22:53:23Z,"When a user goes to post-new.php, a new auto-draft post is created.

Old auto-drafts are garbage-collected: #19663

To lessen the need for GC, we could send an AJAX request to delete the auto-draft immediately when the user navigates away from the page (but not when he presses the Submit button).

",scribu
15930,Deleted page bin view?,,General,3.0.3,normal,normal,Future Release,enhancement,new,dev-feedback,2010-12-21T10:32:30Z,2010-12-26T22:43:21Z,"I hoped I was able to see the pages which I delete (in the trashbin) but the all stay dark... So I can't view them!

I think it would be a good feature to see them to see if somebody didn't delete the wrong page! Or when you need something form a deleted page that you can still get it without restoring it first",JonezJeA
21126,"Different ID on ""Set featured image"" link if there is already an image set",,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-30T22:02:55Z,2012-06-30T22:02:55Z,"I ran into a situation where I wanted to target the ""Set featured image"" link text in the featured image metabox. The ""Set featured image"" link displays and has an id of ""set-post-thumbnail"". When you set the thumbnail, the link still has an ID of ""set-post-thumbnail"" though now it is wrapping around the thumbnail image rather than the ""Set featured image"" text. Then a second link is added to remove the featured image with the id of ""remove-post-thumbnail"". 

In my situation I wanted to target the ""Set featured image"" link (with the text) and the ""Remove featured image"" link separately, but this was tricker than it needed to be because the ""Set featured link"" keeps the same id of set-post-thumbnail when it is wrapped around the thumbnail image.

Beyond my specific issue, I think it could be argued that this link deserves a specific id, since the action the link is performing is modifying the featured image more than it is setting it. 

So I've included a patch here that will modify the $set_thumbnail_link variable when the $thumbnail_id is present and change the link's id to modify-post-thumbnail. I'm not sure if it's the most elegant/clever way to achieve what I'm after, but I know it gets the job done.",ryanimel
14305,Display file for localized versions as Drop-in,nacin,General,,normal,normal,Future Release,enhancement,reviewing,has-patch,2010-07-14T09:08:03Z,2011-03-26T08:37:42Z,"Localization teams can use special files (for example cs_CZ.php) to handle special problems. This file should be shown on Plugins page, probably as Drop-in, I guess...",pavelevap
14078,Don't send notifications for comments too early,,General,3.0,normal,normal,Future Release,enhancement,new,has-patch,2010-06-24T19:22:26Z,2010-06-24T19:35:03Z,"Not sure if this classes as a bug or enhancement, will call it an enhancement for now. 

In  wp_set_comment_status the notifications are currently sent out before the work is done, and there is potential for the subsequent work to fail (due to database issue etc.)  

Attached patch (attempts to) move the notification so it is only sent after the work is done. ",mrmist
22405,Easier expression of file sizes and other data amounts,,General,3.5,normal,normal,Future Release,enhancement,new,has-patch,2012-11-10T08:42:05Z,2012-11-18T11:10:49Z,"In the spirit of #20987 writing {{{64 * 1024 * 1024 * 1024 * 1024}}} isn't very readable and cool.

Here is a patch, which adds a couple of constants like {{{KB_IN_BYTES}}}, {{{MB_IN_BYTES}}}, etc.",nbachiyski
21547,Enable 'delocalization' of scripts,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-11T04:04:27Z,2012-08-12T20:19:51Z,"I created a patch to enable developers to 'delocalize' a script they added. Currently if somebody localizes a script with wp_localize_script() there's no going back.

Can someone look at it and offer feedback? I'm not a regular WordPress contributor, so there may be stylistic issues.",gkb6891
18653,Enhancement: Filter Taxonomy Show UI in post editor (edit-form-advanced.php),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-13T16:03:49Z,2011-09-13T17:48:45Z,"I am working on a project that maintains a ""hidden"" taxonomy. I want to expose the taxonomy selectively on various custom post types.

The attached patch filters a taxonomy's show_ui value before deciding to create a meta_box. The filter also passes the taxonomy object as well as the current post type.",transom
20125,Escape output in settings_errors,,General,3.0,normal,normal,Awaiting Review,enhancement,new,close,2012-02-26T17:26:26Z,2012-02-27T06:37:53Z,"'''The Problem'''

The ""settings_errors"" function does not escape data when outputting it from the $settings_errors variable, which either comes from the $wp_settings_errors global variable or the ""settings_errors"" transient. This data is not escaped at any point during retrieval or output. Additionally, the data is not sanitized or validated when adding it via ""add_settings_error"". 

'''Test Case'''

In the validation callback function for a setting, adding a settings error with HTML can badly break output:

{{{
add_settings_error( 'zdt-setting', '1023', 'An error occurred</div>' );
}}}

'''Solution'''

Escape the $type, $code, and $message variables on output.

'''Possible Issues'''

The $message variable is output wrapped in a 'p' and 'strong' tag. My patch tries to allow common, reasonable tags to be output. I use ""wp_kses_data"", which will only allow tags defined in the $allowedtags variable. Should a plugin or theme author need another element printed out, it will be stripped; however, there still is the potential that it could cause issues for plugins that were previously able to place anything in the $message variable. With that said, most other tags would lead to invalid HTML and probably shouldn't be allowed in this context anyway.",tollmanz
18391,Expand WP_DEBUG_LOG and make WP_DEBUG_DISPLAY work as expected,,General,,normal,normal,Future Release,enhancement,reopened,,2011-08-13T05:45:21Z,2011-10-25T05:20:06Z,"== WP_DEBUG_LOG ==

WP_DEBUG_LOG currently creates wp-content/error.log. We should expand this to allow a path.

To do this, if WP_DEBUG_LOG is !== true, != 1, != 'true', (anything else?) and 0 === validate_file(), we should treat it as a path.

== WP_DEBUG_DISPLAY ==

Setting WP_DEBUG_DISPLAY to false does not set display_errors to false. Instead, it prevents display_errors from being set to on. This forces a call to ini_set to turn off display_errors, assuming your php.ini is set to On, as expected for a development environment configuration.

Instead, setting WP_DEBUG_DISPLAY to false should set display_errors to false. I've been thinking about this for months now, and the only situation I can come up with that this would be a compatibility issue would be when you deliberately have a production php.ini on production and a development php.ini in development. In this situation, WP_DEBUG_DISPLAY = false would screw up your development environment only -- the only breakage would be showing less errors, rather than more.

WP_DEBUG_DISPLAY === null can remain a passthrough.

Patch forthcoming.",nacin
16504,Faster maybe_unserialize,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-09T11:11:52Z,2011-05-11T11:46:49Z,"In #14429 many have taken care to optimize the is_serialized speed.

The function is of good general value and most often used to ""maybe"" unserialize.

It was [http://core.trac.wordpress.org/ticket/14429#comment:3 originally smabauers] who reminded that it's only about to check what it's about to check.

''Option values'', if serialized are only serialized Array, Objects or Strings. No exceptions. And they are ''always trimmed'' strings.

As is_serialized() is of general use and might be used by plugin authors, maybe_unserialize can get a new playmate.",hakre
23677,Feed autodiscovery for custom taxonomy and perhaps date archives,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-03-03T16:53:09Z,2013-03-03T16:53:09Z,"In #21648 we enabled the ""autodiscovery"" of feeds for custom post types. Further review of this solution reveals a few remaining issues:

a) Function `feed_links_extra()` in file `wp-includes/general-template.php` still does not add `<link>` tags for autodiscovery of either custom taxonomy archives or date (year/month/day) archives. You can argue that feeds for date archives might not be particularly useful, but they are generated, so why do we not provide links to them?  A helper function does exist to obtain the link for custom taxonomy archive feeds, but there is no corresponding support for date archives.

b) The helper functions for obtaining feed links in file `link-template.php` are not particularly easy to use, requiring much examination of the queried object.  If a theme or plugin wishes to include explicit hyperlinks to feeds (i.e. `<a>` tags) then it is presently forced to duplicate much of the code from function `feed_links_extra()`. I suggest the bulk of the code from here should be moved into a new function within `link-template.php` where it can be reused to generate either `<link>` or `<a>` tags as needed.

c) We seem to have a helper function for feeds containing search results with comments (`get_search_comments_feed_link()` in `wp-includes/link-template.php`). Whilst this feed is generated, it's not clear why ""search"" is treated specially here and why if this was considered useful there are no corresponding feeds for comments on other archives.",mdgl
21096,Filter on is_front_page return value,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-06-28T10:32:03Z,2012-06-29T13:05:58Z,"When you set a page (as 'placeholder' with same slug) as front page which is actually a post type archive to front page, is_front_page() will always return false on that page. The return value of the is_front_page() function is not filterable.

Attached patch adds this filter in the most basic way.",CoenJacobs
21641,Filter on pending/draft array in wp_insert_post(),,General,,normal,normal,Awaiting Review,enhancement,new,,2012-08-20T16:53:56Z,2012-08-20T16:53:56Z,"Hi

In wp_insert_post() function, there is no possibility to add a status to the list of status for which postname can be set to empty (no filter). Thus, to have the 'pending' like behaviour for a custom status it seems you have to update the postname to '' and the gmt to 000-00 after the insert, as you have to hack the permalink construction too.

In the same way, it would be nice to add the $post parameter to the filter 'display_post_states' in the '_post_states($post)' function (wp-admin/includes/template.php), in order to add easily a post state according to a custom status of the post (seems better as retrieving the global $post of the admin loop).

Hope these are real issues. Sorry if not.

Regards
",villagora
22612,Filterable default for wp_safe_redirect/wp_validate_redirect,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T21:00:22Z,2012-11-29T18:06:41Z,"The default/fallback for {{{wp_safe_redirect}}} is {{{admin_url()}}}. It would be nice to have a filter to be able to modify this (e.g. redirect to {{{home_url()}}} instead, which is probably a better default anyway).",batmoo
17482,"Formalize a list of ""Object Types""",,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-05-17T23:19:14Z,2011-05-18T00:00:17Z,"I'm finding a need to use a defined list of object types for numerous things including for [http://core.trac.wordpress.org/ticket/14513#comment:77 object relationships], term relationships that relate taxonomy terms to something other than a post, data entry forms, and I am sure there are more than just these requirements ''(An ""object"" is anything in WordPress for which we can identify a name and a unique ID form the database, i.e. `$post->ID`, `$user->ID`, `$term->term_id` and so on.)''

While thinking about it this seems to be something that would be valuable to include core so I am proposing and submitting a patch for their potential inclusion.  If this is ''not'' something that the team would want to include then I'll simply incorporate them into my own code but I wanted to make sure that the team wouldn't want to include them into WordPress core instead.",mikeschinkel
20279,Functions defined in wp-login.php should be moved to a separate file to make them re-usable,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-22T03:26:29Z,2012-10-06T07:35:29Z,"Currently, there are a series of functions defined at the top of wp-login.php:

{{{
login_header()
login_footer()
wp_shake_js()
retrieve_password()
check_password_reset_key()
reset_password()
register_new_user()
}}}

If these functions were moved to a separate file, they would be reusable by folks who are trying to do more advanced things involving the login flow.

As an example, if you want to create a page resembling wp-login right now, there's no easy way to do it without just duplicating everything from this file. Moving these functions means you can use login_header() and login_footer() to recreate the bulk of the page, then handle the ""content block"" yourself. This marginally improves the re-usability of the login system.

Patch attached which does this.",beaulebens
22251,Helper function to simplify checking for constants,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-22T00:32:27Z,2012-10-31T21:33:33Z,"Love 'em or hate 'em, WordPress uses lots of constants.  As a result, this pattern is all over core and plugins, and occasionally themes:

`if ( defined( 'CONSTANT_NAME' ) && CONSTANT_NAME )`

Right now on trunk, it's used 57 times (excluding 2 in Akismet).

{{{
~/code/wptrunk $ ack ""defined\( ?('|\"")([^'\""]+)\1 ?\) \&\& \2"" -h --ignore-dir=wp-content/plugins/ | wc -l
      57
}}}

How about a new function to make that verbose logic a little bit less repetitive.

{{{
function wp_constant( $constant ) {
	return defined( $constant ) && constant( $constant );
}
}}}",evansolomon
24225,Improve regular expressions when matching attributes,,General,trunk,normal,normal,3.6,enhancement,new,has-patch,2013-04-29T15:37:56Z,2013-05-13T17:51:54Z,"When working with HTML attributes in various functions we use something like `[\'""](.+?)[\'""]` to match the attribute value. Although not used much in attribute values, such an approach breaks when a single or double quote is intentionally part of the value:

* `attr=""val'ue""`
* `attr='val""ue'`

Some of these are new 3.6 functions, mostly around media.",kovshenin
18694,Improved date arguments for WP_Query,viper007bond,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-17T22:00:00Z,2013-02-28T14:40:09Z,"Currently there is no way to get a set of posts that fall within a date range, are older/newer than a certain date, etc.

A new set of arguments should be created for `WP_Query` that work similarly to the relatively new meta and taxonomy arguments.

Argument structure suggestions welcome.",Viper007Bond
20748,Include CPT Posts in Author Count & Archive Page,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-05-25T17:59:48Z,2012-05-25T18:07:20Z,"For whatever reason, the default behavior is to only count the number of 'post' that an author has published.

With the advent of custom post types, they should be included as well if the CPT has the 'author' capability.

Currently, the author archive can include CPTs if you manually alter the query - this should be enabled by default if authorship is allowed.",iridox
20439,Introduce __return_one function,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-04-13T19:38:53Z,2012-04-30T18:37:22Z,"Following #20357 and #18845 , I feel it would be useful to have a return function for 1 for use with filters.",bananastalktome
19100,Introduce esc_color(),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-01T12:16:14Z,2012-02-28T03:15:42Z,"Currently there is no way to escape a color in hexadecimal notation before printing it to a block of css or saving to the database. Many themes like to introduce functionality, whether it be core-supported or completely custom, to change the color of various parts of the templates. I believe that a function such as `esc_color()` would promote best practices while ensuring that unintended values do not get stored as colors and thus echoed in css blocks potentially breaking display.",mfields
16973,Introduce get_multipage_link(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2011-03-26T16:11:43Z,2012-09-15T14:25:39Z,"There currently is no function for retrieving the URL to a multipage part (a page with {{{<!--nextpage-->}}}).

The code is burried in a private helper function.

Let's bring it to light.",scribu
23169,Introduce register_post_status_for_object_type,,General,,normal,normal,Future Release,enhancement,new,,2013-01-10T08:35:46Z,2013-05-10T12:37:39Z,Similar to what `register_taxonomy_for_object_type` does with taxonomies.,kovshenin
23168,Introduce remove_post_status,,General,,normal,normal,Future Release,enhancement,new,,2013-01-10T08:32:49Z,2013-05-10T12:37:37Z,Plugins and themes should be able to remove the default post statuses defined by core.,kovshenin
19200,Introduce themes_url() and upload_url(),,General,,normal,normal,Future Release,enhancement,new,has-patch,2011-11-07T21:01:46Z,2012-09-22T14:26:12Z,"WordPress has some very usefull '''url tempalate tags''' in the ''wp-includes/link-template.php'' file, functions like:

{{{
home_url()      =>  ../
site_url()      =>  ../
admin_url()     =>  ../wp-admin/
includes_url()  =>  ../wp-includes/
content_url()   =>  ../wp-content/
plugins_url()   =>  ../wp-content/plugins/
}}}

we need 2 more functions:

{{{
themes_url()    =>  ../wp-content/themes/
upload_url()    =>  ../wp-content/upload/
}}}

they will make developers life easier.",ramiy
21282,Introduce wp_header() pluggable function,,General,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-15T12:47:22Z,2012-09-26T15:46:20Z,"I will be nice to have pluggable function wrapper for PHP `header()` function - this will allow to unit test HTTP headers sent by WordPress. Attached patch adds it, and replaces all existing calls to `header()` with it.

Question: some of exiting calls had errors silenced using `@`, some not. In my code I added `@`. Should I keep it, remove it or maybe add extra param to function to conditionally silence errors?",sirzooro
17301,Keep the connection open when doing upgrades or long-running operations,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-05-02T06:27:39Z,2012-04-28T17:44:21Z,"When we do long-running operations like upgrades-over-FTP, we may go a while without sending any data, which may cause the connection to be closed. We should investigate whether we can send some ""hey, still here"" dummy data down the pipe to keep the connection from being unceremoniously closed on us.

For example, Rackspace Cloud Sites runs behind load balancers that cut the connection after 30 seconds of no data. I was able to defeat it by manually flushing some dummy data like so:

{{{
<?php

for ( $i = 1; $i < 46; $i++ ) {
	echo ""$i...<br />\r\n"";
	flush();
	sleep( 1 );
}
echo ""DONE"";
}}}",markjaquith
19466,Last-Modified HTTP header not just for feeds,sergey.s.betke@…,General,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-07T15:44:05Z,2012-12-04T21:36:22Z,"Wordpress write HTTP **Last-Modified**, **ETag** headers just for feeds (**class-wp.php**, **send_headers**). And support **If-Modified** HTTP request header just for feeds. Wordpress 3.3 doesn't support HTTP 1.1 **Cache-Control** header.
The best solution - support HTTP cache-control headers and for html output (full blog). But **If-Modified** HTTP request header (304 responces) for site support optionally (some not-ajaxed widgets and plugins will show wrong information without page reloading).

= WordPress version =
Latest WordPress files - 3.3-RC2-19567 
",sergey.s.betke@…
22283,Load login page over HTTPS if FORCE_SSL_LOGIN is set,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-10-26T03:08:52Z,2012-11-24T15:09:34Z,"Currently, if FORCE_SSL_LOGIN is set, we will make the HTTP POST request containing the username and password over SSL when logging in, but not the GET request for the login page.  Users shouldn't have to examine HTML to figure out if their password is being sent in plain text.  To ensure user confidence that they are logging in via an encrypted connection, we should redirect requests for the login page to https:// if FORCE_SSL_LOGIN, not only if FORCE_SSL_ADMIN is set.  Troy Hunt explains the issue well in his post here - http://www.troyhunt.com/2011/01/ssl-is-not-about-encryption.html

While FORCE_SSL_ADMIN is obviously ""best"" it is not always possible or practical, but this at least makes the login experience consistent.

",barry
21073,Main functions file (/wp-includes/functions.php) could use a coding standards cleanup,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-26T03:04:21Z,2012-06-26T03:04:21Z,"[http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php?rev=21113 This file] is very inconsistent in its coding standards, and as a result is difficult to read.

I had to find a couple things in here recently; after some frustration in reading the different styles I decided to take a pass at refreshing it.",evansolomon
18680,Make SSL login-only possible (while leaving admin unencrypted),,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-09-16T05:54:33Z,2011-09-27T17:19:50Z,"There are two options to be set in wp-config.php to enforce secure connections.

With the following configuration, the login AND the backend will be done via SSL:
{{{
define( 'FORCE_SSL_ADMIN', false ); // or true
define( 'FORCE_SSL_LOGIN', true );  // or false
}}}
As those are 'FORCE' parameters, one might consider it correct that, even though one is set to 'false', both will be via HTTPS.

However, WordPress is currently missing an option to have ONLY the login data sent encrypted and go on to the admin interface via a normal (non-encrypted) connection. That scenario requires additional redirections on the webserver.",multimule
21119,Make WP_User_Query::prepare_query() public,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-06-30T07:57:47Z,2012-06-30T07:59:30Z,"WP_User_Query tries to follow the pattern from WP_Query, where if you don't pass any args, it won't run the query.

The problem is that you can't do anything with that instance afterwards; both prepare_query() and query() accept no parameters.",scribu
22534,Make bundled JavaScript LibreJS compatible,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-11-22T01:27:21Z,2012-12-16T06:45:43Z,"Many free software advocates don't want to run proprietary JavaScript code in their browsers. The Free Software Foundation has releases a Firefox extension called LibreJS that blocks non-free JavaScript from running: https://www.gnu.org/software/librejs/

WordPress is released under the GPLv2 license, but LibreJS still blocks WordPress JavaScript files because they don't have the appropriate license blocks.

To fix this, we can either add comments to the top of each .js file with the license, or we can use JavaScript web labels to define the license for each js file in HTML.

Here are instructions for marking your JavaScript as free so that LibreJS users will execute it:
https://www.gnu.org/software/librejs/free-your-javascript.html",micahflee
18746,Make is_tag() accept a term name or term id,,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-22T13:05:15Z,2011-09-22T13:52:36Z,"The ''is_category()'' function recieves as a parameter Category ID, Category Name or Category Slug.

So is the ''is_tax()'' function, it recieves as a parameter Term ID, Term Name or Term Slug.

But the ''is_tag()'' function can recieve only Tag Slug.",ramiy
17340,Mark up script-loader.php versions for programmatic updating,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-05-06T18:51:56Z,2011-05-08T14:51:36Z,"Whenever we update one of our dev CSS or JS files, we have to use YUI to re-minify them, and bump their version number in script-loader.php. The YUI part can be done programmatically, but it's not quite possible to bump the script-loader.php version numbers without manual intervention. If the number strings (yyyymmdd{optional-abcd suffix}) were marked up with PHP comments in a standardized way, we could automate that step as well.

Since any script would have the file name in hand, I propose the following:

{{{/*#wp-admin/css/wp-admin.dev.css#wp-includes/css/fake.dev.css*/'20110203b'}}}

That is, a PHP comment block that immediately starts with a hash (#) and is followed by one or more dev URLs that the version number applies to (multiple ones separated by another hash), and immediately followed by a version string enclosed in single quotes, in the format:

{{{/'([0-9]{4})([0-9]{2})([0-9]{2})([a-z]?)'/}}}",markjaquith
20725,Media library inconsistency,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-05-22T10:26:45Z,2012-05-22T10:26:45Z,"I need to put extra filters using restrict_manage_posts to Media library and i have noticed, that my filters did not appear on Media library iframe, opened when adding new media in post. It is handled with wp-admin/includes/media.php via media_upload_library_form function, which seems to be very old comparing to media library in class-wp-media-list-table

e.g. it does not use 	$this->months_dropdown( 'attachment' ); but wrotes 25 rows of code which  do the same.

IMO it could be migrated to the new code

also it misses the 			
do_action( 'restrict_manage_posts' );
line, which is important for my desired functionality (when i hardcode it there, it works)",thomask
12254,Move show_message() into WP_Error class and add support for various WP_Error features that are missing,jeremyclarke,General,,normal,normal,Future Release,enhancement,new,,2010-02-16T19:31:05Z,2010-11-29T17:38:59Z,"Revisiting an old ticket about the mass upgrader (#11232) after working on my ticket for the Settings API (#11474) makes me think both cases are running into a wider problem related to the way WP_Error messages are handled system-wide. There just isn't a way to show them that fits with the detailed system that exists around logging errors with WP_Error. In both cases having a built-in way to display all messages logged in a WP_Error object would simplify their code and make their use of WP_Error much more logical and less haphazard.

== WP_Error is intense ==
WP_Error objects can have an infinite number of messages logged inside them into $code groups which themselves can even have multiple message values/ 

{{{
 WP_Error::add($code, $message, $data = '')
}}}

You can then retrieve error messages for a specific code using WP_Error::get_error_messages()

== show_message() is weak ==
In contrast to this useful maleability is the show_message() function used by various updater scripts to access WP_Error messages:

{{{
/**
 * {@internal Missing Short Description}}
 *
 * @since unknown
 *
 * @param unknown_type $message
 */
function show_message($message) {
	if( is_wp_error($message) ){
		if( $message->get_error_data() )
			$message = $message->get_error_message() . ': ' . $message->get_error_data();
		else
			$message = $message->get_error_message();
	}
	echo ""<p>$message</p>\n"";
}
}}}

Living in misc.php, this is clearly not the most loved function in WordPress, but beyond its lack of documentation and arguments it also actually doesn't make sense when combined with the nature of WP_Error, and I'd argue that it should be a first-class citizen of the WP_Error API. 

=== Deal with the input as WP_Error class by default === 
For one thing its argument is named $message, which is a misnomer since it also supports complex WP_Error objects. I think it should be called $error and it should attempt to handle the error object in as much detail as possible. If this function is given a string instead of an error_object it should just show the text with the default formatting. 

=== Move it into the class defintion ===
The function logic should also be moved to be inside WP_Error as ::show_message() as well as maybe adding a ::show_messages() to differentiate between forcing the first message in the object and showing any relevant messages. The original function can be kept as a shell for the class method. 

=== Support $code and $data better ===
The updated function should allow $code values to be specified to show only messages related to a specific error $code (from WP_Error::add()) as well as some kind of option specifying whether the contents of the $data value for the results should be displayed.

=== Add support for 'types' of errors for display purposes ===
To really have valuable visual cues linked with error display the system needs to be adapted to handle error types like 'error', 'updated' and something green like 'success'. Having this be part of hte API would increase the likelihood of people using the system because it will make it easier to quickly add visual errors to a plugin. IMHO the easiest way to achieve this would be to link 'types' with CSS classes expected to exist in wp-admin. 'updated' and 'error' classes already exist, yellow and red respectively, and can be a starting point. This way marking an error as 'error' or 'updated' automatically controls the color it will be when show_messages() is run. 

This would probably require modifying the WP_Error::wp_error() and WP_Error::add() methods to accept a 4th argument, but would be a great step forward. 

=== Use nice formatting ===
I think the formatting should be the same as the 'settings updated' message from after you save a settings page. It is malleable and stands out in the admin:
{{{
<div class=""updated fade""><p><strong> MESSAGE </strong></p></div>
}}}


== Lets make showing errors easy ==
Even though these functionalities aren't needed for the current uses of show_message() in the upgrader process I think they will inform and improve those systems when the changes are taken into account. WP_Error is fairly powerful but not used enough because it is incomplete and awkward. Improving show_message() to fill this hole will mature the API and hopefully get plugin authors using it in more detail. It would definitely make integrating WP_Error into the Settings API much easier. 

== Thoughts on this before I make a patch? ==

I'll try to work on this soon but am interested in feedback. Anyone had this idea before and ran into a wall? Something else you think should be included?",jeremyclarke
16866,Multisite registration uses extra redirect,spathon,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,,2011-03-16T15:08:34Z,2011-07-16T22:05:43Z,"When you are on a sub-blogg and choose register you are sent to wp-login.php?action=register and because it is a multisite it redirects to wp-signup.php. wp-signup.php then redirects to wp-signup.php on the main site. 

if
{{{
wp_redirect( apply_filters( 'wp_signup_location', site_url('wp-signup.php') ) ); // row 488 in wp-login.php
}}}
were set to network_home_url instead of site_url there would be one less redirects and risk for plugins to cause problems.


",spathon
22293,New Filter for wp_update_term,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-10-26T22:26:54Z,2012-10-26T22:46:31Z,"I need a filter for $slug in this function. I want to check if there is a page with the same slug, because i don't use the category base.

Thanks very much.",baernty
16908,Normalize remove_accents() data,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-20T22:54:24Z,2011-09-10T22:25:30Z,"The remove_accents() functions contains the translitaration data in diverse formats. To normalize the code, a format of arrays containing key=>value replacements where the string value of key transposes into the string value of value.

That's already common for a large part of the function.",hakre
22845,"On 32-bit systems, with post IDs higher than PHP_INT_MAX (2147483647) wordpress does not run fine",,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-12-10T09:13:01Z,2012-12-12T17:42:54Z,"Logging all the MySQL queries I discovered that the queries that should pick my posts were all doing something like this:

SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647)

This 2147483647 number clearly has something in it: it's the PHP_INT_MAX value on 32-bit operating systems, while on 64-bit machines it's 9223372036854775807 http://php.net/manual/en/language.types.integer.php

So, the problem is divided in 2 parts: I run on a 32 bit system, and I have my IDs a bit too high.

I know that 2147483647 is a bit high for a post ID, but I discovered this the hard way. 
Now, I w