﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
23760,Cannot use spacebar to trigger OK button or links in Publish widget (eg. schedule settings),,Accessibility,3.5.1,normal,minor,Awaiting Review,defect (bug),new,,2013-03-13T16:23:43Z,2013-04-19T23:16:59Z,"When changing the scheduled publishing time of a post, the OK button after the time fields cannot be triggered by pressing spacebar.

The same applies to all buttons and links in the Publish widget on the Add New / Edit Post page. The Add button in the Tags widget on the same page can be triggered with space since WordPress 3.5. 

Steps to repeat:

1. Create a new post by navigating to wp-admin/post-new.php.
2. Click the underlined link in ""Publish immediately _Edit_"" in the Publish widget.
3. Click the last field (minutes).
4. Press Tab once to move focus to the OK button.
5. Press spacebar.

What happens is the screen scrolling down exactly as if Page Down was pressed.

What should happen is the same that happens when the button (or link) is clicked with mouse, which depends on the button (or link).

Tested on Windows XP & 7 and all the recent Firefoxes I can remember and Internet Explorer 9.",Daedalon
15926,Give header and background images alt tags,,Accessibility,3.0,normal,minor,Awaiting Review,defect (bug),assigned,has-patch,2010-12-20T22:16:12Z,2013-01-11T11:42:52Z,"''Section 1194.22 Web-based Internet information and applications: (a) A text equivalent for every non-text element shall be provided (e.g., via ""alt"", ""longdesc"", or in element content).''

To meet accessibility guidelines, the header images and backgrounds (when supported by a theme) need to be given user-editable alt tags.",jane
20880,Keyboard navigation in Appearance > Header is broken,,Accessibility,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T17:40:34Z,2012-06-08T06:27:11Z,"It's impossible to use the Appearance > Header section with the keyboard because the Enter button will submit the form using the top-most submit input, which is not always the Save Changes button. How to reproduce, in Appearance > Header, using Twenty Eleven:

1. Select one of the default header images
2. Check the Show header text with your image option
3. Enter #111 for Text Color
4. Click Save Changes

At this point everything looks fine, but here comes the trouble:

5. Enter #222 for Text Color and hit Enter

You'll notice that #222 hasn't been set as the Text Color, instead your chosen header image (in step 1) has been removed, as if the Remove Header Image button was clicked.

6. Enter #333 for Text Color and hit Enter

You'll notice that #333 hasn't been set as the Text Color, instead it's been set to #000 which is Twenty Eleven's default, as if the Restore Original Header Text button was clicked.

When both Remove Header Image and Restore Original Header Text buttons are not present, the Return key submits the form using Save Changes, as expected. It's not limited to Text Color, but any other element that can submit the form using the Enter key.

I've been facing the exact same problem when doing an options panel for a theme with multiple actions as submit buttons, still haven't found a good solution. Marked as 3.3.2 but I believe it's been around earlier.

Thanks!",kovshenin
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
18900,Add a few more hide-if-no-js classes,,Accessibility,3.3,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-10-10T23:14:55Z,2013-05-14T21:21:36Z,"There are a few elements to which we could add the `hide-if-no-js` class, as their functionality or setting relies on JavaScript being available.",johnbillion
24148,Add aria-labelledby attributes to comment form,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-21T03:26:05Z,2013-04-22T14:03:52Z,"The aria-labelledby attribute provides a means for screen readers to get additional context for inputs when there is additional labeling information provided. In the default comment form, information such as the fact that email will not be published or that HTML tags and attributes can be used can only be viewed through a separate pass through the form not in forms mode. Adding these attributes means that a screen reader will read both blocks of text as the label for the field. ",joedolson
24042,Help text visibility in title input box is not intuitive,,Accessibility,trunk,normal,normal,Awaiting Review,enhancement,reopened,,2013-04-11T03:45:04Z,2013-04-12T04:32:03Z,"Currently, the input box for title which shows on a new post creation page uses a label to display the help text- ''""Enter title here""''. This text disappears on focus and an that point of time, there is no place which points out that this input box is for the title.

This problem has been pointed out by a lot of people and it surfaced after the new Gmail design came out. The problems it generated are very similar and as you may have used it, there are no labels for the email recipients field and the subject field.

The issue is not very big as such but it does generate ambiguity in some cases. The solution to this would be to have the label as an overlay on the input, which can slide/move to a new position on focus. And placeholder text can be used as help text. This way the help text will be visible at the start and the label will be visible throughout.",aniketpant
24098,Support for HTML5 roles,,Accessibility,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-16T07:44:16Z,2013-05-12T00:01:07Z,"I was going through http://core.svn.wordpress.org/trunk/wp-includes/kses.php and I realized that most of the new HTML5 tags have been introduced but `role` is a missing attribute.

I feel that since WordPress has already made a move towards HTML5 by supporting `<article>`, `<section>` and other tags, all attributes should be made available too. `role` should be added to the required tags falling under `$allowedposttags`.

Go through the link for more information on [http://www.w3.org/wiki/PF/XTech/HTML5/RoleAttribute roles].",aniketpant
21414,"Use the ""Keyboard Shortcuts"" checkbox in the user profile to turn on/off all custom shortcuts",,Accessibility,,normal,normal,Awaiting Review,enhancement,new,,2012-07-29T20:24:36Z,2012-10-14T11:42:23Z,"Custom keyboard shortcuts can be very handy not only for better accessibility but for faster access to many actions that usually require ""mousing"". For example we could potentially add shortcuts to access the top menu items or the more commonly used toolbar items.

However many of the available keystrokes (modifier [+ modifier] + letter) are already in use. Even worse, different shortcuts are in use in different browsers and different OS.

It would be good to let the users decide whether to enable them. As we already have a checkbox for the comment moderation shortcuts, best would be to make it ""global"". For now that would only affect TinyMCE.",azaozz
24150,tabindex doesnot work proper if metabox added,,Accessibility,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-21T04:12:43Z,2013-05-02T12:24:00Z,"Hi,
In {wp-admin} default post add form, if metabox added tab button skips metaboxes and directly goes to Publish box to take action.

Developer who wants to add tabindex to all metaboxes created, add_meta_box function should have parameter to set tabindex which will allow to go through it before publish post or skip if false. ",amolv
22104,High contrast admin colour scheme,,Accessibility,,normal,normal,Awaiting Review,feature request,new,,2012-10-04T17:35:54Z,2012-11-20T16:57:21Z,"We should consider bundling a high contrast admin colour scheme with WordPress to aid accessibility for the visually impaired.

Some discussion on this has taken place previously on IRC but nothing much beyond that.

Some potential points of discussion:
 * Is anyone in the [http://make.wordpress.org/accessibility/ WordPress accessibility group] an expert on accessibility for the visually impaired? Can we get someone on board for some expert guidance?
 * Is an admin colour scheme sufficient? Would any JavaScript need altering too? If so, would an admin colour scheme suffice as a starting point?

Related:
 * [http://www.timobrienphotos.com/2009/03/hich-contrast-admin-color-scheme-for-wordpress/ A high contrast admin theme plugin]
 * [http://wordpress.org/support/topic/admin-color-scheme Support forum discussing admin theme for visually impaired user]
 * [http://wordpress.org/extend/plugins/easy-admin-color-schemes/ Easy Admin Colour Schemes plugin]",johnbillion
24324,Placeholder support to login form,,Accessibility,,normal,minor,Awaiting Review,feature request,new,has-patch,2013-05-12T09:59:13Z,2013-05-14T14:44:34Z,wp_login_form isn't support placeholder attribute yet. It would be good. Isn't it?,m_uysl
22254,"""Do you really want to log out"" message after already logged out",,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-22T16:21:06Z,2013-02-28T16:03:33Z,"1. Log into admin area
2. Open some page within admin area in a new tab (middle click or ""Open link in new tab"" or similar)
3. Select ""Log Out"" in menu in one tab
4. Normal ""You are now logged out."" screen appears
5. Select ""Log Out"" in menu in other tab
6. The following message appears:
{{{
You are attempting to log out of Blogname

Do you really want to log out?
}}}
The content of this message is wrong as the user is already logged out at this point.",Ov3rfly
22222,"""Mode"" buttons bumped below (in 1024x768) when long category name exists",,Administration,,normal,minor,Awaiting Review,defect (bug),new,,2012-10-18T17:22:33Z,2013-02-09T20:54:12Z,"If there's a long category name, the category filter <select> menu widens. On a 1024x768 screen, this causes the list/excerpt mode buttons to get bumped down.

screenshot: http://kdl.dropmark.com/25665/1130400

One thought was to move that option to Screen Options, which I think makes more sense anyway. ",trepmal
22735,A given pointer should only show once on a screen,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-04T18:10:44Z,2012-12-14T23:51:42Z,"If you have, say, multiple media buttons on a screen, you'll get multiple pointers, each pointing to an instance of that button. This shouldn't happen. In the case of the media button, it should probably only show up for the one associated with the main editor. In terms of the pointers in general, it should only show up once, not for each match in the DOM.",helen
17516,Add Favorite Actions to Admin Bar,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-19T18:37:03Z,2011-09-10T03:25:31Z,"With the new UI upgrade, the favorite_actions() method was removed from the main UI. After a brief discussion with Westi, it made sense to put the functionality back in as part of the adminbar.

The attached patch does that using the favorite_actions() method (which can now return the filtered list of favorite_actions as an array). We should eat our own dog food.",technosailor
19527,Add New Category Problem While Posting,,Administration,3.3,normal,minor,Awaiting Review,defect (bug),reopened,close,2011-12-13T05:26:08Z,2013-01-22T01:19:25Z,"When adding new category, while you are making a post, If a category is added under a parent category, it doesn't show properly that the new category is under the parent category.

It has been added correctly, but it doesn't show properly the first time.",jainprateek
23141,"Add autocomplete=""off"" to all inputs that have a value",,Administration,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-08T12:49:51Z,2013-01-08T19:44:44Z,"On '''refresh''' in the browser - old data is filled in the inputs, instead of the actual data from the value attribute of the input.

to be more clear : http://www.screenr.com/p2K7",alexvorn2
20938,Adding existing category duplicates default one,,Administration,3.3.2,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-06-13T13:52:18Z,2013-01-22T03:35:53Z,"In the post editing page, if you add a category which already exists, Wordpress duplicates the default category (Uncategorized), instead of showing a warning or doing nothing.",hvsupr
20082,Admin bar links to wrong site in multisite (subdomain) network,,Administration,3.3.1,normal,major,Awaiting Review,defect (bug),new,,2012-02-20T09:53:52Z,2012-02-21T08:43:50Z,"The code
{{{
	foreach ( $actions as $link => $action ) {
		list( $title, $id ) = $action;

		$wp_admin_bar->add_menu( array(
			'parent'    => 'new-content',
			'id'        => $id,
			'title'     => $title,
			'href'      => admin_url( $link )
		) );
	}
}}}
generates the wrong URL, whenever I visit a site that has the URL subsite.subsite.example.com but generates the correct URL if the URL is of the pattern subsite.example.com. On subsite.subsite.example.com the admin bar will generate links to subsite.example.com.",niklasbr
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
19069,Admin menu generation doesn't check whether default post types have 'show_ui' as true,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-10-27T19:47:06Z,2011-11-16T05:00:27Z,"While patching #19055, I found wp-admin/menu.php doesn't check whether default post types have 'show_ui' set to true. The Comments menu is also displayed regardless of whether available post types support comments or not.",kawauso
18165,"Admin tables empty when installed on *nix with Apache 2.x, PHP 5.3 running as CGI with wrapper script",,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-18T21:01:37Z,2011-10-18T20:27:46Z,"* Wordpress 3.2.1
* Apache 2.2.3
* PHP 5.3.5

When running with suexec through a wrapper script such as set up by Webmin, the PHP_SELF variable is ""fixed"" by PHP to point to the wrapper instead of the actual script. This in turn kills some of the admin lists (posts are empty) along with problems setting theme (Thematic) options.


To recreate, adjust '''httpd.conf''' vhost to:
{{{
<VirtualHost *:80>
  SuexecUserGroup ""#1111"" ""#2222""
  ServerName example.com
  DocumentRoot /home/example.com/www
  ErrorLog /home/example.com/logs/error_log
  CustomLog /home/example.com/logs/access_log combined
  ScriptAlias /cgi-bin/ /home/example.com/cgi-bin/
  <Directory /home/example.com/www>
    Options Indexes IncludesNOEXEC FollowSymLinks
    allow from all
    AllowOverride All
    Action application/x-httpd-php5 /cgi-bin/php5.cgi
    AddType application/x-httpd-php5 .php5
    AddType application/x-httpd-php5 .php
  </Directory>
  <Directory /home/example.com/cgi-bin>
    allow from all
  </Directory>
  RemoveHandler .php
  RemoveHandler .php5
</VirtualHost>
}}}


Add the following shell script '''/cgi-bin/php5.cgi'''
{{{
#!/bin/bash
PHPRC=$DOCUMENT_ROOT/../etc/php.ini
export PHPRC
umask 022
SCRIPT_FILENAME=$PATH_TRANSLATED
export SCRIPT_FILENAME
exec /usr/bin/php-cgi
}}}

Copy the '''php.ini''' file to '''/home/example.com/etc/'''



The problem is temporarily solved by setting the following PHP option in '''php.ini''':
{{{
cgi.fix_pathinfo = 0
}}}

Which tell PHP not to do a path gawk. I think what should be done is Wordpress should not use PHP_SELF or at least prefer using ORIG_PHP_SELF if it exists, possibly resetting PHP_SELF for downstream functions.
",magdude
16600,AdminMenu rendering code chokes on uppercase,,Administration,3.1,normal,minor,Awaiting Review,defect (bug),reopened,,2011-02-20T02:43:25Z,2011-03-05T16:28:13Z,"When registering custom taxonomies for a custom post type, if the post type name contains uppercase letters, the menu items for the custom taxonomies are not shown.

It looks like the post type name is lowercased in some parts of the core code (but no all) and so string comparisons fail.
Just isolated this behaviour, so I'm still not sure how much of the core this affects.

Moreover, when I saved posts with the intended mixed-case name, they have been saved to the DB with lowercased post_type


It it is indeed the intended behaviour, a note should be added to the Codex:
 ""Custom Post Type names must be lowercase""

The attached sample (real) code reproduces the problem by setting ""post_type_tag"" to ""DomainName"" instead of ""domain_name"". Numbers work properly, however.

Tested with latest SVN (RC4 + r17467)",jltallon
19722,Administering wih SSL and uploading images makes image links HTTPS,,Administration,3.3,normal,normal,Awaiting Review,defect (bug),new,,2012-01-03T16:45:51Z,2013-04-29T21:47:16Z,"I am noticing this issue in 3.3 that all uploaded attachments are listed in the library using HTTPS in the location when administerng over SSL. I tried the patch.2 listed and it does not seem to change anything. Previously this was never an issue, but now all my images are getting added as HTTPS when I do not want them to be. I end up searching the DB for "" https://"" and replacing with HTTP after every post.

Will this ever get resolved back to normal so SSL admin can be used without having all attachments over SSL? I only have SSL for login and admin.",ccolotti
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
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
23904,CSS glitch when the browser window width isn't right,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-29T21:20:47Z,2013-03-29T22:29:53Z,"The post editor's layout now switches when the width of the window is narrow enough. But there's an intermediary zone, at least on Webkit/Safari where it's too narrow for the conditional CSS to kick in, yet too wide for the browser to deal with it. I presume, based on what I was working on a few minutes ago, that it's related to paddings.

Screenshot attached.",Denis-de-Bernardy
22022,Can’t properly add pages of type edit.php?post_type=xxx as submenu items to arbitrary parent menus,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-27T20:22:43Z,2013-01-11T11:22:48Z,"The following code illustrates the problem.
{{{
add_menu_page('My Pages', 'My Pages', 'edit_posts', 'parentslug', array(class, func));
add_submenu_page('parentslug', 'Settings', 'Settings', 'edit_posts', 'mysettings', array(class, func));
add_submenu_page('parentslug', 'Custom Post Type', 'Custom Post Type', 'edit_posts', 'edit.php?post_type=xxx'); 
}}}
When you click on the first submenu item, the menu stays open, displaying the submenu items as it should. When you click on the item for the custom post type, the parent menu is closed and submenu pages are not displayed.

The root of the problem is how $parent_page is handled for pages of type edit.php?post_type=xxx. In get_admin_page_parent(), $parent_file is always set to $submenu[$parent], which may cause the submenu slug to be different from $parent_file. But in _wp_menu_output, if the submenu slug and parent slug are not equal, the 'wp-has-current-submenu wp-menu-open' classes do not get added which means the menu gets displayed as being closed.

Since there are no actions called between get_admin_parent_page() and the output of the menu, the only workaround I can see is some ugly JS that fixes up the classes.

It seems like the least intrusive fix would be to just move the call to apply_filters(""parent_file) in menu-header.php to after the call to get_admin_page_parent() so that $parent_file can truly be overridden. This also seems inline with the intent of the filter.
",jjharr
17209,Category list table breaks when custom post type label is too long,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-21T21:14:11Z,2012-11-01T06:22:13Z,"Registered a post type which has a longer label than ""posts"" (called ""resources""). List table listing the categories for that post type breaks slightly when a name is over a certain length. Picture attached.

Offending CSS is setting a 10% width to that column.

I can provide a patch. Though since the number of posts is centered, the heading is left aligned. If that column is widened, should the title be centered as well (since left-aligned may look weird at one point)?",andrewryno
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
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
18048,Ctrl+S draft save causes prompt on exit,,Administration,,normal,normal,Awaiting Review,defect (bug),new,close,2011-07-09T12:25:25Z,2011-11-15T03:45:49Z,"When you use the ""save draft"" button and leave the edit page, the ""unsaved changes"" prompt doesn't show up. However, when you save using Ctrl+S and leave - the prompt appears.",jakub.tyrcha
15466,Database errors on dashboard,,Administration,3.1,normal,minor,Awaiting Review,defect (bug),reopened,,2010-11-18T07:11:43Z,2012-09-04T12:33:11Z,"Not sure why it's happening and it's only happening on one of my blogs, but posting it anyway.

== Incoming Links ==

{{{
WordPress database error: [Incorrect string value: '\xD0\xA3 \xD0\xBC\xD0...' for column 'option_value' at row 1]
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_feed_de55c189685ea1944a5f72021d68a360', 'a:4:{s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:3:\""rss\"";a:1:{i:0;a:6:{s:4:\""data\"";s:1:\""\n\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:7:\""version\"";s:3:\""2.0\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:7:\""channel\"";a:1:{i:0;a:6:{s:4:\""data\"";s:10:\""\n\n\n\n\n\n\n\n\n\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:4:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""link:http://www.finalgear.com/ - Google Blog Search\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:109:\""http://blogsearch.google.com/blogsearch?hl=en&scoring=d&ie=ISO-8859-1&num=10&q=link:http://www.finalgear.com/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:108:\""Google Blog Search Results: <b>1,432</b> results for <b>http://www.finalgear.com/</b> - showing 1 through 10\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""item\"";a:10:{i:0;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:37:\""Evora S in next episode of Fifth Gear\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:75:\""http://www.lotustalk.com/forums/f170/evora-s-next-episode-fifth-gear-94777/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:238:\""The next episode of Fifth Gear with feature an Evora S. It will air on November 19th in the UK and for those of us unfortunate enough to not live in England it can be downloaded via torrent client from www.finalgear.com a little while ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:36:\""LotusTalk - The Lotus Cars Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Mr. Know\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Wed, 17 Nov 2010 02:58:32 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:1;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:9:\""Top Gear?\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:41:\""http://krolyk.livejournal.com/114570.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:373:\""У меня иногда спрашивают: что такого интересного я нахожу в передаче Top Gear? Сейчас, накануне запуска в эфир локализованной версии для США, на ТВ вышла передача с ведущими оригинального, британского Top Gear. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:36:\""Записки Андрея Гуле\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""krolyk\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Fri, 29 Oct 2010 09:09:31 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:2;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""New Jeremy Clarkson Blu-Ray/DVD Coming In November\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:85:\""http://blog.webridestv.com/2010/10/new-jeremy-clarkson-blu-raydvd-coming-in-november/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:240:\""Everyone knows Jezza Clarkson from Top Gear, but what many people in North America may not know is that every year, Jeremy comes out with a new DVD, that has some of the feel of Top Gear, but is freed from the format, and there are some ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""Sports Car Blog\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Eric Trytko\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Tue, 12 Oct 2010 11:30:49 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:3;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:72:\""Upcoming Top Gear America Trailer... Thrashes a mid 70s Coupe <b>...</b>\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:135:\""http://www.cadillacforums.com/forums/cadillac-forums-lounge-member-introductions/207377-upcoming-top-gear-america-trailer-thrashes.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:171:\""It is sad to see :crying:. http://www.finalgear.com/news/2010/0...ar-us-trailer/ I hope it is a good show but I think they\'re right; nothing will ever top the British one.\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""CadillacOwners\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""eldorado99\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Sat, 07 Aug 2010 16:26:27 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:4;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:38:\""Top Gear&#39;s Tribute To Ayrton Senna\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:83:\""http://space-action-hero.blogspot.com/2010/08/top-gear-tribute-to-ayrton-senna.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:237:\""Last week\'s Top Gear was epic. One of Top Gear\'s best in a while. There was the Veyron Super Sport, Tom Cruise and Cameron Diaz, but most of all, there was a heartwarming and touching tribute to arguably the greatest F1 driver of all ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:22:\""The Meditation Chamber\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:27:\""noreply@blogger.com (Kenny)\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Mon, 02 Aug 2010 14:02:00 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:5;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 5\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/29/top-gear-season-15-episode-5/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:233:\""This week\'s Top Gear is packed with action from start to finish. Hammond challenges snow mobiles in his nicely built Touareg, Captain Slow is back at Volkswagen\'s test track to try out their new Bugatti Veyron and lastly Clarkson ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Thu, 29 Jul 2010 21:40:21 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:6;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 4\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/24/top-gear-season-15-episode-4/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:230:\""Season 15 is starting to shape up to be an epic season. In this weeks episode Clarkson compares two super car convertibles and the boys are challenged to build motor homes and of course putting them through various challenges. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Sun, 25 Jul 2010 00:45:05 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:7;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:30:\""Post Vacation Reading Material\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:64:\""http://utterlyboring.com/archives/2010/07/19/post_vacation_r.php\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:219:\""Since getting back, I\'ve been trying to catch up on all the email and news that has been sent my way (you\'re always welcome to send more using the contact form on this site or e-mail utterlyboring at gmail dot com). ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:17:\""UtterlyBoring.com\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:7:\""unknown\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Mon, 19 Jul 2010 20:24:17 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:8;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Shared items on July 14, 2010\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:64:\""http://www.dot.alter.si/2010/07/15/shared-items-on-july-14-2010/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:239:\""An overview of interesting articles that came through my Google Reader subscriptions recently. Sony unveils world\'s first consumer HD camcorder with interchangeable lens system. from: Gizmag Emerging Technology Magazine on 14 July 2010 ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""Connecting Dots\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""Jernej\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Thu, 15 Jul 2010 06:50:43 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:9;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 3\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/12/top-gear-season-15-episode-3/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:235:\""This weeks episode pits three new high performance sedans against each other in a number of challenges to find out which one is the best. The hosts also review and compare the new Chevorlet Camero versus the new Mercedes Benz E63. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Tue, 13 Jul 2010 05:55:41 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}s:36:\""http://a9.com/-/spec/opensearch/1.1/\"";a:3:{s:12:\""totalResults\"";a:1:{i:0;a:5:{s:4:\""data\"";s:4:\""1432\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:10:\""startIndex\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:12:\""itemsPerPage\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2:\""10\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}}}}}}s:4:\""type\"";i:128;s:7:\""headers\"";a:9:{s:4:\""date\"";s:29:\""Thu, 18 Nov 2010 07:07:10 GMT\"";s:6:\""pragma\"";s:8:\""no-cache\"";s:7:\""expires\"";s:29:\""Fri, 01 Jan 1990 00:00:00 GMT\"";s:13:\""cache-control\"";s:25:\""no-cache, must-revalidate\"";s:12:\""content-type\"";s:23:\""text/xml; charset=UTF-8\"";s:10:\""set-cookie\"";s:138:\""PREF=ID=48169caac9439b57:TM=1290064030:LM=1290064031:S=Ik6CY3EJZro84eTi; expires=Sat, 17-Nov-2012 07:07:11 GMT; path=/; domain=.google.com\"";s:22:\""x-content-type-options\"";s:7:\""nosniff\"";s:6:\""server\"";s:4:\""bsfe\"";s:16:\""x-xss-protection\"";s:13:\""1; mode=block\"";}s:5:\""build\"";s:14:\""20090627192103\"";}', 'no') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

    Mr. Know linked here saying, ""The next episode of Fifth Gear with feature an Evo ...""
    krolyk linked here saying, ""У меня иногда спрашивают: что такого интересного я ...""
    Eric Trytko linked here saying, ""Everyone knows Jezza Clarkson from Top Gear, but w ...""
    eldorado99 linked here saying, ""It is sad to see :crying:. http://www.finalgear.co ...""
    noreply@blogger.com (Kenny) linked here saying, ""Last week's Top Gear was epic. One of Top Gear's b ...""
}}}

== WordPress Development Blog ==

{{{
WordPress database error: [Incorrect string value: '\xD0\x9D\xD0\xB8\xD0\xBA...' for column 'option_value' at row 1]
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_feed_0ff4b43bd116a9d8720d689c80e7dfd4', 'a:4:{s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:3:\""rss\"";a:1:{i:0;a:6:{s:4:\""data\"";s:3:\""\n\n\n\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:7:\""version\"";s:3:\""2.0\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:7:\""channel\"";a:1:{i:0;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:3:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""WordPress News\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:25:\""http://wordpress.org/news\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""WordPress News\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:13:\""lastBuildDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 30 Sep 2010 03:23:31 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""language\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2:\""en\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:9:\""generator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/?v=3.1-alpha\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""item\"";a:10:{i:0;a:6:{s:4:\""data\"";s:56:\""\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:39:\""WordPress for iPhone/iPad v2.6 Released\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:43:\""http://wordpress.org/news/2010/09/ios-v2-6/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:52:\""http://wordpress.org/news/2010/09/ios-v2-6/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 30 Sep 2010 03:23:31 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:6:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:5:\""apple\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:3:\""ios\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:4:\""ipad\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:4;a:5:{s:4:\""data\"";s:6:\""iphone\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:5;a:5:{s:4:\""data\"";s:6:\""mobile\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1497\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:335:\""Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn&#8217;t for you? Either way, the new release &#8212; v2.6 &#8212; will knock your socks off. Why? A bunch of reasons: Video. Record, upload, attach, and play videos [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2319:\""<p>Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn&#8217;t for you? Either way, the new release &#8212; v2.6 &#8212; will knock your socks off. Why? A bunch of reasons:</p>\n<ul>\n<li>Video. Record, upload, attach, and play videos within the app. Yay for being able to catch your friends&#8217; and co-workers&#8217; most <del>embarrassing shenanigans</del> <em>creative moments</em> with iPhone video and publish them immediately for all the world to see on your WordPress site.</li>\n<li>A total rewrite of the way local drafts are handled, to prevent the unintentional loss of your pending posts.</li>\n<li>Autosave/post revisions. Bam! One of the &#8220;oh, thank goodness&#8221; features of the web app makes it into the iOS version.</li>\n<li>Easier setup. Faster and easier process for adding your sites to the app.</li>\n<li>Media Library. We&#8217;re gradually getting closer to the media management you&#8217;re used to in the web app.</li>\n</ul>\n<p>There are also numerous bugfixes and performance enhancements in this release, so if you haven&#8217;t been using the app lately, you should consider giving it another try. I&#8217;m personally pretty excited to start using the iPhone version more often now that there are all these fixes and new features. Especially the video upload. You know, for those <em>creative moments</em> that make life fun. <img src=\'http://wordpress.org/news/wp-includes/images/smilies/icon_smile.gif\' alt=\':)\' class=\'wp-smiley\' /> </p>\n<p>You can read the full <a href=\""http://ios.wordpress.org/2010/09/29/introducing-version-2-6/\"">2.6 release post on the WordPress for iOS blog</a>, and can download v2.6 from iTunes/the app store. Happy mobile blogging!</p>\n<p style=\""text-align: center\"">* * *</p>\n<p>Not an iPhone user? We&#8217;ve still got your on-the-go back! Check out the WordPress apps for <a href=\""http://android.wordpress.org/\"">Android</a>, <a href=\""http://blackberry.wordpress.org/\"">Blackberry</a>, and <a href=\""http://nokia.wordpress.org/\"">Nokia (beta)</a>. They&#8217;re all 100% GPL, of course, and we&#8217;re always looking for contributors to the development projects, so check the blogs if you have mobile dev skills and want to get involved.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:48:\""http://wordpress.org/news/2010/09/ios-v2-6/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:1;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""WordPress Trademark Changes Hands\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/09/trademark-to-wpf/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:60:\""http://wordpress.org/news/2010/09/trademark-to-wpf/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 09 Sep 2010 23:14:13 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:4:{i:0;a:5:{s:4:\""data\"";s:7:\""General\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:10:\""Automattic\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:9:\""Trademark\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:20:\""WordPress Foundation\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1488\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:379:\""The WordPress community took a big step forward today when Matt announced that Automattic has donated the WordPress trademark to the non-profit WordPress Foundation. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:502:\""<p>The WordPress community took a big step forward today when <a href=\""http://wp.me/p4oB3-9ie\"">Matt announced</a> that Automattic has donated the WordPress trademark to the non-profit <a href=\""http://wp.me/pMBRF-1u\"">WordPress Foundation</a>. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out if a resource is &#8220;official&#8221; or not.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:56:\""http://wordpress.org/news/2010/09/trademark-to-wpf/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:2;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""WordPress 3.0.1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:59:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 29 Jul 2010 21:38:47 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1475\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:338:\""After nearly 11 million downloads of WordPress 3.0 in just 42 days, we&#8217;re releasing WordPress 3.0.1. The requisite haiku: Three dot oh dot one Bug fixes to make you smile Update your WordPress This maintenance release addresses about 50 minor issues. The testing many of you contributed prior to the release of 3.0 helped make [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Andrew Nacin\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:951:\""<p>After nearly <a href=\""http://wordpress.org/download/counter/\"">11 million downloads</a> of WordPress 3.0 in just 42 days, we&#8217;re releasing WordPress 3.0.1. The requisite haiku:</p>\n<p>Three dot oh dot one<br />\nBug fixes to make you smile<br />\nUpdate your WordPress</p>\n<p>This maintenance release addresses <a href=\""http://codex.wordpress.org/Version_3.0.1\"">about 50 minor issues</a>. The testing many of you contributed prior to the release of 3.0 helped make it one of the best and most stable releases we&#8217;ve had.</p>\n<p><a href=\""http://wordpress.org/download/\"">Download 3.0.1</a> or update automatically from the Dashboard &gt; Updates menu in your site&#8217;s admin area.</p>\n<p><em>Note: If you downloaded 3.0.1 in the first 20 minutes of release (before 2200 UTC), you&#8217;ll want to reinstall it, which you can do right from your Updates screen. <a href=\""http://twitter.com/wordpress/status/19859163982\"">Our bad</a>.</em></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:55:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:3;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:42:\""PHP 4 and MySQL 4 End of Life Announcement\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:58:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:67:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 23 Jul 2010 19:01:46 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:4:{i:0;a:5:{s:4:\""data\"";s:7:\""Hosting\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:5:\""MySQL\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:3:\""PHP\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:12:\""requirements\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1447\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:348:\""Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Mark Jaquith\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:3021:\""<p>Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the requirements for running WordPress. Now is one of those times. You probably guessed it from the title &#8212; we&#8217;re finally ready to announce the end of support for PHP 4 and MySQL 4!</p>\n<p>First up, the announcement that developers really care about. WordPress 3.1, due in late 2010, will be the last version of WordPress to support PHP 4.</p>\n<p>For WordPress 3.2, due in the first half of 2011, we will be raising the minimum required PHP version to 5.2. Why 5.2? Because that&#8217;s what the vast majority of WordPress users are using, and it offers substantial improvements over earlier PHP 5 releases. It is also the minimum PHP version that the <a href=\""http://drupal.org/\"">Drupal</a> and <a href=\""http://www.joomla.org/\"">Joomla</a> projects will be supporting in their next versions, both due out this year.</p>\n<p>The numbers are now, <em>finally</em>, strongly in favor of this move. Only around 11 percent of WordPress installs are running on a PHP version below 5.2. Many of them are on hosts who support PHP 5.2 &#8212; users merely need to change a setting in their hosting control panel to activate it. We believe that percentage will only go down over the rest of the year as hosting providers realize that to support the newest versions of WordPress (or Drupal, or Joomla), they&#8217;re going to have to pull the trigger.</p>\n<p>In less exciting news, we are also going to be dropping support for MySQL 4 after WordPress 3.1. Fewer than 6 percent of WordPress users are running MySQL 4. The new required MySQL version for WordPress 3.2 will be 5.0.15.</p>\n<p>WordPress users will not be able to upgrade to WordPress 3.2 if their hosting environment does not meet these requirements (the built-in updater will prevent it). In order to determine which versions your host provides, we&#8217;ve created the <a href=\""http://wordpress.org/extend/plugins/health-check/\"">Health Check plugin</a>. You can download it manually, or use this <a href=\""http://coveredwebservices.com/wp-plugin-install/?plugin=health-check\"">handy plugin installation</a> tool I whipped up. Right now, Health Check will only tell you if you&#8217;re ready for WordPress 3.2. In a future release it will provide all sorts of useful information about your server and your WordPress install, so hang on to it!</p>\n<p>In summary: WordPress 3.1, due in late 2010, will be the last version of WordPress to support PHP 4 and MySQL 4. WordPress 3.2, due in the first half of 2011, will require PHP 5.2 or higher, and MySQL 5.0.15 or higher. <a href=\""http://coveredwebservices.com/wp-plugin-install/?plugin=health-check\"">Install the Health Check plugin</a> to see if you&#8217;re ready!</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:4;a:6:{s:4:\""data\"";s:44:\""\n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:41:\""100 Million Plugin Downloads and Counting\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:46:\""http://wordpress.org/news/2010/07/100-million/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:55:\""http://wordpress.org/news/2010/07/100-million/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 02 Jul 2010 17:48:34 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:2:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1429\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:364:\""WordPress 3.0 Thelonious passed 3 million downloads yesterday, and today the plugin directory followed suit with a milestone of its own: 100 million downloads. The WordPress community&#8217;s growth over the years has been tremendous, and we want to reinvest in it. So we&#8217;re taking the next two months to concentrate on improving WordPress.org. A major [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Andrew Nacin\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2319:\""<p>WordPress 3.0 Thelonious passed <a href=\""http://wordpress.org/download/counter/\"">3 million downloads</a> yesterday, and today <a href=\""http://wordpress.org/extend/plugins/\"">the plugin directory</a> followed suit with a milestone of its own: 100 million downloads.</p>\n<p>The WordPress community&#8217;s growth over the years has been tremendous, and we want to reinvest in it. So we&#8217;re taking the next two months to concentrate on improving WordPress.org. A major part of that will be improving the infrastructure of the plugins directory. More than 10,000 plugins are in the directory, every one of them GPL compatible and free as in both beer and speech. Here&#8217;s what we have in mind:</p>\n<p>We want to provide developers the tools they need to build the best possible plugins. We&#8217;re going to provide better integration with the forums so you can support your users. We&#8217;ll make more statistics available to you so you can analyze your user base, and over time we hope to make it easier for you to manage, build, and release localized plugins.</p>\n<p>We want to improve how the core software works with your plugin and the plugin directory. We&#8217;re going to focus on ensuring seamless upgrades by making the best possible determinations about compatibility, and offer continual improvements to the plugin installer. And we also want to give you a better developer tool set like SVN notifications and improvements to the bug tracker.</p>\n<p>We&#8217;re also going to experiment with other great ideas to help the community help plugin authors. We want it to be easy for you to offer comments to plugin authors and the community, including user reviews and better feedback. We may experiment with an adoption process for abandoned plugins as a way to revitalize hidden gems in the directory. I&#8217;m not sure there is a better way to show how extendable WordPress is and how awesome this community is at the same time.</p>\n<p>As <a href=\""http://wordpress.org/development/2010/06/thelonious/\"">Matt said in the 3.0 release announcement</a>, our goal isn&#8217;t to make everything perfect all at once. But we think incremental improvements can provide us with a great base for 3.1 and beyond, and for the tens of millions of users, and hundreds of millions of plugin downloads to come.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/07/100-million/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:5;a:6:{s:4:\""data\"";s:44:\""\n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:18:\""Summer of WordCamp\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:53:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:62:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Tue, 29 Jun 2010 17:19:45 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:2:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:8:\""WordCamp\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1418\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:355:\""It&#8217;s been summer for about a week now. Whether you&#8217;re on vacation or burning the midnight oil, attending a local/nearby WordCamp is a great way to spend a weekend. Meet other WordPress users, developers, designers &#38; consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5678:\""<p>It&#8217;s been summer for about a week now. Whether you&#8217;re on vacation or burning the midnight oil, attending a local/nearby <a href=\""http://wordcamp.org\"">WordCamp</a> is a great way to spend a weekend. Meet other WordPress users, developers, designers &amp; consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or raise a toast) with new friends and collaborators. Here are the WordCamps scheduled for this summer, along with what I know about them.</p>\n<p>July 3: <a href=\""http://wordcamp.de/\"">WordCamp Germany</a> &#8211; Berlin, Germany. I love it that they&#8217;re using BuddyPress for their event site. They have multiple tracks, and what looks to be a nice variety of sessions. It&#8217;s only a few days away, so if you&#8217;re thinking of going, get your tickets now!</p>\n<p>July 10: <a href=\""http://2010.boulder.wordcamp.org/\"">WordCamp Boulder</a> &#8211; Boulder, Colorado, USA. This was WordCamp Denver last year, but the organizers have decided to mix it up and go back and forth between Denver and Boulder, which also has a thriving tech community. This year the venue is the Boulder Theater (so pretty!), and there will sessions for bloggers and devs alike, plus a Genius Bar to help people get their WordPress sites all fixed up. The speaker lineup looks good, and I hear they&#8217;re pumping up the wifi this year. I&#8217;ll be there, likely hunched over a notebook with Lisa Sabin-Wilson (author of <em>WordPress for Dummies</em> and <em>BuddyPress for Dummies</em>) to talk about the WordPress User Handbook project, and/or hunched over a sketchbook with Kevin Conboy (designed the new lighter &#8220;on&#8221; state for admin menus in WordPress 3.0) to work out a new default WordCamp.org theme (using BuddyPress). You can still get tickets!</p>\n<p>July 17–18: <a href=\""http://uk.wordcamp.org/\"">WordCamp UK</a>- Manchester, England, UK. The roving WordCamp UK will be in Manchester this year, and is probably the closest to BarCamp style of all the WordCamps, using a wiki to plan some speakers/sessions and organizing the rest ad-hoc on the first day of the event. I&#8217;ll be attending this one as well, and am looking forward to seeing WordPress lead developer Peter Westwood again. I&#8217;m also looking forward to meeting some core contributors for the first time in person, like Simon Wheatley and John O&#8217;Nolan. Mike Little, co-founder of WordPress, is on the organizing team of WordCamp UK. Tickets on sale now!</p>\n<p>July 24: WordCamp Nigeria &#8211; Lagos, Nigeria. Their site seems to have a virus, so no link from here, but if you&#8217;re in Nigeria and interested in attending/getting involved, a quick Google search will get you to the organizers.</p>\n<p>August 7: <a href=\""http://www.wordcamphouston.com/\"">WordCamp Houston</a> &#8211; Houston, TX, USA. Houston, Texas, birthplace of WordPress! Fittingly, Matt Mullenweg will be there to give the keynote. WordCamp Houston is running three tracks &#8212; Business, Blogger and Developer &#8212; in recognition of the fact that people who are interested in using WordPress for their business may not actually be bloggers or developers themselves. This used to get labeled as a &#8220;CMS&#8221; track at previous WordCamps (including NYC 2009), but with WordPress 3.0 supporting CMS functionality out of the box, &#8220;Business&#8221; is a much more appropriate label. Who wants to bet on if there will be BBQ for lunch?</p>\n<p>August 7 : <a href=\""http://wordcampiowa.org/\"">WordCamp Iowa</a> &#8211; Des Moines, Iowa, USA. Another placeholder page. Happening, not happening? I&#8217;ve emailed the organizer and will update this post once I know more.</p>\n<p>August 7–8: <a href=\""http://wordcamp.org.nz/\"">WordCamp New Zealand</a> &#8211; Auckland, New Zealand. They haven&#8217;t announced this year&#8217;s speakers or topics, but they&#8217;ve been running polls to get community input into the program. Of note: in 2011 WordCamp New Zealand will be shifting seasons and will be in February instead, when the weather is nicer.</p>\n<p>August 20–22: <a href=\""http://2010.savannah.wordcamp.org/\"">WordCamp Savannah</a> &#8211; Savannah, Georgia, USA. Disclaimer: I am completely biased about Savannah, since I&#8217;m one of the organizers. This will be the first WordCamp in Savannah, and it&#8217;s being held at the Savannah College of Art and Design River Club, an awesome venue that used to be a cotton warehouse or something like that. Since Savannah doesn&#8217;t really have a cohesive WordPress community yet (though a fair number of people from Savannah attended WordCamp Atlanta earlier this year), this WordCamp is aimed squarely at building a local community. We&#8217;ll have a local meet-and-greet, regular sessions with visiting speakers (lots of core contributors coming to this one, plus Matt), and on Sunday it will be combination unconference/genius bar/collaborative workspace. Oh, and a potluck! We&#8217;ll also be running a pre-WordCamp workshop for people who have never used WordPress but want to get started, so that they&#8217;ll be able to follow the presentations and conversations littered with WordPress-specific vocabulary over the weekend. Ticket sales just opened, so get your tickets now.</p>\n<p>For a <a href=\""http://central.wordcamp.org/schedule/\"">schedule of all upcoming WordCamps</a>, visit <a href=\""http://central.wordcamp.org/\"">wordcamp.org</a>. The autumn schedule is already packed! If you don&#8217;t see WordCamp in your area and are interested in organizing one, <a href=\""http://central.wordcamp.org/about/\"">get more information and let us know</a>.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:58:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:6;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:26:\""WordPress 3.0 \""Thelonious\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:45:\""http://wordpress.org/news/2010/06/thelonious/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:54:\""http://wordpress.org/news/2010/06/thelonious/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 17 Jun 2010 16:26:36 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1380\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:341:\""Arm your vuvuzelas: WordPress 3.0, the thirteenth major release of WordPress and the culmination of half a year of work by 218 contributors, is now available for download (or upgrade within your dashboard). Major new features in this release include a sexy new default theme called Twenty Ten. Theme developers have new APIs that allow [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""Matt Mullenweg\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:38078:\""<p>Arm your vuvuzelas: WordPress 3.0, the thirteenth major release of WordPress and the culmination of half a year of work by 218 contributors, is <a href=\""http://wordpress.org/download/\"">now available for download</a> (or <a href=\""http://codex.wordpress.org/Dashboard_Updates_SubPanel\"">upgrade within your dashboard</a>). Major new features in this release include a sexy <strong>new default theme called Twenty Ten</strong>. Theme developers have new APIs that allow them to easily implement custom backgrounds, headers, shortlinks, <a href=\""http://codex.wordpress.org/Appearance_Menus_SubPanel\"">menus</a> (no more file editing), <a href=\""http://codex.wordpress.org/Custom_Post_Types\"">post types</a>, and <a href=\""http://codex.wordpress.org/Custom_Taxonomies\"">taxonomies</a>. (Twenty Ten theme shows all of that off.) Developers and network admins will appreciate the long-awaited <strong>merge of MU and WordPress</strong>, creating the new multi-site functionality which makes it possible to run one blog or ten million from the same installation. As a user, you will love the new <strong>lighter interface</strong>, the contextual help on every screen, the <strong>1,217 bug fixes and feature enhancements</strong>, bulk updates so you can upgrade 15 plugins at once with a single click, and blah blah blah just watch the video. <img src=\'http://wordpress.org/news/wp-includes/images/smilies/icon_smile.gif\' alt=\':)\' class=\'wp-smiley\' /> <em>(In HD, if you can, so you can catch the Easter eggs.)</em></p>\n<p><object classid=\""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" width=\""640\"" height=\""360\"" codebase=\""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""><param name=\""flashvars\"" value=\""guid=BQtfIEY1&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\"" /><param name=\""src\"" value=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" /><param name=\""wmode\"" value=\""transparent\"" /><param name=\""allowfullscreen\"" value=\""true\"" /><embed type=\""application/x-shockwave-flash\"" width=\""640\"" height=\""360\"" src=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" allowfullscreen=\""true\"" wmode=\""transparent\"" flashvars=\""guid=BQtfIEY1&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\""></embed></object></p>\n<p>If you&#8217;d like to embed the WordPress 3.0 video tour in your blog, copy and paste this code for the high quality version:</p>\n<pre class=\""brush: xml;\"">&lt;embed src=&quot;http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;640&quot; height=&quot;360&quot; wmode=&quot;transparent&quot; seamlesstabbing=&quot;true&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; overstretch=&quot;true&quot; flashvars=&quot;guid=BQtfIEY1&amp;amp;width=640&amp;amp;height=360&amp;amp;locksize=no&amp;amp;dynamicseek=false&amp;amp;qc_publisherId=p-18-mFEk4J448M&quot; title=&quot;Introducing WordPress 3.0 &amp;quot;Thelonious&amp;quot;&quot;&gt;&lt;/embed&gt;</pre>\n<p>For a more comprehensive look at everything that has improved in 3.0 check out <a href=\""http://codex.wordpress.org/Version_3.0\"">3.0&#8242;s Codex page</a> or the <a href=\""http://core.trac.wordpress.org/query?group=status&amp;milestone=3.0&amp;desc=1&amp;order=priority\"">long list of issues in Trac</a>. (We&#8217;re trying to keep these announcement posts shorter.) Whew! That&#8217;s a lot packed into one release. I can&#8217;t think of a better way to kick off the 3.X cycle we&#8217;ll be in for the next two and a half years.</p>\n<h3>The Future</h3>\n<p>Normally this is where I&#8217;d say we&#8217;re about to start work on 3.1, but we&#8217;re actually not. We&#8217;re going to take a release cycle off to focus on all of the things around WordPress. The growth of the community has been breathtaking, including over 10.3 million downloads of version 2.9, but so much of our effort has been focused on the core software it hasn&#8217;t left much time for anything else. Over the next three months we&#8217;re going to split into ninja/pirate teams focused on different areas of the around-WordPress experience, including the showcase, Codex, forums, profiles, update and compatibility APIs, theme directory, plugin directory, mailing lists, core plugins, wordcamp.org&#8230; the possibilities are endless. The goal of the teams isn&#8217;t going to be to make things perfect all at once, just better than they are today. We think this investment of time will give us a much stronger infrastructure to grow WordPress.org for the many tens of millions of users that will join us during the 3.X release cycle.</p>\n<h3>It Takes a Village</h3>\n<p>I&#8217;m proud to acknowledge the contributions of the following <strong>218</strong> people to the 3.0 release cycle. These are the folks that make WordPress what it is, whose collaboration and hard work enable us to build something greater than the sum of our parts. In alphabetical order, of course.</p>\n<p><strong>Committers:</strong> <a href=\""http://www.laptoptips.ca/\"">azaozz (Andrew Ozz)</a> (<a title=\""azaozz at WP Profiles\"" href=\""http://profiles.wordpress.org/azaozz\"">prof</a>), <a href=\""http://dd32.id.au/\"">dd32 (Dion Hulse)</a> (<a title=\""dd32 at WP Profiles\"" href=\""http://profiles.wordpress.org/dd32\"">prof</a>), <a href=\""http://ocaoimh.ie/\"">donncha (Donncha O Caoimh)</a> (<a title=\""donncha at WP Profiles\"" href=\""http://profiles.wordpress.org/donncha\"">prof</a>), <a href=\""http://iammattthomas.com/\"">iammattthomas (Matt Thomas)</a> (<a title=\""iammattthomas at WP Profiles\"" href=\""http://profiles.wordpress.org/iammattthomas\"">prof</a>), <a href=\""http://josephscott.org/\"">josephscott (Joseph Scott)</a> (<a title=\""josephscott at WP Profiles\"" href=\""http://profiles.wordpress.org/josephscott\"">prof</a>), <a href=\""http://txfx.net/\"">markjaquith (Mark Jaquith)</a> (<a title=\""markjaquith at WP Profiles\"" href=\""http://profiles.wordpress.org/markjaquith\"">prof</a>), <a href=\""http://ma.tt/\"">matt (Matt Mullenweg)</a> (<a title=\""matt at WP Profiles\"" href=\""http://profiles.wordpress.org/matt\"">prof</a>), <a href=\""http://andrewnacin.com/\"">nacin (Andrew Nacin)</a> (<a title=\""nacin at WP Profiles\"" href=\""http://profiles.wordpress.org/nacin\"">prof</a>), <a href=\""http://nikolay.bg/\"">nbachiyski (Николай Бачийски)</a> (<a title=\""nbachiyski at WP Profiles\"" href=\""http://profiles.wordpress.org/nbachiyski\"">prof</a>), <a href=\""http://boren.nu/\"">ryan (Ryan Boren)</a> (<a title=\""ryan at WP Profiles\"" href=\""http://profiles.wordpress.org/ryan\"">prof</a>), <a href=\""http://blog.ftwr.co.uk/\"">westi (Peter Westwood)</a> (<a title=\""westi at WP Profiles\"" href=\""http://profiles.wordpress.org/westi\"">prof</a>), and <a href=\""http://wpmututorials.com/\"">wpmuguru (Ron Rennick)</a> (<a title=\""wpmuguru at WP Profiles\"" href=\""http://profiles.wordpress.org/wpmuguru\"">prof</a>). <strong>Contributors:</strong> <a href=\""http://xavisys.com/\"">aaroncampbell (Aaron Campbell)</a> (<a title=\""aaroncampbell at WP Profiles\"" href=\""http://profiles.wordpress.org/aaroncampbell\"">prof</a>), akerem (<a title=\""akerem at WP Profiles\"" href=\""http://profiles.wordpress.org/akerem\"">prof</a>), <a href=\""http://alexking.org/\"">alexkingorg (Alex King)</a> (<a title=\""alexkingorg at WP Profiles\"" href=\""http://profiles.wordpress.org/alexkingorg\"">prof</a>), amattie (<a title=\""amattie at WP Profiles\"" href=\""http://profiles.wordpress.org/amattie\"">prof</a>), <a href=\""http://notfornoone.com/\"">ampt (Luke Gallagher)</a> (<a title=\""ampt at WP Profiles\"" href=\""http://profiles.wordpress.org/ampt\"">prof</a>), <a href=\""http://wpmututorials.com/\"">andrea_r</a> (<a title=\""andrea_r at WP Profiles\"" href=\""http://profiles.wordpress.org/andrea_r\"">prof</a>), <a href=\""http://andreasnurbo.com/\"">andreasnrb (Andreas Nurbo)</a> (<a title=\""andreasnrb at WP Profiles\"" href=\""http://profiles.wordpress.org/andreasnrb\"">prof</a>), <a href=\""http://twitter.com/anilo4ever\"">anilo4ever (Angelo Verona)</a> (<a title=\""anilo4ever at WP Profiles\"" href=\""http://profiles.wordpress.org/anilo4ever\"">prof</a>), <a href=\""http://apeatling.wordpress.com/\"">apeatling (Andy Peatling)</a> (<a title=\""apeatling at WP Profiles\"" href=\""http://profiles.wordpress.org/apeatling\"">prof</a>), <a href=\""http://blog.apokalyptik.com/\"">apokalyptik (Demitrious Kelly)</a> (<a title=\""apokalyptik at WP Profiles\"" href=\""http://profiles.wordpress.org/apokalyptik\"">prof</a>), <a href=\""http://www.mailpress.org/\"">arena (André Renaut)</a> (<a title=\""arena at WP Profiles\"" href=\""http://profiles.wordpress.org/arena\"">prof</a>), <a href=\""http://barry.wordpress.com/\"">barry (Barry Abrahamson)</a> (<a title=\""barry at WP Profiles\"" href=\""http://profiles.wordpress.org/barry\"">prof</a>), <a href=\""http://digitalize.ca/\"">batmoo (Mohammad Jangda)</a> (<a title=\""batmoo at WP Profiles\"" href=\""http://profiles.wordpress.org/batmoo\"">prof</a>), <a href=\""http://dentedreality.com.au/\"">beaulebens (Beau Lebens)</a> (<a title=\""beaulebens at WP Profiles\"" href=\""http://profiles.wordpress.org/beaulebens\"">prof</a>), <a href=\""http://use.perl.org/~belg4mit/\"">belg4mit</a> (<a title=\""belg4mit at WP Profiles\"" href=\""http://profiles.wordpress.org/belg4mit\"">prof</a>), <a href=\""http://matthewgrichmond.com/dev/\"">bigdawggi (Matthew G. Richmond)</a> (<a title=\""blepoxp at WP Profiles\"" href=\""http://profiles.wordpress.org/blepoxp\"">prof</a>), <a href=\""http://fullthrottledevelopment.com/\"">blepoxp (Glenn Ansley)</a> (<a title=\""blepoxp at WP Profiles\"" href=\""http://profiles.wordpress.org/blepoxp\"">prof</a>), <a href=\""http://twitter.com/thenbrent\"">brentes (Brent Shepherd)</a> (<a title=\""brentes at WP Profiles\"" href=\""http://profiles.wordpress.org/brentes\"">prof</a>), <a href=\""http://colinger.com/\"">briancolinger (Brian Colinger)</a> (<a title=\""briancolinger at WP Profiles\"" href=\""http://profiles.wordpress.org/briancolinger\"">prof</a>), <a href=\""http://www.bumbu.ru/\"">bumbu</a> (<a title=\""bumbu at WP Profiles\"" href=\""http://profiles.wordpress.org/bumbu\"">prof</a>), <a href=\""http://www.caesarsgrunt.com/\"">caesarsgrunt (Caesar Schinas)</a> (<a title=\""caesarsgrunt at WP Profiles\"" href=\""http://profiles.wordpress.org/caesarsgrunt\"">prof</a>), camiloclc (<a title=\""camiloclc at WP Profiles\"" href=\""http://profiles.wordpress.org/camiloclc\"">prof</a>), CAMWebDesign (<a title=\""CAMWebDesign at WP Profiles\"" href=\""http://profiles.wordpress.org/CAMWebDesign\"">prof</a>), carbolineum (<a title=\""carbolineum at WP Profiles\"" href=\""http://profiles.wordpress.org/carbolineum\"">prof</a>), <a href=\""http://blog.caspie.net/\"">caspie</a> (<a title=\""caspie at WP Profiles\"" href=\""http://profiles.wordpress.org/caspie\"">prof</a>), <a href=\""http://www.catiakitahara.com.br/\"">catiakitahara (Cátia Kitahara)</a> (<a title=\""catiakitahara at WP Profiles\"" href=\""http://profiles.wordpress.org/catiakitahara\"">prof</a>), <a href=\""http://www.clarksonenergyhomes.com/wordpress/\"">CharlesClarkson (Charles Clarkson)</a> (<a title=\""CharlesClarkson at WP Profiles\"" href=\""http://profiles.wordpress.org/CharlesClarkson\"">prof</a>), <a href=\""http://chdorner.com/\"">chdorner (Christof Dorner)</a> (<a title=\""chdorner at WP Profiles\"" href=\""http://profiles.wordpress.org/chdorner\"">prof</a>), <a href=\""http://gaarai.com/\"">chrisbliss18 (Chris Jean)</a> (<a title=\""chrisbliss18 at WP Profiles\"" href=\""http://profiles.wordpress.org/chrisbliss18\"">prof</a>), <a href=\""http://vocecommunications.com/\"">chrisscott (Chris Scott)</a> (<a title=\""chrisscott at WP Profiles\"" href=\""http://profiles.wordpress.org/chrisscott\"">prof</a>), <a href=\""http://brandonallen.org/\"">cnorris23 (Brandon Allen)</a> (<a title=\""cnorris23 at WP Profiles\"" href=\""http://profiles.wordpress.org/cnorris23\"">prof</a>), <a href=\""http://coffee2code.com/\"">coffee2code (Scott Reilly)</a> (<a title=\""coffee2code at WP Profiles\"" href=\""http://profiles.wordpress.org/coffee2code\"">prof</a>), computerwiz908 (<a title=\""computerwiz908 at WP Profiles\"" href=\""http://profiles.wordpress.org/computerwiz908\"">prof</a>), <a href=\""http://www.cyberhobo.net/\"">cyberhobo (Dylan Kuhn)</a> (<a title=\""cyberhobo at WP Profiles\"" href=\""http://profiles.wordpress.org/cyberhobo\"">prof</a>), <a href=\""http://dan-cole.com/\"">dancole (Dan Cole)</a> (<a title=\""dancole at WP Profiles\"" href=\""http://profiles.wordpress.org/dancole\"">prof</a>), <a href=\""http://danielkoskinen.com/\"">Daniel Koskinen</a> <!--PROF?-->, <a href=\""http://gsocdk.wordpress.com/\"">deepak.seth (Deepak Seth)</a>, <a href=\""http://op111.net/\"">demetris (Δημήτρης Κίκιζας)</a> (<a title=\""demetris at WP Profiles\"" href=\""http://profiles.wordpress.org/demetris\"">prof</a>), <a href=\""http://www.semiologic.com/\"">Denis-de-Bernardy</a> (<a title=\""Denis-de-Bernardy at WP Profiles\"" href=\""http://profiles.wordpress.org/Denis-de-Bernardy\"">prof</a>), <a href=\""http://www.milandinic.com/\"">dimadin (Milan Dinić)</a> (<a title=\""dimadin at WP Profiles\"" href=\""http://profiles.wordpress.org/dimadin\"">prof</a>), <a href=\""http://twitter.com/dndrnkrd\"">dndrnkrd (Dan Drinkard)</a> (<a title=\""dndrnkrd at WP Profiles\"" href=\""http://profiles.wordpress.org/dndrnkrd\"">prof</a>), <a href=\""http://docwhat.org/\"">docwhat</a> (<a title=\""docwhat at WP Profiles\"" href=\""http://profiles.wordpress.org/docwhat\"">prof</a>), <a href=\""http://twitter.com/dougwrites\"">dougwrites</a> (<a title=\""dougwrites at WP Profiles\""<br />\n href=\""http://profiles.wordpress.org/dougwrites\"">prof</a>), <a href=\""http://phiffer.org/\"">dphiffer (Dan Phiffer)</a> (<a title=\""dphiffer at WP Profiles\"" href=\""http://profiles.wordpress.org/dphiffer\"">prof</a>), dragoonis (<a title=\""dragoonis at WP Profiles\"" href=\""http://profiles.wordpress.org/dragoonis\"">prof</a>), <a href=\""http://wpvibe.com/\"">dremeda (Dre Armeda)</a> (<a title=\""dremeda at WP Profiles\"" href=\""http://profiles.wordpress.org/dremeda\"">prof</a>), dtoj <!--PROF?-->, <a href=\""http://dougal.gunters.org/\"">dougal (Dougal Campbell)</a> (<a title=\""dougal at WP Profiles\"" href=\""http://profiles.wordpress.org/dougal\"">prof</a>), <a href=\""http://lionsgoroar.co.uk/\"">duck_ (Jon Cave)</a> (<a title=\""duck_ at WP Profiles\"" href=\""http://profiles.wordpress.org/duck_\"">prof</a>), <a href=\""http://dxjones.com/\"">dxjones (David Jones)</a> (<a title=\""dxjones at WP Profiles\"" href=\""http://profiles.wordpress.org/dxjones\"">prof</a>), <a href=\""http://eddieringle.com/\"">eddieringle (Eddie Ringle)</a> (<a title=\""eddieringle at WP Profiles\"" href=\""http://profiles.wordpress.org/eddieringle\"">prof</a>), <a href=\""http://mindreantre.se/\"">edward mindreantre (Edward Hevlund)</a>, eoinomurchu (<a title=\""eoinomurchu at WP Profiles\"" href=\""http://profiles.wordpress.org/eoinomurchu\"">prof</a>), <a href=\""http://field2.com/\"">empireoflight/Ben Dunkle</a> (<a title=\""empireoflight at WP Profiles\"" href=\""http://profiles.wordpress.org/empireoflight\"">prof</a>), <a href=\""http://www.mindsharestrategy.com/\"">ericmann (Eric Mann)</a> (<a title=\""ericmann at WP Profiles\"" href=\""http://profiles.wordpress.org/ericmann\"">prof</a>), <a href=\""http://www.eddiemonge.com/\"">etiger13 (Eddie Monge Jr.)</a> (<a title=\""etiger13 at WP Profiles\"" href=\""http://profiles.wordpress.org/etiger13\"">prof</a>), <a href=\""http://www.ilfilosofo.com/\"">filosofo (Austin Matzko)</a> (<a title=\""filosofo at WP Profiles\"" href=\""http://profiles.wordpress.org/filosofo\"">prof</a>), firebird75 (<a title=\""firebird75 at WP Profiles\"" href=\""http://profiles.wordpress.org/firebird75\"">prof</a>), <a href=\""http://www.frankieroberto.com/\"">frankieroberto (Frankie Roberto)</a> (<a title=\""frankieroberto at WP Profiles\"" href=\""http://profiles.wordpress.org/frankieroberto\"">prof</a>), <a href=\""http://frumph.net/\"">Frumph (Philip M. Hofer)</a> (<a title=\""Frumph at WP Profiles\"" href=\""http://profiles.wordpress.org/Frumph\"">prof</a>), <a href=\""http://www.garyc40.com/\"">garyc40 (Gary Cao)</a> (<a title=\""garyc40 at WP Profiles\"" href=\""http://profiles.wordpress.org/garyc40\"">prof</a>), <a href=\""http://gaut.am/\"">gautam2011</a> (<a title=\""gautam2011 at WP Profiles\"" href=\""http://profiles.wordpress.org/gautam2011\"">prof</a>), <a href=\""http://twitter.com/garymross\"">Gary Ross (Gazzer)</a> <!--PROF?-->, <a href=\""http://www.dev4press.com/\"">GDragoN (Milan Petrovic)</a> (<a title=\""GDragoN at WP Profiles\"" href=\""http://profiles.wordpress.org/GDragoN\"">prof</a>), <a href=\""http://justintadlock.com/\"">greenshady (Justin Tadlock)</a> (<a title=\""greenshady at WP Profiles\"" href=\""http://profiles.wordpress.org/greenshady\"">prof</a>), <a href=\""http://www.dennismorhardt.de/\"">GIGALinux (Dennis Morhardt)</a> (<a title=\""GIGALinux at WP Profiles\"" href=\""http://profiles.wordpress.org/GIGALinux\"">prof</a>), <a href=\""http://hakre.wordpress.com/\"">hakre</a> (<a title=\""hakre at WP Profiles\"" href=\""http://profiles.wordpress.org/hakre\"">prof</a>), husky (<a title=\""husky at WP Profiles\"" href=\""http://profiles.wordpress.org/husky\"">prof</a>), <a href=\""http://themeshaper.com/\"">iandstewart (Ian Stewart)</a> (<a title=\""iandstewart at WP Profiles\"" href=\""http://profiles.wordpress.org/iandstewart\"">prof</a>), <a href=\""http://ipstenu.org/\"">ipstenu (Mika Epstein)</a> (<a title=\""ipstenu at WP Profiles\"" href=\""http://profiles.wordpress.org/ipstenu\"">prof</a>), <a href=\""http://jacobsantos.com/\"">jacobsantos (Jacob Santos)</a> (<a title=\""jacobsantos at WP Profiles\"" href=\""http://profiles.wordpress.org/jacobsantos\"">prof</a>), <a href=\""http://om4.com.au/\"">jamescollins (James Collins)</a> (<a title=\""jamescollins at WP Profiles\"" href=\""http://profiles.wordpress.org/jamescollins\"">prof</a>), <a href=\""http://jane.wordpress.com\"">jane (Jane Wells)</a> (<a title=\""jane at WP Profiles\"" href=\""http://profiles.wordpress.org/jane\"">prof</a>), <a href=\""http://blog.trailmeme.com/\"">jbsil (Jesse Silverstein)</a> (<a title=\""jbsil at WP Profiles\"" href=\""http://profiles.wordpress.org/jbsil\"">prof</a>), <a href=\""http://bethesignal.org/\"">jdub (Jeff Waugh)</a> (<a title=\""jdub at WP Profiles\"" href=\""http://profiles.wordpress.org/jdub\"">prof</a>), <a href=\""http://www.jeffikus.com/\"">jeffikus (Jeffrey Pearce)</a> (<a title=\""jeffikus at WP Profiles\"" href=\""http://profiles.wordpress.org/jeffikus\"">prof</a>), <a href=\""http://blog.jeffstieler.com/\"">jeffstieler (Jeff Stieler)</a> (<a title=\""jeffstieler at WP Profiles\"" href=\""http://profiles.wordpress.org/jeffstieler\"">prof</a>), <a href=\""http://simianuprising.com/\"">jeremyclarke (Jeremy Clarke)</a> (<a title=\""jeremyclarke at WP Profiles\"" href=\""http://profiles.wordpress.org/jeremyclarke\"">prof</a>), <a href=\""http://www.jfarthing.com/\"">jfarthing84 (Jeff Farthing)</a> (<a title=\""jfarthing84 at WP Profiles\"" href=\""http://profiles.wordpress.org/jfarthing84\"">prof</a>), <a href=\""http://www.jamesdimick.com/\"">Jick (James Dimick)</a> (<a title=\""Jick at WP Profiles\"" href=\""http://profiles.wordpress.org/Jick\"">prof</a>), <a href=\""http://jonsview.com/\"">jmstacey (Jon Stacey)</a> (<a title=\""jmstacey at WP Profiles\"" href=\""http://profiles.wordpress.org/jmstacey\"">prof</a>), <a href=\""http://jobjorn.se/\"">jobjorn (Jobjörn Folkesson)</a> (<a title=\""jobjorn at WP Profiles\"" href=\""http://profiles.wordpress.org/jobjorn\"">prof</a>), <a href=\""http://devel.kostdoktorn.se/\"">johanee (Johan Eenfeldt)</a> (<a title=\""johanee at WP Profiles\"" href=\""http://profiles.wordpress.org/johanee\"">prof</a>), <a href=\""http://lud.icro.us/\"">johnbillion (John Blackbourn)</a> (<a title=\""johnbillion at WP Profiles\"" href=\""http://profiles.wordpress.org/johnbillion\"">prof</a>), <a href=\""http://johnjamesjacoby.com/\"">johnjamesjacoby/jjj (John James Jacoby)</a> (<a title=\""johnjamesjacoby at WP Profiles\"" href=\""http://profiles.wordpress.org/johnjamesjacoby\"">prof</a>), <a href=\""http://johnjosephbachir.org/\"">johnjosephbachir (John Joseph Bachir)</a> (<a title=\""johnjosephbachir at WP Profiles\"" href=\""http://profiles.wordpress.org/johnjosephbachir\"">prof</a>), <a href=\""http://johnluetke.net/\"">johnl1479 (John Luetke)</a> (<a title=\""johnl1479 at WP Profiles\"" href=\""http://profiles.wordpress.org/johnl1479\"">prof</a>), <a href=\""http://john.onolan.org/\"">johnonolan (John O’Nolan)</a> (<a title=\""johnonolan at WP Profiles\"" href=\""http://profiles.wordpress.org/johnonolan\"">prof</a>), <a href=\""http://www.johnpbloch.com/\"">JohnPBloch/wmrom (John Bloch)</a> (<a title=\""JohnPBloch at WP Profiles\"" href=\""http://profiles.wordpress.org/JohnPBloch\"">prof</a>), <a href=\""http://yoast.com/\"">joostdevalk/yoast (Joost de Valk)</a> (<a title=\""joostdevalk at WP Profiles\"" href=\""http://profiles.wordpress.org/joostdevalk\"">prof</a>), <a href=\""http://aaron.jorb.in/\"">jorbin (Aaron Jorbin)</a> (<a title=\""jorbin at WP Profiles\"" href=\""http://profiles.wordpress.org/jorbin\"">prof</a>), joshtime (<a title=\""joshtime at WP Profiles\"" href=\""http://profiles.wordpress.org/joshtime\"">prof</a>), <a href=\""http://serenelabs.com/\"">jshreve</a> (<a title=\""jshreve at WP Profiles\"" href=\""http://profiles.wordpress.org/jshreve\"">prof</a>), <a href=\""http://tyco.ws/\"">junsuijin</a> (<a title=\""junsuijin at WP Profiles\"" href=\""http://profiles.wordpress.org/junsuijin\"">prof</a>), <a href=\""http://www.wangstedt.net/\"">kallewangstedt (Karl Wångstedt)</a> (<a title=\""kallewangstedt at WP Profiles\"" href=\""http://profiles.wordpress.org/kallewangstedt\"">prof</a>), <a href=\""http://www.keighl.com/\"">keighl (Kyle Truscott)</a> (<a title=\""keighl at WP Profiles\"" href=\""http://profiles.wordpress.org/keighl\"">prof</a>), <a href=\""http://agapetry.net/\"">kevinB (Kevin Behrens)</a> (<a title=\""kevinB at WP Profiles\"" href=\""http://profiles.wordpress.org/kevinB\"">prof</a>), <a href=\""http://drylk.com/\"">koopersmith (Daryl Koopersmith)</a> (<a title=\""koopersmith at WP Profiles\"" href=\""http://profiles.wordpress.org/koopersmith\"">prof</a>), <a href=\""http://www.kpdesign.net/\"">kpdesign (Kim Parsell)<br />\n</a> (<a title=\""kpdesign at WP Profiles\"" href=\""http://profiles.wordpress.org/kpdesign\"">prof</a>), <a href=\""http://www.ktdreyer.com/\"">ktdreyer (Ken Dreyer)</a> (<a title=\""ktdreyer at WP Profiles\"" href=\""http://profiles.wordpress.org/ktdreyer\"">prof</a>), <a href=\""http://kurtmckee.livejournal.com/\"">kurtmckee (Kurt McKee)</a> (<a title=\""kurtmckee at WP Profiles\"" href=\""http://profiles.wordpress.org/kurtmckee\"">prof</a>), <a href=\""http://moggy.laceous.com/\"">laceous</a> (<a title=\""laceous at WP Profiles\"" href=\""http://profiles.wordpress.org/laceous\"">prof</a>), <a href=\""http://simpledream.net/\"">lancewillett (Lance Willett)</a> (<a title=\""lancewillett at WP Profiles\"" href=\""http://profiles.wordpress.org/lancewillett\"">prof</a>), <a href=\""http://lloydbudd.com/\"">lloydbudd (Lloyd Budd)</a> (<a title=\""lloydbudd at WP Profiles\"" href=\""http://profiles.wordpress.org/lloydbudd\"">prof</a>), lriggle (<a title=\""lriggle at WP Profiles\"" href=\""http://profiles.wordpress.org/lriggle\"">prof</a>), markauk (<a title=\""markauk at WP Profiles\"" href=\""http://profiles.wordpress.org/markauk\"">prof</a>), <a href=\""http://www.mark-mcwilliams.com/\"">markmcwilliams (Mark McWilliams)</a> (<a title=\""markmcwilliams at WP Profiles\"" href=\""http://profiles.wordpress.org/markmcwilliams\"">prof</a>), <a href=\""http://markoheijnen.com/\"">markoheijnen (Marko Heijnen)</a> (<a title=\""markoheijnen at WP Profiles\"" href=\""http://profiles.wordpress.org/markoheijnen\"">prof</a>), <a href=\""http://markup.com.ua/\"">markup (Sasha Mukhin)</a> (<a title=\""markup at WP Profiles\"" href=\""http://profiles.wordpress.org/markup\"">prof</a>), mattsains (<a title=\""mattsains at WP Profiles\"" href=\""http://profiles.wordpress.org/mattsains\"">prof</a>), <a href=\""http://matiasventura.com/\"">matveb (Matias Ventura)</a> (<a title=\""matveb at WP Profiles\"" href=\""http://profiles.wordpress.org/matveb\"">prof</a>), <a href=\""http://blogwaffe.com/\"">mdawaffe (Michael Adams)</a> (<a title=\""mdawaffe at WP Profiles\"" href=\""http://profiles.wordpress.org/mdawaffe\"">prof</a>) <!--mdwaffe on r12524-->, mentel_br (<a title=\""mentel_br at WP Profiles\"" href=\""http://profiles.wordpress.org/mentel_br\"">prof</a>), <a href=\""http://webdevstudios.com/about/brian-messenlehner/\"">messenlehner (Brian Messenlehner)</a> (<a title=\""messenlehner at WP Profiles\"" href=\""http://profiles.wordpress.org/messenlehner\"">prof</a>), <a href=\""http://twitter.com/miau_jp\"">miau_jp</a> (<a title=\""miau_jp at WP Profiles\"" href=\""http://profiles.wordpress.org/miau_jp\"">prof</a>), <a href=\""http://binarybonsai.com/\"">Michael (Michael Heilemann)</a> (<a title=\""Michael at WP Profiles\"" href=\""http://profiles.wordpress.org/Michael\"">prof</a>), <a href=\""http://codex.wordpress.org/User:MichaelH\"">MichaelH</a> (<a title=\""MichaelH at WP Profiles\"" href=\""http://profiles.wordpress.org/MichaelH\"">prof</a>), <a href=\""http://mikeschinkel.com/\"">mikeschinkel (Mike Schinkel)</a> (<a title=\""mikeschinkel at WP Profiles\"" href=\""http://profiles.wordpress.org/mikeschinkel\"">prof</a>), Miloslav Beňo <!--r14540, r14545-->, <a href=\""http://www.minusfive.com/\"">minusfive</a> (<a title=\""minusfive at WP Profiles\"" href=\""http://profiles.wordpress.org/minusfive\"">prof</a>), <a href=\""http://blogyul.miqrogroove.com/\"">miqrogroove (Robert Chapin)</a> (<a title=\""miqrogroove at WP Profiles\"" href=\""http://profiles.wordpress.org/miqrogroove\"">prof</a>), <a href=\""http://maisonbisson.com/\"">misterbisson (Casey Bisson)</a> (<a title=\""misterbisson at WP Profiles\"" href=\""http://profiles.wordpress.org/misterbisson\"">prof</a>), <a href=\""http://mitcho.com/\"">mitchoyoshitaka (mitcho (Michael 芳貴 Erlewine))</a> (<a title=\""mitchoyoshitaka at WP Profiles\"" href=\""http://profiles.wordpress.org/mitchoyoshitaka\"">prof</a>), <a href=\""http://blog.mmn-o.se/\"">MMN-o</a> (<a title=\""MMN-o at WP Profiles\"" href=\""http://profiles.wordpress.org/MMN-o\"">prof</a>), <a href=\""http://www.herewithme.fr/a-propos\"">momo360modena (Amaury Balmer)</a> (<a title=\""momo360modena at WP Profiles\"" href=\""http://profiles.wordpress.org/momo360modena\"">prof</a>), <a href=\""http://morganestes.wordpress.com/\"">morganestes (Morgan Estes)</a> (<a title=\""morganestes at WP Profiles\"" href=\""http://profiles.wordpress.org/morganestes\"">prof</a>), <a href=\""http://www.misthaven.org.uk/blog/\"">mrmist (David McFarlane)</a> (<a title=\""mrmist at WP Profiles\"" href=\""http://profiles.wordpress.org/mrmist\"">prof</a>), <a href=\""http://nickmomrik.com/\"">mtdewvirus (Nick Momrik)</a> (<a title=\""mtdewvirus at WP Profiles\"" href=\""http://profiles.wordpress.org/mtdewvirus\"">prof</a>), nadavvin (<a title=\""nadavvin at WP Profiles\"" href=\""http://profiles.wordpress.org/nadavvin\"">prof</a>), <a href=\""http://blog.detlog.org/\"">Nao (Naoko McCracken)</a> (<a title=\""Nao at WP Profiles\"" href=\""http://profiles.wordpress.org/Nao\"">prof</a>), <a href=\""http://www.nathanrice.net/\"">nathanrice (Nathan Rice)</a> (<a title=\""nathanrice at WP Profiles\"" href=\""http://profiles.wordpress.org/nathanrice\"">prof</a>), <a href=\""http://www.neotrinity.at/\"">neoxx (Bernhard Riedl)</a> (<a title=\""neoxx at WP Profiles\"" href=\""http://profiles.wordpress.org/nathanrice\"">prof</a>), <a href=\""http://www.niallkennedy.com/\"">niallkennedy (Niall Kennedy)</a> (<a title=\""niallkennedy at WP Profiles\"" href=\""http://profiles.wordpress.org/niallkennedy\"">prof</a>), <a href=\""http://www.rpmurphy.com/\"">ninjaWR (Ryan Murphy)</a> (<a title=\""ninjaWR at WP Profiles\"" href=\""http://profiles.wordpress.org/ninjaWR\"">prof</a>), <a href=\""http://noel.io/\"">noel (Noël Jackson)</a> (<a title=\""noel at WP Profiles\"" href=\""http://profiles.wordpress.org/noel\"">prof</a>), <a href=\""http://nomulous.com/\"">nomulous (Fletcher Tomalty)</a> (<a title=\""nomulous at WP Profiles\"" href=\""http://profiles.wordpress.org/nomulous\"">prof</a>), <a href=\""http://ocean90.wphelper.de/\"">ocean90 (Dominik Schilling)</a> (<a title=\""ocean90 at WP Profiles\"" href=\""http://profiles.wordpress.org/ocean90\"">prof</a>), <a href=\""http://ottodestruct.com/\"">Otto42 (Samuel Wood)</a> (<a title=\""Otto42 at WP Profiles\"" href=\""http://profiles.wordpress.org/Otto42\"">prof</a>), pedger (<a title=\""pedger at WP Profiles\"" href=\""http://profiles.wordpress.org/pedger\"">prof</a>), <a href=\""http://developersmind.com/\"">PeteMall</a> (<a title=\""PeteMall at WP Profiles\"" href=\""http://profiles.wordpress.org/PeteMall\"">prof</a>), pampfelimetten (<a title=\""pampfelimetten at WP Profiles\"" href=\""http://profiles.wordpress.org/pampfelimetten\"">prof</a>), pnettle (<a title=\""pnettle at WP Profiles\"" href=\""http://profiles.wordpress.org/pnettle\"">prof</a>), <a href=\""http://www.pslabs.cl/\"">PotterSys (Juan)</a> (<a title=\""PotterSys at WP Profiles\"" href=\""http://profiles.wordpress.org/PotterSys\"">prof</a>), <a href=\""http://cnpstudio.com/\"">prettyboymp (Michael Pretty)</a> (<a title=\""prettyboymp at WP Profiles\"" href=\""http://profiles.wordpress.org/prettyboymp\"">prof</a>), <a href=\""http://ptahdunbar.com/\"">ptahdunbar (Ptah Dunbar)</a> (<a title=\""ptahdunbar at WP Profiles\"" href=\""http://profiles.wordpress.org/ptahdunbar\"">prof</a>), <a href=\""http://www.bdihot.co.il/\"">ramiy</a> (<a title=\""ramiy at WP Profiles\"" href=\""http://profiles.wordpress.org/ramiy\"">prof</a>), <a href=\""http://ranh.co.il/\"">RanYanivHartstein (Ran Yaniv Hartstein)</a> (<a title=\""RanYanivHartstein at WP Profiles\"" href=\""http://profiles.wordpress.org/RanYanivHartstein\"">prof</a>), <a href=\""http://langui.sh/\"">reaperhulk (Paul Kehrer)</a> (<a title=\""reaperhulk at WP Profiles\"" href=\""http://profiles.wordpress.org/reaperhulk\"">prof</a>), reko (<a title=\""reko at WP Profiles\"" href=\""http://profiles.wordpress.org/reko\"">prof</a>), <a href=\""http://remiprevost.com/\"">remi (Rémi Prévost)</a> (<a title=\""remi at WP Profiles\"" href=\""http://profiles.wordpress.org/remi\"">prof</a>), <a href=\""http://toys.lerdorf.com/\"">rlerdorf (Rasmus Lerdorf)</a> (<a title=\""rlerdorf at WP Profiles\"" href=\""http://profiles.wordpress.org/rlerdorf\"">prof</a>) <!--ALSO r13684-->, <a href=\""http://ryanmccue.info/\"">rmccue (Ryan McCue)</a> (<a title=\""rmccue at WP Profiles\"" href=\""http://profiles.wordpress.org/rmccue\"">prof</a>), rooodini (<a title=\""rooodini at WP Profiles\"" href=\""http://profiles.wordpress.org/rooodini\"">prof</a>), rovo89 (<a title=\""rovo89 at WP Profiles\"" href=\""http://profiles.wordpress.org/rovo89\"">prof</a>), <a href=\""http://ruslany.net/\"">ruslany</a> (<a title=\""ruslany at WP Profiles\"" href=<br />\n\""http://profiles.wordpress.org/ruslany\"">prof</a>), <a href=\""http://skcdev.com/\"">sc0ttkclark (Scott Kingsley Clark)</a> (<a title=\""sc0ttkclark at WP Profiles\"" href=\""http://profiles.wordpress.org/sc0ttkclark\"">prof</a>), scottbasgaard (Scott Basgaard) (<a title=\""scottbasgaard at WP Profiles\"" href=\""http://profiles.wordpress.org/scottbasgaard\"">prof</a>), ScottMac (<a title=\""ScottMac at WP Profiles\"" href=\""http://profiles.wordpress.org/ScottMac\"">prof</a>), <a href=\""http://scribu.net/\"">scribu</a> (<a title=\""scribu at WP Profiles\"" href=\""http://profiles.wordpress.org/scribu\"">prof</a>), <a href=\""http://sergeybiryukov.ru/\"">SergeyBiryukov (Сергей Бирюков)</a> (<a title=\""SergeyBiryukov at WP Profiles\"" href=\""http://profiles.wordpress.org/SergeyBiryukov\"">prof</a>), <a href=\""http://bugssite.org/\"">ShaneF</a> (<a title=\""ShaneF at WP Profiles\"" href=\""http://profiles.wordpress.org/ShaneF\"">prof</a>), <a href=\""http://sillybean.net/\"">sillybean (Stephanie Leary)</a> (<a title=\""sillybean at WP Profiles\"" href=\""http://profiles.wordpress.org/sillybean\"">prof</a>), <a href=\""http://simekdesign.eu/\"">Simek (Bartosz Kaszubowski)</a> (<a title=\""simek at WP Profiles\"" href=\""http://profiles.wordpress.org/simek\"">prof</a>), <a href=\""http://www.simonwheatley.co.uk/\"">simonwheatley (Simon Wheatley)</a> (<a title=\""simonwheatley at WP Profiles\"" href=\""http://profiles.wordpress.org/simonwheatley\"">prof</a>), <a href=\""http://simos.info/blog/\"">simosx (Σίμος Ξενιτέλλης)</a> (<a title=\""simosx at WP Profiles\"" href=\""http://profiles.wordpress.org/simosx\"">prof</a>), <a href=\""http://www.poradnik-webmastera.com/\"">sirzooro (Daniel Frużyński)</a> (<a title=\""sirzooro at WP Profiles\"" href=\""http://profiles.wordpress.org/sirzooro\"">prof</a>), <a href=\""http://sivel.net/\"">sivel (Matt Martz)</a> (<a title=\""sivel at WP Profiles\"" href=\""http://profiles.wordpress.org/sivel\"">prof</a>), <a href=\""http://skeltoac.com/\"">skeltoac (Andy Skelton)</a> (<a title=\""skeltoac at WP Profiles\"" href=\""http://profiles.wordpress.org/skeltoac\"">prof</a>), <a href=\""http://www.lukehowell.com/\"">snumb130 (Luke Howell)</a> (<a title=\""snumb130 at WP Profiles\"" href=\""http://profiles.wordpress.org/snumb130\"">prof</a>), <a href=\""http://rayofsolaris.net/\"">solarissmoke (Samir Shah)</a> (<a title=\""solarissmoke at WP Profiles\"" href=\""http://profiles.wordpress.org/solarissmoke\"">prof</a>), sorich87 (<a title=\""sorich87 at WP Profiles\"" href=\""http://profiles.wordpress.org/sorich87\"">prof</a>), ssandison (<a title=\""ssandison at WP Profiles\"" href=\""http://profiles.wordpress.org/ssandison\"">prof</a>), stencil (<a title=\""stencil at WP Profiles\"" href=\""http://profiles.wordpress.org/stencil\"">prof</a>), <a href=\""http://stephdau.wordpress.com/\"">stephdau (Stephane Daury)</a> (<a title=\""stephdau at WP Profiles\"" href=\""http://profiles.wordpress.org/stephdau\"">prof</a>), <a href=\""http://wp.tekapo.com/\"">tai</a> (<a title=\""tai at WP Profiles\"" href=\""http://profiles.wordpress.org/tai\"">prof</a>), TECannon (Tracy Cannon) (<a title=\""TECannon at WP Profiles\"" href=\""http://profiles.wordpress.org/TECannon\"">prof</a>), <a href=\""http://technosailor.com/\"">technosailor (Aaron Brazell)</a> (<a title=\""technosailor at WP Profiles\"" href=\""http://profiles.wordpress.org/technosailor\"">prof</a>), <a href=\""http://eastcoder.com/\"">tenpura</a> (<a title=\""tenpura at WP Profiles\"" href=\""http://profiles.wordpress.org/tenpura\"">prof</a>), thales.tede <!--PROF?-->, TheDeadMedic (<a title=\""TheDeadMedic at WP Profiles\"" href=\""http://profiles.wordpress.org/TheDeadMedic\"">prof</a>), <a href=\""http://cefm.ca/\"">thee17 (Charles E. Frees-Melvin)</a> (<a title=\""thee17 at WP Profiles\"" href=\""http://profiles.wordpress.org/thee17\"">prof</a>), <a href=\""http://www.toine.ca/\"">thetoine (Antoine Girard)</a> (<a title=\""thetoine at WP Profiles\"" href=\""http://profiles.wordpress.org/thetoine\"">prof</a>), <a href=\""http://bavotasan.com/\"">tinkerpriest (c.bavota)</a> (<a title=\""tinkerpriest at WP Profiles\"" href=\""http://profiles.wordpress.org/tinkerpriest\"">prof</a>), <a href=\""http://tobias.baethge.com/\"">TobiasBg (Tobias Bäthge)</a> (<a title=\""TobiasBg at WP Profiles\"" href=\""http://profiles.wordpress.org/TobiasBg\"">prof</a>), tomtomp (<a title=\""tomtomp at WP Profiles\"" href=\""http://profiles.wordpress.org/tomtomp\"">prof</a>), <a href=\""http://terrychay.com/\"">tychay (Terry Chay)</a> (<a title=\""tychay at WP Profiles\"" href=\""http://profiles.wordpress.org/tychay\"">prof</a>), typeomedia (<a title=\""typeomedia at WP Profiles\"" href=\""http://profiles.wordpress.org/typeomedia\"">prof</a>), <a href=\""http://uglyrobot.com/\"">uglyrobot (Aaron Edwards)</a> (<a title=\""uglyrobot at WP Profiles\"" href=\""http://profiles.wordpress.org/uglyrobot\"">prof</a>), UnderWordPressure (<a title=\""UnderWordPressure at WP Profiles\"" href=\""http://profiles.wordpress.org/UnderWordPressure\"">prof</a>), usermrpapa (<a title=\""usermrpapa at WP Profiles\"" href=\""http://profiles.wordpress.org/usermrpapa\"">prof</a>), <a href=\""http://utkar.sh/\"">Utkarsh (Utkarsh Kukreti)</a> (<a title=\""Utkarsh at WP Profiles\"" href=\""http://profiles.wordpress.org/Utkarsh\"">prof</a>), <a href=\""http://www.ai-development.com/\"">validben (Benoit Gilloz )</a> (<a title=\""validben at WP Profiles\"" href=\""http://profiles.wordpress.org/validben\"">prof</a>), <a href=\""http://www.viper007bond.com/\"">Viper007Bond (Alex Mills)</a> (<a title=\""Viper007Bond at WP Profiles\"" href=\""http://profiles.wordpress.org/Viper007Bond\"">prof</a>), <a href=\""http://blog.sjinks.org.ua/\"">vladimir_kolesnikov (Vladimir Kolesnikov)</a> (<a title=\""vladimir_kolesnikov at WP Profiles\"" href=\""http://profiles.wordpress.org/vladimir_kolesnikov\"">prof</a>), <a href=\""http://edgedesigns.org/\"">willmot (Tom Willmot)</a> (<a title=\""willmot at WP Profiles\"" href=\""http://profiles.wordpress.org/willmot\"">prof</a>), <a href=\""http://emphaticallystatic.org/\"">wahgnube</a> (<a title=\""wahgnube at WP Profiles\"" href=\""http://profiles.wordpress.org/wahgnube\"">prof</a>), <a href=\""http://www.waltervos.com/\"">waltervos (Walter Vos)</a> (<a title=\""waltervos at WP Profiles\"" href=\""http://profiles.wordpress.org/waltervos\"">prof</a>), <a href=\""http://www.nothingcliche.com/\"">wds-chris (Christopher Cochran)</a> (<a title=\""wds-chris at WP Profiles\"" href=\""http://profiles.wordpress.org/wds-chris\"">prof</a>), <a href=\""http://strangework.com/\"">williamsba1 (Brad Williams)</a> (<a title=\""williamsba1 at WP Profiles\"" href=\""http://profiles.wordpress.org/williamsba1\"">prof</a>), <a href=\""http://willnorris.com/\"">wnorris (Will Norris)</a> (<a title=\""wnorris at WP Profiles\"" href=\""http://profiles.wordpress.org/wnorris\"">prof</a>), <a href=\""http://xavier.borderie.net/\"">xibe (Xavier Borderie)</a> (<a title=\""xibe at WP Profiles\"" href=\""http://profiles.wordpress.org/xibe\"">prof</a>), <a href=\""http://blog.yoavfarhi.com/\"">yoavf (Yoav Farhi)</a> (<a title=\""yoavf at WP Profiles\"" href=\""http://profiles.wordpress.org/yoavf\"">prof</a>), <a href=\""http://zeo.my/\"">zeo (Safirul Alredha)</a> (<a title=\""zeo at WP Profiles\"" href=\""http://profiles.wordpress.org/zeo\"">prof</a>), <a href=\""http://h6e.net/\"">znarfor (François Hodierne)</a> (<a title=\""znarfor at WP Profiles\"" href=\""http://profiles.wordpress.org/znarfor\"">prof</a>), and <a href=\""http://zoranzaric.de/\"">zoranzaric (Zoran Zaric)</a> (<a title=\""zoranzaric at WP Profiles\"" href=\""http://profiles.wordpress.org/zoranzaric\"">prof</a>).</p>\n<h3>Bonus</h3>\n<p>If you&#8217;ve made it this far, check out my 2010 State of the Word speech at WordCamp San Francisco, it&#8217;s jam-packed with information on the growth of WordPress, 3.0, what we&#8217;re planning for the future, and the philosophy of WordPress.</p>\n<p><object classid=\""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" width=\""640\"" height=\""360\"" codebase=\""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""><param name=\""flashvars\"" value=\""guid=xj8pDCM4&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\"" /><param name=\""src\"" value=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" /><param name=\""wmode\"" value=\""transparent\"" /><param name=\""allowfullscreen\"" value=\""true\"" /><embed type=\""application/x-shockwave-flash\"" width=\""640\"" height=\""360\"" src=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" allowfullscreen=\""true\"" wmode=\""transparent\"" flashvars=\""guid=xj8pDCM4&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\""></embed></object></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""http://wordpress.org/news/2010/06/thelonious/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""5\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:7;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:7:\""3.0 RC3\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:42:\""http://wordpress.org/news/2010/06/3-0-rc3/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/06/3-0-rc3/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 11 Jun 2010 20:49:38 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1376\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:257:\""A weekend present, in haiku: Last call; final bugs Itch, scratch, contort; calmly wait For now: RC3 That&#8217;s right. What will hopefully be the final release candidate, RC3, is now available for download and testing. Plugin developers: test your plugins!\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:438:\""<p>A weekend present, in haiku:</p>\n<blockquote><p>Last call; final bugs<br />\nItch, scratch, contort; calmly wait<br />\nFor now: <a href=\""http://wordpress.org/wordpress-3.0-RC3.zip\"">RC3 </a></p></blockquote>\n<p>That&#8217;s right. What will hopefully be the final release candidate, <a href=\""http://wordpress.org/wordpress-3.0-RC3.zip\"">RC3, is now available for download</a> and testing.</p>\n<p>Plugin developers: test your plugins!</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:47:\""http://wordpress.org/news/2010/06/3-0-rc3/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:8;a:6:{s:4:\""data\"";s:47:\""\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:37:\""Expanding the Theme Review Experiment\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:72:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:81:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Wed, 09 Jun 2010 16:06:11 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:3:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:6:\""Themes\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1347\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:272:\""When I was a kid my dad used to practice his typing skills (on a real typewriter no less) with the phrase: Now is the time for all good men to come to the aid of their country. For some reason that has stuck with me all these years. Today I’m going to rephrase and [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Joseph Scott\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1962:\""<p>When I was a kid my dad used to practice his typing skills (on a real typewriter no less) with the phrase:</p>\n<blockquote><p>Now is the time for all good men to come to the aid of their country.</p></blockquote>\n<p>For some reason that has stuck with me all these years. Today I’m going to rephrase and re-purpose that line:</p>\n<blockquote><p>Now is the time for great theme developers to come to the aid of their community.</p></blockquote>\n<p>The theme directory has been chugging along for more than a year now. During that time we’ve tinkered with the review process and some of the management tools, but haven’t really opened it up as much as we’d like. It&#8217;s time to rip off the band-aid and take some action; to that end, we&#8217;re looking for community members to help with the process of reviewing themes for the directory.</p>\n<p>Right now this is a bit like a New Year’s resolution to exercise every day: it’s what we need to do, but we’re still figuring out exactly how it will all work. That’s part of the community involvement as well &#8212; we expect that those who pitch in will also help shape the process.</p>\n<p>What’s involved in reviewing themes for the directory? There are some obvious things, such as being familiar with PHP and WordPress theme code (and the <a href=\""http://codex.wordpress.org/Theme_Development_Checklist\"">theme development checklist</a>), with an eye for security issues. You would also need to have the ability to set up a separate install of the latest version of WordPress for testing theme submissions.</p>\n<p>Hopefully a few talented theme developers are reading this right now and saying to themselves, &#8220;I’d love to help! How do I get started?&#8221; Just join the new <a href=\""http://lists.wordpress.org/mailman/listinfo/theme-reviewers\"">theme reviewers mailing list</a> and we&#8217;ll get you up to speed on this new opportunity to come to the aid of your community.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:77:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:9;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""WordPress 3.0 Release Candidate\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:66:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:75:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 28 May 2010 02:35:04 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1358\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:345:\""As Matt teased earlier, the first release candidate (RC1) for WordPress 3.0 is now available. What&#8217;s an RC? An RC comes after beta and before the final launch. It means we think we&#8217;ve got everything done: all features finished, all bugs squashed, and all potential issues addressed. But, then, with over 20 million people using [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1993:\""<p>As Matt teased earlier, the first release candidate (RC1) for WordPress 3.0 is now available. What&#8217;s an RC? An RC comes after beta and before the final launch. It means we think we&#8217;ve got everything done: all features finished, all bugs squashed, and all potential issues addressed. But, then, with over 20 million people using WordPress with a wide variety of configurations and hosting setups, it&#8217;s entirely possible that we&#8217;ve missed something. So! For the brave of heart, please download the RC and test it out (but not on your live site unless you&#8217;re extra adventurous). Some things to know:</p>\n<ul>\n<li>Custom menus are finished! Yay!</li>\n<li>Multi-site is all set.</li>\n<li>The look of the WordPress admin has been lightened up a little bit, so you can focus more on your content.</li>\n<li>There are a ton of changes, so plugin authors, please test your plugins <strong>now</strong>, so that if there is a compatibility issue, we can figure it out before the final release.</li>\n<li>Plugin and theme *users* are also encouraged to test things out. If you find problems, let your plugin/theme authors know so they can figure out the cause.</li>\n<li>There are a couple of <a href=\"" http://core.trac.wordpress.org/report/5\"">known issues</a>.</li>\n</ul>\n<p>If you are testing the RC and come across a bug, you can:</p>\n<ul>\n<li>Report it on the <a href=\""http://lists.automattic.com/mailman/listinfo/wp-testers\"">wp-testers mailing list</a></li>\n<li>Join the dev chat and tell us live at irc.freenode.net #wordpress-dev</li>\n<li>File a bug ticket on the <a href=\""https://core.trac.wordpress.org/query?status=reopened&amp;status=assigned&amp;status=reviewing&amp;status=new&amp;status=accepted&amp;group=status&amp;milestone=3.0\"">WordPress Trac </a></li>\n</ul>\n<p>We hope you enjoy playing with the 3.0 RC as much as we&#8217;ve enjoyed making it for you. Enjoy!</p>\n<p><a href=\""http://wordpress.org/wordpress-3.0-RC1.zip\"">Download WordPress 3.0 RC1</a></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:71:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}s:27:\""http://www.w3.org/2005/Atom\"";a:1:{s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:3:{s:4:\""href\"";s:31:\""http://wordpress.org/news/feed/\"";s:3:\""rel\"";s:4:\""self\"";s:4:\""type\"";s:19:\""application/rss+xml\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:44:\""http://purl.org/rss/1.0/modules/syndication/\"";a:2:{s:12:\""updatePeriod\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""hourly\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:15:\""updateFrequency\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}}}}}}s:4:\""type\"";i:128;s:7:\""headers\"";a:8:{s:6:\""server\"";s:5:\""nginx\"";s:4:\""date\"";s:29:\""Thu, 18 Nov 2010 07:10:47 GMT\"";s:12:\""content-type\"";s:23:\""text/xml; charset=UTF-8\"";s:10:\""connection\"";s:5:\""close\"";s:4:\""vary\"";s:15:\""Accept-Encoding\"";s:10:\""x-pingback\"";s:36:\""http://wordpress.org/news/xmlrpc.php\"";s:13:\""last-modified\"";s:29:\""Thu, 30 Sep 2010 03:23:31 GMT\"";s:4:\""x-nc\"";s:11:\""HIT luv 138\"";}s:5:\""build\"";s:14:\""20090627192103\"";}', 'no') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

    WordPress for iPhone/iPad v2.6 Released September 30th, 2010
    Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn’t for you? Either way, the new release — v2.6 — will knock your socks off. Why? A bunch of reasons: Video. Record, upload, attach, and play videos […]
    WordPress Trademark Changes Hands September 9th, 2010
    The WordPress community took a big step forward today when Matt announced that Automattic has donated the WordPress trademark to the non-profit WordPress Foundation. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying […]
}}}
",Viper007Bond
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
21947,Fix 3-column dashboard display,,Administration,3.4,low,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-20T20:06:46Z,2013-04-14T06:02:52Z,"Issue #20015 'enhanced' the dashboard with a pure-CSS based multi-column dashboard. Excellent.

The CSS used makes gross assumptions about how many columns are appropriate for different-sized displays. Double plus ungood.
Users should be left to decide how many columns they wish to use.

There was [http://wordpress.org/support/topic/three-column-dashboard/ considerable discussion] of this when 3.4 was released, but no remedy yet, other than to hack away at the CSS of one's install, precluding upgrades; I've changed {{{@media only screen and (min-width:800px) and (max-width:1200px){}}} to {{{@media only screen and (min-width:800px) and (max-width900px){}}} in wp-admin.css to get a usable interface.",belg4mit
24084,Fix possible PHP notices after a user is deleted,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-14T22:24:48Z,2013-04-15T23:09:34Z,"`get_comment_author()` doesn't check if a user that has commented still exists and may throw a notice. Also can return the user_login where a user name is expected.

Same in `edit-form-advanced.php` in the code block that outputs ""Last edited by ..."" under the editor.",azaozz
18264,Future private posts listed as already published with future date specified,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T00:05:27Z,2013-02-04T09:27:17Z,"Setting a post to private, and scheduling it for some future date or time, results in the stamp that the post was ""Published on (future date)"" in the publish module.

The discussion on tickets #5608 and #9136 suggests that all private posts are published immediately (and privately), and that this is intentional. So, it's misleading and confusing to report that it already was published on some future date.

In source:trunk/wp-admin/includes/meta-boxes.php#L163, I suggest we replace:

{{{
else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
		$stamp = __('Published on: <b>%1$s</b>'); }
}}}

with:

{{{
else if ( 'publish' == $post->post_status ) { // already publicly published
		$stamp = __('Published on: <b>%1$s</b>');
	} else if (  'private' == $post->post_status ) { // published privately
		$stamp = __('Published privately'); }
}}}",chrisrudzki
20848,Header images are cropped and resized with improper permissions.,,Administration,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-05T17:41:45Z,2012-06-05T17:41:45Z,"On some systems the cropped and resized header images become unreadable by the web server.  

The attached patch makes the files inherit the permissions from the parent folder.


",gtenney99
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
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
17675,Masked Domain Issue Introduced with New Update,,Administration,3.1.3,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-06-03T18:09:03Z,2011-06-03T19:59:41Z,"Hi,

I'm experiencing an issue accessing my wp-admin login page, only when using a masked domain.

My root setup is configured as so:
http://rootdomain.com/othersite/wordpress/

The domain I'm using to access it is located here:
http://redirect.com

When I use the root domain to access the login page directly, there's no problem.  But, when I go to http://redirect.com/wp-admin, or click on any login links while at the redirect.com site, the page doesn't load.  The title bar will load, but nothing else.

This is a new issue introduced with the 3.1.3 update.  The masked domain was working prior to 3.1.3.

I've tried this both on Safari & Firefox (latest versions), using Mac OS X.",ital_dj
20453,Media screen links to non-public post types,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-04-16T02:31:56Z,2012-04-16T03:23:46Z,"I have a non-public custom post type registered, so it doesn't get an admin UI.

A file in the media library is attached to one of my custom posts (done at the point the file is uploaded using `media_handle_upload()`). The media item shows up in the Media Library as expected, but the 'Attached To' column links to the editing screen for the parent post, even though the post is non-public.

This allows a user to see the post editing screen for a non-public post type.",johnbillion
21015,Months dropdown should not show if only posts are 'auto-draft' status,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-18T19:16:54Z,2012-09-28T14:42:09Z,"The months dropdown at the top of edit.php should only show if there are actually posts in the list.

Right now, if you click 'Add new' an auto draft post will be saved. Leave the post edit screen without saving the post (so no draft will be created) and go back to the edit.php screen. There is no post in the list, but the month drop down will be shown because the auto draft is counted.",CoenJacobs
21770,Multiple New Feature Pop-ups mess UI,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-02T11:09:51Z,2013-01-22T03:06:39Z,"WordPress admin and plugins [[Image(http://dl.dropbox.com/u/184353/wordpress-admin-pop-ups.png)]] New Feature Pop-up messages appear on the admin simultaneously, blocking each other messages and functionality. The UI gets seriously messed up.

User attention focuses on how to get rid the overlaping pop-ups rather than reading the messages and understand and start using the new features.",titanas
16696,"No synchronisation between ""most used"" and ""all categories"" in link edit",,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-28T07:14:37Z,2011-03-04T14:02:26Z,"There are issues with the ""all categories"" and ""most used"" tabs when editing links:

- Go to edit a link

- Click on ""Most used"" in the category section. All the listed categories are unchecked - including the ones that are checked in the ""All Categories"" tab. There is no sync between the two.

- Now check a category in the ""most used"" tab. Go to the ""all categories"" tab and you will find that the same category is now checked (as expected). Now uncheck it from the ""all categories"" tab. Go to ""most used"" and it is still checked there. The sync only works one way ( ""most used"" -> ""all categories"" ).

The first issue is because `wp_popular_terms_checklist()` assumes that you're using it in the context of a particular post, and sets checkedness based on whether the `$post` global has that term. If the `$post` global is empty (as when editing links), nothing is checked. I don't think we should be using `wp_popular_terms_checklist()` as it's context is for individual posts.

The second issue is because the IDs on the most used elements are wrong compared to what the Javascript is looking for.

Patch to follow. 

",solarissmoke
22509,No-JS fallback for default color in color picker,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-19T19:42:19Z,2012-12-19T20:48:22Z,"The no-JS fallback for the color picker is just a plain input. Since the color picker implementation now includes the ability to reset to a specified default, it seems to make sense to include a no-JS fallback for the default, even just as a little bit of hidden descriptive text.

See #22461 for discussion stemming from the custom header screen.",helen
17115,Publishing an empty post results in success,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-12T11:32:50Z,2012-11-17T00:15:31Z,"'''Steps to reproduce:'''
1. Go to Add New post screen
1. Publish post
1. Success message is displayed with link to initial auto-draft of post

The issue can be traced back to the `editpost` switch case in `post.php` (line 204), which calls `edit_post()` and `redirect_post()`.

`edit_post()` saves any meta values passed with the post to the auto-draft, which isn't necessarily desirable, and returns the auto-draft post ID.

`redirect_post()` then defaults to status message code 6 which incorrectly reports success in publishing.",kawauso
24104,Remove duplicated separators in admin menu,,Administration,2.7,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-16T17:26:37Z,2013-04-17T02:37:08Z,"I'm working on WordPress admin menu, and I found that the code to remove duplicated separators in admin menu in `wp-admin/includes/menu.php` doesn't work correctly.

Assuming we have these items in the `$menu`:


{{{
$menu = array(
	100 => array(
		0 => 'Admin Style',
		2 => 'wp-admin-style.php',
		1 => 'read',
		4 => 'menu-top menu-icon-generic toplevel_page_wp-admin-style menu-top-first menu-top-last',
		6 => 'none',
	),
	110 => array(
		0 => '',
		1 => 'read',
		2 => 'separator1',
		3 => '',
		4 => 'wp-menu-separator',
	),
	130 => array(
		0 => '',
		1 => 'read',
		2 => 'separator2',
		3 => '',
		4 => 'wp-menu-separator',
	),
	140 => array(
		0 => '',
		1 => 'read',
		2 => 'separator-last',
		3 => '',
		4 => 'wp-menu-separator',
	),
	150 => array(
		0 => 'Hide Menu',
		1 => 'manage_options',
		2 => 'hide-admin-menu',
		3 => 'Hide Admin Menu',
		4 => 'menu-top toplevel_page_hide-admin-menu',
		5 => 'toplevel_page_hide-admin-menu',
		6 => 'http://localhost:8080/wp/wp-content/plugins/hide-admin-menu/img/icon.png',
	),
);
}}}

WordPress will remove only the 1st duplicated separator (130) and still keeps the 2nd one (140).

Another problem with current code is if separator menu item has classes like `'wp-menu-separator woocommerce'` (WooCommerce does this), it won't be recognized as a separator, because the function to check separator uses `strcmp`.

",rilwis
19085,Removing First Submenu Page in Admin Menu breaks URL for Menu Page,,Administration,3.1,normal,major,Awaiting Review,defect (bug),new,,2011-10-29T18:44:19Z,2011-10-29T20:39:29Z,"If you attempt to remove the Post Type Submenu Page in the Admin it breaks the Menu Page URL; it causes the Menu Page URL to be the same as the new first Submenu Page URL:

[[Image(http://screenshots.newclarity.net/skitched-20111029-142108.png)]]

Here is a simple class you can drop into the theme's `functions.php` file to experience this bug. This example is a minimum to trigger the error ''(I simplified the `register_post_type()` call so the example code would have fewer lines):''

{{{
<?php

class Trigger_Admin_Menu_Bug {
  static function on_load() {
    add_action( 'init', array( __CLASS__, 'init' ) );
    add_action( 'parent_file', array( __CLASS__, 'parent_file' ) );
  }
  static function init() {
    global $wpdb;
    register_post_type( 'test-cpt', array(
      'label'   => 'Test CPT',
      'show_ui' => true,
    ));
  }
  static function parent_file( $parent_file ) {
    remove_submenu_page( 'edit.php?post_type=test-cpt', 
                         'edit.php?post_type=test-cpt' );
    return $parent_file;
  }
}
Trigger_Admin_Menu_Bug::on_load();
}}}

I'd provide a patch but the admin menu code is more complex than I can fully understand.  Maybe the person who originally wrote it could fix it? 

Note: Sadly, this is a blocker for one of my client projects.  The client wants the admin menus simplified to reduce the conceptual load on their end users because we are adding many other submenu pages.  Plus I've traced through the core WP code with a debugger for many hours looking for hooks that would allow me to get around this issue, but there simply are no hooks where it would be needed to hack a fix for this.",mikeschinkel
22200,Require users to set a site title,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-15T18:52:14Z,2013-01-26T20:43:26Z,"Currently, users can get away with setting a blank site title under Settings -> General.

As a consequence, meta and title tags in both the front-end site and wp-admin may be empty, or contain extraneous spaces and separators. 

A common reason why users leave site titles blank is due to the misperception that the site title is necessarily displayed in the header on the front-end site. 

I suggest that we display an alert when users attempt to set a blank site title, and possibly suggest that if they don't want it to appear in their header, they can edit their CSS or hide header text under Appearance -> Header.",chrisrudzki
21421,Sanitize/remove admin page slug  from admin menu CSS classes,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-30T11:26:15Z,2013-03-02T21:00:41Z,"As I discovered when testing #21307, browsers won't parse a CSS class name with both underscores and hyphens. Instead, they handle it ''really'' badly.

For example: `.toplevel_page_link-manager` will affect `body` in both Firefox and Chrome.

Plugin page menu items have both an ID and class generated as such, which seems rather redundant. I propose either dropping the redundant and only partly functional CSS class or standardising the menu slug to produce a valid class name.",kawauso
22003,Saving custom fields goes to post-new.php rather than post.php,,Administration,2.5,normal,normal,Awaiting Review,defect (bug),reopened,,2012-09-26T15:57:01Z,2012-09-26T19:19:54Z,"Create a new post or page.
Add a title and message.
Add a custom field (click ""Add Custom Field"")

The post is saved, but as you are taken to post-new.php rather than post.php, it looks as if your post has disappeared! All is well - it is actually saved - but it's confusing.

Tested on 3.5-alpha-21989",curiousdannii
17636,Search subtitles are handled inconsistently across admin,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T12:15:48Z,2011-07-09T11:44:29Z,"Try the following strings in the Comments admin screen and any other:

`\'""\fs""\\\""` 

`imareallylongstringlookatmegoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgo`

The Comments screen uses `strip_slashes()` and `wp_html_excerpt()` to limit search strings to 50 characters, while other screens do not.",kawauso
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
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
23316,Top level admin sidebar menu items with conflicting positions bury one another,,Administration,3.5.1,normal,major,Awaiting Review,defect (bug),new,,2013-01-29T21:07:27Z,2013-01-30T04:23:58Z,"I have now seen two separate instances where a top level admin sidebar menu item wasn't showing up when another Plugin or Theme was activated. In the most recent case, using WP 3.5.1. my Plugin was creating a top level menu item with no position specified (blank, default). When I activated my client's Theme, our Plugin sidebar item disappeared and in place came the Theme Options item. I set our Plugin to use position 70, and it came back in place of the Users top level menu item.

In the earlier case, I had a custom post type that was requesting position 20. Whenever I activated Gravity Forms, my custom post type menu item was disappearing. This was with WordPress v3.5

According to the codex page: ""''WARNING: if two menu items use the same position attribute, one of the items may be overwritten so that only one item displays! Risk of conflict can be reduced by using decimal instead of integer values, e.g. 63.3 instead of 63 (Note: Use quotes in code, IE '63.3').''""

This seems like a bug to me. Why should items be allowed to completely overwrite one another? Shouldn't they just fall in line, albeit randomly when two conflict? I can see tons of problems with Themes and Plugins killing one another's top level menu items, and the user not understanding what's going on when they loose something unexpectedly.",beautomated
22195,URL for views are defined statically.,,Administration,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-10-15T11:31:11Z,2013-05-08T10:44:27Z,"URLs for views/screens on wp-admin/edit.php are defined statically.
[[BR]][[BR]]
why we are not using add_query_arg(); or remove_query_arg(); while adding URL? This is causing serious issues like resetting extra parameters passed to view/screens.
[[BR]][[BR]]
need expert opinion on this i can write patch if required.
[[BR]][[BR]]

{{{
WP_Posts_List_Table->get_views();
}}}



",valllabh
16858,Usage of HTTP_HOST in the administration,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2011-03-15T13:33:47Z,2012-08-09T18:46:29Z,"In some files like wp-admin/includes/class-wp-list-table.php (there are more files I think), some links are created by using the HTTP_HOST variable.

It's better to use the defined wordpress URL to create those links.

In our case, we have a wordpress running behind a Squid cache. When you check for HTTP_HOST you get the *real* HOST and not the one with the Squid server.

To bypass the problem, I added in the main config.php a line like this :

{{{
$_SERVER['HTTP_HOST'] = 'www.my-visible-http-host.com';
}}}

Without this setting and in our case, some links in the admin (next, previous page, re-ordering...) where pointing to the wrong server.
",amirhabibi
23886,Use set_url_scheme for draft Preview links in post table,,Administration,trunk,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-29T01:20:52Z,2013-03-29T01:23:03Z,"When using FORCE_SSL_ADMIN and this filter to prevent non-SSL preview of posts:

{{{
add_filter('secure_logged_in_cookie', '__return_true');
}}}

Preview links for unpublished drafts on `wp-admin/edit.php` do not use SSL and will 404.

This can be fixed by using `set_url_scheme` for the unpublished preview link. A similar unpublished preview link in `meta-boxes.php` was changed to use `set_url_scheme` in [21664]. For context, see #20759, #13328.",reidburke
17959,WP-Tab css,WraithKenny,Administration,3.2,normal,minor,Awaiting Review,defect (bug),reopened,has-patch,2011-07-01T17:03:44Z,2013-01-21T23:20:35Z,"The classes wp-tab-panel, wp-tab-bar, and wp-tab-active should adjust to side tabs in the post column (to match the behavior of categories for example)

Also, there are several unneeded duplicate css classes that can be cleaned up.",WraithKenny
16864,WP_Terms_List_Table doesn't call sanitize_term() on display,,Administration,2.9,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-03-16T12:54:07Z,2011-06-22T17:05:26Z,"Steps to reproduce:

Add this filter:

{{{
add_filter( 'category_slug', function() {
  return 'filtered';
} );
}}}

and go to {{{edit-tags.php?taxonomy=category}}}",scribu
22700,Walker_Category_Checklist should sometimes set the value as the term name,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-12-03T19:45:57Z,2013-02-19T05:12:08Z,"The `Walker_Category_Checklist` class has been partially adapted to work with taxonomies other than `category`, but it does not seem to cope with non-hierachical taxonomies.

For non-hierachical taxonomies, the HTML form elements (checkboxes, radios, dropdowns, whatever) need to set the term **name** as the value, not the ID… otherwise WordPress will cast the ID to a string and create a new term with that string as a name.

To see the problem:

* Use `Walker_Category_Checklist` to create a checkbox in a metabox on the post edit screen for a non-hierarchical taxonomy
* Add some terms to the taxonomy
* Check the box for the taxonomy and update the post
* Watch a new term appear with its name set to the ID of the term you checked


",simonwheatley
24297,WordPress 3.6 UI - Post Visibility Buttons Jumps User to Bottom of Page and Does Not Open Option,,Administration,trunk,normal,major,Awaiting Review,defect (bug),new,close,2013-05-09T17:40:52Z,2013-05-10T21:22:30Z,"Using the WordPress.com 3.6 UI test version, in Firefox older than version 19 (tested on 17-19 across multiple Windows computers in my college class) clicking Post Edit > Publish > Visibility jumps the user to the bottom of the web page and the Visibility option does not open to reveal the Public, Private, and Password Protection options. 

Works in Chrome, so the students all switch to Chrome for that exercise. 

This has been in play for almost three weeks. 

These tickets might be associated with the issue: #23817, #23684.

Thanks!


",Lorelle
19531,Wrong error message after correcting an error in username,,Administration,,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2011-12-13T10:07:56Z,2012-12-17T16:11:17Z,"After entering an illegal username (fe. ""Wim (wim@go2people.nl)""), WordPress gives an error message saying:
""ERROR: This username is invalid because it uses illegal characters. Please enter a valid username.""
So far so good.

Now, when I correct the issue and click ""Add new user"" again, the above error message remains in the screen, while the illegal characters are no longer there and the actual error I am facing is that I forgot my password. Which is confusing for me.

The same occurs, when I enter an e-mail which has already been registered. I get the error message:
""ERROR: This email is already registered, please choose another one.""
When I correct, the error message remains, while this particular problem has been solved.

WP v: 3.3
Browser: Google Chrome 14.0 on Ubuntu 11.10
",wimfeijen
23836,add_submenu_page() duplicate menus,,Administration,,normal,major,Awaiting Review,defect (bug),new,,2013-03-21T16:43:24Z,2013-04-04T03:22:08Z,"Creating two sub-menus with the same ""menu slug"" using add_submenu_page() should create only the last sub-menu.
But it creates two sub-menus with the same ""menu slug"".

Based on documentation ""menu slug"" should be unique for each sub-menu.",king_of_the_ring
19068,"admin comment search never resets URL, grows infinitely",,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-27T15:23:48Z,2011-10-28T11:53:53Z,"When searching from {{{ /wp-admin/edit-comments.php }}}
the URL will grow infinitely and never reset to it's base.

To reproduce this bug, simply search comments several times and then examine the resulting URL )by copying it to an editor). It will be over 1000 characters easily, because it's simply appending the previous searches and previous nonces for no useful reason.

Instead the form should just use {{{ /wp-admin/edit-comments.php }}} as it's submit base.

But that form should not be using GET in the first place.

Allowing overly long URLs is also a security problem as it can give a window for XSS attacks.

I wouldn't be surprised if this design flaw exists in other parts of WP admin but I'll leave that up to someone else who has more patience.

",_ck_
24328,blogname and blogdescription strip content between angle brackets,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-05-13T09:12:06Z,2013-05-15T13:18:35Z,"I was trying to set my Site Title to '''<?= test ?>'''. On saving the settings, the field returned empty. The same problem occurred with the Tagline.

After looking into `wp-admin/options.php`, I noticed that there was no provision made for escaping the fields.",aniketpant
22236,edit.php: Apply when Bulk Actions selected forgets tag= filter,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-20T22:54:28Z,2013-05-04T04:29:47Z,"Using WordPress 3.4.2, go to Posts, and click on one of the tags on one of your posts. The URL now contains tag=<tag>, and the screen shows the first 20 posts with that tag.

Now click the Apply button just next to the ""Bulk Actions"" drop-down at the top left.

I expect this to reload the page but otherwise have no effect.

Instead, it reloads the page without the tag=<tag> URL parameter, and shows the first 20 posts (irrespective of tag).

This is surprising and confusing - it's easy to accidentally hit ""Apply"" without having chosen an action, but at first glance it looks like nothing has happened. The user can then go on to do a bulk action (e.g., add category) without realising the tag they previously had selected is now no longer selected.

Note that filters (e.g., by category) that are set up using the Filter button *are* preserved when Bulk Actions / Apply is chosen - it's just tags that are lost.",kw217
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
13416,media for install.css missing (patch),,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-05-16T18:48:17Z,2013-01-22T07:40:13Z,In /core-root/wp-includes/general_template.php the function wp_admin_css is missing the @media definition. See patch.,F J Kaiser
16258,nav menus dont save the right type of menu items,,Administration,3.0.4,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2011-01-16T12:57:50Z,2011-01-20T20:47:27Z,"the new Navigation menus when the flag is set ""Automatically add new top-level pages"" when adding a new page to the menu and saves the new menuitem will change from ""page"" to ""userdefined"" as type.

It is always only the last item in the menu there is changeing. ",J0rDZ
23477,r21789 creates a breaking change in behavior for get_submit_button,,Administration,3.5,normal,minor,Awaiting Review,defect (bug),new,,2013-02-14T23:23:57Z,2013-02-15T17:32:18Z,"A recent change made to get_submit_button (http://core.trac.wordpress.org/changeset/21789/trunk/wp-admin/includes/template.php) has caused an unwanted change in behavior for a button on a site I maintain. Previously, the string passed as the second argument, `$type`, was matched against a switch statement with several unique cases. In the event of a non-match in the switch, the default action prior to [21789] was to assign the parameter's value as the `$class` string without altering it.

The change introduced in [21789] now breaks a string into individual classes, which prevents the use of the unique class names within a string of additional class names. For example, the string `button-secondary save-button action` used to generate a class string in HTML of `button-secondary save-button action`, but now generates the unexpected result `button save-button action` (note lack of '-secondary') because it matches against the following if check on line 1600:

`if ( 'secondary' === $t || 'button-secondary' === $t )`

It should be noted that the phpdoc associated with the function does not name the use case that I was employing, but that the behavior of passing in a space-separated class string has previously resulted in the string being passed through untouched (and the comment here indicates it was known and expected behavior (http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php?rev=21781#L1649), and this is no longer the case. Not sure if this is worth a programmatic fix, or if it might just be worth noting in the function docblock that certain classes are now 'reserved' and cannot be passed into the `$type` string.",vhauri
17249,thickbox modal window dimensions are fixed in wp-admin,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-27T05:01:38Z,2012-01-19T00:03:35Z,"Hello,

When invoking a thickbox modal in wordpress wp-admin, the dimensions of the modal window can't be customized. Because of media-upload.js is replacing the tb_position() function.

This is not needed that way, and media upload modal window size can be set when calling it.

The workaround is rather complicated, please read: http://binarybonsai.com/2010/02/27/using-thickbox-in-the-wordpress-admin/ down to ""The Media Manager Horror""",DreadLox
21989,update_option() calls sanitize_option() twice when option does not exist,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-25T05:04:34Z,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
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
18413,"Ability to Add Custom ""Add User"" Link",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-08-15T14:44:54Z,2011-08-15T14:44:54Z,"For the ldap plugin i'd like to be able to utilize the current location of the ""Add New"" and ""Add Existing"" button to override it to show a button to link to the custom page for the ldap add user page.

Currently there are no hooks or filters that would allow me to add something in there - would it be possible to add in an action in there after the existing code to print out the add buttons?",axelseaa
21938,"Add ""no-store"" to Cache-Control header to prevent history caching of admin resources",,Administration,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-09-20T10:54:27Z,2012-09-28T07:56:36Z,"The current implementation of [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php#L891 wp_get_nocache_headers] does not take into account history caching, which results in a browser serving a cached copy of pages from history (by pressing the Back button) even if the user has long logged out.

[http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2 RFC 2616 14.9.2 no-store] describes this cache directive.

To repoduce: login to dashboard, logout, press the back button.
Expected: the login screen.
Reality: a copy of the previous page.

By adding the ""no-store"" directive to all non-cachable resources the behavior was mitigated successfully in Chrome 21, Firefox 15. Fails on Opera 12 (they chose to disregard ""no-store"" when applied to history, RFC allows this).",soulseekah
21911,"Add 'All Themes', 'Parent Themes' and 'Child Themes' tabs",,Administration,3.4.2,normal,minor,Awaiting Review,enhancement,new,close,2012-09-17T18:37:44Z,2013-03-08T15:31:36Z,"When you have multiple themes installed which are a mixture of parent and child themes, it can be a bit overwhelming sometimes to have ALL themes lumped together in one view.

It would be nice on the themes.php page to replace the 'Available Themes' text with some tabs such as:

All Themes | Parent Themes | Child Themes

The 'All Themes' tab would show all available themes (default view), 'Parent Themes' tab would only show parent themes, and 'Child Themes' for child themes, but only if any are installed (to prevent an empty tab from being shown).

Hopefully this wouldn't be too hard to implement, but would be pretty handy for the end user for multiple available themes.

An extension to this could have a further tab called something like 'Favorites' where you can flag certain themes you like. This could be a great way of displaying just a select custom subset of themes that you have complete control over (only if at least one theme had been flagged as a favorite).


All Themes | Parent Themes | Child Themes | Favorites
",dgwyer
22333,Add IDs to .misc-pub-section divs in meta-boxes.php,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-10-31T16:25:40Z,2012-11-13T01:39:40Z,"In `wp-admin/includes/meta-boxes.php` the `post_submit_meta_box` has several sections with class .misc-pub-section. Should you have to style/alter any of them, it's not consistent as:

1. first div has only `class=""misc-pub-section""`
2. second div has `class=""misc-pub-section"" id=""visibility""`
3. third div has `class=""misc-pub-section curtime""`

Since this is a unique box on the screen, I've added two more IDs to div blocks 1 and 3 to allow for easier styling changes. ",nofearinc
21190,Add a action in check_admin_referer() in the event the nonce auth fails,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-08T09:12:56Z,2012-07-08T09:12:56Z,"Currently plugins don't have a way to perform custom handling in the event that a nonce fails in `check_admin_referer()` - Whilst in most cases this will never be needed, I'd like the ability for plugins to be able to use `check_admin_referer()` directly AND have the option of redirecting failed nonces to their own page.

We currently have an action which is fired when a nonce passes:
{{{
do_action('check_admin_referer', $action, $result);
}}}",dd32
15406,Add a pending post count indicator to the admin menu,,Administration,3.0.1,normal,trivial,Awaiting Review,enhancement,new,dev-feedback,2010-11-12T17:28:49Z,2013-01-22T15:21:49Z,"Comments has an indicator bubble on the dashboard with the pending comments count.

Pending posts should have such a feature, since they are quite more important.",iign
18357,Add action to do stuff before the admin menu is rendered,,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-08T22:08:23Z,2011-08-08T23:34:15Z,"Here is a trivial patch to allow users to inject some stuff in the Admin pages HTML body before the menu is rendered. The new action is called 'before_admin_menu_header', feel free to use a better name.",llucax
21636,Add category dropdown to QuickPress in Dashboard,,Administration,3.4.1,lowest,minor,Awaiting Review,enhancement,new,has-patch,2012-08-19T20:14:09Z,2012-08-31T18:28:22Z,"This would make QuickPress more useful to people who use categories instead of tags, have been meaning to do this for years.


",jane
23986,Add filter for <html> css class in admin,,Administration,trunk,normal,minor,Awaiting Review,enhancement,new,,2013-04-08T08:23:10Z,2013-04-08T08:23:10Z,"It would be handy (looking at MP6), if it would be possible to alter the CSS class of `<html>` in the backend.",tillkruess
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
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
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
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
19278,Allow WP_List_Table ::get_bulk_items() to receive a nested array and output optgroups,,Administration,,normal,minor,Awaiting Review,enhancement,new,,2011-11-17T17:25:37Z,2011-11-17T21:38:59Z,"I'm just putting this out there as a possible enhancement to the WP_List_Table... would like feedback as to whether anyone else would find it helpful. If so, I'm more than happy to write up a patch for this.

I think it may be useful to be able to pass a nested array to `WP_List_Table::get_bulk_actions()` and have it output the options within the subarray in an `<optgroup>`. My specific use case is in applying meta fields to a custom table. I would like to be able to define something like this in my `get_bulk_items` function:

{{{

function get_bulk_actions() {
	$actions = array(
		'delete' => 'Delete',
		'outofstock' => 'Mark out of stock',
		'applytags' => array(
			'label' => 'Apply tags to products',
			'actions' => array(
				'featured' => 'Featured',
				'sale' => 'On Sale'
				)
			)
		);
	return $actions;
}

}}}

and have the output look something like this:


{{{
<select name=""action"">
	<option value='-1' selected='selected'>Bulk Actions</option>

	<option value='delete'>Delete</option>
	<option value='outofstock'>Mark out of stock</option>
	<optgroup label=""Apply tags to products"">
		<option value='feature'>Featured</option>
		<option value='sale'>On sale</option>
	</optgroup>
</select>

}}}

A very minor feature, and possibly too fringe of a use case to bother with. But I've worked on a couple projects now where being able to specify markup like that would have made that screen more user-friendly. Any thoughts?",goldenapples
19958,"Allow custom post types as ""home"" and get_posts() to return results for more than one post type",,Administration,3.3.1,normal,major,Awaiting Review,enhancement,new,has-patch,2012-02-04T00:59:13Z,2013-03-08T17:32:39Z,"In
{{{
Wordpress admin > Settings > Reading
}}}
there is an option to define what the home page or the front page should be
{{{
Front page displays
}}}
Radio button
{{{
A static page (select below)
}}}
is followed by a dropdown containing a list of all pages.

I would request that custom page types be allowed in this dropdown. This way, I could make my bbPress forums or my All-in-one event calendar, etc my homepage.
",sooskriszta
18504,"Allow filtering of ""Add New [Post Type]"" URL on edit.php",,Administration,3.2.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-08-24T00:54:56Z,2011-08-24T12:01:54Z,"I've recently attempted to use add_filter('admin_url','filter_function'), only to discover that there are many URLs in the admin area that are not passed through the admin_url() function. While there may be a good reason for that to happen, I figured it wouldn't hurt to check the possibility of changing one of them.

The one URL I haven't been able to find a workaround to is the ""Add New [Post Type]"" button on the edit.php screen, on top the post table, which also appears when editing an existing post. From what I gather, it is generated in the following file/line [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit.php#L189] for the first case, and on this one [http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php#L198] for the second case.

Fixing this, assuming it's possible without compromising a functionality I'm not aware of, would be as simple as replacing this:

{{{
<a href=""<?php echo $post_new_file ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( $post_new_file ) ?>"" ...
}}}

With this:

{{{
<a href=""<?php echo admin_url($post_new_file); ?>"" ...
}}}

And this:

{{{
<a href=""<?php echo esc_url( admin_url($post_new_file) ) ?>"" ...
}}}",tbuteler
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
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
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
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
17703,Decrement update count bubbles when you update things,koopersmith,Administration,,normal,trivial,Awaiting Review,enhancement,reviewing,has-patch,2011-06-06T01:30:31Z,2011-08-16T01:02:13Z,"This can be done via some JavaScript, including for the bulk updater case, and it looks pretty cool. :) Video attached, as well as a first-pass patch.",mitchoyoshitaka
18030,Die with HTTP status 403 forbidden when capability check fails in wp-admin,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-07-07T22:42:29Z,2011-07-07T22:42:29Z,"The default HTTP status code of [http://core.trac.wordpress.org/browser/tags/3.2/wp-includes/functions.php#L2740 wp_die()] is a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1 500 Internal Service Error] communicating !WordPress encountered an ""unexpected condition which prevented it from fulfilling the request."" Multiple pages trigger wp_die() in wp-admin when a minimum user capability is not met (e.g. Cheatin', uh?). In these cases we know why the request failed and could better communicate the failure in the HTTP status code. We want to communicate the same request should not be repeated without a modification to permissions. We also would like to shift the error class from a server error (5xx) to a client error (4xx).

HTTP status [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4 403 Forbidden] communicates the authorization failure in HTTP status form. The server can be reached, we understood your request, but we declined access to the page.

A !WordPress install could catch this unique status code in its wp_die_handler and suggest further the viewer contact the IT department, admin, etc. for additional permissions.

Patch attached for wp-admin/edit.php. If the general idea behind the change is acceptable I can broaden the patch to other occurrences of wp_die() for failed capability checks in wp-admin.",niallkennedy
22650,Filter the Gravatars on credits.php,,Administration,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-11-30T08:39:58Z,2012-11-30T08:51:59Z,"All Gravatars should be generated by get_avatar() or at least run through apply_filters('get_avatar', $avatar) for the sake of extensibility.

Related: #22329",miqrogroove
21034,Flyout Menu on Backend doesn't Loades Untill Whole Page is Loaded,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-21T09:43:55Z,2012-06-25T05:30:06Z,"I have noticed this ever since the flyout menu was introduced. Menu items on flyout menus is not shows until the whole page gets loaded. For high speed connection its not a problem but it gets annoying people who connected in dial up (last week my ISP was down so i had to work with dial up for couple of days).

So, we could make the flyout menu items css/js to load on header so it doesn't wait for to load the whole page and make the backend accessible to and less annoying to low speed users.. For testing it you have to log into backend with low speed connection. If you need proof i can make a video with my dial up. Just let me know.

BTW: What i see on firebug that the css for flyout menu loads on header so i don't really find out what causes the menu to not showing on hover until the page loads.",prionkor
22086,"HTML5 and cellspacing=""0"" in admin pages",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-10-03T19:37:25Z,2013-02-19T20:46:43Z,"There are several instances where generated table content uses 'cellspacing=""0""' in the admin areas of WordPress.

The W3C validator (albeit experimental) states that this parameter should be dropped and CSS used instead for HTML5 compliance.

I think the patch I'm going to attach in a moment will fix these validation issues.",MattyRob
21856,Hide category selection when no posts are available,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-09-09T14:38:10Z,2012-11-13T20:18:02Z,"Just an idea that popped up while testing #21015. The months dropdown gets hidden when there are no posts available, so why not hide the category dropdown list too?

Might be a bit confusing though, when certain elements are not showing when you first start using the screens that these elements are used. But showing something that does not do what it looks like is even more confusing, I think.",CoenJacobs
22139,Hooks for wp-login customization,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-09T14:18:07Z,2013-01-22T22:18:57Z,"I have an application that leverages wp-login.php as the login page (of course), however, the HTML on the wp-login.php doesn't have a way for my application to insert its navigational elements, branding, etc.

I propose the addition of two new action hooks: ''login_before_container'' and ''login_after_container'' which would come before and after the login div, respectively.  ",borkweb
18709,Hooks in user-new.php,,Administration,3.2.1,normal,normal,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
24209,Install Themes/Plugins Custom Page Hooks,,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-28T03:04:05Z,2013-04-28T05:45:40Z,"Upon trying to add a custom page to the '''Plugins > Add New''' section for private plugins, I realized there wasn't a hook that allowed overriding the plugin_api call.

The custom tab on the page could easily be added via the ''install_plugins_tab'' filter, but in the '''class-wp-plugin-install-list-table.php''' class method ''prepare_items()'', there isn't a hook to override the api call.

I checked the functions for the themes and it's the same thing, so I've added the patches containing the proposed filters for both classes in order to help future customization of WordPress by developers.

Here's an example of the custom tab and the desired results via the hooks in a plugin:

[[Image(http://i.imgur.com/iF9gbMf.png)]]

These filters can also be used to prohibit clients from adding 3rd-party plugins for security & performance reasons and even limit them to only using a private Repository API.

Thanks!",amereservant
23432,Links in Setting pages to open in new window,,Administration,3.5.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-02-09T15:26:25Z,2013-02-10T16:02:57Z,"Some links in the Setting Pages (General, Discussion, Permalink) pages open in same window, which sometime can be awful. [[BR]]
While the users can press cmd/ctrl + click and click the link to open it in new tab but If the user does not open the link in new window, options (which are not saved) will be lost and one have to go through them again.[[BR]]
Also links in the Edit Profile page and all the links in the help tab open in new window except a few.(so it is possible that users may just click it thinking them to alike other links which open in new window)[[BR]]
So a consistency will be there and ux can be a little better.",theadityajain
21132,"List tables' ""select all"" should let you really select all, regardless of screen options",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-02T04:38:38Z,2012-07-05T15:13:48Z,"The select all checkbox in list tables selects all the items in your current view.  Usually what I really want is to select all the items on all the pages.

As a hack, I'll often leave the screen options setting for items per page on something really high, like 1,000.  Unfortunately this means the tables are often really slow for no benefit (most of the time I don't need them all).  A better solution would be a way to intelligently select all items without needing to show them on the page.

The best example of this that I know of is Gmail, which adds a line above the list of emails when you click the select all box that looks something like this: ""All 50 conversations on this page are selected. Select all 653 conversations in Spam"".  The second sentence is a link that, as expected, selects all of your emails that fit the current view, regardless of paging.  Screenshot attached.",evansolomon
20335,Make Default Post Listing Mode Filterable,,Administration,3.3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-03-30T15:54:23Z,2013-02-08T07:32:35Z,"Inspired by [http://wordpress.stackexchange.com/q/34956/46 a question] on the WordPress Answers Stack Exchange.

By default, WordPress displays the post list in the admin as a list view.  There's an option to switch to an excerpt view that many people use and some would like to set this as the default mode.

Unfortunately, the default is hard-coded into WordPress and is not filterable.  I propose we add a basic filter to allow developers to override the default ""list"" setting for the view mode.",ericmann
21271,Make admin backend unit-tests friendly,,Administration,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-14T14:19:20Z,2012-12-11T13:12:31Z,"Recently I started writing unit tests for my plugins. Beside tests focused on functionality (where I directly call my plugin functions) I write some basic integrations tests, which should test that WordPress will call my function, pass data in expected format and recognize data returned from it. For frontend it is quite easy - theme API is well-defined, so I can write something like this:
{{{
public function test_something() {
	// add new post
	$post_id = wp_insert_post( array( ... ) );
	$this->assertGreaterThan( 0, $post_id );
	
	// go to post page
	$this->go_to( get_permalink( $post_id ) );
	
	// main loop
	$checked_post = false;
	while ( have_posts() ) {
		the_post();
		if ( $post_id == get_the_ID() ) {
			$checked_post = true;
			
			// test that content is modified
			ob_start();
			the_content();
			$result = ob_get_clean();
			$this->assertEquals( '...', $result );
		}
	}
	
	// make sure test above was executed
	$this->assertTrue( $checked_post );
}
}}}
Unfortunately this is not true for admin backend - there most of code is written directly at file level (not in functions and classes), so I would need to either duplicate this code in my tests (bad approach, because would have to monitor original code for changes), or test using whole file (either load it directly or use Selenium) - in this case test would be more complicated.

Therefore I logged this ticket, to start discussion how we can perform refactoring of admin backend to make it more tests-friendly, and how to test it more thoroughly. Most probably we would also need to modify the testing framework (e.g. introduce new `admin_go_to()` method).",sirzooro
21516,Make the entire .check-column the click target for the checkbox,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-08T03:34:38Z,2012-10-22T15:27:26Z,"Sometimes checkboxes are quite small. In various list tables, checkboxes are wrapped in a .check-column. Why not make the entire .check-column clickable, in case people (like me) miss?",mitchoyoshitaka
20288,"Missing bottom border for bulk-actions checkbox th in wp-posts-list-table if current user can't ""edit_post"".",,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2012-03-23T10:04:20Z,2013-01-22T03:36:59Z,"If current user can't ""edit_post"" the bulk-actions checkbox isn't present but also the bottom border for th in wp-posts-list-table.

I think it can be fixed by modifying line 495 in class-wp-posts-list-table.php like so:

`<th scope=""row"" class=""check-column""><?php if ( $can_edit_post ) { ?><input type=""checkbox"" name=""post[]"" value=""<?php the_ID(); ?>"" /><?php } else { ?> &nbsp; <?php } ?></th>`",szaqal21
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
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
17891,Pass $post_type to 'restrict_manage_posts',,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-25T11:48:23Z,2012-09-22T01:07:26Z,"It would be nice if the 'restrict_manage_posts' hook received the post type as an argument, rather than having to check the global.",scribu
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
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
23444,Publish actions not readily available after scrolling when editing a post,,Administration,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-11T01:37:14Z,2013-02-11T02:26:42Z,"When editing a post in 2-column mode, the user is forced to scroll to the top of the screen. As publishing is always the final action while editing a post, the user should have the metabox available regardless of the user's scrolling.",ericlewis
23233,Radio Button instead of Checkboxes on Comment Moderation option?,,Administration,3.5,normal,trivial,Awaiting Review,enhancement,new,close,2013-01-18T16:26:23Z,2013-01-19T03:13:00Z,"Hi! I've been a loyal Wordpress user for years. This is nothing urgent, but something that may improve the user experience.

In Settings > Discussion > Before a comment appears, there are two options: ""An administrator must always approve the comment "" and ""Comment author must have a previously approved comment""

Perhaps I have missed something here, but aren't these options pretty much either/or? If the first box is checked, it's rather irrelevant if the second box is checked, because the first checkbox would override it?

If I'm correct, shouldn't this be changed from a both/and checkbox to an either/or radio button?",danielmount
22198,Realigning the Discussions Settings page,,Administration,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T14:50:34Z,2013-01-22T03:01:36Z,"[I looked for some tikets for this but didn't find any directly related, so hopefully I haven't missed a big one out there floating around.]  

The Discussions Settings page (options-discussion.php) always trips me up when setting up a new site. There's a lot of options, descriptions, directions, etc on that page — much of which is probably unavoidable. When I visit it, I always think that the hierarchy isn't quite right. 

To help with this, I thought of two half-measures. 

1. A very simple solution: 

Put the ""Allow people to post comments on new posts"" at the top of the options list, with a little space below it. That would make that option the most prominent on the page, without making it stand out too much. 

Like this:
[[Image(http://f.cl.ly/items/3e0c062W0N1l3J2D0q0Y/Screen%20shot%202012-10-15%20at%2011.56.02%20AM.png)]]


2. A more involved solution: 

I really like the new click-to-reveal-the-options at work in the ""Page on Front"" (#16379) workflow and thought it might work well here. 

*Something* in this direction:  
[[Image(http://f.cl.ly/items/022A1G3k0O3q0g1u380L/Screen%20shot%202012-10-15%20at%2012.12.09%20PM.png)]]


The first could be accomplished for 3.5, but the second re-working could be a further down the line item. 
 
",saltcod
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
22228,Remove one-time variable from add_settings_error,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2012-10-19T17:50:08Z,2012-10-19T17:50:08Z,"Append an array to `$wp_settings_errors` without assigning it to a variable in the previous line.

Before:
$var = array( 'type' => $type ... );
$wp_settings_errors[] = $var;

After:
$wp_settings_errors[] = array( 'type' => $type ... );",niallkennedy
22827,"Remove profile page ""Visual Editor"" setting right margin",,Administration,3.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T16:31:58Z,2013-03-15T09:09:32Z,"I assume this once has been added to align with the profile page ""Admin Color Scheme"" setting, but for consistency with other settings my request to remove it.

Some screenshots:

http://cl.ly/image/3t3k1w3y2Q1D/8-12-2012%2016-26-26%20ltr%20after.png
[[BR]]
http://cl.ly/image/420C1i1c1f2n/8-12-2012%2016-21-26%20rtl%20before.png
[[BR]]
http://cl.ly/image/3H3R0u080I0Q/8-12-2012%2016-25-14%20ltr%20before.png
[[BR]]
http://cl.ly/image/183U2g3x381I/8-12-2012%2016-21-26%20rtl%20after.png

Please note this is my first patch, and thus I'll probably mess up something somewhere. Terribly sorry about that.",corvannoorloos
17884,Remove redundant checks in settings API functions,,Administration,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-24T20:20:44Z,2013-01-03T19:25:30Z,"There are several isset() checks in some settings fields functions that are meant to prevent notices, but they're simply unnecessary.

PHP doesn't emit notices in those cases.",scribu
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
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
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
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
20570,"Tidying Admin CSS, bringing it up to CSS Code Standards (work in progress)",,Administration,3.4,normal,minor,Awaiting Review,enhancement,new,,2012-04-29T16:24:09Z,2012-12-24T11:27:12Z,"as per http://codex.wordpress.org/CSS_Coding_Standards, this is an attempt to bring the internal admin stylesheets up to CSS Coding Standards

Some of the changes being made are ...

* Properly intenting top: left: right: bottom: attributes two tabs when following a position:absolute position:fixed or position:relative declaration
* Alphabetizing css properties
* Removing unnecessary browser prefixes
* Placing browser prefixed css properties before the non-browser prefixed versions
* Removing extraneous spaces
* Applying a consistent ordering of browser-prefixed properties (based on length of prefix to get an aesthetically pleasing diagonal line, rather than jagged, inconsistent line endings -- yes, I know it's silly, but it's better than randomness, and alphabetical isn't as useful)
* Applying a uniform method to attribute selectors and url references by wrapping double-quotes around the values (there was no prior standard and a motley assortment of usages)
* Changing colors to 3-character shorthand ( 888888 becomes 888 )
* Changing colors to lower case ( EEE becomes eee )

and probably a couple others that aren't coming to mind right now.",georgestephanis
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
21622,Validate or sandbox file edits before saving them,,Administration,2.7.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-17T20:50:45Z,2012-09-24T23:20:03Z,"While using the [http://www.wpzoom.com/themes/academica/ academica] theme, I accidentally missed an ending bracket while editing functions/wpzoom-seo.php in the theme editor. This is used as part of a set of pages creating a theme options page on the dashboard. When the function went bad, it caused my entire installation to be unaccessible.

It was necesssary to ftp to fix the error, because even the dashboard was blanked out by a fatal error. Messing something up in the theme should not cut off access to the dashboard.",eschwartz93
22466,Want to View Pending Comments From Dashboard,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-11-15T18:49:39Z,2012-11-19T16:25:06Z,"This is a very awkward aspect of WordPress that I'm just attempting to articulate for the first time:  In the Recent Comments dashboard widget, there is no way to view fully the pending comments.

What it should link to:

* View Comment
* View Post
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

What it does instead:

* Visitor's site or e-mail address
* Edit Related Post
* View Related Post
* Reply to Comment
* Approve Comment
* Edit Comment
* Spam Comment
* Trash Comment

So there are several obvious points of confusion here.

Why would I want to reply to a comment that is pending approval, still hidden, and not even fully displayed to me?

Why can't I see the whole comment?  It only shows me an excerpt here, and in order to actually read the comment I have to click over to Comments on the admin menu and find what I'm looking for manually.

Why does the most prominent link for the comment take me to the post editing screen?  When is this ever useful?

Why is the post link displayed as a tiny little ""#""?",miqrogroove
21189,We should improve the nonce failure page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-08T09:07:17Z,2012-07-08T13:14:00Z,"Currently when a admin nonce expires, in most cases we catch this condition using `check_admin_referer()` which presents expired nonces with a rather ugly uninformative error message:
[[Image(http://f.cl.ly/items/26271g453h2y0K393Y1l/Screen%20Shot%202012-07-06%20at%2012.14.25%20PM.png)]]

I'd like to propose that we make this page a bit nicer to end users - who although are unlikely to hit it (I hope) it'd be nice to let them know what's actually happened.

My initial approach would be to change the page to 
- Include a !WordPress logo, and a link back to the Admin area
- Change the message to something like ""The link you've followed has now expired, In order to complete the action you were performing, please return to the previous page, refresh it, and attempt to follow the link again."".
- In the case where this is happening within the !WordPress admin, it would make sense to have some kind of UI on the page as well - This can currently be done by not using `check_admin_referer()` and using `wp_verify_nonce()` directly and redirecting to an error page.

The current message could often cause confusion, as of course the user wants to do it (They just followed a link!) but as there's no continue button, they're left confused.",dd32
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
23501,add filter for post count query in WP_Posts_List_Table,,Administration,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-02-18T14:02:40Z,2013-02-18T19:09:48Z,"I've a custom post type ""products"" with a custom taxonomy ""manufacturers""
I've hooked the parse_query filter when fired from edit.php because I've wanted to show posts based on current user criteria (user can edit only products belong to specific manufacturers).
Everything worked as expected, except for the post count in the table header that shows total amount of posts (not a filtered count).
Digging into the code I've found that inside WP_Posts_List_Table constructor ([http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-posts-list-table.php#L59])the following code is performed:

{{{
$this->user_posts_count = $wpdb->get_var( $wpdb->prepare( ""
				SELECT COUNT( 1 ) FROM $wpdb->posts
				WHERE post_type = %s AND post_status NOT IN ( 'trash', 'auto-draft' )
				AND post_author = %d
			"", $post_type, get_current_user_id() ) );
}}}

I think that the simplest solution is to add a filter for the count query. By this way is possibile to customize the query that reflects the effective post count.",cardy_Web
23856,add style for <hr> tag in the Dashboard,,Administration,,normal,trivial,Awaiting Review,enhancement,new,,2013-03-24T17:07:21Z,2013-03-29T05:21:03Z,"Lines are with black color, 
Lines are important to separate something in a widget for example.
or in a metabox... 

{{{
	border: 0; 
	border-top: 1px solid #DFDFDF;
	border-bottom: 1px solid white;	
}}}
",alexvorn2
19828,allowing to insert help tab in specific position,,Administration,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-13T21:50:15Z,2012-03-01T17:22:32Z,"this enhancement of add_help_tab() would allow plugin developers to insert help tabs on existing screens at an arbitrary position, e.g. place it on the ""Writing Settings"" screen's help tab between the ""Overview"" and ""Press This"" tabs

the patch attached includes the bugfix from #19827, but this enhancement can be rewritten to work independently",tfnab
21539,category_description filter not applied to Description field on Categories page,,Administration,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-10T13:53:03Z,2012-08-12T17:31:42Z,"The category_description filter is not applied to the Description field on the Posts > Categories page (wp-admin/edit-tags.php?taxonomy=category).

Need: I use very long category descriptions, which are displayed on the front end of the site. This means that the Posts > Categories page is blown out by the long descriptions. I wrote a plugin to filter the category_description to limit it's length in the admin area. However, I then discovered that the filter is not applied on this page.

I'm wondering if there is some reason this was left out by design, but I can't see any reason why the filter should not be applied at this point. If I've missed something, please let me know.

It is easy to fix - simply apply the category_description filter to the description field in column_description() in wp-admin/includes/class-wp-terms-list-table.php

I have applied this on my local install. Now I just need to work out how to create a patch and submit it for review (this is my first attempt).

Note: It may be sensible to limit the length of the category description displayed on this page, but that's outside the scope of this ticket, which is just about the filter not being applied.",StephenCronin
22590,get_post_class() do not set 'sticky' class in administration posts table,,Administration,3.4.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-11-26T09:31:54Z,2012-12-21T19:30:40Z,"get_post_class() does set a 'sticky' class to sticky post on the frontend but not in the administration. So, there's no way to differentiate a sticky post from another non-sticky post excepted the span element to its right.

Adding something similar to this fix the problem:
{{{
	// sticky for Sticky Posts in administration
	if ( is_sticky($post->ID) && is_admin() )
		$classes[] = 'post-sticky';
}}}",corsonr
18850,hidden admin page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:43:12Z,2012-07-30T16:22:40Z,"it should be possible to create a hidden admin page.

this is useful for pages, that require parameters which are better inserted in other pages (e. g. using the post_row_actions filter).

if this is already possible, it should be documented somewhere where it might be found.

(btw: i'm not sure, what the difference between feature request and enhancement is. please redeclare as fit)",ibotty
23785,highlight rows on hover for tables with widefat class,,Administration,3.5,normal,minor,Awaiting Review,enhancement,new,,2013-03-15T10:57:06Z,2013-04-02T20:58:26Z,"If .widefat tables had this css code system-wide (wp-admin.css)

{{{
.widefat tr:hover td {
      background-color: #DDD;
}
}}}

handling these tables on (extreme) widescreens would be improved.

[[Image(http://picload.org/image/aocipap/widefat.jpg)]]",cfoellmann
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
16283,post_exists() enhancement - don't include revisions,,Administration,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-01-18T13:33:51Z,2011-07-17T02:04:03Z,"The current post_exists() function to me has a major downside.  By default all it does it search for title, content and/or date in the wp_posts table.

The problem with this is that it includes revisions.  So for example if you have a post with title ""ABC"" but then later change it to ""DEF"", post_exists(""ABC"") will still return true with the post ID of the revision.

I would suggest either:

 a) Adding post_status not equal ""inherit"" as a default to the function.

 b) Adding a 4th parameter which allows you to pass the post_status value in.

I would be happy to code this if anyone has any feedback on what would be the best approach.",durin
18851,search form in edit.php should keep parameters it does not understand,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:48:17Z,2011-11-15T11:29:40Z,"the component is class-wp-list-table.php.

if you carry along some kind of status in the url in the post list (e.g. url=https://example.com/wp-admin/edit.php?post_type=post&my_status=""abcdefg"") the search field should not remove the parameter.",ibotty
16778,wordpress is leaking user/blog information during wp_version_check(),,Administration,,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-03-06T18:57:43Z,2012-09-04T11:06:26Z,"Hi,
we've noticed that wordpress will send how many users and blogs are in a given installation during the GET to api.wordpress.org together with the installation URL in the headers.

Is there any reason why this is done? It seems quite a leak of information. Can it be turned into an option defaulting to off and admins can opt-in if they want to report how many users/blogs are currently there?

thanks.

PS. slightly related, WP will also leak which blog in MU mode is requesting any URL via the user-agent in the WP_Http class (for example while updating the news feed on the dashboard)",investici
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
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
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
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
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
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
22857,'Header Image' state isn't removed from images previously used as header image,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-11T18:54:08Z,2012-12-11T23:04:31Z,"Steps to reproduce:

 1. Set your site's header image from Appearance -> Header by uploading an image or choosing one from your media library.
 2. Repeat step 1.
 3. Visit the Media Library and note that your previous header image still says 'Header Image' next to it.

Not a 3.5 regression as it happens in 3.4.2 too.

",johnbillion
24032,An issue with the theme customize function and jQuery tabs,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-10T15:07:04Z,2013-04-10T18:31:50Z,"WP 3.5.1 ( same happens in the 3.6 beta-1 )
No plugins installed ( vanilla WP )
TwentyTwelve Theme ( happens with TwentyThirteen as well )

So when you have or using jQuery Tabs in a page and you go to the theme customize page, the customizer panel will become sluggish and not very responsive when you hover your mouse over the accordion panel and if you look at the preview, the content is jumbled and also very sluggish.  It seems something is executing in a loop over and over again making it sluggish but I did not see anything in the error console for some reason.  Perhaps this is because it is on an iFrame.

Please note that the page in the frontend loads just fine with the jQuery Tabs and works normally.  It is only when you use the backend theme customize page is where this issue starts.

I have tried this in both 3.5.1 and 3.6 beta-1 and same results.

Here are the steps to reproduce this.

In functions.php load up:

{{{
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-tabs' );
}}}

In the homepage (any page) put in:

{{{
<div class=""test"">
<ul>
<li><a href=""#abc"">abc</a></li>
<li><a href=""#xyz"">xyz</a></li>
</ul>
<div id=""abc"">
	some content here
</div>
<div id=""xyz"">
	some other content
</div>
</div>
}}}

In theme js, put in:

{{{
$('.test').tabs();
}}}

Then go to your homepage in the frontend to confirm the tabs are working and normal.  Now go to the backend theme customize and you will see the issue I am trying to describe.",splashingpixels.com
23554,Change Header Delete Behavior,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T07:11:27Z,2013-02-20T08:57:30Z,"When clicking the Remove header button, it should remove the header image from the list of images for rotation as well as remove from the currently selected image.  Currently you must delete the image from the media library (which may be several hundred or thousand images deep) to remove it from the list.",tribuseric
22148,Customizer Uploader doesn't handle large files properly,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-10-10T05:07:34Z,2012-11-11T18:14:45Z,"Both of these tests were with image files larger than the max file size - 3MB images with a 2MB max file size:

Dragging the file onto the upload area, the browser window redirects to the location of the local file, the same as if the file were dragged to a non-dropzone area.

When using the file browser to select the file, the upload fails silently.

In both cases, an error similar the Media Uploader would be preferable.
",pento
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
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
23455,Theme Customizer does not load when static Front Page is moved to Trash,,Appearance,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-12T12:27:37Z,2013-04-23T22:33:32Z,"Steps to reproduce:

1. Go to Pages > Add New, and publish a new page
2. Go to Appearance > Themes > Customize
3. Under Static Front Page, set this new Page as your Front Page. Save changes
4. Go to Pages > All Pages, and trash the page
5. Go back to the customizer
    * The sidebar loads, but not the preview
    * I see the following error in the console: http://i.wpne.ws/MpDR

When commenting out {{{$this->handle_404();}}} in [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php#L550 wp-includes/class-wp.php#L550], the Preview appears again, but generates quite a lot of notices.

Tested with WordPress Trunk (Version 3.6-alpha-23400)",jeherve
21492,Theme customizer > Static front page: missing error message when front page and posts pages are similar,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-06T00:15:25Z,2012-08-06T01:11:40Z,"Steps to reproduce:

1. Activate Twenty Eleven
2. Open the Customizer
3. In ""Static Front page"", choose the same page as your front page and Posts page:
  * You do not receive any warning 
  * http://i.wpne.ws/IYAO
  * In Reading Settings, you do actually receive a warning: http://i.wpne.ws/IY2S (see http://core.trac.wordpress.org/browser/trunk/wp-admin/options-reading.php#L99 )

Would it be possible to display the same warning in the Customizer, to avoid any confusion for the users?

Related: #19627 and #16379",hd-J
23956,jQuery UI Datepicker adds empty but visible div at bottom of page,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-06T01:52:12Z,2013-04-06T08:19:52Z,"This bug seems to be related to the [http://bugs.jqueryui.com/ticket/4111 this] jQuery UI bug, which has been fixed, but the following WordPress stylesheet seems to be making the bug re-appear:

wp-includes/css/jquery-ui-dialog.min.css

As far as I can tell, removing the following rule seems to fix it:


{{{
.ui-helper-clearfix:after {
    content:""."";
}
}}}
",julianm
22237,Add a keyboard shortcut for collapse/expand in the customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-21T02:59:31Z,2012-10-24T17:33:30Z,Can we add a keyboard shortcut to the customizer for collapsing/expanding the left panel?,designsimply
22231,Add action to provide additional options to the Custom Background page,,Appearance,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-10-19T23:27:02Z,2012-10-20T15:12:29Z,"The Custom Header feature of WordPress has an action to allow additional options to be attached to the Custom Header admin page. This patch allows the same functionality to be done for the Custom Background page.

'''Use case:''' I want to provide an option to allow the custom background image set to be responsive. If checked, the background image URL will be localized for use via the anystretch.js.",thelukemcdonald
21792,Add link to settings.general from appearance.header,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-09-04T19:38:50Z,2012-09-04T19:40:36Z,"Multiple users that we've tested have ended up on appearance->header when asked to change their ""site title"".  It seems logical.  Should we add a link there?",lessbloat
22348,Add support for custom background default images,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-02T19:25:12Z,2012-11-02T19:25:12Z,"When specifying custom header default images for a theme, I always forget that you can't do the same for custom backgrounds.

It would be highly desirable to be able to set default background images, just as you can with custom headers.",dgwyer
23509,Conditional function that lets you know if your site is being viewed through the Customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-19T01:41:24Z,2013-04-22T22:10:51Z,"I can provide a use case if necessary, but this should be relatively simple.

If I need to do something special with my theme when my site is being viewed through the customizer, there's no easy way determine if it is.

A simple `is_customizer()` (or similar) function would be incredibly useful in this scenario.

I'd write up a patch, but I don't know where to put the new function.",nathanrice
17800,Custom Header bug with deleted images,,Appearance,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-14T12:43:15Z,2012-12-03T12:08:03Z,"I'm not a tech.
I've added images to Twenty Eleven header.
I wrong and I've deleted few images directly using ftp now you can see in the image that the header has the markers of the images without the images.

",pivari
22058,Custom background vertical position,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-09-30T16:30:29Z,2013-04-25T01:20:25Z,"For the the custom background display options there is only left, centre and right position. The top and bottom position is missing.",grapplerulrich
22880,Customize Themes without activation,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T11:34:51Z,2012-12-12T11:38:58Z,"Add a posibility to customize deactivated themes with the Theme-Customizer without activating them by default.
Useful for Blogs running multiple Themes between which the frontend user can switch.",kkkrys
21059,Customizer color picker has no remove button,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-24T11:34:12Z,2013-04-11T10:23:37Z,There is no remove button for color picker in the customizer. It would be great if we could remove the color or set it to the default if we don't need the color.,kcssm
22834,Live Preview should map sidebars as done on activation,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-12-09T12:51:00Z,2012-12-13T12:07:31Z,"'''Problem:''' 

Sidebar disappears in the live preview after theme deactivated.

'''Reproduce:'''

Fresh install of the WordPress trac:
1. Activate Twenty Ten theme
2. Click the Live Preview of Twenty Twelve
3. No sidebar in the preview

Bug 100%",alexvorn2
22182,Make core theme customizer section titles filterable,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-10-13T11:45:13Z,2013-04-19T17:11:01Z,"It would be very useful to be able to modify core theme customizer section titles by making them filterable, or by adding a setter class method to modify an existing section title.

At the moment you can't access a section title directly as it is set to protected.

Example user case scenario is if you needed to add sub controls to an existing section, then the title may need updating to reflect this.",dgwyer
21483,Theme Customizer: Use any image from media library for background image,,Appearance,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-05T22:42:31Z,2013-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
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
17557,"AtomPub service sends duplicate status headers, breaking FastCGI",,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-05-25T20:33:33Z,2011-08-08T01:00:38Z,"The AtomPub service (wp-app.php) sends duplicate Status headers when authorization is not provided, which breaks on FastCGI setups. This is seen when you attempt to connect to the service using e.g. [https://github.com/calavera/Ape Ape], resulting in the following error message in the Apache logs:

{{{
[Wed May 25 16:09:21 2011] [error] [client 10.5.62.176] FastCGI: comm with server ""/tmp/webadmin_test"" aborted: error parsing headers: duplicate header 'Status'
}}}

This results in a 500 Internal Server Error from Apache:

{{{
HTTP/1.1 500 Internal Server Error 
Date: Wed, 25 May 2011 20:09:21 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.6RC4-pl0-gentoo 
Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Last-Modified: Wed, 25 May 2011 20:09:21 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
WWW-Authenticate: Basic realm=""WordPress Atom Protocol"" 
Content-Length: 735 
Connection: close 
Content-Type: text/html; charset=iso-8859-1 

<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML 2.0//EN""> 
<html><head> 
<title>401 Credentials required.</title> 
</head><body> 
<h1>Credentials required.</h1> 
<p>The server encountered an internal error or 
misconfiguration and was unable to complete 
your request.</p> 
<p>Please contact the server administrator, 
webmaster@ufl.edu and inform them of the time the error occurred, 
and anything you might have done that may have 
caused the error.</p> 
<p>More information about this error may be available 
in the server error log.</p> 
<p>Additionally, a 500 Internal Server Error 
error was encountered while trying to use an ErrorDocument to handle the request.</p> 
<hr> 
<address>Apache Server at test.news.ufl.edu Port 80</address> 
</body></html>
}}}

Patch attached to refactor Status headers in wp-app.php to use the {{{status_header}}} function like most of the code uses.  There's also a function that handles which I have refactored to use {{{wp_redirect}}}. Affects all versions back to 2.9.2, including trunk.

Examples of this issue (and corresponding fixes) include:
* #2628
* http://trac.symfony-project.org/ticket/3191",dwc
18060,image upload handling between atompub and xmlrpc different,,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-10T12:33:27Z,2012-06-17T12:58:30Z,"Uploading images via XMLRPC generates different image sizes in addition to the original image. Uploading the same image through AtomPub will only create a single original file in the uploads/year/month/ directory, the thumbnail and different formats normally generated on upload are missing. It is probably because wp_handle_upload is missing from the wp-app.php create_attachment definiition - it only uploads the bits and creates an attachment, but neither handles metadata updates nor image thumbnail generation.",rfc1437
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
23691,Visiting post-new.php using the back button overwrites an existing post,,Autosave,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-04T18:54:46Z,2013-03-04T18:54:46Z,"1) visit post-new.php
2) write a post
3) publish it
4) click back in your browser
5) write a new post
6) if you save it as draft or publish it, it will overwrite the old post

Reproducable in Firefox, Chrome and Safari.",jkudish
22601,Make post content autosave work more generically,,Autosave,,normal,normal,Awaiting Review,enhancement,new,,2012-11-27T04:00:31Z,2012-12-14T23:51:36Z,"The JS for autosave/AYS looks for the contents of `#post #content`. While we should fix the other JS issue related to targeting `#content` in #22600, it seems that autosave/AYS should be looking for the textarea (or whatever type of input) with the name of content instead, since having that data in the form will save to the post content. That way, if somebody does choose to use a different ID but the right input name, the autosave benefits will kick in.

Discovered while working on #22491.",helen
19960,Problem posting by email from MailChimp,,Blog by Email,3.3.1,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2012-02-04T01:24:20Z,2012-09-15T19:18:09Z,"Blog by email seems to have a strange bug. 

If I try to post something by email from my gmail account, it works fine. But if I send the email via MailChimp, the posting doesn't work. No post is created, published or draft...it's as if the mail was never received by WordPress

This applies to both self-hosted WordPress and wordpress.org

I have tried doing the same thing with other services such as blogger.com, and it works fine there.",sooskriszta
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
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
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
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
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
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
21650,replace serialize() with print_r() in stats() function in wp-includes/cache.php,,Cache,3.4.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-08-21T13:42:29Z,2012-09-10T15:17:49Z,"In PHP 5.3 it is no longer possible to serialize data that contains a SimpleXMLElement object. It produces a fatal error. See https://bugs.php.net/bug.php?id=49800

The stats() function attempts to determine the allocated space for objects in the cache by using strlen() of the serialized object.

This can fail for the reason above.

Given that the figure returned is simply an estimation of the space 
I propose that the code is changed to use 
print_r( $cache, true ) instead of serialize( $cache )

ie. to become
`echo ""<li><strong>Group:</strong> $group - ( "" . number_format( strlen( print_r( $cache, true ) ) / 1024, 2 ) . 'k )</li>';`



This TRAC was raised after a longish chain of events starting with #18488 and the final response (today) which led to another chance discovery of a similar problem in the debug-bar plugin.

http://wordpress.org/support/topic/plugin-debug-bar-fatal-error-uncaught-exception-serialization-of-simplexmlelement-is-not-allowed



",bobbingwide
14254,update_meta_cache fails; query too large?,,Cache,2.9.2,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2010-07-09T19:49:22Z,2013-03-13T10:10:05Z,"In the file meta.php, around line 183 in the 'update_meta_cache()' function, it tries to do a query but I noticed this can fail (ie. crash wordpress) if there are too many post id's in the query.

The function is being called from query_posts(), with 'posts_per_page' set to -1.

An example query that crashed it:
{{{
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (1009,1006,989,933,902,860,859,858,857,793,838,837,836,827,825,310,780,777,776,775,774,773,770,763,760,759,758,757,728,756,755,754,753,752,751,750,748,746,
732,736,729,726,725,724,723,722,720,719,717,716,715,710,709,503,692,289,625,268,593,583,582,332,32,30,28,26,24,22)
}}}
Maybe there is some limit associated with queries of this type internal to wordpress, as this query works fine in phpMySql.

Apologies if this is already reported or irrelevant in 3.0!
",newpixel
21879,wp_count_posts() cache is not destroyed after post inserts and deletions,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-13T01:23:38Z,2012-09-13T02:11:19Z,"`wp_count_posts()` caches its results, but that cache is not destroyed when posts are inserted, deleted, or transitioned. This can lead to incorrect counts.

The attached patch fixes that (although it doesn't destroy the cache set when `$perm='readable'` in `wp_count_posts()`, which would be more complex as we wouldn't know the name of the key(s), though it could be done with `preg_match`).

",mark8barnes
21330,Allow filtering of expiration in set_transient(),,Cache,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-20T20:51:23Z,2012-09-17T18:32:01Z,"I recently needed to change an expiration of a transient and expected pre_set_site_transient_* filter to be able to do that. However, the filter only affects the value. I recommend adjusting this to affect both.",wpsmith
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_
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
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
23074,Changing post's URL and then setting it back causes redirect loop,,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,close,2012-12-29T00:44:50Z,2012-12-30T06:59:34Z,"This morning, I changed the URL of one of my posts, but then changed my mind and set it back. When you change the URL of your post, WP automatically creates a redirect from the old page to the new page, which is good, but in this case it led to an unintended consequence: after I changed the link from A to B and then back to A, it set up a redirect from A to B and a redirect from B to A, causing anyone trying to access A or B to end up in a redirect loop between the two (or possibly it created a redirect loop from A to A; I'm not sure). It should check for such loops when you update the URL to avoid this problem.",vbuterin
17718,Don't redirect if user is already on port 80,,Canonical,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-07T11:31:40Z,2012-10-16T16:36:46Z,"If user is already using port 80 but {{{$original['port']}}} is set to 80 anyway, do not send a needless redirect.

wp-includes/canonical.php line 324

change from

{{{        if ( !empty( $original['port'] ) )}}}

change to

{{{        if ( !empty( $original['port'] ) && $original['port'] != 80 )}}}

Fixes, for example, Nagios's check_http getting sent a redirect rather than the page content.

-davidc",davidcx
23602,"Incorrect canonical redirect if p=123 query argument present in ""paged"" archives",,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-02-25T08:34:19Z,2013-02-25T08:34:19Z,"URLs that include `page/n` AND `p=n` query variable, such as:

http://example.com/page/3/?p=123

will issue a 301 redirect to the homepage. This is being reported as incorrect behaviour in Google Webmaster Tools, because:

  The target URL does not exist and your server is not returning a 404 (file not found) error. 

  Your server is redirecting requests for a non-existent page, instead of returning a 404 response code. This creates a poor experience for searchers and search engines.

A fix would be to strip the `p=` query variable and redirect to the paged archive. 

From: 

http://example.com/page/3/?p=123

to:

http://example.com/page/3/
",kasparsd
23408,Link to rss-feed in default installation causes redirect loop,,Canonical,,normal,major,Awaiting Review,defect (bug),new,,2013-02-06T21:20:04Z,2013-02-20T02:56:37Z,"I noticed, that google webmastertools complained about dead links in my blog.
Those links were hidden in the html-code and were links to rss-feeds of attachments. (e.g. ?attachment_id=1647&feed=rss2)
When i try to open the link, it returns a 301 error and if the new url is called, anoter 301 error is shown. After two or three times, the original url is shown again by a 301 error message.

I installed two clean installations on different servers, which show the behaviour either. If i use the link ""?attachment_id=1647&feed=rss""  the correct feed is loaded. (using rss instead of rss2 which is provided by the template)

It seems that the error is caused by the function get_post_comments_feed_link(...) in ""wp-include/link-template.php used wp-include/canonical.php.
When i add another line to the function to return a link with ""attachment_id="" and not ""p="" or ""page_id"", the comment feed is loaded without errors.
But the fact, that rss feeds do not cause an error and rss2 feeds create a loop makes me think, that another module may be defect and my workaround is not a solution.

Regards

Fabian",clusterone
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
21602,redirect_canonical can lead to infinite loop on index navigation if site url is not all lower case,,Canonical,,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-08-15T21:31:17Z,2013-04-23T07:53:55Z,"The function redirect_canonical in wp-includes/canonical.php (WordPress 3.4.1) on line 406 and 422 makes the following check:


{{{
if ( !$redirect_url || $redirect_url == $requested_url )
		return false;
}}}


This ensures that it does not attempt to redirect you to the page you requested in the first place. However this function is not case sensitive so if the redirect URL is in a different case than the requested URL then the user can enter an infinite redirect loop. (For example if the Site Address (URL) of the site is set to be in all upper case.) 

This function should do a case-insensitive string comparison since domain names are case-insensitive.


The issue only appears to happen with certain plugins installed (ShareThis and PilotPress both led to this issue,) I haven't figured out yet why it's only an issue with certain plugins but it should still be fixed in WordPress to make the proper string comparison. ",sreedoap
20902,redirect_canonical() on using permalink: Not all $_GET being redirected,,Canonical,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-11T09:30:08Z,2012-11-01T04:54:03Z,"Using permalink, I suppose that all query_var entered manually on URL or using $_GET will be redirected to proper permalink. Apparently not all being redirected at all. AFAIC:

1. /?post_format=image : should be redirected to /type/image/
2. /?pagename=blog : should be redirected to /blog/
3. /?author_name=admin : should be redirected to /author/admin/

Unfortunately, they are not.

It can be done by filtering redirect_canonical() but it will be better  if it's being done by default as we can see that /?category_name=cat will be redirected to /category/cat/",arieputranto
17337,wp_old_slug_redirect() fails with multiple post_type query,,Canonical,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-05-06T10:36:19Z,2011-05-06T10:36:19Z,"If I have a query something like this:

{{{
[query_vars] => Array
        (
            [name] => panasonic-tv-review
            [post_type] => Array
                (
                    [0] => review
                    [1] => small_review
                )
        )
}}}

The new post slug is ""panasonic-250-tv-review"", and there is a `_wp_old_slug` meta key with the old slug. One would expect `wp_old_slug_redirect()` to kick in and do the redirect. However, `wp_old_slug_redirect()` will fail with a query with multiple post types, (looking at http://core.trac.wordpress.org/browser/trunk/wp-includes/query.php#L3494). This will knock the `$wpdb->prepare()` ass `$post_type` is now an array. 

I can write a patch for this if I can get the go ahead.",joehoyle
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
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
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
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
20319,$page value not being defaulted to 1 in the absence of cpage query var in get_next_comments_link()/get_previous_comments_link(),,Comments,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-29T09:23:19Z,2012-05-24T07:27:29Z,"get_next_comments_link() generates incorrect comment pagination links on the first page when used alongside a user-made call to wp_list_comments().

Currently, get_next_comments_link() doesn't take into account instances where there is no 'cpage' query var (which is the case when a user-made call to wp_list_comments() is performed). The intval() of the empty $page variable returns 0, and at this point should then be defaulted to 1 in order for the correct link to page 2 to be generated. Instead, it's left as 0, and the resulting link is self-referencing to page 1.

In wp-includes/link-template.php:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage'); //RETURNS EMPTY IN ABSENCE OF A cpage VALUE ON PAGE 1 OF A USER-MADE CALL TO wp_list_comments()

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK SELF-REFERENCING PAGE 1, INSTEAD OF POINTING TO PAGE 2

    ...
}}}

Coincidentally, in paginate_comments_links() (wp-includes/link-template.php) this situation is handled correctly, and $page does get correctly defaulted to 1. The same conditional used in paginate_comments_links() can be applied to both get_next_comments_link() and get_previous_comments_link(). The code to properly account for it is:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage');
    if ( !$page ) //******** ADDED
        $page = 1; //******** ADDED

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK NOT POINTING TO PAGE 2

    ...
}}}

The same addition should be made to get_previous_comments_link() as well, although it's obviously unnoticeable on the first page.",MomDad
18547,"Add rel=""nofollow"" to reply to comments link",,Comments,3.2.1,normal,minor,Awaiting Review,defect (bug),reopened,close,2011-08-30T14:20:31Z,2011-09-01T14:56:00Z,"This is an easy problem to diagnose and fix. Basically, the reply to comment links all contain a query parameter—?replytocom—in the destination URL.

Google does a poor job of ""deciding"" whether or not these are unique URLs, and as a result, these URLs are often indexed. This leads to duplicate content issues, which leads to users bitching :D

Here's a sample of some search results where the ?replytocom query parameter resulted in a bunch of duplicate indexing:

[http://www.google.co.in/search?cx=c&sourceid=chrome&ie=UTF-8&q=site:callingallgeeks.org+replytocom+#q=site:callingallgeeks.org+replytocom&hl=en&prmd=ivns&filter=0&fp=1&biw=1366&bih=667&bav=on.2,or.r_gc.r_pw.&cad=b Google]

Thanks!",pearsonified
19930,Add tabindex to Comment Submit button,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-30T14:54:21Z,2012-05-03T15:40:22Z,"For accessibility reasons, it would be nice to be able to add tabindex to the comment form submit area.",wpsmith
22792,Cannot change name attribute of comment submit button,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-06T17:03:01Z,2012-12-06T17:20:24Z,"This prevents developers from using client-side validation, as the name attribute being set to ""submit"" interferes with the .submit() method.  I can change the id and the label of the submit button, but that is all.

The default WordPress server-side validation is unacceptable from a user-experience standpoint.

This would be the solution for me, which I find cumbersome (http://wordpress.stackexchange.com/questions/65001/error-when-posting-comment-form-the-error-is-typeerror-eh-is-not-a-function). 

The developer should be allowed to set the name attribute of the submit button (maybe through the use of comment_form()).",willi828
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
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
22380,Consolidate the API hooks comment,,Comments,3.4,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-11-07T17:00:16Z,2012-11-13T01:09:24Z,"Many functions of API comments have hooks unusable because they do not provide parameters that provides the function. 

In general, these functions provides a $comment_ID argument, but it's not present in the hook...

Sample 
{{{
function comment_author( $comment_ID = 0 ) {
	$author = apply_filters('comment_author', get_comment_author( $comment_ID ) );
	echo $author;
}
}}}

Fixed sample :

{{{
function comment_author( $comment_ID = 0 ) {
	$author = apply_filters('comment_author', get_comment_author( $comment_ID ), $comment_ID  );
	echo $author;
}
}}}
",momo360modena
16976,Don't use photo as avatar class in comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-27T00:54:44Z,2011-03-27T01:07:30Z,"If you use an image in your post with class 'photo' to show it in Google's search results as a rich snippet is not possible if you make use of avatars in your comments. Google will pick the last class 'photo' image on the page to show as the search result.

Suggestion is to change the avatar class in comments to from 'photo' to 'comment-photo'. A post image is more important than a comment avatar to use for rich snippets.",Okoth1
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
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
18762,Pagination does not work correctly on walker in reverse order.,,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-23T21:08:42Z,2012-05-02T17:26:33Z,"Steps to reproduce:
1. Go to Discussion and change Comments should be displayed with the  comments at the top of each page to ""newer"" (that is, set comment_order='desc'). 
2. Make sure your theme is paginating comments. Make sure you have more than the page limit of comments.
3. Note that the first page does not actually contain the newest comments (they're off by a page, or perhaps they're just sorted in one way for the pagination and a different way for the inner page sort).

If you check out the $start, $oldstart and $end variables, the way it was written before the patch, $start gets set to 11 (page limit + 1) on page = 1, the way it is written after the patch, start is 0, as it should be. 

All I've done is swapped the order of $start and $end being updated. This fixes the starting point. This needs to be tested in more detail before actually deploying it, but there is definitely a pretty serious bug here.",gburtini
20050,Proper Cap check in edit_comments.php,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-15T17:36:51Z,2012-02-15T17:56:25Z,"See #20025.
As in edit.php?post_type=custom_post_type
and edit-tags.php?taxonomy=custom_taxonomy

When filtering comments for a specific post type
The fix in cap is more appropriate",nprasath002
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
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
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
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
23231,preprocess_comment should get the normalised comment data,,Comments,3.5,low,minor,Awaiting Review,defect (bug),new,,2013-01-18T11:38:02Z,2013-01-18T11:39:30Z,"In '''wp_new_comment''' we normalise some data like user_ID/user_id so that we support people providing both versions but we fire the filter to preprocess the comment first.

This means if someone writes a filter they have to re-implement this normalisation if they want to filter the comment data properly.

An example of where this currently goes wrong is when Akismet tries to fetch the roles of the user submitting the comment - http://plugins.trac.wordpress.org/browser/akismet/tags/2.5.7/akismet.php#L332

This only works if the comment comes via a route that supplies the data correctly and not one that doesn't.",westi
21448,unfiltered HTML comments from a frame js fix breaks js in windowed comments,,Comments,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-01T21:58:53Z,2012-08-02T17:56:36Z,"Noticed this today.

We have comments loading up in a jquery colorbox on a site being developed and it loads the comment form via ajax.  When it's loaded, the fix in #20812 breaks javascript because the property ""name"" is null.

Attaching a patch after posting this for only executing when `document.getElementById(""_wp_unfiltered_html_comment_disabled"")` != null.",nerrad
23931,wp_insert_comment should require comment_post_ID,,Comments,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-03T18:41:58Z,2013-04-03T19:06:08Z,"At this moment there is no check for example comment_post_ID. Not sure if there are more checks needed. Reason I asked are a few notices on the unit tests caused by WP_UnitTest_Factory_For_Comment. Those comments don't add a post ID what should change.

Currently, if a null comment_post_ID is passed, the comment isn't connected to a post. This can create confusion. Also Unit tests should run with WP_Debug on.",markoheijnen
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
20446,Add comment form submit button class attribute,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-15T07:34:55Z,2012-05-03T15:59:12Z,"The comment_form() is packed with filters all over the place to customize the from just the way you need, but one thing i find missing is a class on the submit input tag and if there was a class attribute then it should be filterable.

I know you can set the input ID and simply style based on the ID selector but when designing themes usually you have some kind of class defined for buttons, especially when using any of the html5/responsive theme frameworks and if the comment submit input had a class which was filterable then it would make our lives much easier.

",bainternet
22922,Add filter 'comment_notification_email_to' in wp_notify_postauthor(),,Comments,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-13T17:53:32Z,2013-01-03T17:57:54Z,"Currently, mailto: address is not filterable in pluggable function `wp_notify_postauthor()`. Thus, in order to send replies to email addresses other than the post author, the entire function must be overridden.

Patch makes mailto: filterable for `wp_notify_postauthor()`, moving `$author->user_email` to an array, and applying the `'comment_notification_email_to'` filter.",chipbennett
20353,Add filter for email recipients in wp_notify_moderator(),,Comments,3.3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-04T12:35:36Z,2013-01-03T17:57:33Z,"As administrator, I would like more control over email notifications when comments are marked for moderation without having to overwrite the pluggable function wp_notify_moderator. 

The function wp_notify_moderator sends emails to post authors (when they have sufficient roles) and the admin by hard coding the $email_to array. I'd like to see the $email_to array sent to a filter with $comment before wp_mail() is called. That would allow me to write a theme function to manipulate the $email_to array to add or delete recipients. 

My workaround was to write a site specific plugin that overwrote wp_notify_moderator() to manipulate the $email_to array.",lexhair
16944,Add new 'bynetworkuser' CSS class to output from comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-23T06:28:46Z,2011-06-08T05:23:43Z,"Currently, the comment-template.php file checks to see whether a comment author is in the wp_user table.

If they are, then WordPress will emit a 'byuser' class as part of the comment div markup.

However, this behaviour is not ideal from multisite installations. 'byuser' should be restricted on a per-blog basis.

I propose that the current behaviour be assigned to a new CSS class, 'bynetworkuser'.",jacques_chester
23988,Add post info on comment.php?action=editcomment,,Comments,3.5.1,normal,minor,Awaiting Review,enhancement,new,,2013-04-08T12:58:20Z,2013-04-08T14:54:39Z,"When you get a comment notification, if you click on a link to mark as spam, etc, when you get to the edit comment screen, there's no indication of which post/page the comment was in response to, which can be a determining factor in deciding if a comment is valuable, off-topic, or spam. 

We should add an ""In response to"" area that lists the post title, date/timestamp like on comment list screen. If it's in response to another comment that should show as well, but since we don't have that in comment screen functionality yet, at least adding the post info that we already have and show on the list would be a clue and a step in the right direction.",jenmylo
16882,Add support for fetching comments posted since a specific date,,Comments,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T21:08:51Z,2011-03-22T14:30:12Z,"Adding a ""since"" option to wp.getComments and get_comments() could help reducing bandwidth used by mobile apps.

Probably useful for themes/plugins too",koke
21571,Add support multiple comment types in get_comments,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-08-14T00:49:42Z,2012-08-24T19:54:42Z,"Custom comment types are a nice way to categorize comments, however, if you wish to retrieve multiple comment types you cannot use ''get_comments''.  This enhancement request (patch attached) adds support for multiple comment types a la:

{{{
$comments = get_comments( array(
  'post_id' => $post->ID,
  'type' => array(
    'a-sweet-comment-type',
    'some-other-comment-type',
  ),
));
}}}",borkweb
20597,Allow WP_Comment_Query::query to filter by category,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-02T03:35:35Z,2012-05-02T03:45:58Z,"The attached patch allows WP_Comment_Query::query to accept three additional arguments:

* `cat`
* `category__in`
* `category__not_in`

The resulting comments are then filtered by these category arguments as well as any other arguments.

These arguments work the same way as their `WP_Query` counterparts.

I would appreciate advice on the appropriateness of using `INNER JOIN` (as I have done here) to join in the taxonomy tables to the query.",sambauers
20302,Allow comment_form() to add attributes to <form> tag,,Comments,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-25T15:48:53Z,2012-04-01T18:23:56Z,"The standard method to allow Google Analytics to track comment submissions as a 'goal' is to add a piece of JavaScript code wrapped in an 'onsumbit' attribute:
http://www.optimisationbeacon.com/analytics/track-blog-comments-in-google-analytics/
http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

We want something like the following:

{{{
<form action=""http://www.example.com/wp-comments-post.php"" method=""post"" id=""commentform"" onsubmit=""_gaq.push(['_trackEvent', 'Comments', 'Submit', 'POST TITLE']);"">
}}}

However the current arguments submitted to comment_form() do not provide for adding attributes to <form>
http://codex.wordpress.org/Function_Reference/comment_form

I was forced to perform a workaround in which the onsubmit code was inserted by JavaScript on the fly at runtime.

So this is request to alter comment_form() such that arguments accepted provide for 'onsubmit' or other custom attributes to be appended on the <form> tag.",psbook
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
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
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
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
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
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
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
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
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
17159,Return meaningful HTTP response for comment submitted with no POST body,,Comments,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-04-17T19:45:03Z,2011-09-10T03:25:52Z,"A POST request to wp-comments-post.php currently returns a HTTP 200 response with an empty body if the body of the request was empty.

The server should die quickly and instruct the requesting agent not to repeat the request without modifications if minimum necessary key(s) are not present on $_POST.

I believe the possible creation of a comment requires at least a comment_post_ID. It's also the first $_POST key checked in the script. If the POST did not supply a comment_post_ID let's stop processing and provide a meaningful response. HTTP 400 Bad Request communicating the failure. Due to the spammy nature of the requestors we may or may not want to provide variable hints in the response.",niallkennedy
17913,Site-level comment options may override individual post settings. Improve communication.,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-06-27T20:46:43Z,2011-06-27T20:46:43Z,"Post comments may be automatically closed for a  site's posts if site option 'close_comments_for_old_posts' is true and the post was published before 'close_comments_days_old' days ago. These two options are set in options-discussion and override the 'comment_status' of an individual post.

The edit posts screen's comment meta box displays comments open/close status, allowing publishers to open or close comments for a single post. It's possible the site-level discussion settings will override the individual post yet we still might display a different post comment status than the site settings allow.

1. Enable site-level option to close comments on articles ( wp-admin/options-discussion.php#close_comments_for_old_posts )
1. Enter a days value of 1 for maximum impact
1. Edit a post published over a day ago
1. View the Discussion meta box ( #commentstatusdiv )
1. Interact with the 'comment_status' field

I would like to better communicate expected failure and let the post author or editor know this particular setting has been overridden at the site options level. If the current user can manage options I might you could link to the override in the options page.

I created a new test blog, set comments to auto-close after a day, and checked allow comments in the post screen. I was wondering why comments_open() was false for the post when I was looking at a checked box on the post screen.",niallkennedy
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
21010,View Post Link on edit-comments.php,mordauk,Comments,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-18T15:10:27Z,2012-12-23T03:47:41Z,"Anytime I approve a comment, I'm always irritated by the fact that there isn't a ""View Post"" link anywhere that links to the live post on the front end. The title of the post, such as ""Hello World"", is shown, but it links to post.php.

A lot of times I want to read back through the original post before I answer the comment, and I'd prefer to do that on the live site, not the admin, so I think there needs to be a ""View Post"" link next to the post title that links to the live site.",mordauk
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
19893,get_comments_link() doesn't link properly if there are no responses,,Comments,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-25T03:35:53Z,2012-01-25T13:13:12Z,"Since the current implementation of get_comments_link() simply returns the permalink with `#comments` appended to the end of it, and the HTML element with an ID of `comments` only exists when existing comments are wrapped inside of it, it doesn't lead to anything when there are 0 comments on the post.

I've attached a patch that checks whether there are any comments on the post or not; and, if not, it appends `#respond` to the end of the link; otherwise it appends `#comments`.",cgrymala
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
16252,Allow comment reparenting to fix poor threading,,Comments,,normal,normal,Awaiting Review,feature request,new,has-patch,2011-01-15T23:12:25Z,2012-04-29T10:48:16Z,"For the OCD among us, it would be super nice to be able to edit the comment_parent, to properly thread comments made in the wrong place/threading order.

Choose your own UI, but even just a numeric editor in the Quick Edit area would be a huge enhancement.",Otto42
18417,Comment whitelist in discussion settings,,Comments,,normal,normal,Awaiting Review,feature request,new,,2011-08-15T18:48:46Z,2011-08-17T09:49:25Z,"Currently, there are methods for automatically flagging comments for moderation or blacklisting comments, but there's no way to auto-approve comments that meet a certain criteria.

In Discussion Settings, it would be nice to have ""Comment Whitelist"" option to automatically approve comments from a specific IP address, using a specific email address, or matching certain keywords.

One use case: a conference or workshop where lots of people are posting comments from the same IP address often invokes the ""Slow down, you're posting too fast"" message. Instead, we should be able to add the IP address to the whitelist (possibly temporarily) so that everyone can comment without hitting the restriction.

The concern I can think of is that this would add another large paragraph box to the Discussion Settings view.",danielbachhuber
18630,Custom Comment Validation Error,,Comments,3.3,normal,minor,Awaiting Review,feature request,new,,2011-09-09T19:49:33Z,2012-04-04T18:16:21Z,"One of the things that bugs me about WordPress is not being able to customize the wp_die() function that is called on comment form validation. I have seen some people sugget core hacks, eek. I'm hoping that a hook is added to allow overriding of the default wp_die(). Maybe even a new template file wp_error.php that would be called first. 

I haven't found a lot of discussion on this in trac just #11286 and #10551",bandonrandon
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
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
23133,Display a warning in the admin if cron tasks fail due to blocked HTTP requests,,Cron,3.5,normal,major,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T08:33:05Z,2013-01-29T20:08:25Z,"I recently upgraded my very simple WP site to 3.5 where the following was in use:

Theme: Twenty Eleven
Plugins: None Activated

I have been completely unable to submit a post for publishing in a future date, when the time occurs, I get a ""missed schedule"" message.

The schedule entry in cron is as follows:

Next due (GMT/UTC): Jan 4, 2013 @ 11:28 (1357298880)
          Schedule: One-off event
              Hook: publish_future_post
         Arguments: [0]: 358

Increasing the timeout value in cron.php has made no difference. 

I will need to remain on a lower release until this is fixed or a diagnosis ""kit"" is made available.

I am not using any software other that WP produced at this point and feel that the lack of wp-cron documentation and support in the public domain leaves alot of people clocking many hours googling in desperation...

Make a difference in 2013 and get 3.5 development priorities to de-mystify the methods of fixing wp-cron please :o)",prb22public@…
17957,wp_reschedule_event & daylight saving,,Cron,3.2,normal,normal,Awaiting Review,enhancement,reopened,,2011-07-01T09:03:28Z,2013-04-11T23:18:10Z,"When a recurring event is established using the WP cron functions the function takes a Unix timestamp and a recurrence interval.

In the situation where daylight saving changes the local time, the timing of an event can change by an hour. So, if a database backup is set to run at midnight when the clocks change this can start to happen at 11pm or 1am instead since the timing of the event is based on an initial static time (Unix timestamps reference point is January 1, 1970) and a static interval period.

An enhancement to the cron functions would be to account for an obey daylight saving changes so that events schedule for midnight actually occur at midnight irrespective of the time of year.",MattyRob
23085,Calling $wpdb->query() when no connection exists causes mysql_error() to throw an error,,Database,3.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-12-30T10:30:49Z,2013-01-21T00:42:22Z,"In the query() method of wp-db.php, the mysql_error() expects that if a parameter is passed to it then it should be a valid link identifier.

*May need feedback or added testing* ...this error may be specific to transactions, which is why it hasn't been noticed before. Unit tests do use transations and I only get these errors when ROLLBACK is called during specific unit tests that don't modify the DB state. A simple transaction opened & rolled back in the Debug Bar Console is not triggering this for me.

Unit test failure examples:

'''Test: test_is_image_positive'''

{{{
mysql_error() expects parameter 1 to be resource, integer given
Execution time: 0.02507209777832s
Stack Trace:
Array
(
    [0] => Array
        (
            [file] => C:\xampp\htdocs\wpnew\wp-includes\wp-db.php
            [line] => 1202
            [function] => mysql_error
            [args] => Array
                (
                    [0] => 0
                )

        )

    [1] => Array
        (
            [file] => C:\xampp\htdocs\wp_test_svn\includes\testcase.php
            [line] => 25
            [function] => query
            [class] => wpdb
            [type] => ->
            [args] => Array
                (
                    [0] => ROLLBACK
                )

        )

)
}}}

'''Test: test_is_image_negative'''

{{{
mysql_error() expects parameter 1 to be resource, integer given
Execution time: 0.02237606048584s
Stack Trace:
Array
(
    [0] => Array
        (
            [file] => C:\xampp\htdocs\wpnew\wp-includes\wp-db.php
            [line] => 1202
            [function] => mysql_error
            [args] => Array
                (
                    [0] => 0
                )

        )

    [1] => Array
        (
            [file] => C:\xampp\htdocs\wp_test_svn\includes\testcase.php
            [line] => 25
            [function] => query
            [class] => wpdb
            [type] => ->
            [args] => Array
                (
                    [0] => ROLLBACK
                )

        )

)
}}}

I don't think we should attempt {{{if ( $this->last_error = mysql_error() )}}}. That is because when mysql_error() is called without a link identifier then the most recent connection to MySQL is referenced. On a busy server this may not be the same connection as our page or transaction originally used. See #3544 for history/details.",mbijon
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
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
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
22408,wp_insert_attachment and _real_escape input validation and better error handling,,Database,3.4.2,normal,trivial,Awaiting Review,defect (bug),new,dev-feedback,2012-11-10T21:47:03Z,2012-11-10T21:49:25Z,"Recently when using the `wp_insert_attachment()` function I passed the whole result of the `wp_check_filetype()` function for the `""post_mime_type""` attribute, instead of the `""type""` property from the filetype check result. What I got was an error in the `_real_escape()` function which expected a string, but received an array, which didn't quite help me find my error.

I believe some kind of type checking would be nice for both the `_real_escape()` function as well as the `wp_insert_attachment()`.

It seems suitable if the `wp_insert_attachment()` function returned a `WP_Error` object in case there are issues with the passed arguments.

I'm not sure, however, what the best solution would be for the `_real_escape()` function -- return false, fail quietly, raise an exception or also return a `WP_Error`.

I would have proposed a patch, but I'm not sure what solution to implement. Let me know if I should do it in a certain way and I'll submit a patch for review, saving you a little time for other ticket review.",magadanski_uchen
16762,wpdb::$base_prefix is not documented,,Database,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-03-05T16:17:01Z,2012-08-29T19:59:25Z,"Probably wpdb::$base_prefix has been merged into from MU and not further specified then.

It ''genereally'' can be replaced with {{{wpdb::get_blog_prefix(0)}}} when the MULTISITE constant is defined. That is are after wp-settings.php has been included (wp-config.php, wp-load.php), even on SHORTINIT.

It ''might'' be that this function call does not cover all cases needed because if MULTISITE is not defined when called, it will not return the {{{wpdb::$base_prefix}}}.

More insight into MU is needed, feedback appreceated. Some places look like that they are not aware of the wpdb::get_blog_prefix() function. Probably legacy MU code.

Related: #16756",hakre
18736,Add REGEXP to 'compare' values in meta_query,,Database,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-21T15:39:51Z,2013-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
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
18105,Improve JOIN efficency of tax_query,,Database,,normal,normal,Awaiting Review,enhancement,new,,2011-07-14T04:28:59Z,2012-06-04T23:40:00Z,"Use of multiple items in a tax_query creates an inner join for each entry. This seems unnecessary.

Example query:

{{{
array(
  'tax_query' => array(
    'relation' => 'OR',
    array('taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'term1'),
    array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'),
  )
)
}}}

Resulting SQL:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
  OR tt1.term_taxonomy_id IN (YYY) ) 
...
}}}

Each new entry in the array creates another inner join on the term_relationships table, along with an associated select argument.

However, the term_relationships table is defined with these main keys:

{{{
CREATE TABLE $wpdb->term_taxonomy (
 term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
 term_id bigint(20) unsigned NOT NULL default 0,
 taxonomy varchar(32) NOT NULL default '',
...
 PRIMARY KEY  (term_taxonomy_id),
 UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
}}}


This basically means that the term_taxonomy_id is a unique ID for the row, and it's pointing to a unique relationship between some term and some taxonomy. Essentially, term_relationships defines what terms are in what taxonomies.

Therefore, the extra inner join and selection are entirely unnecessary. All references to a term in a taxonomy are unique. This isn't individual terms we're looking for in this query, but term+taxonomy. 

An equivalent SQL statement to the one given before would be this:

{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX, YYY) ) 
...
}}}

This is equivalent because both XXX and YYY point to a specific term+taxonomy combination, not just to a term.

For the similar relation = AND case (instead of relation = OR), this query would be equivalent:


{{{
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts  
INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 AND
...
AND (wp_term_relationships.term_taxonomy_id IN (XXX) 
AND (wp_term_relationships.term_taxonomy_id IN (YYY) ) 
...
}}}

We get a second statement in the where clause, but note the lack of a second inner join and lack of referencing it. This greatly improves performance. 

Only one inner join is ever actually required for any number of items in the tax_query, thanks to the pre-lookups being performed to find the proper term_relationship entries.

Similar enhancements might be available for the meta table, however that is more complex and may be more difficult to improve.
",Otto42
21212,MySQL tables should use utf8mb4 character set,,Database,3.4.1,normal,minor,Awaiting Review,enhancement,reopened,,2012-07-11T04:26:12Z,2012-10-09T06:56:41Z,"Historically, the MySQL utf8 character set has only supported the first character plane of UTF-8. With MySQL 5.5.3, it now supports the entire character plane, using the utf8mb4 character set. This character set is 100% backwards compatible, and does not require more space than utf8 for characters that fall within the utf8 set, only using an extra byte for characters outside of the utf8 set.

References:

http://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes [[BR]]
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html",pento
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
20634,dbDelta is unforgiving about field declarations,,Database,1.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-05-08T03:27:05Z,2012-05-24T07:31:40Z,"the variable type is case sensitive:
int(22) != INT(22)

the mysql type BOOL or BOOLEAN comes back from the db as tinyint(1):
tinyint(1) != BOOLEAN

Not a huge issue, just annoying. Makes dbDelta fire off unnecessary sql.
 ",SidHarrell
23061,get_post_meta() on post with large amount of meta keys uses too much memory,,Database,,normal,normal,Awaiting Review,enhancement,new,,2012-12-27T13:40:17Z,2012-12-27T14:54:48Z,"I think it's likely there has been a ticket on this in the past, but I couldn't find one so here goes!

If I have a post that have say 25k post meta entries, and I call `get_post_meta( $id, 'foo', true )` then `update_meta_cache` is going to cause all post metas to be loaded into memory.

In most cases I can see this makes sense, however I recently had an issue where I was storing contest votes as meta keys, a post had 30k votes, and would take about 70MB of memory to get any meta key of that post (even if I didn't want votes). This is fairly edgecase, but the idea that all meta for a post is always loaded even if you don't want it is perhaps over presumptuous as a dev may be storing a large amount of data in meta.

With persistant object caching this is somewhat worse, as the object cache store gets very large. 

I am not proposing this functionality is removed, maybe just a filter or something in http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php#L524 so one could either adjust the query or perhaps pass an array of meta keys to exclude from the sql query",joehoyle
20223,simulate mysql_real_escape_string when not yet connected to DB,,Database,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-13T09:16:53Z,2012-05-16T19:49:33Z,"Currently wpdb::_real_escape() falls back to addslashes() when you're not yet connected to the database

Instead, have it fall back to a closer mimic of mysql_real_escape_string():

Use this to make patch:
http://pastebin.com/5vMaBhQe

Reference: 
http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html
http://www.php.net/manual/en/function.mysql-real-escape-string.php",scottconnerly
21055,Interface for wpdb compatibility,,Database,,normal,normal,Awaiting Review,feature request,new,,2012-06-23T17:30:13Z,2012-08-24T01:40:01Z,"==Summary==

From the wp-includes/wp-db.php file:
{{{
It is possible to replace this class with your own
by setting the $wpdb global variable in wp-content/db.php
file to your class. The wpdb class will still be included,
so you can extend it or simply use your own.
}}}

When one implements a db class that does not extend wpdb, it would be safer that the new class implements an interface. This interface may be called wpdb_compat and would assure that the class has all necessary methods/properties. Of course, wpdb_compat should be supported by wpdb too.

== Design Strategies ==

My patch adds:
* wp-includes/interfaces/wpdb-compat.php

Very small edits to:
* wp-includes/wp-db.php
* wp-includes/load.php
* wp-admin/install.php

At the moment, WordPress does not include any interface; this means that there is not a directory for interfaces.[[BR]]
In my first draft, I put it in wp-includes/interfaces so that - if more interfaces will be added in the future - they will have a logical place.
",santec
21411,"Current Local Time for Port-au-Prince, Haiti is incorrect.",patrick@…,Date/Time,3.4.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-07-29T00:44:29Z,2012-07-29T04:50:57Z,"When the Port-au-Prince Timezone is selected via wp-admin/options-general.php the Local Time is one hour behind. Please see [http://wwp.greenwichmeantime.com/time-zone/caribbean/haiti/time-haiti/] for the correct local time.

Yes, the problem occurs even when all plugins are deactivated and the default theme is activated. ",pnommensen
22194,PHP x64 compatibility issue with date values,,Date/Time,,normal,major,Awaiting Review,defect (bug),new,,2012-10-15T09:39:11Z,2012-10-15T10:36:05Z,"Hi,

seems like WordPress is using the ""0000-00-00 00:00:00"" value as magic value for date values, which aren't set instead of NULL.

This is working fine for any PHP x86 builds, because the magic value is also an invalid date.

But PHP x64 builds support this value. It is no longer invalid. It is now a valid date! This will result in problems, because some functions are expecting that parsing this date will return false, but now on x64 systems they won't get an invalid date, when they are expecting one.

So the problem is, that WordPress is using a valid date as magic value for an invalid date aka default value.

Fixing this issue will require a SQL schema change and to update all the code, checking for ""0000-00-00 00:00:00""...

For references, see ticket #21987 and https://bugs.php.net/bug.php?id=53662",Whissi
23227,Properly reflect date and time formats throughout admin area,,Date/Time,3.5,normal,trivial,Awaiting Review,defect (bug),new,dev-feedback,2013-01-17T19:37:21Z,2013-01-18T14:13:53Z,"I have noticed several places in the admin area where the time & date formats set on the General Settings screen are not reflected. For example, on Page Edit, revisions have a hardcoded date format of `'j F, Y @ G:i'` and ajax autosaves use `'g:i:s a'` to show the ""Draft Saved at"" time (of note is the 24 hour vs 12 hour time). The ""Last Edited By _ on _"" time ''does'' properly use the time & date format options.

I have included a patch for the two examples above (comments/critiques welcomed), but there were a few others I noticed that may be somewhat more involved to fix. These include:
- Dates shown in the ""Date"" column of list tables (both the displayed and title text)
- ""Published on:"" date/time for pages (this may be tricky since editing the published time uses a 24-hour time format)
- ""Uploaded on:"" date/time shown in 'Save' metabox on Media edit screen

And there are probably other places I have missed as well.

Obviously somewhat low priority compared to other issues (and may be enhancement rather than defect), but I figured I'd bring it here and see what others thought.",bananastalktome
23203,Scheduling Posts assumes GMT but UI uses local timezone (creating undesired scheduled posts),,Date/Time,3.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-01-15T15:32:09Z,2013-01-16T13:16:59Z,"I experienced an odd behavior when going to edit a page on a newly created site in a multisite environment. The site uses the New York timezone (GMT-5).

When quick-editing the page, I changed the title and slug, but pressing ""Update"" set the page as ""Scheduled"" rather than leaving it ""Published"". This was very confusing, and took a while to figure out and then explain to the end user. It seems that although the date/time is shown in the UI in the current time zone, once submitted the form interprets the time as if it were in GMT. To the end user, it looks like the page should be published since the time shows what we thought was a 5 minutes ago. In reality, the time in the date field is not recognized as 5 minute ago but 4 hours and 55 minutes in the future.

This is a problem in the full edit form for pages in this newly created site as well. When I go to edit the published time/date, the posted time in my timezone is shown. However, ''even if I hit 'Cancel' the ""Update"" button changes to ""Schedule""''.",bananastalktome
20973,date_i18n() produces invalid output for shorthand formats,,Date/Time,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-06-15T13:39:50Z,2013-04-04T16:36:54Z,"date_i18n() function relies on parsing passed format to make adjustments. However shorthand formats are not handled and produce invalid output.

Example:

{{{
var_dump( date_i18n( 'Y-m-d\TH:i:sP', time() ) ); // 2012-06-15T13:34:03+03:00 << ok
var_dump( date_i18n( DATE_W3C, time() ) ); // 2012-06-15T13:34:03+03:00 << ok
var_dump( date_i18n( 'c', time() ) ); // 2012-06-15T13:34:03+00:00 << broken time zone!
}}}


Hook-level fix:

{{{
add_filter( 'date_i18n', 'fix_c_time_format', 10, 3 );

function fix_c_time_format( $date, $format, $timestamp ) {

    if ( 'c' == $format )
        $date = date_i18n( DATE_W3C, $timestamp );

    return $date;
}
}}}

See [http://wordpress.stackexchange.com/q/54700/847 Why time functions show invalid time zone when using 'c' time format?]

Possibly related (can't say for sure from description) #13538",Rarst
21987,function get_post_time -  if gmt  (unset),,Date/Time,,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-09-24T19:33:18Z,2012-12-05T08:47:55Z,"For no publish items and mode auto-draft = close 

if GMT is unset ('0000-00-00 00:00:00' == $post->post_date_gmt)
at wp-includes/general-template.php function get_post_time effect list table -> date column (Last Modified -> %s hours)

Effect code : wordpress\wp-admin\includes\class-wp-posts-list-table.php
class WP_Posts_List_Table -> function single_row  
Line 579 : $time = get_post_time( 'G', true, $post );


I don't know if it affects something else ...

",soficgr
21653,Introduce current_date(),,Date/Time,,low,normal,Awaiting Review,enhancement,new,has-patch,2012-08-21T19:33:59Z,2013-01-07T09:25:24Z,"WordPress comes with a function called `current_time()` which returns the current time according to the timezone chosen on the General Settings screen. It's used when populating the post date, among other things.

It would be nice to have a date equivalent of this function for outputting the current date according to the timezone setting. Currently if you want to output the current date you need to do this:
{{{
echo date( 'd/m/Y', current_time( 'timestamp' ) );
}}}
I'd like to be able to use this instead:
{{{
echo current_date( 'd/m/Y' );
}}}

Note that just using `date()` doesn't give the desired effect as WordPress sets the default timezone (as used by `date()`) to UTC, not to the timezone chosen on the settings screen.",johnbillion
19813,Keyboard shortcuts for editing posted date,,Date/Time,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-12T09:28:13Z,2012-01-12T17:39:31Z,"In short, I thought it would be a nice feature to be able to use the Up/Down arrow keys to increment or decrement the values within the post published date/time input boxes. I found this stackoverflow post with the basics of how to retrieve keystrokes and alter the value based on which one was pressed. 

http://stackoverflow.com/questions/7742364/incrementing-value-integer-in-an-input-type-field.

I then altered the code to prevent negative numbers and stay within the limits of each field type.

Days get 1-31
Year gets 1900+
Hours get 0-23
Minutes get 0-59

JS could probably be cleaned up a bit and condensed, but I wasn't quite sure how to separate them all out. Maybe someone with more js-fu can help out with that",tw2113
19849,Pass $comment_date to get_comment_time filter,,Date/Time,3.3.1,normal,minor,Awaiting Review,enhancement,new,,2012-01-17T17:50:50Z,2012-01-17T17:50:50Z,"I was writing a function to customize the formatted time to include the timezone in the comment meta data using the get_comment_time filter. In order for me to properly indicate whether daylight savings time was in effect at the time of the comment, I needed to globalize $comment to get the comment_time property. The filter passed the $date variable which is the formatted time part of the timestamp but not the $comment_date variable which contained the entire timestamp from $comment. In the function I developed, the $date string wasn't used at all. I returned the formatted time string from $comment->comment_date directly. 

Since get_comment_time() already establishes $comment_date, why not pass it to the filter as well?",lexhair
16478,"""Get Shortlink"" button disappears if you edit the permalink",,Editor,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-07T08:44:02Z,2012-10-08T08:33:15Z,"Go to edit a post and change the permalink. The ""Get Shortlink"" button is overwritten by the AJAX response. I think it's a simple case of moving where the shortlink is added, see patch.",solarissmoke
24369,"""Open link in a new window/tab"" shows the wrong information",,Editor,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-19T23:55:56Z,2013-05-19T23:55:56Z,"I noticed that the ""Open link in a new window/tab"" checkbox in Wordpress' editor sometime shows the wrong information. I can get this consistently by:

1/ writing a post in word, including links inserted in Word

2/ copy the text to WP's editor

3/ links will be converted from Word in clean HTML and will open in the same window by default

4/ select the first link and open ""Insert/Edit Link"" by clicking on the Link button. The first time, the box will be unchecked. That's correct.

5/ change that first link to ""Open link in a new window/tab"". click on Update

6/ go to the next link and open ""Insert/Edit Link"" again. Oh no it shows the ""Open link in a new window/tab"" checked while the HTML code shows that it is NOT targeted to ""_blank"".

Example: WP's editor says that this will open in aa new window: http://screencast.com/t/rxR6oeEjL

Bur the HTML is clear: it's not targeted to ""_blank"": http://screencast.com/t/xDBnYsh9Z

Thank you,",hubertnguyen
21563,"""Save as"" button disappearing on edit/new post screens",,Editor,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-13T15:15:58Z,2013-03-11T22:01:41Z,"When switching ""visibility"" from ""public"" to ""private"", the ""Save as (draft/etc.)"" button disappears. It doesn't come back when switching to ""public"" anymore.

[[Image(http://i.imgur.com/EExwB.png)]]",F J Kaiser
16477,"""View post"" link should not change when sample permalink changes",,Editor,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-07T08:15:26Z,2011-12-18T23:54:38Z,"To reproduce:

- Go to edit a post
- Change the permalink
- Click on ""View post"" and you get a 404 because the href has been changed to the new sample permalink but the post hasn't been updated yet

The ""View post"" link should always point to the permalink of the currently saved post.",solarissmoke
20609,"<p> tags  in Editor not working on editing with wp_editor, wenn disabling media_buttons or quicktags",,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-05-03T16:36:01Z,2012-05-05T01:01:57Z,"When disabling the media_buttons or quicktags via the third argument in wp_editor via a settings array, <p> tags are not displayed any more, so there are no line breaks any more in the editor. Only ""      "" is in the source code. The Problem also occurs, when changing 'quicktags' or 'media_buttons' in class-wp-editor.php in the core to false. wpautop is still true.

",julian42
19947,Copy paste behavior in Visual mode differs from HTML mode,,Editor,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-02-02T13:13:11Z,2012-02-02T13:13:11Z,"Copy a random html page from a random site including links and images and paste it into the WYSIWYG Editor Visual mode and it will include the images and links. Basically it (mostly) looks like the copied page. If you paste the same into the WYSIWYG Editor HTML tab and it will strip out _all_ HTML markup and just leaves the plain text, without the images or links.  

Expected: 
I would expect the Visual and HTML mode of the WYSIWYG editor to behave the same, either both use the code (displaying the results of the markup code in the Visual tab and the markup code itself in the HTML tab) or both strip out all html.   

",BjornW
22185,Distraction Free Writing mode lacks any controls on touch devices,,Editor,3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-13T22:39:05Z,2013-01-10T00:30:44Z,"Distraction Free Writing mode on touch devices is pretty disastrous. All the controls disappear, meaning you can't apply any formatting and - more importantly - you can't save your content or exit fullscreen mode.

Not sure what would be best:
 1. Don't autohide the controls at all on touch devices.
 2. Autohide the controls but add a toggle button which shows up on touch devices to toggle the controls on again.
",johnbillion
18627,Google Chrome handles bulleted lists differently in Visual Editor than other browsers,,Editor,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-09T16:10:51Z,2011-09-09T16:10:51Z,"In Firefox (working functionality):

1. create brand new post or page
2. in the visual editor, click Bulleted List icon
3. In Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press Enter

Result: a new bullet, and we've lost the H1 style (just inside a ul >> li now)

Try this with Chrome 13.x

1. create a brand new post or page
2. in the visual editor hit the Bulleted List icon
3. in the Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press enter

Result: no new bullet. We're inside a ul >> li >> div

Also tested in IE 7 and 8 (works fine). haven't tried other WebKit browsers.",tomauger
22996,IE8 - Hierarchical Taxonomies with bulk terms cause massive slow-down / freeze,,Editor,,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-12-18T19:18:02Z,2013-01-06T08:07:28Z,"For a project, we have about 550+ terms in a single taxonomy, the other taxonomies have around 10-40 each themselves too. There appears to be an issue when IE8 comes across too many checkboxes on a page, and this recently was exacerbated by an upgrade to WP 3.5. The upgrade itself didn't cause it, but it coincided with the addition of a few new terms (don't know how many were added before the upgrade just yet, will post if I find out more info).

To reproduce, you've gotta have a large amount of terms for your taxonomies, then go into the post editor (for whatever post type you're testing on), and ensure your taxonomies have 'hierarchical' set to true in their definitions. I've seen the issue crop up on save (on subsequent load of the page w/ success message on it), and on open of the edit page itself.

The issue seems to be more severe for IE8 on Windows XP Service Pack <= 1, but I've seen it cause a massive slow-down for newer XP versions, just not freeze up entirely like it did on the XP SP 1 machine I was primarily testing on.

''I'm not really sure'' what the solution is going to have to be here, or if this will serve merely as a paper-trail for the folks searching for information about this.

I did a blanket forceful change for checkbox input to autocomplete on the meta boxes associated to hierarchical taxonomies using the following Gist to resolve the freezing for now:

https://gist.github.com/4330772

Here's the info you'll probably ask for, I went down to the basics to see exactly what the cause was:

1. No plugins activated (except a small plugin that had the Gist in it to resolve the issue for me)

2. Standard Twenty Twelve theme activated

3. Tested and found the issue happening on both WP 3.4.x and WP 3.5

4. Tested on XP SP 1 with IE8, saw the greatest degradation of performance here

5. Tested on XP SP 3 with IE8, saw a noticeable freeze and then slow-down of performance as the page loads here",sc0ttkclark
19645,Image caption gets removed when editing image dimensions.,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-12-22T16:24:34Z,2011-12-23T18:25:53Z,"When editing an image placed into a post in a certain way, the caption of the image is removed.

Steps to reproduce:
1. Edit a post that contains an included image.
2. Click the edit options icon when selecting the image.
3. Go to the advanced image settings(make sure the image does have a caption).
4. Empty the width field.
5. Press the submit button.
-> The caption of the image is set empty.

Remarks,
In my case only leaving the width input field blank caused this issue.",JanJaapKempenaar
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
20114,Posts and Pages w. private visibility don't show up in existing content,,Editor,3.3.1,normal,major,Awaiting Review,defect (bug),new,has-patch,2012-02-24T20:58:52Z,2012-03-07T13:12:29Z,"when inserting or editing a link in the editor (post or page) pages & posts with private visibility don't show up in the ""existing content"" section of the ""insert/edit link"" popup. All pages/posts with public visibility are shown. This doesn't make sense as I have all necessary privileges to see and edit these private pages/post. Even the admin doesn't see the private pages. Very annoying.",heinrichgeps
22567,Preview button triggers popup blocker in some browsers if no title is set,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-23T21:41:35Z,2012-12-05T21:31:33Z,"Steps to reproduce:

1. Click on Add New (for a post)
2. DO NOT enter a title.
2. Start typing in the post body.
3. Click Preview

Expected result:

New tab opens with preview.

Actual result:

If popup blocking is disabled, a new window opens with the preview.  On subsequent clicks of the Preview button, it reverts to opening a new tab as it should.

Found in WordPress 3.5-RC1.",miqrogroove
20233,Preview opens in the same window when edit panel was previously another Preview window,,Editor,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-13T23:29:16Z,2013-01-03T05:52:29Z,"Steps to reproduce:

1. Create a new post, save as draft
2. Click ""Preview""
3. Go to the Preview window, and from there use the Admin bar to go back to the Dashboard and start writing a new post
4. Save that new post as draft
5. Hit ""Preview""
  * Expected result: preview opens in a new window
  * Result: preview opens in the same window

Is there some way we could get around that? For people working with multiple tabs, it can be really confusing.",hd-J
14749,Scrollbar position jumping in the Appearance->Editor newcontent textarea,,Editor,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-09-01T01:32:10Z,2012-11-01T05:14:52Z,"As I am editing code in the Appearance Editor main textarea called newcontent, the scrollbar slider will jump upward to a new position moving the current line being edited down.

On a vista machine using ie8 with wp3.0.1 and the 2010 theme, a single character stroke will move the scrollbar up 3 lines.  

On an xp machine using ie8 with wp3.0.1 and a custom theme, a single character stroke will move the scrollbar up 8 lines.  Ocasionally the scrollbar will only move 1 line and every keystroke will bring the down.  Pasting text can and often does bring the line being edited below the visible area of the textarea.

It is very frustrating when it jumps around like this.",Giant Slayer
20016,Spellchecker returns suggestions with wrong encoding,,Editor,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T17:59:00Z,2012-02-10T20:34:01Z,"Steps to reproduce:

* Create new post
* Type 'canamo'
* Set spellcheck language to Spanish
* Click on 'canamo' for suggestions

",koke
19666,Switching from HTML to Visual editor removes some line breaks inside PRE,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-12-25T21:34:59Z,2013-02-09T12:49:25Z,"All line breaks inside PRE elements used to transmit correctly when switching editor mode from HTML to Visual. Around WP3.1 or so, line breaks started to be removed if they happened to be inside an inline element. The common use case is a single CODE element in a PRE element:
{{{
<pre><code>Line 1
Line 2
Line 3</code></pre>
}}}
The above markup used to be handled correctly when switching between editor modes in either direction, but now the line breaks are converted to spaces when switching from HTML to Visual mode.

Many users have posts with a single CODE inside PRE, as it's semantically correct for source code, and is the convention required to support some syntax highlighters like Chili.",mrclay
21311,"The ""Paste as plain text"" feature in TinyMCE produces double-line breaks between paragraphs.",,Editor,3.4.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-07-19T10:41:13Z,2012-07-20T08:44:55Z,"Mac OSX Lion, Chrome, WordPress 3.4.1

See attached SWF for a screen-video demonstration.

 • In WP-Admin -> Posts -> Add new, with the editor in visual mode, click the ""Pase as plain text"" icon [[BR]][[BR]]
 • Paste your content into the window that pops up and click ""Insert"" [[BR]][[BR]]
 • Note that two paragraphs seem to be double-line breaked. [[BR]][[BR]]
 • Switch to HTML mode and note that there are extra ""&nbsp;"" spaces inserted between paragraphs. [[BR]]

 ",uxtremist
21460,The accesskeys in Quicktags don't work in all browsers,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-03T19:21:56Z,2012-08-03T22:01:43Z,"IE (Alt+letter) works properly. Firefox (Alt+Shift+letter) only focuses the corresponding Quicktags button sometimes. Doesn't perform the action. If the button is hidden, performs the action (this shouldn't happen in Quicktags). Chrome doesn't seem to do anything. Opera works differently: Shift+Esc brings a list of all defined access keys on that page. The Quicktags access keys are not listed there.

",azaozz
21934,Title field on Insert/edit link form shouldn't allow autosuggest,,Editor,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-19T21:10:18Z,2012-09-20T22:37:44Z,"When entering a link through the ""Insert/edit link"" thickbox form, Firefox displays autosuggest dropdowns for both the URL field and the title field.

This would be helpful, except that the javascript keyboard handlers bound on keydown/keyup prevent the browser UI from being accessible.

What happens is:

1. User tries to add link to text through the editor (Visual or HTML).
1. User enters the correct URL into the URL field, and exits that field by hitting ""tab"".
1. User begins typing the link title. Firefox browser UI helpfully suggests some similar titles.
1. User sees a title they'd like to use, and hit the keyboard down arrow, thinking that this will select the correct title for them.
1. What actually happens is that the first link listed below in the link to existing content gets selected. This overwrites what's been entered in the URL and title field.
1. User says, WTF just happened.

Solutions:

- Adding `autocomplete=""off""` to these two form fields would prevent Firefox from displaying its autosuggestions. This might fix the problem, but feels kind of like a bandaid.

- A keydown/keyup handler could be attached to each of the text input fields with event.stopPropagation could stop the ui keyboard behavior when typing into those fields.",goldenapples
18946,Too long tags make the cross not moving anymore.,,Editor,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-10-14T13:13:48Z,2011-10-22T13:29:27Z,"If you have a long tag like a long title of a book or movie title or game title and you more the cross doesn't move with the tags.

Look to the screenshot for more info",jonezjea
21853,Unable to Add Whitespace After Hyperlinks,,Editor,3.3.2,normal,major,Awaiting Review,defect (bug),new,,2012-09-09T06:22:43Z,2012-09-09T15:10:02Z,"This bug seems to have developed somewhere after version 3.1.

To reproduce this bug:

1. Start a new post or page.
2. Click the HTML tab.
3. Paste this snippet:

{{{
<ul>
	<li><a href=""http://www.google.com/"">Parent item</a>SPACEME
		<ul>
			<li>Child item</li>
		</ul>
	</li>
</ul>
}}}

4. Click the Visual tab and note how the hyperlink runs up against the word ""SPACEME"".
5. Click the HTML tab.
6. Add a space before ""SPACEME"".
7. Click the Visual tab.
8. Like magic, the space has vanished! :(

Curiously, I am unable to reproduce this behavior if I add the space on the Visual tab rather than the HTML tab.  Very buggy!",miqrogroove
24161,Updating long post quickly could result in post truncation,,Editor,3.5.1,normal,critical,Awaiting Review,defect (bug),new,,2013-04-23T00:45:20Z,2013-04-23T02:30:41Z,"I've observed a bug yesterday when updating a 10,000 word post frequently while testing another feature. The last update ended up eating almost half of the post at the end and went unnoticed until today when it was pointed out by users.

I've examined the update history and indeed found the last update to not contain a good portion of the post - it just cuts off.

The only explanation I have for this behavior is that because the post is so long, the update button was pressed while the textarea field was still loading, which interrupted the loading process and submitted whatever was loaded at the time. This is very dangerous - a race condition like that could demolish long posts or posts on slower connections.

A solution here should be a validation function that makes sure the post was loaded before the Update button is clickable. Perhaps just tie the onload to the Update button so it's disabled until the browser confirms things are loaded. I'm open to other suggestions, but I'm now definitely scared of one of the authors or myself accidentally truncating content.",archon810
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
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
23321,ins button in text editor produce semantically different HTML then the U button at the visual editor,,Editor,,normal,minor,Awaiting Review,defect (bug),new,,2013-01-30T06:54:51Z,2013-01-30T06:54:51Z,"U button at the visual editor makes something like 

{{{
<span style=""text-decoration: underline;"">text</span>
}}}

while the ins at the text editor makes

{{{
<ins datetime=""2013-01-30T05:44:49+00:00"">text</ins>
}}}

It is actually not easy to understand that the intentions behind both are equivalent - underline the text*, but semantically they have different meaning, and in the context of WP usage the styling one has probably the more correct meaning.

Alternatively, if ""ins"" is important html tag then why it is not possible to add it in the visual editor.

related #20149

*Browsers by default underline ""ins"" but twentyeleven and twentytwelve remove it.",mark-k
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
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
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
20237,Default editor needs support for non-DFW fullscreen mode,,Editor,3.3.1,normal,minor,Awaiting Review,enhancement,new,close,2012-03-14T23:13:51Z,2012-12-27T22:54:22Z,"There's currently no way to change whether or not to use distraction-free-writing (DFW) mode for the default WYSIWYG editor. When inserting a new editor via the wp_editor() function, you can pass 'dfw' => false as one of the settings arguments; but in 'edit-form-advanced.php', the editor is hard-coded to use DFW.

Many people prefer to make layout and styling adjustments in full-screen view, so it seems strange to have this preference hard-coded. Recommend adding an option to Settings > Writing to select between DFW and classic full-screen.",danblaker
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
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
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
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
22154,The 'More' tag placeholder looks terrible,,Editor,,normal,minor,Awaiting Review,enhancement,new,,2012-10-10T20:12:36Z,2012-10-11T05:17:18Z,"Really, it does.",johnbillion
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
18222,Visual clue after saving in fullscreen edit mode,,Editor,,normal,minor,Awaiting Review,enhancement,new,close,2011-07-22T19:45:00Z,2011-07-23T08:09:24Z,"You can save your current state while writing an article in fullscreen edit mode by pressing Ctrl+S.

However, there is no visual indication after this that the article has been saved or while saving.

This should be added.",mathbr
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
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
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
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
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
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
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
24170,oEmbed / Vimeo: Support player.vimeo.com-style URLs,,Embeds,,low,minor,Awaiting Review,enhancement,new,,2013-04-23T21:24:58Z,2013-04-23T21:24:58Z,Vimeo also supports URLs like http://player.vimeo.com/video/64213430 for its oEmbed endpoint. It would be nice if the core regex also handled these URLs.,danielbachhuber
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
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
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
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
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
22014,"$arg was undefined, added it as optional param",,External Libraries,2.5,normal,trivial,Awaiting Review,defect (bug),new,,2012-09-27T09:40:45Z,2012-09-27T09:56:35Z,"The variable $arg was not defined, so I added it as an extra parameter.

wp-admin/includes/class-ftp.php 
function nlist

Patch here :
https://github.com/h4ck3rm1k3/WordPress/commit/1bb897fc0e20de43122a468d1dae85ad2ad33c37",h4ck3rm1k3
22492,Duplicate MIME-Version header,,External Libraries,3.4.2,normal,minor,Awaiting Review,defect (bug),new,,2012-11-18T03:16:33Z,2012-11-18T10:46:26Z,"In certain cases, Wordpress sends emails containing two ""MIME-Version"" headers. This causes email rejections from some Amazon SES SMTP servers in particular.

To reliably reproduce, a default multisite install with BuddyPress can be used. When a user tries to register and create a website, the activation email contains this bug. Unfortunately I don't know how to reproduce this error with Wordpress itself, but I believe this bug is related to the Wordpress core. If any plugin happens to set a custom header of ""MIME-Version"" to an email message, Wordpress core is the culprit for the insertion of the duplicate mail header.

Patch attached to this report, it's a trivial fix. All the fix does is checks to see if ""MIME-Version"" was already included in custom mail headers, and if so, don't insert the duplicate header.",ryderlewis
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
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
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
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
16494,"Remove ""no conflict"" mode from bundled jquery",,External Libraries,3.1,low,minor,Awaiting Review,enhancement,new,close,2011-02-08T18:45:49Z,2012-07-14T11:04:26Z,"Remove ""no conflict"" mode from jquery

Over the last six months more and more of the themes I review for large sites have being using Google's CDN version of jquery (deregistering the bundled), not to get the benefit of CDN, but because most jquery libraries are dependent on $ and the developers don't know or want to deal with getting them to work in ""no conflict"".

I image we originally put in place ""no conflict"" mode for bundled jquery, as part of the transition from Prototype.

I appreciate it is hard to measure the impact of this type of change, but wanted to trac this all the same.

=== Additional Info ===

http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

http://docs.jquery.com/Using_jQuery_with_Other_Libraries",lloydbudd
16668,SWFUpload 2.2.1,,External Libraries,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-25T20:38:07Z,2011-09-19T15:24:55Z,"Update SWFUpload to version ""2.2.1 2009-03-30"" from ""2.2.0 2009-03-25.""

Changes how settings are passed to functions, using function scope instead of object scope. Looks like some other code simplification during those five days.

[http://code.google.com/p/swfupload/source/browse/swfupload/trunk/core/ SWFUpload repo]

Updates the SWF as well. Looks like an ExternalInterface change based on project commits.

Files swfupload-all.js and handlers.js left as is since they are not part of the external repo. If swfupload-all.js is a rollup it should obviously be updated.",niallkennedy
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
16747,'feedtype_enclosure' hooks not triggered without custom field,,Feeds,3.1,normal,trivial,Awaiting Review,defect (bug),new,has-patch,2011-03-04T13:42:07Z,2011-03-04T15:48:25Z,"file: '''wp-includes/feed.php''', functions: '''atom_enclosure()''' and '''rss_enclosure()'''

If a ""enclosure"" custom field is not provided, the ''atom_enclosure'' and ''rss_enclosure'' filters are never triggered (because they're inside an if statement).

Wouldn't it make sense to replace this  ...
{{{
function atom_enclosure() {
	if ( post_password_required() )
		return;

	foreach ( (array) get_post_custom() as $key => $val ) {
		if ($key == 'enclosure') {
			foreach ( (array) $val as $enc ) {
				$enclosure = split(""\n"", $enc);
				echo apply_filters('atom_enclosure', '<link href=""' . trim(htmlspecialchars($enclosure[0])) . '"" rel=""enclosure"" length=""' . trim($enclosure[1]) . '"" type=""' . trim($enclosure[2]) . '"" />' . ""\n"");
			}
		}
	}
}
}}}

... with this ...
{{{
function atom_enclosure() {
	if ( post_password_required() )
		return;

	$output = '';
	foreach ( (array) get_post_custom() as $key => $val ) {
		if ($key == 'enclosure') {
			foreach ( (array) $val as $enc ) {
				$enclosure = split(""\n"", $enc);
				$output = '<link href=""' . trim(htmlspecialchars($enclosure[0])) . '"" rel=""enclosure"" length=""' . trim($enclosure[1]) . '"" type=""' . trim($enclosure[2]) . '"" />' . '\n';
			}
		}
	}
	echo apply_filters('atom_enclosure',$output);
}
}}}

... so that those functions can be hooked via plugins, even if the custom field doesn't exist?

''In my particular case, I wanted to use a different--already existing--custom field name to pull the url from, but I couldn't hook '''atom_enclosure()''' because '''apply_filters()''' is only triggered if the ""enclosure"" custom field name exists.''",tcloninger
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
21225,Dashboard Incoming Links - Google blogsearch fails when get_option( 'home') is not a TLD,,Feeds,2.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-07-12T02:47:09Z,2012-07-12T04:23:56Z,"When WordPress gets installed and the first time a user visits the dashboard the dashboard_widget_options get set for dashboard_incoming_links.  The Google blogsearch link gets set based on your settings for wp_home.  If your developing on a local machine most likely wp_home is not a true TLD.

Google blogsearch incorrectly returns incoming links when the site: url is not a true TLD.  For example I'll use an install where wp_home is set to http://wp.patch.  The link that gets formed is:

http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://wp.patch/

If you visit that link you will notice that results are getting returned just using the ""patch"" keyword.

If the sited gets moved to live production you will continue to get the incorrect incoming links unless the dashboard_widget_options get manually changed or deleted.

Also to note is that the Google blogsearch API has been deprecated:  https://developers.google.com/blog-search/

My suggestion is to remove the widget or hide it by default in screen options like we did for some of the stuff in post.php.

Another option is to do a check and return WP_Error if wp_home is not a TLD before setting the dashboard widget options.",c3mdigital
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
19017,No way to add XSL to Feeds,,Feeds,3.2.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-10-20T16:50:31Z,2011-10-26T06:17:45Z,"To add XSL to a feed, for nicer display of feeds in browser, a line needs to be inserted before the root RSS tag.
For a plugin to add the correct code, there should be an action between `<?xml?> and `<rss>`
Perhaps something like `<?php do_action('rss2_xsl'); ?>` on line 12 of `feed-rss2.php`?",pathawks
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
16544,RSS2 feeds are published as text/xml rather than application/rss+xml,,Feeds,3.0.5,normal,trivial,Awaiting Review,defect (bug),new,close,2011-02-12T21:25:45Z,2011-02-13T06:00:04Z,"It seems to me that there is a bug in feed-rss.php, feed-rss2.php and feed-rss2-comments.php

All files have the following header

header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);

Which seems to publish the feed as text/xml rather than application/rss+xml which I believe it should be.",Orakel78
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
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
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
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
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
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
19890,Filter auto enclosure links before processing,,Feeds,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-01-24T21:37:48Z,2012-01-24T21:44:05Z,"[http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/functions.php#L1182 The do_enclose() function] looks through post content for enclosure-worthy URLs, requests the URLs it finds, and stores in post meta.

I use sample code and dummy URLs in my posts: e.g. !http://example.com/song.mp3. Right now `do_enclose()` finds the mention of the MP3, adds it to post meta, which later outputs in `rss_enclosure()` or `atom_enclosure()`. If I want to remove the enclosure from final markup I can attach to the `added_postmeta` action to remove a value after it was requested and inserted or act on the markup generated by `rss_enclosure()` or `atom_enclosure()` by emptying the string.

I would like to filter out the auto-discovered enclosure link before it is processed by !WordPress, looked up in the database, and HEAD requested. If a filter existed on the parsed enclosure links I could remove links from dummy domains such as ""example.com.""",niallkennedy
21017,Using force_feed() for simplepie in core,nacin,Feeds,3.4,normal,minor,Awaiting Review,enhancement,reviewing,dev-feedback,2012-06-18T22:21:48Z,2012-06-27T14:32:13Z,"Receiving the following error in the ""Incoming Links"" widget in the admin dashboard:
[[BR]]

{{{
RSS Error: A feed could not be found at http://www.google.com/search?
ie=utf-8&partner=wordpress&q=link:http://mysite.com/
&tbm=blg&tbs=sbd:1&output=rss. A feed with an invalid mime type may fall
victim to this error, or SimplePie was unable to auto-discover it.. Use
force_feed() if you are certain this URL is a real feed.
}}}

[[BR]]
The support forum thread which can provide more specific information can be found here:
[http://wordpress.org/support/topic/incoming-links-error-message-1?replies=41]
[[BR]][[BR]]

It has been suggested adding '''force_feed()''' to the core might alleviate this issue in future dev.
",josh401
23692,feed_links should have a parameter to choose which feed to display,,Feeds,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2013-03-05T14:02:12Z,2013-04-05T08:52:19Z,"Hello,

'''feed_links''' is a function located in wp_includes/general_template.php. It displays 2 feeds in the header : the main feed and the comment feed. The function is activated along with feed_links_extra when automatic-feed-links support is activated.

Currently, developers can't choose if they want both feeds to be displayed, or just one of them. I think this function should be improved.

Here is the current function :
{{{
function feed_links( $args = array() ) {
	if ( !current_theme_supports('automatic-feed-links') )
		return;

	$defaults = array(
		/* translators: Separator between blog name and feed type in feed links */
		'separator'	=> _x('&raquo;', 'feed link'),
		/* translators: 1: blog title, 2: separator (raquo) */
		'feedtitle'	=> __('%1$s %2$s Feed'),
		/* translators: %s: blog title, 2: separator (raquo) */
		'comstitle'	=> __('%1$s %2$s Comments Feed'),
	);

	$args = wp_parse_args( $args, $defaults );

	echo '<link rel=""alternate"" type=""' . feed_content_type() . '"" title=""' . esc_attr(sprintf( $args['feedtitle'], get_bloginfo('name'), $args['separator'] )) . '"" href=""' . get_feed_link() . ""\"" />\n"";
	echo '<link rel=""alternate"" type=""' . feed_content_type() . '"" title=""' . esc_attr(sprintf( $args['comstitle'], get_bloginfo('name'), $args['separator'] )) . '"" href=""' . get_feed_link( 'comments_' . get_default_feed() ) . ""\"" />\n"";
}
}}}

Currently, the only way to display only one feed (the main post feed or the main comment feed) so is to deactivate feed_links with :
{{{
remove_action('wp_head', 'feed_links', 2);
}}}
and then to create our own function to only display one feed.

Do you think this should be improved ?

Regards,",Confridin
19643,Allow array for $extra_fields in request_filesystem_credentials,,Filesystem,3.0,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-12-22T07:47:38Z,2012-09-10T22:54:04Z,The current implementation for passing extra fields through request_filesystem_credentials() does not allow for an array of data to be passed. I came across this issue when trying to process a bulk installation of plugins with my plugin installation class. My patch fixes this from what I can tell and doesn't break anything that I can see from my testing.,griffinjt
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
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
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
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
18476,Duplicate code in filesystem classes,kurtpayne,Filesystem,3.2.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-08-18T17:54:33Z,2012-07-06T14:09:04Z,"Each filesystem class extends a base class and most, but not all, include an implementation of chown.  I propose a slight refactoring to include a default implementation of chown in the base class and let each subclass override chown when necessary.",kurtpayne
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
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@…
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
22971,Don't work quotes auto closing in that case,,Formatting,3.5,normal,minor,Awaiting Review,defect (bug),reopened,,2012-12-17T12:06:43Z,2012-12-18T13:33:41Z,"Hello, use latest wordpress version - 3.5.

If I enter


{{{
""My Simple Text""
}}}
to wordpress text editor - all right quotes close automatically and it will have view:
«My Simple Text»

But if I'll write 
{{{
""My Simple Text 2013""
}}}

It will have view:
«My Simple Text 2013""

conclusion: quotes auto closing don't work if string ends by numbers
",Stafox
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
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
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
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
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
16859,esc_url eats square brackets.,westi*,Formatting,3.1,normal,minor,Awaiting Review,defect (bug),accepted,dev-feedback,2011-03-15T17:28:32Z,2013-02-19T12:30:30Z,"When adding a link to the blogroll (using wp-admin/link-add.php), square brackets in the link are removed, breaking the link.

Example:

{{{
http://lokale-wochenzeitungen.de/index.php?id=485&tx_ttnews[pointer]=6&tx_ttnews[tt_news]=132583&tx_ttnews[backPid]=741&cHash=ee9c87874b
}}}

becomes

{{{
http://lokale-wochenzeitungen.de/index.php?id=485&tx_ttnewspointer=6&tx_ttnewstt_news=132583&tx_ttnewsbackPid=741&cHash=ee9c87874b
}}}

Workaround: Use URL-encoded links (%5B and %5D instead of [ and ]).

This also affects urls which are made clickable by {{{make_clickable}}",f00f
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
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
19028,make_clickable fails when <a ...> contains \r characters,,Formatting,3.2.1,normal,minor,Awaiting Review,defect (bug),reopened,needs-unit-tests,2011-10-22T07:00:35Z,2011-11-02T00:34:43Z,"Hi.

I'm using the make_clickable php function in my project SaltOS to add the links feature to the email client and feeds reader.

I detect that when try to make clickable the urls that has the link tag and this tag contains \r characters it fails.

I fixed the problem removing all \r of the <a ...> tag but understand that can be a possible bug.

Thanks in advance.",josepsanzcamp
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
23922,make_clickable() breaks when colon in hash,,Formatting,,lowest,minor,Awaiting Review,defect (bug),new,needs-unit-tests,2013-04-03T00:41:39Z,2013-04-03T19:31:00Z,"`make_clickable()` doesn't like this string:

{{{
<a href=""http://en.wikipedia.org/wiki/URI_scheme#tel:"">http://en.wikipedia.org/wiki/URI_scheme#tel:</a>
}}}

It results in this HTML:

{{{
<a href=""http://en.wikipedia.org/wiki/URI_scheme#tel:""><a href=""http://en.wikipedia.org/wiki/URI_scheme#tel"" rel=""nofollow"">http://en.wikipedia.org/wiki/URI_scheme#tel</a>:</a>
}}}

Specifically it's the colon that is causing the issue. It can be a part of the URL too, it doesn't have to be a part of an anchor.",Viper007Bond
15046,places where the_title is used instead of the_title_attribute,,Formatting,2.3,normal,minor,Awaiting Review,defect (bug),new,has-patch,2010-10-06T08:34:31Z,2011-03-19T15:09:52Z,"[context]
Semantic-web/metadata related plugins popups more and more.
There is no way to filter according to specific tasks (semantic, style, content, ...)
So monolithic the_title and the_author filters are increasingly used.

the_title_attribute [6132] and the_author_meta [11138] partly address the issue
[/context]

Here are the places where the 'content'-oriented function should be used instead of the 'display'
or 'semantic'-oriented versions (often in the 'title' attribute of <a>) :

default-widgets.php, author-template.php and twentyten/functions.php (patches attached)
",drzraf
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
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
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
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
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
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
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
16790,Functional spec for wpautop,,Formatting,,normal,minor,Awaiting Review,enhancement,reviewing,,2011-03-07T22:06:30Z,2012-09-17T05:55:42Z,"I've put together an algorithm-based [http://www.mrclay.org/wpautop-functional-specification/ functional spec] that I hope could be useful in maintaining wpautop. Also might be handy is this combination of [http://code.google.com/p/mrclay/source/browse/trunk/tests/php/MrClay/AutoP/wpautop-fails.in.html wpautop failure cases].

The algorithm is based on work I've started on a DOMDocument-based implementation (a project I contribute to needs an MIT-licensed version), and although it's incomplete and slow, it does a bang-up job so far.

DOMDocument may just be too slow or strict in its parsing to allow the variety of markup that wpautop needs to accept, but it's ace at the level of surgical precision needed to do this right.",mrclay
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
19550,Please provide option to disable wptexturize entirely,,Formatting,3.3,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-12-14T20:42:52Z,2012-01-04T16:53:05Z,"I assume this is controversial, but I want wptexturize to *always* be a no-op.  I know I'm not alone on this.  There exists a 3rd-party ""wpuntexturize"" plugin, but it is insufficient; even using that plugin, I keep running in to places where texturization is happening anyway.

Rather than making us play whack-a-mole with all the places it gets turned back on, can't we please just have a checkbox to disable it globally?

Alternately, if you would make wptexturize be a pluggable function, I could just re-define it.

As it is, with each new release, I am forced to modify the source to add ""return $text"" as the first line of the function.",jwz
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
20120,Space before slash to close BR,,Formatting,3.4,normal,trivial,Awaiting Review,enhancement,new,,2012-02-25T04:08:58Z,2012-02-28T14:57:50Z,"Kind of a petty, I admit, but I noticed http://codex.wordpress.org/WordPress_Coding_Standards shows this as the standard, and I figured I'd help out by checking if any such occurrences exist (using the following):

`find -name '*.php' -type f | xargs egrep -n ""<br\/>""`

Diff attached (my first)...but I won't have my feelings hurt if the ticket is closed and I am banned from trac :)",bananastalktome
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
20522,the sanitize_file_name_chars filter and ch(0),,Formatting,,normal,minor,Awaiting Review,enhancement,new,needs-unit-tests,2012-04-23T08:26:28Z,2012-04-24T00:41:12Z,"the sanitize_file_name_chars filter is tricky to use due to the chr(0) ending the array :

both 
{{{
special_chars[] = $my_char; 
}}}
and 
{{{
array_push($special_chars, $mychar);
}}}
have no effect.

so the only way to add some char to the array is to use array_unshift :
{{{
array_unshift($special_chars, $mychar);
}}}

adding 

this is mostly a php issue, but it could be useful to add some notice to the WordPress documentation.

",olivM
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
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
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
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
22773,"""Gallery Settings"" should be extensible",,Gallery,3.5,normal,minor,Awaiting Review,enhancement,new,,2012-12-06T03:17:19Z,2013-01-06T02:29:57Z,"This isn't necessarily new to 3.5, but now that we have a great gallery management system, I think we need to allow developers to customize the Gallery Settings fields (other than Link To / Columns / Random).

My specific use - which I think is common - is a completely custom gallery shortcode for a client. First and foremost, the client would like to be able to ""title"" the gallery itself, so a hook allowing the addition of custom field(s) would be needed. Ideally, the default fields would also be filterable so they can be removed as well (though I suppose we can do that with CSS now): for instance, most custom gallery implementations don't use the ""columns"" option.",jakemgold
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
16942,Dead code in add_query_arg(),,General,3.1,normal,trivial,Awaiting Review,defect,new,commit,2011-03-23T02:15:56Z,2011-03-29T09:31:33Z,"As it just has been checked that $uri contains at least one ?, then exploding $uri on ? with a limit of 2 must return two elements, right?

{{{
	if ( strpos( $uri, '?' ) !== false ) {
		$parts = explode( '?', $uri, 2 );
		if ( 1 == count( $parts ) ) {
}}}

So the if clause can never be true, the code is dead.",hakre
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
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
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
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
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
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
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
18503,Delete-Plugin Error Validation Clears Form Values,,General,3.2.1,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-08-23T22:43:22Z,2011-09-01T17:17:22Z,"When bulk-deleting a set of plugins, if an error is encountered - all selected values are lost.

Process: 

1. Go to plugins overview screen, select several (active) plugins to delete.
2. From the bulk-action dropdown menu, select ""delete"", then ""apply""

Expected behaviour:

Error message: ""You cannot delete a plugin while it is active on the main site."" - Check marks are preserved, so you simply select ""deactivate"" and click on ""apply"" again.

Actual behaviour:

Error message: ""You cannot delete a plugin while it is active on the main site."" - All check marks lost, and you have to start all over again - which is a pain for sites with lots of plugins.",JohnONolan
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
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
19288,Erroneous custom taxonomy screen menu behaviour,,General,3.0,normal,trivial,Awaiting Review,defect (bug),new,,2011-11-18T11:36:26Z,2011-11-24T16:24:31Z,"I don't think this could get any more edge case and it's of trivial severity, but I thought I'd report it for completeness' sake.

If a user has the ability to manage terms on a post type, but not the ability to edit posts of that post type, and the post type has more than one taxonomy, then the post type menu doesn't expand as expected when viewing one of the term management screens for that post type.

Steps to reproduce:

 * Register a custom post type that uses its own capability mapping (resulting in `edit_foos` etc).
 * Register at least two custom taxonomies for this post type, with or without its own capability mapping.
 * Give a user (or role) the ability to manage the taxonomy terms but not the ability to edit posts of the post type.

When viewing one of the term management screens for the given post type, the menu doesn't expand as expected (although the new 3.3 fly-outs do show).
",johnbillion
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
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
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
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
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
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
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
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
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
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
17077,Page parent li elements in nav menus not always given current-page-parent class,,General,3.1,normal,trivial,Awaiting Review,defect (bug),new,,2011-04-07T09:53:45Z,2011-04-07T09:54:04Z,"Using a fresh WP3.1.1, 2010 theme, Theme Unit Test data, adding a navigation menu with Parent Page as an item without any child items and then navigating in the browser to Child Page 1.

The <li> for the parent menu item doesn't get assigned the current-page-parent class.

It does get the current-page-ancestor class, and none of my themes demand the current-page-parent class specifically so I've tagged this as trivial.",andymacb
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
17002,Pasting Large Amount of Text Through Paste-from-Word TinyMCE button leads to Whitescreen upon publishing,,General,3.1,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2011-03-30T19:04:53Z,2011-04-01T16:58:15Z,"I needed to paste a large MS Word document into a WordPress page, so I used the Paste-from-Word button on the Visual Editor to do so. When I tried to publish the page, I got a whitescreen with the URL /wp-admin/post.php

After testing the problem in various ways, I determined that the problem arose only when the amount of words in the page were more than 10,000. The page posted fine when there were fewer than 10,000 words.

Using WordPress 3.1, CommentPress Theme, Mac OS X 10.6.7, Chrome browser",mkgold
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
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
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
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
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
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
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
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
20890,Standardize line endings of wp-config-sample.php and wp-fullscreen.css,,General,,normal,trivial,Awaiting Review,defect (bug),new,,2012-06-08T15:24:46Z,2012-06-08T15:57:59Z,"Two core files seem to have invalid line endings (\r).
{{{
~/data/wp$ ack -l ""\r""
wp-includes/js/tinymce/plugins/wpfullscreen/css/wp-fullscreen.css
wp-config-sample.php

~/data/wp$ cat -vT wp-config-sample.php | head
<?php^M
/**^M
 * The base configurations of the WordPress.^M
 *^M
 * This file has the following configurations: MySQL settings, Table Prefix,^M
 * Secret Keys, WordPress Language, and ABSPATH. You can find more information^M
 * by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing^M
 * wp-config.php} Codex page. You can get the MySQL settings from your web host.^M
 *^M
 * This file is used by the wp-config.php creation script during the^M
}}}",xknown
20822,Switching visual/html on wp_editor used on front end not saved as new default,,General,3.3.2,normal,minor,Awaiting Review,defect (bug),new,,2012-06-04T06:45:12Z,2012-06-04T06:45:12Z,"Using the wp_editor on the frontend it doesn't default to the last used state it defaults to the last used state on the back end.

I did find that using:
add_filter( 'wp_default_editor', create_function('', 'return ""tinymce"";') );

inside the function I am using to replace the front end comments with the visual editor worked around this a for me by defaulting to visual which works as well for me in this case as last used, but the default should probably change globally when a logged in user toggles between the two _or_ should get saved independently.



",jb510
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
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
24171,"Trashing a page selected as ""Page on Front"" produces homepage 404",,General,,low,minor,Awaiting Review,defect (bug),new,,2013-04-23T21:58:26Z,2013-04-23T22:33:28Z,"Steps to produce:

1. Create a new page called ""My Home Page"". Add some bacon ipsum.
1. Assign the page as your static home page.
1. Trash the page, but don't delete it.

Expected behavior: My homepage reverts to a list of my most recent posts

Actual behavior: 404 template is loaded.

In r6337, we started listing most recent posts when the page is ''deleted''. However, there's a short circuit (added later) in `wp_delete_post()` to `wp_trash_post()`, which doesn't delete the option. This results in the homepage not being reset until the post is actually deleted.

I think the trashing behavior should be consistent with deleting behavior. 

Related: #16379, #14403",danielbachhuber
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
16482,Visibility: password-protected breaks with redirected domains,,General,3.0.4,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-02-07T18:58:45Z,2012-09-05T18:47:28Z,"Pre-requisite to reproduce: domain.com must redirect to www.domain.com (haven't tested with other subdomains than www, but I'm sure it would be the same).

1. password protect a page
2. visit domain.com/protected (which redirects to www.domain.com/protected)
3. enter password
4. something about the redirect OR the way the password is stored/checked is broken; you are redirected to the wp-admin (WordPress login) page.

Sanity check:

1. password protect a page
2. visit www.domain.com/protected (requiring no subdomain redirect)
3. enter password
4. successful log-in
",monkeyhouse
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
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
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
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
21613,"format_to_edit runs esc_textarea if $richedit param is set to false, not true",,General,,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-08-16T19:59:20Z,2012-08-17T15:35:26Z,"Currently, the docs on format_to_edit() indicate that it runs the content through esc_textarea (which in turn runs htmlspecialchars() ) if the $richedit param is set to true. The code, however, runs the filter if the param is not set (or passed as false, see line 1270). 

{{{
#!php
1255 /**
1256  * Acts on text which is about to be edited.
1257  *
1258  * The $content is run through esc_textarea(), which uses htmlspecialchars(
1259  * to convert special characters to HTML entities. If $richedit is set to t
1260  * it is simply a holder for the 'format_to_edit' filter.
1261  *
1262  * @since 0.71
1263  *
1264  * @param string $content The text about to be edited.
1265  * @param bool $richedit Whether the $content should not pass through htmls
1266  * @return string The text after the filter (and possibly htmlspecialchars(
1267  */
1268 function format_to_edit( $content, $richedit = false ) {
1269   $content = apply_filters( 'format_to_edit', $content );
1270   if ( ! $richedit )
1271     $content = esc_textarea( $content );
1272   return $content;
1273 }
1274 
}}}

My thought is the if statement should evaluate whether $richedit is true, rather than false, and therefore apply the esc_textarea function only when explicitly passed as a param. This would, however, result in unexpected behavior for anyone currently passing only the default $content param and getting sanitized output.",vhauri
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
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
20853,get_post_custom show directly serialized data from the post_meta arrays.,,General,1.5,normal,minor,Awaiting Review,defect (bug),assigned,dev-feedback,2012-06-06T05:39:23Z,2013-03-11T16:46:21Z,"get_post_custom show directly serialized data from the post_meta arrays.
For example:

If I save a data with:

{{{
			update_post_meta(	$post_id,	'camp',
				array(
					'some'	=>	$var,
					'thing'	=>	$var_2
				)
			);
}}}


When I use get_post_meta(); :

{{{
	$var_get = get_post_meta($post_id, 'camp', true);
	echo $var_get['some']; // Fine.. Print: $var content.
}}}


but, when I use get_post_custom() :

{{{
	$var = get_post_custom($post_id);
	echo $var['some']; Metod, (Not work because ""Returns a multidimensional array"" with all values, and 0 is the first or the unique value).
	echo $var['some'][0]; /* Metod, >:( , Not work. Print:

a:2:{i:some;s:4:""this"";i:thing;s:7:""content"";}	*/
}}}


Instead of display ""array"", and can not handle sub arrays.",shadowhck
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
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
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
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
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
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
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
22630,plugin_basename() fails on case-sensitive plugin directories,,General,1.5,normal,minor,Awaiting Review,defect (bug),new,,2012-11-29T06:11:13Z,2012-11-29T17:06:49Z,"When `WP_PLUGIN_DIR` has slightly different casing to the actual path, `plugin_basename()` returns the full path to the plugin file.

For example:

If `WP_PLUGIN_DIR` is set to `C:/Website/wp-content/plugins`, but the actual file-system path is `C:/Website/wp-content/Plugins`, `plugin_basename()` will return the full path to the plugin file.

The `plugin_basename()` function uses a `preg_replace` statement to find path to the plugin relative from `WP_PLUGIN_DIR`. If the actual path to the plugin directory does not match case to `WP_PLUGIN_DIR`, the preg_replace will fail. This is because preg_replace is not case sensitive.",bungeshea
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
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
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
20740,strip_shortcodes Chokes On Empty Shortcodes,,General,3.3.2,normal,minor,Awaiting Review,defect (bug),new,,2012-05-23T22:58:56Z,2012-05-23T22:58:56Z,"It appears the regex for strip_shortcodes doesn't recognize empty shortcodes. For example, a caption shortcode like this would only have the opening shortcode tag stripped:


{{{
[caption id=""attachment_3360"" width=""288"" caption=""Some caption""][/caption]
}}}


The closing caption tag remains in the resulting string.

I realize this is a fringe case (why would you have an empty caption?), but it popped up for me when working with a popular plugin that attempts to generate an excerpt by doing the following:

{{{
$content = strip_tags($content);
$content = strip_shortcodes($content);
}}}

Seems harmless--but if a caption contains only an image tag, the strip_tags removes it, and the strip_shortcodes chokes on the now-empty shortcode. Or even worse, if you have a second caption shortcode in the content, it strips EVERYTHING between the first opening caption tag and the second closing caption tag.

And I have to imagine there are some custom shortcodes that may be legitimately empty for some reason. I dunno.

To reproduce:

{{{
$content = '[caption][/caption]

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

[caption][/caption]';

$content = strip_shortcodes($content);

echo $content;
}}}
",MathSmath
23492,svn:ignore wp-config.php,,General,trunk,low,minor,Awaiting Review,defect (bug),new,,2013-02-17T17:59:42Z,2013-02-17T17:59:42Z,"`wp-config.php` very often exists in Subversion checkouts, but it should never be committed. Could we add a `svn:ignore` property for it?",nbachiyski
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
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
22233,update_option() fails when value has nested objects,,General,3.4.2,normal,minor,Awaiting Review,defect (bug),new,,2012-10-20T16:29:08Z,2012-11-22T03:28:30Z,"This gist has an example of how this problem can be reproduced: https://gist.github.com/3923757

If you run the three functions in three separate page loads you will see that the foo attribute of `$b` doesn't get saved. It seems to be some kind of cache problem. 

I've been able to reproduce this in 3.4.2, 3.4.3-alpha and 3.5-beta2 ",exz
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
20450,wp_dropdown_categories - inconsistent use of single-quotes causes (javascript) assignment  issues,,General,3.3.1,normal,minor,Awaiting Review,defect (bug),new,close,2012-04-15T23:06:37Z,2012-06-18T23:02:05Z,"wp_dropdown_categories outputs double-quote characters for all options (value etc) BUT single-quote characters for main select attributes - which is inconsistent.

this causes a problem when assigning output to eg. a javascript string - meaning we must perform a separate 'replace' operation first.

similarly, we already have to do a replace of all newline-characters in output for newline-backslash - in order that its multi-line output can be assigned to a javascript variable.

please could we have double-quote characters used consistently  in output? ideally provision of a javascript friendly output format (ie. backslash-newline) would also be great - though my no means essential. 
 ",rcain
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
24057,"wp_list_bookmarks links target=""""",,General,3.5.1,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-12T11:28:53Z,2013-04-15T23:41:22Z,"When adding links via the add links function in WordPress, the default target of the link is _none.

The problem is, the code generated for that code is
<a href=""..."" target="""">, target being an empty string. This is not HTML5 compliant, as target has to have at least 1 character.",moscar09
17015,wp_list_pages incorrect hierarchy when using include and sorting by title,,General,3.1,normal,minor,Awaiting Review,defect (bug),new,,2011-04-01T17:02:31Z,2011-04-02T04:12:21Z,"I am using wp_list_pages to create a page hierarchy. I only want the grandchildren of specific pages, so I generate a list of page IDs to send to wp_list_pages. I sort them by page title.  The hierarchy is not handled correctly when a grandchild's title sorts before its parent.

How it should come out:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --Annual Reports[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

How it comes out:[[BR]]
About Us[[BR]]
 -Annual Reports[[BR]]
 -Board of Directors[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

I've moved things around and verified that this sorts correctly:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --ZZZAnnual Reports[[BR]]
 -FAQ[[BR]]
 -Initiatives[[BR]]
  --Ohio...[[BR]]
  --Reach[[BR]]

If one grandchild has a sort order above its parent, all the grandchildren are pulled above the parent in the hierarchy. For example:[[BR]]
About Us[[BR]]
 -Board of Directors[[BR]]
   --ZZZAnnual Reports[[BR]]
 -FAQ[[BR]]
 -AAAAOhio...[[BR]]
 -Reach[[BR]]
 -Initiatives[[BR]]",JohnColvin
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
16516,wp_page_menu documentation of the sort_column parameter,,General,3.0.5,normal,trivial,Awaiting Review,defect (bug),new,,2011-02-10T15:13:13Z,2011-02-10T15:13:13Z,"The [http://core.trac.wordpress.org/browser/tags/3.0.5/wp-includes/post-template.php#L810 source code documentation] for wp_page_menu reads:

{{{
* <li><strong>sort_column</strong> - How to sort the list of pages. Defaults
* to page title. Use column for posts table.</li>
}}}

The actual default value is {{{'menu_order, post_title'}}} (correctly, as per [http://core.trac.wordpress.org/ticket/10266 Ticket 10266]).

",FrancescoRizzi
17472,wp_redirect() should return true on success,draca,General,3.1.2,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-05-17T12:56:39Z,2011-05-17T15:40:11Z,"Ticket #3250 added the ability for a filter to cancel a redirect request and returns false in that event.

On success, there is no return value specified so the function returns NULL per the PHP spec.  A value of true should be returned so that logic such as the following can be used:


{{{
if (! wp_redirect($redirect_url)) {
  // Handle redirect failure
}
}}}
",draca
22739,wp_register_script/wp_enqueue_script problem,,General,3.4.2,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2012-12-04T18:51:01Z,2013-01-16T04:27:53Z,"First of all: sorry for my bad English.
Hi, i've seen may be a bug while programming a plugin (Len Slider).
I have some handle-scripts like jquery, jquery-ui to enqueue, its ok. Also I have my known js-files to enqueue, ok too. BUT! When I want to enqueue dynamic js (gets from folders via glob), it enqueue too BUT BEFORE jquery, jquery-ui itc. When I enqueue script with custom handle and in foreach loop, BUT with deps parameter as array of jquery, jquery-ui etc. And this dynamic js-file loads BEFORE jquery or jquery-ui! Now I solve the problem by load known handles jquery, jquery-ui in header and my own in footer, but i think we need to look for core to solve it.

You can see it on Len Slider in len-slider/lib/lenslider.class.php:313 - lenslider_make_skins_files_wp_head method

Also I think about parameter like priority for wp_register_script/wp_enqueue_script(style) functions to load it by this range.",tigusigalpa
17052,wp_sanitize_redirect() removes square brackets from URL,,General,3.1,normal,minor,Awaiting Review,defect (bug),reopened,has-patch,2011-04-05T07:12:16Z,2012-03-01T18:08:07Z,"The function wp_sanitize_redirect() removes square brackets from URLs.

PHP's functionality with arrays in the URL require square braces, stripping them from the URL means that pages (and plugins) that rely on them fail.

To Reproduce:

{{{
<?php
$url = 'http://example.com/my_url_array[1]=hello+world';
print wp_sanitize_redirect($url);
?>
}}}


Current Output:
http://example.com/my_url_array1=hello+world

Expected Output:
http://example.com/my_url_array[1]=hello+world

Whilst developers should be able to work around this as the function is pluggable I believe this should just work out of the box.
",bluntelk
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
19332,'Edit Category' page lacks hooks to edit form fields,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,,2011-11-22T17:18:13Z,2011-11-22T17:18:13Z,"The default 'Name', 'Slug' and 'Description' form fields are stuck in place on Categories and Custom Taxonomies. 
There are hooks before and after the form (eg {$taxonomy}_pre_edit_form), but nothing to modify the basic output. 
These fields, especially 'slug', can scare civilians and it would be nice not to have to use JS to hide them.",duncanjbrown
18804,"Add ""has-post-thumbnail"" class to post_class() when there's a featured image",danielbachhuber,General,,normal,minor,Awaiting Review,enhancement,assigned,dev-feedback,2011-09-28T17:55:45Z,2011-12-03T11:11:00Z,"It would be nice to have an ""has-post-thumbnail"" or similar class added when there's a featured image associated with the post.",danielbachhuber
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
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
21089,Add admin url to install notification email,,General,3.4,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-06-27T21:50:40Z,2012-06-29T23:07:34Z,"I've seen a number of individuals inquiring as to the login url of their WordPress site for administration purposes.  Let's give it to them by changing:

Your new WordPress site has been successfully set up at:

http://wordpress.url

You can log in to the administrator account with the following information:

Username: admin
Password: The password you chose during the install.

We hope you enjoy your new site. Thanks!

--The WordPress Team
http://wordpress.org/

to

Your new WordPress site has been successfully set up at:

http://wordpress.url

You can log in to the administrator account with the following information:

Username: admin
Password: The password you chose during the install.
Location: http://wordpress.url/wp-admin

We hope you enjoy your new site. Thanks!

--The WordPress Team
http://wordpress.org/",georgestephanis
18296,Add an action to Custom_Image_Header admin_page(),,General,,normal,minor,Awaiting Review,enhancement,new,,2011-07-29T17:31:17Z,2011-09-01T15:25:24Z,Add an action (do_action('custom_header_top');) to the admin page for themers to add more settings using the settings api.,wpsmith
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
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
18546,Add index.php to wp-includes and wp-admin/includes,,General,3.2,low,minor,Awaiting Review,enhancement,reopened,dev-feedback,2011-08-30T11:42:40Z,2012-09-05T19:12:08Z,"In [comment:ticket:17601:15], dd32 suggested an idea of adding `index.php` to `wp-includes`:

> /wp-includes/index.php doesnt exist however, leading to that entire folder being indexed by google in some cases (which [http://www.google.com/search?hl=en&client=opera&hs=4Ba&rls=en&q=intitle%3A%22Index+Of%22+inurl%3Awp-includes&aq=f&aqi=&aql=&oq= does happen]), this will cause Search Engines to index the contents of these files, leading to the errors being logged.

The patch adds `index.php` to `wp-includes` and `wp-admin/includes`.
",SergeyBiryukov
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
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
20706,Adding a link without a name or web address yields no (error) feedback,,General,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-05-19T00:42:57Z,2012-05-20T16:12:51Z,"If a user successfully creates a link (on link-add.php), the user receives the message ""Link added."" However, there are no measures taken to notify the user if the link was ''not'' successfully added.

Links are not added when the link name and web address fields are left blank, so I have included a little patch to let the user know when this occurs.

This could be done with some JavaScript form validation that makes an alert box pop up, but half the (PHP/HTML) code was already present for this, and I think it looks better this way, personally. This is my first attempt at submitting a patch to any open source project, so I appreciate your feedback. Thanks!",AVReidy
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
16886,Adding readonly function to wp-includes/general-template.php,,General,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-03-18T16:00:34Z,2011-03-18T19:40:01Z,"A quite simple improvement, really. 

Just like the ''checked'', ''selected'' and ''disabled'' function, ''readonly'' would be a shortcut to ''__checked_selected_helper''.

I was doing a theme option page and realized that disabling fields removes the data from the data submission.

I have a bunch of fields that gets used (or not) in the theme, depending on a on/off switch. At first, depending on the switch, I was disabling the fields, but all the data is removed on submit if the switch is at off. Meaning that the user would have to reenter every fields if he wants to activate the functionality.

Putting the fields on readonly gives a nice feedback to the user that those fields are not use, depending on the switch, AND the data is kept if the user changes his mind.

So, here's the patch.

{{{
/**
 * Outputs the html readonly attribute.
 *
 * Compares the first two arguments and if identical marks as readonly
 *
 * @since 3.1.#
 *
 * @param mixed $disabled One of the values to compare
 * @param mixed $current (true) The other value to compare if not just true
 * @param bool $echo Whether to echo or just return the string
 * @return string html attribute or empty string
 */
function readonly( $readonly, $current = true, $echo = true ) {
    return __checked_selected_helper( $readonly, $current, $echo, 'readonly' );
}
}}}

",kakidcm
24068,Allow absolute paths to be passed into content_url(),,General,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2013-04-12T20:13:59Z,2013-04-12T20:13:59Z,"It would be very useful if `content_url()` allowed an absolute path to be supplied just like `plugin_dir_url()` does. This would allow a script within a theme subdirectory to easily obtain the URL to that subdirectory, for example via `content_url(__DIR__)`, instead of having to add relative paths after `get_stylesheet_directory_uri()`. This would also allow code living somewhere else under `wp-content/` (not in plugins or themes) to likewise obtain its full URL.

http://codex.wordpress.org/Function_Reference/content_url
http://codex.wordpress.org/Function_Reference/plugin_dir_url
http://codex.wordpress.org/Function_Reference/get_stylesheet_directory_uri",westonruter
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
21930,Allow hooks to define avatar before Gravatar processing,,General,3.4,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-09-19T16:30:35Z,2012-09-28T08:13:29Z,"The get_avatar() function allows for developers to override avatar output in two ways. You can replace the function (pluggable) - not a good idea in my view, especially if you still want the ability to fallback and use Gravatar sometimes. You can also filter the output at the very end of the function with the 'get_avatar' hook. This works fine, but in highly common instances where a plug-in might want to override the avatar on a case by case basis, this forces each get_avatar call to needlessly process through the entire default avatar / Gravatar ""construction"".

Admittedly, that processing is mostly trivial string manipulation and conditionals with an md5 in the mix, but it still seems like needless overhead in instances where many avatars might get called in a comments thread or authors list.

Proposing a pretty trivial change that allows an avatar to be defined by a filter hook before proceeding through Gravatar / default avatar processing, skipping over all of that if one is, in fact, defined.

My inspiration for this is an attempt to improve the performance of my fairly popular Simple Local Avatars plug-in, that allows users to upload local avatars: http://wordpress.org/extend/plugins/simple-local-avatars/",jakemgold
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
21472,Allow supplying a custom text to status_header(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-05T20:19:54Z,2012-08-05T20:19:54Z,"Problem: I'd like to issue a HTTP 500 error, but include a text different from Internal Server Error, so that the client knows what caused the error.

Currently for a known error code the {{{status_header()}}} function always uses the global array {{{$wp_header_to_desc}}} and the only way to have my own text is to set the value in the global array.

The patch adds a second a argument to {{{status_header()}}}.",nbachiyski
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
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
18561,Better Way to Insert Things Below Individual Posts,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,,2011-09-01T03:56:21Z,2013-04-22T19:02:15Z,"More and more plugins want to drop stuff in below each post (especially common among plugins focused on encouraging the sharing of content). There's not really a great way to do it, though, if your single-post-area doesn't end with the last line of body text. Many themes put the byline/date/metadata below -- rather than above, which used to be the norm -- the post content, including our own Twenty Eleven.  See the screenshot to see how ugly it is when a plugin (or two, or more) uses the the_content filter to insert something at the ""end"" of each post. 

Inserting the sharing and like rows (in this example) at the bottom of the post text before the byline/classification metadata seems wrong. It should go below that, so it is closely related to commenting, not part of the content itself. The plugin-generated widget is not ""by"" the post author, after all.

I have been told that options for addressing this are basically either modifying the theme and/or getting a new filter in place. Whatever we need to do, let's do it, because misplacing plugin-provided tools inside the content rather than after it is a) really bad IA, and b) crazy ugly.",jane
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
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
16792,"CategoryWalker, if cat_name is empty, do not append the empty a tag to the output",,General,3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-03-07T22:36:29Z,2011-03-07T22:38:46Z,"If the theme is customized to skip some categories by doing something like add_filter('list_cats', 'hideSomeCatgory') and returning a null or an empty string as cat name, the CategoryWalker will append an empty html element to the output",samo9789
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
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
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
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
21714,Enable Intermediate choice in UI if Full Size Image is exact match to Intermediate Image,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-28T15:56:09Z,2012-08-28T15:56:09Z,"
This is simply a minor usability enhancement for Media Gallery. If an image is uploaded that is exactly the same size as an intermediate image (300x300 = Medium for example) it is not a choice when inserting that image into a post. It would be nice if it was a choice pointing to the full/original image since full is the same size as the intermediate.

It seems to be caused in the image_downsize function in /wp-includes/media.php because image_get_intermediate_size returns false. 

I believe image_downsize can be updated as such to provide this enhancement:

Line 162 (if statement) Currently:
{{{
	if ( !$width && !$height && isset($meta['width'], $meta['height']) ) {
		// any other type: use the real image
		$width = $meta['width'];
		$height = $meta['height'];
	}
}}}

could be updated to read the intermediate width and height and set intermediate to true if it is an exact match to the original image:

{{{
	if ( !$width && !$height && isset($meta['width'], $meta['height']) ) {
		// any other type: use the real image
		$width = $meta['width'];
		$height = $meta['height'];
		// add check for real image being exact match to intermediate image to enable intermediate choice in UI
		if (isset($_wp_additional_image_sizes[$size])) {
			$goal_width = intval($_wp_additional_image_sizes[$size]['width']);
			$goal_height = intval($_wp_additional_image_sizes[$size]['height']);
		} else {
			$goal_width = get_option($size.'_size_w');
			$goal_height = get_option($size.'_size_h');
		}		
		if ($width == $goal_width && $height == $goal_height)
			$is_intermediate = true;
	}

}}}


Thanks for considering, and hope I put this in the right place,
Andrew
",andrewteg
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
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
6492,Guids No Longer Have Permalink Format,,General,2.5,normal,trivial,Awaiting Review,enhancement,reopened,has-patch,2008-03-31T06:03:30Z,2013-05-18T21:41:12Z,"When you create a new post using WordPress 2.5 the GUID is created in the http://siteurl/?p=<PostId> format even when permalinks are enabled.  This is because the _transition_post_status function in /wp-includes/post.php now checks if the guid is empty (which it never is) before resetting/creating it with the proper permalink structure.  Line 2841 should be removed.
",brianwhite
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
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
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
19745,Login Form Dropdown,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,close,2012-01-05T02:35:47Z,2012-01-06T02:38:39Z,It would improve user experience if the login button on the admin bar had a dropdown with a login form. This only applies to websites that show the admin bar to logged out users. ,dancole
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
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 would have preferred an error message in the administrator interface. Do you think it's a good idea?",copesc
22330,Optimize regexes to remove protocol from URL,,General,3.4.2,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-10-31T09:30:48Z,2012-10-31T09:30:48Z,"Regexes used to chop off the protocol of a URL should be anchored to the start of the string.

1. The regex fails faster and thus avoid useless work. No need to look further down the URL for strings like `""http://""`.
2. The regex should not alter any URLs that might be contained in the query string.",GeertDD
16903,PHP5-Port - Superfluous code in _deep_replace(),,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-20T16:44:21Z,2011-03-20T21:47:44Z,"Since PHP 5.0.0 the count parameter was added, see [http://www.php.net/manual/en/function.str-replace.php str_replace].

(in earlier PHP 4.x versions, arrays were already supported)",hakre
16782,PHP5-Port - WP_Error Class,,General,3.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-03-07T00:45:15Z,2011-03-08T21:46:09Z,"A port of the class to PHP5.

Related: #16781, #6768, #16769
",hakre
16756,PHP5-port - Access Violations on wpdb::$prefix,,General,3.1,normal,normal,Awaiting Review,enhancement,reviewing,has-patch,2011-03-05T12:01:09Z,2011-03-08T21:46:30Z,"The to be accessed privately member {{{wpdb::$prefix}}} is accessed publicly in multiple places.

This ''would'' do fatal errors ''if'' the property would be ported to PHP 5 ''with the documented behavior''.

The errorneous usage in the places in question ''might'' reveal that implementation details were missed because the prefix can differ on multi-site setups which is not technically guaranteed when accessing the private member.

The private member was only used ""read-only"" inside the class. Probably this is a documentation issue. It's set {{{set_prefix()}}} and {{{set_blog_id()}}} functions (only) and always to the result of {{{wpdb::get_blog_prefix()}}}.",hakre
16753,PHP5-port - microtime() use,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T10:27:41Z,2011-03-08T21:31:20Z,"See [http://www.php.net/manual/en/function.microtime.php microtime()] for details.

In microtime() related code [http://www.php.net/manual/en/function.uniqid.php uniqid()] with more entropy does not need a prefix. And there is no need to seed the random number generator. See [http://www.php.net/manual/en/function.srand.php srand()] for details.",hakre
16758,PHP5-port - move of wpdb::check_database_version(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T14:04:56Z,2011-03-05T14:04:56Z,"The function {{{wpdb::check_database_version()}}} is doing a check of the database version against a needed database version. The database server version is returned from $this->db_version(), the required database version is in a global variable called `$required_mysql_version`.

This keeps the database code coupled to the global variable while the class is made to be replaced, e.g. for other database abstractions (compare #14508 which is made for ''extends wpdb''). Normally the database class is a singleton in a global variable already.

Therefore this mixes global with local space twice. I suggest to de-couple wpdb a bit from that hardencoded global variable name and move the code out of the wpdb class into that alread existing global function called wp_check_mysql_version().

This should make the database interface a bit more lightweight which could be a benefit when porting to PHP5.

",hakre
16754,PHP5-port - srand(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-05T10:42:18Z,2011-10-19T01:16:20Z,"No need to seed the random number generator.

See [http://www.php.net/manual/en/function.srand.php srand()] for details.

Related: #16753",hakre
16755,PHP5-port - uniqid(),,General,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-03-05T11:15:01Z,2011-03-05T11:15:01Z,"[http://www.php.net/manual/en/function.uniqid.php uniqid()] does not need a prefix (any longer).

Places in use can be checked if they need to have it passed or not.

Related: #16753",hakre
18823,Pass $post_id  as second argument to delete_postmeta action,,General,3.2,normal,minor,Awaiting Review,enhancement,new,,2011-09-30T12:29:51Z,2011-09-30T14:38:00Z,"in every case (in WP 3.2) where a postmeta is deleted, the context is aware of the post_id or post_ids affected.  The do_action calls for added_postmeta, update_postmeta, and updated_postmeta all pass the post_id as the second argument.  For parallelism, and because it is useful, please pass it for delete_postmeta (and deleted_postmeta). 


",Vynce
21364,Pass post type to count_user_posts(),,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-24T08:22:14Z,2012-07-25T12:26:04Z,"Add $post_type argument to count_user_posts(). Defaults to 'post', as it is hard-coded now.",Caspie
22303,"Please parse a ""vendor"" file",,General,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-29T15:31:54Z,2012-10-30T10:06:14Z,"Hi,

I'm working on improving Wordpress packaging in fedora.

One of our need is to allow the use of system libraries instead of bundled copy (forbidden by Guidelines).

I would like to propose, as various projects already, to include a ""vendor"" file.

Goals:
- without this file: no change
- with this file: use constant from it
- allow to define patch for each library (rather than a global WPINC)

Note: this is not the same as wp-settings, which are user configurable settings, while ""vendor"" are system configuration (not to be altered by users)

Work proposal.

(probably) in default-constants.php

if (file_exists('vendor.php')) include_once('vendor.php');

For PHPMailer (for exemple)

if (!defined('WP_PHPMAILER_INC')) define('WP_PHPMAILER_INC',  ABSPATH . WPINC);

And of course, 
require_once WP_PHPMAILER_INC . '/class-smtp.php';

Using this, we could package wordpress in a simpler way, without altering provided sources, just adding this vendor file.

For example, see what have be done in GLPI
https://forge.indepnet.net/projects/glpi/wiki/GlpiPackaging

If you accept this feature, I will work on it and submit the patches (probably various, one per library, as I will progress on this work).
",remicollet
16462,Plugin Editor does not work for Must-Use Plugins,,General,3.1,normal,normal,Awaiting Review,enhancement,new,,2011-02-05T12:11:50Z,2011-02-05T12:11:50Z,"Since [10737] (WP 2.8), WordPress has support for so called [http://hakre.wordpress.com/2010/05/01/must-use-and-drop-ins-plugins/ Must-Use Plugins]. Since [13233] (WP 3.0) those are listed in the admin panel.

By default, Plugins can be edited on the ''Edit Plugins'' page ({{{/wp-admin/plugin-editor.php}}}).

On WordPress 3.0.4 it's not possible to edit Must-Use plugins.

User who can edit plugins should be enabled to edit the ''must-use''-variant of plugins as well.

Related: #11861
",hakre
18362,Post timestamp creation should use whitelisted post statuses instead of blacklisted,danielbachhuber,General,3.0,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-08-09T16:51:55Z,2013-01-18T23:58:43Z,"post_date and post_date_gmt timestamps are created when a post is published. The method should create timestamps based on whitelisted post statuses, instead of ""not in a blacklist"" as it exists currently.

Backstory: We have a plugin that allows users to create custom statuses. It uses the partially completed custom status API and additional code we've written. In the WordPress.org forum, a  [http://wordpress.org/support/topic/plugin-edit-flow-custom-statuses-create-timestamp-problem bug was reported] where if they use a custom status with a post, the post time is set. Currently, they have to manually edit the timestamp of the post before publishing in order for it to be set to the proper publication date (instead of 5 days ago when they originally created it).

The origin of the problem is [http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/post.php#L2506 line #2506 in wp-includes/post.php]. The post statuses to receive timestamps should be whitelisted instead of blacklisted. Because the custom statuses aren't a part of the blacklist, they receive a GMT timesteamp.",danielbachhuber
20148,Preview post in Webkit browser doesn't render Flash objects,,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-01T10:14:49Z,2013-02-10T21:49:21Z,"When inserting a Flash <object> via HTML and use Preview function in Chrome it doesn't show.

- Tested on a clean WordPress 3.3.1 install, no plugins activated, theme: twentyeleven.
- The <object> code is available in the sourcecode. It just doesn't render... When you hit refresh it shows.
- Tried this on multiple work stations (Windows and Mac os). All versions of Chrome.
- Only in Chrome. Firefox has no issues with this function.
- There is no difference between Multisite or Single site installations.
- I'm Administrator (or Network administrator) in all cases.

Issue is also on WordPress support forums: http://wordpress.org/support/topic/preview-post-in-chrome-mac-os-doesnt-generate-flash-objects
",thomasvanderbeek
21113,Previous/Next page links maintain all GET variables,,General,3.4,normal,normal,Awaiting Review,enhancement,new,close,2012-06-29T14:57:00Z,2013-04-05T12:49:45Z,"The newer/older entries pagination system takes any query string in a inbound request, and includes it in the links generated for the newer/older entries. 

This causes problems when you put wordpress behind a cache, because all it takes is some bot trying a joomla hack to mean all visitors suddenly have a version of that page, including the bad query string, very visible.

For example:
http://kirrus.co.uk/page/6/?test=true

Note, in the 'Newer/Older' links at the bottom of the page, that ""test=true"" will be retained.

These should only really keep query-strings that wordpress knows it'll need, if you're including them? Else, you can basically poison someone's cache with this.

An example of the really bad query string poisoning a cache:
/page/2/?option=com_gk3_tabs_manager&controller=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron%0000",kirrus
22049,"Reading settings let users choose between ""Full text"" or ""Summary"" for the feeds but not for the blog page",,General,1.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-30T00:35:38Z,2012-10-01T11:20:57Z,"Please make the life of new Wordpress users easier.

Why not let users chose with a simple option if they want Wordpress to show the ""Full text"" or a ""Summary"" of the posts on the blog page?

== Scenario ==

'''> OPTION 1:'''

If user checks option 1 (""Full text"") the blog page would ''always'' (!) show Full text.

'''> OPTION 2:'''

If user checks option 2 (""Summary"") the blog page would show summaries based on the following priority order:

'''1)''' Teaser (generated with the ""more"" tag"")

'''2)''' Manual excerpt (if there is no ""more"" tag in the post)

'''3)''' Automatic excerpt (if there is no manual excerpt and no ""more"" tag in the post)

The way it is working now seems very confusing to me. Relation between ''manual excerpts'', ''automatic excerpts'' and ''teasers'' is everything but simple to understand for a beginner. Moreover some themes use the ""''the_content()''"" tag in their post template while others use the ""''the_excerpt()''"" tag. This makes the whole thing even more difficult to understand when switching from a theme to another.

Such a '''basic''' option is available for the feeds. It should also be available for the pages, shouldn't it?

'''Please check the attached image as my English is not perfect.
'''

Thanks

P.S. The ""[http://wordpress.org/extend/plugins/post-teaser/ Post teaser]"" plugin might be a good starting point.",Lorangeo
20513,Refactor $wp_scripts init checking code,,General,3.4,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-22T15:15:36Z,2012-04-24T09:56:05Z,"The functions in [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.wp-scripts.php functions.wp-scripts.php] seem to contain a lot of duplicate code in terms of checking and initializing the global `$wp_scripts` in each function.

Attached is rough first pass at creating a function to do this. I expect aspects of it could be done better.

I've included the first argument, to avoid relying on a global so that the function might be unit tested (pass something in, see what gets returned).",GaryJ
21941,Remove get_post_format_slugs(),,General,,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-09-20T14:40:52Z,2012-09-20T14:41:03Z,"I just encountered the `get_post_format_slugs()` function, which is basically just wrapping `get_post_format_strings()` and setting the strings as keys too. So its output is an assoc array where the keys equal the values.

The three times core calls it, it does it the following:


{{{
// ~/wp-includes/posts.php -> set_post_format()
if ( 'standard' == $format || !in_array( $format, array_keys( get_post_format_slugs() ) ) )

// ~/wp-includes/posts.php -> _post_format_request()
$slugs = get_post_format_slugs();
if ( isset( $slugs[ $qvs['post_format'] ] ) )
	$qvs['post_format'] = 'post-format-' . $slugs[ $qvs['post_format'] ];

// ~/wp-includes/theme.php -> add_theme_support()
switch ( $feature ) {
	case 'post-formats' :
		if ( is_array( $args[0] ) )
			$args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) );
		break;
}}}


So in every case it would've been enough to simply call `get_post_format_strings()`.

Do we really need this function?",F J Kaiser
23367,Remove message parameters fron admin URl's in the browser address bar,,General,,normal,minor,Awaiting Review,enhancement,new,,2013-02-02T07:31:20Z,2013-02-02T07:31:20Z,"Scenario: When a post is being published successfully ""message=6"" is appended to the URL. If I refresh the page while in that state I will get the ""post published"" message again, although nothing was done.

There is probably nothing functionally wrong with the way things work now but it can be esthetically more pleasant if that parameter was removed which in turn will eliminate the message problem.

This can be done on browsers that support the history API of HTML5. The following piece of code can be used after displaying the message or maybe it can be generalized to work in the admin footer.

{{{
<script type=""text/javascript"" charset=""utf-8"">
  url = the canonical URL for the address
  if (typeof history.replaceState === 'function') { // check html5 functionality support
    data = {dummy:true};
    history.replaceState(data,'',url);
  }
</script>
}}}
",mark-k
20130,Remove redundant link_updated code related to bookmarks,,General,3.3.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2012-02-28T04:45:46Z,2012-02-28T09:32:54Z,"The links table has a column called `link_updated` which used to be used to store the date the link last changed (using pingomatic to check for this).

The link update checking was removed from core some time ago, see #12437, [13744] (also #4230, #4231). However there's still some code in `wp-admin/bookmark.php` and `wp-admin/bookmark-template.php` which uses `link_updated` as well as the `links_recently_updated_time` option. I guess the column in the database can't just be dropped because of back compat. But the code that uses it in core looks like it can.",solarissmoke
20421,Remove support for Netscape 4 from kses.php (because it's 2012),,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-12T00:54:32Z,2012-04-12T01:45:52Z,"Futzing around, I ran into this in kses.php

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/kses.php#L995

> Removes the HTML JavaScript entities found in early versions of Netscape 4.

Reading it, if that's really true and the only reason it's needed, I think we're pretty safe in removing it now. 

Patch added.",Ipstenu
19367,Remove unused _relocate_children(),,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-11-26T23:23:51Z,2012-03-24T14:30:12Z,It's from the days of negative post ids. Some history: #9471,scribu
23084,Replace the use of the $more global with a filter,,General,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-30T09:35:31Z,2012-12-30T09:35:31Z,"Globals are evil is a good enough reason, but this global is also very poorly documented http://codex.wordpress.org/Customizing_the_Read_More#How_to_use_Read_More_in_Pages claims that it can have negative value while it is being used as boolean in the code.",mark-k
22329,Retina Gravatars,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-31T05:18:14Z,2013-02-12T23:54:12Z,"Mentioned by Matt in #21019 

Should be a simple matter of changing get_avatar() in pluggable.php so that the requested size is twice the display size.",miqrogroove
23183,Single Page Application/OData API,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T18:15:34Z,2013-01-11T22:45:13Z,I am interested in helping out. Are there any plans to move to a Single Page Application model. I know this would take a lot of work as we would have to code a secure Web API into the core (I would go with standard OData service API) but as mobile devices become more critical to web success WordPress needs to find a way to minimize requests and allow for occasionally connected solutions. I know this would be for major release 4 or possibly even 5 depending on the impact to plugin developers but it make a noticeable difference on the scalability of wordpress.,cportwood
17619,Soft 404 at /wp-content/plugins/,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-05-30T16:31:30Z,2011-08-17T00:51:19Z,"/wp-content/plugins/index.php would be better written with a proper 404.

{{{
<?php
header('HTTP/1.0 404 Not Found'); // Silence is golden.
?>
}}}",miqrogroove
23505,Some files still have closing PHP tags,,General,3.4,lowest,trivial,Awaiting Review,enhancement,new,has-patch,2013-02-18T23:33:19Z,2013-05-14T15:36:25Z,"[19712] removed EOF `?>` from nearly all the files, including `wp-content/index.php`: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/index.php

In a couple of files, however, it's still there, which doesn't seem intentional: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/plugins/index.php [[BR]]
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/index.php

We should probably make the same change there for consistency.",SergeyBiryukov
16471,Support default values for non-existant query vars in get_query_var() et al,,General,3.0,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-02-06T15:48:58Z,2011-03-07T02:43:46Z,"When using {{{get_query_var($var)}}} or {{{$GLOBALS['wp']->get($var)}}} and {{{$var}}} is the name of an unexistant query variable, those functions will return an empty string.

Next to that there is no function that provides information about whether or not a specific query variable has been set.

I therefore suggest to make both functions able to optionally return a chooseable default fallback value then the empty string we have.",hakre
16578,TinyMCE plugins are not loaded as .dev.js when SCRIPT_DEBUG is enabled,,General,3.1,normal,minor,Awaiting Review,enhancement,new,,2011-02-17T06:58:15Z,2011-02-17T13:31:40Z,"In trunk, when SCRIPT_DEBUG is enabled, TinyMCE does not load plugins using  `.dev.js` scripts. It would be nice if it did.",solarissmoke
20203,To return 404 page when user request not existing category and existing at once (in URL),,General,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-08T14:45:04Z,2012-06-13T10:45:59Z,"I have category 'category1' with posts in it. I want to get posts from 'caegory1' and not existing category 'not_existing'.
if I use URL like 'http://mysite.com/category/category1+notexisting' I get normal archive page but this is a page without post because there are no posts in 'category1' and 'not_exists' at once.
But maybe it is better to return 404 page? Because it produces additional duplicate pages for search engines like google.",egorpromo
20153,Track Plugin actions/history,,General,,normal,minor,Awaiting Review,enhancement,new,,2012-03-02T14:58:50Z,2012-03-02T14:58:50Z,"It would be great if WP could track any activity around plugins, eg. install, activate, disable, update, delete.

Seeing as plugins are most often the causes of problems with WP, it would be good to know which was the last plugin activated, or updated, particularly on sites with many plugins.

For example, I'm currently troubleshooting a problem which may be due to a plugin I recently updated, however I have no idea which one it could be, and disabling/re-enabling all plugins is not really the best solution.

A fairly simple nice-to-have that would greatly aid troubleshooting.",SecGen
16914,Updated List of HTTP status codes for wp_header_to_desc (2),,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-21T12:54:46Z,2011-12-18T20:03:45Z,"http://www.iana.org/assignments/http-status-codes

Hypertext Transfer Protocol (HTTP) Status Code Registry 

(last updated 2010-11-05)

Related: #9297",hakre
20352,Use str_getcsv() to parse search terms in WP_Query,,General,,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-04-03T23:05:25Z,2012-04-04T01:39:31Z,"We use an [http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/query.php#L2183 ugly regex] to split search terms like these:

{{{
term1 term2 ""exact match""
}}}

We could use str_getcsv() instead, for better readability.",scribu
20683,WP_Dependencies' constructor should accept a string/array value for $deps rather than converting a string to an empty array,markjaquith,General,,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2012-05-15T20:12:39Z,2013-04-23T12:42:14Z,"Currently, WP_Dependencies' constructor takes any $deps value that's not an array and converts it to an empty array. I propose bringing the constructor's behavior more in line with standard WP function paramater behavior by accepting a string as a single dependency. Essentially this involves adding an is_string() check on $deps before checking if it's not an array, and creating an array with a single element in the case that it is a string. 


{{{
if ( !is_array($this->deps) )
  $this->deps = array();
}}}

becomes

{{{
if ( is_string( $this->deps ) )
  $this->deps = (array) $this->deps;
elseif ( !is_array( $this->deps ) )
  $this->deps = array();
}}}

See the attached diff for a proposed patch.",vhauri
18817,WP_List_Table nonce output moved to its own method,,General,3.2.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-09-29T17:55:33Z,2012-03-20T19:32:43Z,"A quick little patch to move the nonce field generation and output to its own field.  I ran across a need for this when implementing the class on a postmeta box on the post edit screen.  Both the post edit form and the WP_List_Table class were outputting a nonce field using the name ""_wpnonce"".  Upon submission this was prohibiting the post from saving.

I had to override the entire display_tablenav method whereas if the output of the nonce was its own method, I could override it there and change the name of the field it was outputting.",bigdawggi
22470,WP_Scripts: output script element only if src not empty,,General,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-11-16T00:36:50Z,2012-11-16T00:36:50Z,"I was able to make async JavaScript loading work with existing !WordPress code by acting on the script_loader_src filter before the `<script>` element is output, returning an empty string. This results in an empty src attribute, creating technically invalid HTML while not immediately loading the external script. If the !WordPress code could check if a non-empty `$src` string exists before outputting I could avoid the invalid HTML nag. Attached diff only outputs the `<script src="""">` element if `$src` is not an empty string.

I'd like to be able to asynchronously load an enqueued script without needing to completely rework `WP_Scripts`. I'd like to take advantage of common handles indicating a script is set to be loaded, extra data attached to a handle, and other !WordPress script expectations while swapping out the `<script src="""">` echoed markup.

Why async? A script steps out of the way, offering progressive enhancement of the page or loading non-critical features such as stats or socal network sharing buttons. Async loading also helps prevent single points of failure in webpage loading caused by China blocking Facebook or resources hosted at Amazon Web Services going offline for a few hours.

* [http://www.stevesouders.com/blog/2012/01/13/javascript-performance/ Some info from Steve Souders] showing a 31% increase in load times.
* [https://developers.google.com/analytics/devguides/collection/gajs/ Google Analytics use case]
* [https://developers.facebook.com/docs/reference/javascript/#loading Facebook JavaScript SDK use case]",niallkennedy
19742,WP_Styles should pass more info to the filter,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-04T21:49:30Z,2012-12-11T23:44:10Z,"Currently, if your working with wp_enqueue_style(), it's not easy to customize the output of the link element.

The current filter passes the full html along with the style handle. This isn't enough information if you're trying to rebuild the link element.

I'm currently changing rel=""stylesheet"" to rel=""stylesheet/less"" for lesscss suport. I'm currently able to achieve this, but I have to know the style handle.

This patch adds a third param which contains all of the style data available for that style.",ptahdunbar
19211,WordPress should be properly capitalized in the HTML title,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-08T23:49:59Z,2011-11-09T04:59:43Z,"The HTML title element doesn't get properly capitalized P's, only the post title does.

For example: http://gigaom.com/2011/11/08/wordpress-founder-matt-mullenweg-to-speak-at-roadmap/",evansolomon
16612,WordPress should return nocache headers for requests with comment cookies,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-02-21T22:45:21Z,2011-11-16T00:51:57Z,"Most themes, when displaying the comment form, change the HTML to pre-fill username, email address, and website when comment cookies are received in the HTTP request.  Since the response does not have explicit nocache headers, per RFC2616 (http://www.ietf.org/rfc/rfc2616.txt) intermediate caches can use heuristics to determine the cache TTL for the response.  Since there is 0 freshness data in the response, it is not really possible to perform good heuristics, but in practice, caches will assign a default TTL to this type of response.  The result is that private information input by user A when submitting a comment can be returned to user B when making a request for the same URL.  

To protect ourselves against this, we should call nocache_headers() when comment cookies are sent and the comment form is being displayed.  Alternatively, we can send nocache headers for all requests with comment cookies regardless of the comment form being displayed or not (probably easier and maybe safer).

http://humboldtherald.wordpress.com/2011/01/27/gremlins/ is a story likely caused by an aggressive cache and the lack of nocache headers.",barry
24325,[wp-includes/load.php] LINE 270: ini_set should be verify before call,,General,,normal,minor,Awaiting Review,enhancement,new,,2013-05-12T10:48:31Z,2013-05-17T12:54:09Z,"Block @2 should be encapsulate in @1 if.

Most of hosting disable ini_set function and this will resolve some users frustration about multiple junk line of logs or error display.

This is my first report, so I apologize if something is wrong.

@1
{{{
if (function_exists('ini_set')) {
 @2 CODE
}
}}}



@2
{{{
if ( WP_DEBUG_DISPLAY )
   ini_set( 'display_errors', 1 );
elseif ( null !== WP_DEBUG_DISPLAY )
   ini_set( 'display_errors', 0 );

if ( WP_DEBUG_LOG ) {
   ini_set( 'log_errors', 1 );
   ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
}}}
",teo.cojo
23454,_deprecated_function Messages,,General,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-12T11:20:39Z,2013-04-01T09:28:58Z,"Unlike ''_deprecated_file'' and ''_deprecated_argument'', the ''_deprecated_function'' function has no option to append a message to the triggered notice.

I propose adding this to make it consistant with the other 2 functions. Patch to follow.",mikejolley
23490,"add margin: 0px to ""#titlediv #title"" in wp_admin.css",,General,,normal,minor,Awaiting Review,enhancement,new,,2013-02-17T14:34:23Z,2013-02-17T14:34:23Z,"Firefox adds some margin to the input, as system css settings...
adding margin: 0 to the title input element makes the title text to be more correctly positioned in the center.

http://wpimpact.com/wp-content/uploads/2013/02/Untitled-6.png

fixed: 

http://wpimpact.com/wp-content/uploads/2013/02/Untitled-8.png",alexvorn2
22141,add_submenu_page file callback,,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-09T16:11:11Z,2012-10-09T18:07:03Z,"Under the recommendation of the community I have decided to file a track regarding add_submenu_page. It currently allows for a callback function in which a dev could include a file but how about allowing add_submenu_page an argument to include a file in replacement of a callback function? This would remove several lines of code and clean up many developers functions.php files as well as custom admin page files.

Thanks for listening and I hope I can help.
-Ben",BenRacicot
16875,auth_redirect() minor code change,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-17T15:48:26Z,2011-03-17T15:48:26Z,While looking into #16858 I stumbled over some is_ssl() related code in auth_redirect(). Just a minor rewrite of the code to make it easier to read.,hakre
19806,do_allowed_shortcodes to allow processing of limited list of shortcodes,beezeee,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-01-11T16:09:56Z,2012-01-11T22:22:52Z,"We have a front facing content editor and want to enable our users to use a specific set of shortcodes, without exposing all of the sites shortcodes to them.

Here's the function we use for this. It is passed an array of allowed shortcodes, and any other shortcodes are stripped from the content. 

{{{
function do_allowed_shortcodes($content, $shortcodes=array())
{
    //if no allowed shortcodes are provided, strip all shortcodes and return content
	if (empty($shortcodes))
	{
		return(strip_shortcodes($content));
	}
    //foreach allowed shortcode provided, build the necessary regex to temporarily change [shortcode] to {shortcode} and then back
	foreach ($shortcodes as $shortcode)
	{
		$allowed_matches[] = '/\[('.$shortcode.'[^\]]*)\]/';
		$restore_allowed_matches[] = '/\{('.$shortcode.'[^\}]*)\}/';
	}
    //change safe shortcodes from [shortcode] to {shortcode}
	$safe_content = preg_replace($allowed_matches, '{$1}', $content);
    //strip remaining [shortcodes]
	strip_shortcodes($safe_content);
    //change {shortcodes} back to [shortcodes] and return result of do_shortcode() on that content
	$trimmed_content = preg_replace($restore_allowed_matches, '[$1]', $safe_content);
	return do_shortcode($trimmed_content);
}
}}}



Seems like this would be a nice addition to core functionality.",beezeee
16745,doubled replace in setup_postdata,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-04T11:36:53Z,2011-03-23T14:12:14Z,One less to go. Could be array'ed as well. Found in http://wordpress.stackexchange.com/questions/8031/is-it-necessary-to-use-wp-reset-query-in-a-wp-query-call,hakre
21596,enhance wp_get_archives to support post types,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-15T18:13:53Z,2013-05-07T19:05:42Z,"I needed to populate an option list of a form with the titles of custom post types. It seemed like wp_get_archives would do the trick, except there was no way to tell it to grab a post_type. So I enhanced wp_get_archives to support and additional parameter.",jjminkle
18613,get_adjacent_post() doesn't find private posts,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-09-07T15:52:25Z,2011-11-16T00:49:50Z,The status is always 'publish'.,scribu
18705,home_url() and is_home() with a static front page,,General,,normal,normal,Awaiting Review,enhancement,new,,2011-09-19T16:16:25Z,2012-12-02T00:05:20Z,"When you have a static front page, home_url() points to the front page while is_home() detects the posts page.

This is confusing and counter intuitive (especially because in the dashboard the page set as home is referred to as the posts page. The word ""Home"" is never used on the client side).

Rename
is_home() => is_posts_page()
home_url() => front_page_url()

Add
posts_page_url()",crrobi01
24284,is_multi_author() should query by specific post type and status,,General,,normal,normal,Awaiting Review,enhancement,new,,2013-05-08T08:18:58Z,2013-05-08T10:38:18Z,"Current is_multi_author() function only checks by the 'post' post-type and 'publish' post-status..

I think the function should be able to query by custom-post-type and custom-post-status",alex-ye
16781,is_wp_error() simplification,,General,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-03-07T00:20:17Z,2011-03-09T18:18:46Z,"please review. see #2600, [3667], [http://php.net/manual/en/function.is-a.php is_a()], [http://www.php.net/manual/en/function.is-subclass-of.php is_subclass_of()]",hakre
21642,language_attributes() print WP lang instead content lang.,,General,2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-08-20T18:15:37Z,2012-08-20T20:46:33Z,"If you have WordPress in a language does not mean that the content has to be in that language. It would be good if there was an option to select it.

Another detail is for example: If we have the translation ""'''Spanish - Spain'''"", ""'''es-ES'''"", WordPress print ""'''es-e'''s"" instead of ""'''es'''"" simply.
This would be good because it is the only translation into Spanish.",shadowhck
17856,magic_quotes_gpc future-proof enhancements,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-06-21T01:13:44Z,2012-10-31T03:23:05Z,"As is well documented across the Internet, the magic_quotes_gpc feature is going away in future versions of PHP.  WordPress has historically automatically escaped _GET, _POST, _REQUEST and _COOKIE input from users, even if the server doesn't have magic_quotes_gpc turned on.  Regardless of the reasons for this, having a way to move forward seems absolutely necessary.

Current issues related to this include (among others):

* maintaining backwards compatibility for those plugin developers who depend on WordPress handling this escaping for them
* giving plugin developers a way to help put magic_quotes_gpc in the past
* giving developers access to the original super globals
* making these super global values read-only so that poorly written plugins/themes don't cause conflicts and problems for other plugins/themes

----

Attached is a patch which I believe handles this effectively without causing any backwards compatibility issues.

This patch introduces 5 new getter functions for wordpress:

* wp_input_get()
* wp_input_post()
* wp_input_get_post()
* wp_input_cookie()
* wp_input_server()

When WordPress first loads, these 5 functions grab the original copies of their respective super globals, undo magic_quotes if it's turned on and then makes the values accessible in a read-only way.

Moving forward, plugin developers can be encouraged to use, for example, wp_input_get('name') rather than $_GET['name'] .  In addition to giving developers a migration path away from the forced magic_quotes_gpc behavior, additional security filters could be done on the given values for further protection.",troydavisson
20144,make posts without title or without main text more comfortable,,General,,normal,normal,Awaiting Review,enhancement,new,,2012-02-29T17:55:15Z,2012-02-29T17:55:15Z,"make posts without title or without main text more comfortable. as i know posts without main text is even not possible. if user creates post without title, it is hard to find in dashboard post list!

this enhancement would allow to use wordpress as microblog.",qdinar
21243,move password hint text to a function,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-12T16:56:24Z,2012-07-16T02:52:21Z,"The password hint text, noted below, is hard coded in four places:

{{{
wp-admin/install.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-login.php
}}}

{{{
Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! "" ? $ % ^ &amp; ).
}}}

This approach is prone to mistakes when changes are made.  In addition, plugins that want to override the text need to use the resource intensive and clumsy gettext filter.

Per nacin and westi, the attached patch moves the text to a function ({{{wp_password_hint()}}}) in {{{wp-includes/user.php}}} and adds a filter ({{{password_hint}}}).",convissor
15222,show_option_all_included for wp_dropdown_categories,,General,3.0.1,normal,normal,Awaiting Review,enhancement,new,,2010-10-26T12:50:15Z,2010-10-26T12:51:32Z,"this little addition lets user have an option which allows searching in all categories included in dropdown only. put it below handling of show_option_all option in wp_dropdown_categories


		if($show_option_all_included)
		{
			$show_option_all = apply_filters( 'list_cats', $show_option_all_included );
			$selected = ( '0' === strval($r['selected']) ) ? "" selected='selected'"" : '';
			$vals = '';
			foreach($categories as $cat)
				$vals .= $cat->term_id.',';
			$vals = substr($vals, 0, -1);
			$output .= ""\t<option value='$vals'$selected>$show_option_all</option>\n"";
		}",roxaz
18518,suggest.js: don't store the URL in the options object,,General,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-25T20:35:21Z,2011-11-16T00:51:03Z,"...because it prevents re-using the same instance for different URLs:

{{{
var suggest_args = {
	multiple     : true,
	delimiter    : ',',
	resultsClass : 'qc-suggest-results',
	selectClass  : 'qc-suggest-over',
	matchClass   : 'qc-suggest-match',
};

$( '#ticket-assign input' ).suggest( QC_L10N.ajaxurl + '?action=qc-user-search', suggest_args );

$( '#ticket-tags input' ).suggest( QC_L10N.ajaxurl + '?action=ajax-tag-search&tax=post_tag', suggest_args );
}}}

With the above code, both inputs will look for items in the same URL: the second one.

Attached patch fixes this.",scribu
21153,supporting protocol-relative urls,,General,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-07-04T10:04:09Z,2012-07-04T11:04:29Z,"changing http:// and https:// generated links to // links would easily add support for hosting a site both under http and https easily

one place I've found this to be changed is in wp-includes/link-template.php around line 2006

the first if could be changed to:

$url = str_replace( ""https://"", ""//"", $url)
$url = str_replace( ""http://"", ""//"", $url)",nagyv
19572,switch_to_post() stack implementation (similar to switch_to_blog()),,General,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-12-15T21:54:57Z,2012-01-23T20:21:14Z,"One of the challenges themes and plugins have is the balance between utilizing the core APIs that rely on global variables, while leaving things in a ""clean"" state for the next worker in the chain.

For example, I might have a shortcode that pulls content from another post, outputs a title or some other data, then needs to restore the previous post environment. The attached patch provides APIs for doing just this - using the same stack approach that switch_to_blog() takes in a multi-site instance.

To set up a post context, call: switch_to_post($post_id);

This can be called multiple times, diving deeper into the stack. Then each process is responsible for restoring the $post context by calling: restore_post();

This goes back to the stack, bumps out the current post and restores the previous post's context.

There is some test code for demonstration here:

https://gist.github.com/1309915",alexkingorg
22069,unify function naming convention get_ vs. the_,,General,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-01T10:24:15Z,2012-10-01T10:24:15Z,"even after about 400 custom wordpress instalation i always got problem remembering the proper name of many functions, if they are returning the content or echoing it.

Most of the functions got get_something() and the_something() but some functions got get_the_something() (e.g. get_the_post_thumbnail) and some got the_something(echo=false) or something(echo=true) etc.

It would be nice if we would consolidate the naming convention (IMO get_ and the_ would be the best) and make current functions obsolete.",thomask
17092,use dirname(__file__).'/file.php' instead of './file' for includes,,General,3.1.1,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2011-04-09T12:57:35Z,2012-12-16T12:18:01Z,"most initial includes prior to having ABSPATH defined are usually of the format:

{{{
#!php
require('./wp-blog-header.php');
}}}

as seen in the main index.php. Most of these occur in /wp-admin.

which is fine in most cases. Except on some windows servers where relative paths can get a bit funky. or if you're trying to include the file which contains a relative include in a file found in another directory (which happens when you're trying to use wordpress for something other than its intended purpose, like developing a more practical multisite system, on multiple domains, with a single copy of wordpress files for all the sites).

anyway, I just wanted to request that absolute paths be used for includes.

for example:

{{{
#!php
in /index.php
 require('./wp-blog-header.php');
becomes:
 require( dirname(__FILE__) . '/wp-blog-header.php' );
}}}
{{{
#!php
in /wp-admin/admin-ajax.php
 require_once('../wp-load.php');
becomes
 require_once( dirname(dirname(__FILE__)) . '/wp-load.php' );
}}}
{{{
#!php
in /wp-admin/maint/repair.php
 require_once('../../wp-load.php');
becomes
 require_once( dirname(dirname(dirname(__FILE__))) . '/wp-load.php' );
}}}

it may not look as pretty but I think it's a saner/safer method of inclusion. Just a suggestion for the next major release. Or as you gradually update files.

Attached is the patch I made from 3.1.1. It replaces every relative include|require(_once)? by absolute ones. As far as I've tested, works the same as unpatched and no includes are broken.",ketwaroo
19097,use wp_register() in wp-login.php,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-10-31T17:35:15Z,2012-10-01T00:33:09Z,"wp_register() calls a filter to change the registration link, but wp-login.php still has the link hardcoded to the default link.
",linuxarchitect
21599,wp-admin post-screen: Make metabox visibility filterable,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,,2012-08-15T19:10:46Z,2012-09-25T17:57:10Z,"We are using wp as a cms and we want to influence the visibility options our users see. Right now, that part is hardcoded in wp-admin/includes/meta-boxes.php. We would appreciate a filter to influence the visibility options. I'd be willing to provide a patch, if I get a positive feedback from a core dev.",pampfelimetten
21435,wp-includes/comment.php line85 causes slow query due to the non-indexed column,,General,3.4.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2012-08-01T00:31:47Z,2012-08-01T00:31:47Z,"Following query is causes slow query if  the wp_comment table is huge.
{{{
$ok_to_comment = $wpdb->get_var(""SELECT comment_approved FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1"");                                                         
}}}

In my case, I have 600 thousand records in the wp_comments table and the query takes over 10 minutes to complete.

http://matsu.teraren.com/blog/wp-content/uploads/2012/08/a40b1291fd99413dc3057fbe0b792a93.png

To fix this issue, I added index on my running wordpress and returns 0.00sec.

I'll attach the patch for create table file.
",matsubobo
16437,wp_category_checklist should have name parameter,,General,3.0.4,normal,minor,Awaiting Review,enhancement,new,close,2011-02-01T19:48:31Z,2011-12-14T23:12:37Z,"I found [http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/template.php#L64 wp_category_checklist] is useful for creating my plugin/theme settings options. Unfortunately, it's currently don't have name parameter, the name is statically defined as '''post_category''' in the ''Walker_Category_Checklist'' default walker.

[[BR]]
''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true )''

[[BR]]
where it should be something like[[BR]]

''wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true, $name='post_category' )''

So we don't need to create a new walker just to change the name.
Thank you.",takien
19135,wp_get_archives() needs a hook/filter,,General,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-11-03T22:12:19Z,2011-11-05T20:20:01Z,"I would expect that it would have one. It was proposed at one point: #2329

Consider the case where I want to add `rel=""nofollow""` to links in my archive:


{{{
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
ob_start();
wp_get_archives('type=monthly&limit=12');
echo nofollow(ob_get_clean());
}}}


That seems really ugly, especially since I already use the nofollow function in other places using `apply_filter`;

A more elegant way:
{{{
function wrap($string, $tag) {
    return ""<$tag>$string</$tag>"";
}
function nofollow($string) {
    $dom = DOMDocument::loadXML($string);
    $list = $dom->getElementsByTagName('a');
    foreach($list as $a) {
        if (!$a->hasAttribute('rel')) {
            $a->setAttribute('rel', 'nofollow');
        }
    }
    return $dom->saveHTML();
}
add_filter('wp_get_archives', 'wrap', 'ul');
add_filter('wp_get_archives', 'nofollow');
wp_get_archives('type=monthly&limit=12');
}}}",LeviMorrison
18692,wp_insert_post() enhancements,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-09-17T21:33:12Z,2012-10-12T08:41:53Z,"I have created enhancement for `wp_insert_post()` function. There re two changes:[[BR]]
- allows to return WP_Error from `wp_insert_post_data` - in this case function returns that value (or 0 if param `$wp_error == false`) and do not continue;[[BR]]
- filter categories, tags and other taxonomies through new filters: `wp_insert_post_category`, `wp_insert_post_tags` and `wp_insert_post_tax`. New code also checks if these filters returned WP_Error;

These changes will allow me to implement following features in my [http://wordpress.org/extend/plugins/wypiekacz/ WyPiekacz] plugin:[[BR]]
- do not create new post when it does not satisfy appropriate rules. Although WP code will not display that error by itself (#10480, #18266), I will be able to display appropriate error from plugin code (at least when normal editor was used). This will also help me to stop flood of automated post spam;[[BR]]
- allow to review tags attached to post submitted for review - this way tags will be actually created when post will be published; before this they will be stored as post metadata. In order to do this I need to modify tags - unfortunately `wp_insert_post_data` filter does not allow to modify them (it allows read-only access to them only).",sirzooro
20359,wp_list_categories - Diff to make use_desc_for_title parameter more flexible,,General,2.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-04-04T22:57:44Z,2012-04-05T12:58:17Z,"Right now, the @use_desc_for_title is defined as a boolean parameter which outputs category link title attributes containing either:
- Category descriptions by default (''bool '''1''''');[[BR]]
- 'View all posts filed under [category-name]'.[[BR]]
Now, since the title attribute is not required for '''<a>''' tags in any HTML spec, I made a patch to turn this parameter into a string, with the following supported values:[[BR]]
- 'desc' => (default) Outputs category descriptions;[[BR]]
- 'viewall' => Same output as ''bool '''0''''' (''false'') before: 'View all posts filed under [category-name]';[[BR]]
- 'none' => Does not output any title attributes.[[BR]]

I have tested this thoroughly, but additional testing would not hurt.",Marventus
18814,wp_redirect wont allow arrays to be sent in query string,,General,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-09-29T14:27:38Z,2011-10-03T17:04:52Z,"
The pluggable function wp-redirect will not allow arrays to be sent in a query string.  

ie: http://www.example.com/?array[]=first&array[]=second&array[]=last

The brackets are stripped out when the URL is sanitized and it becomes:

http://www.example.com/?array=first&array=second&array=last

This removes the ability to pass the array.",jacksplay
20178,wpdb class : provide a disconnect / connect to db functions,arena,General,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-03-05T13:16:21Z,2012-03-05T16:28:46Z,"some hosts automatically disconnect mysql after a short while.
I think it could be interesting to have in wpdb a disconnect and connect functions.",arena
23912,Add Composer package description,,General,3.5,normal,trivial,Awaiting Review,feature request,new,has-patch,2013-03-30T20:44:16Z,2013-05-18T18:51:47Z,"WordPress, as software download, lacks machine-readable source of meta information about it. For PHP projects de-facto standard for such is Composer via `composer.json` file in project root.

While WP currently doesn't use or need Composer dependency functionality, it will help provide information to developers and improve WP usage ''as'' dependency in projects that make use of Composer.

Suggested `composer.json` draft:
{{{
{
	""name""        : ""wordpress/wordpress"",
	""description"" : ""WordPress is web software you can use to create a beautiful website or blog."",
	""keywords""    : [""blog"", ""cms""],
	""homepage""    : ""http://wordpress.org/"",
	""license""     : ""GPL-2.0+"",
	""authors""     : [
		{
			""name""    : ""WordPress Community"",
			""homepage"": ""http://wordpress.org/about/""
		}
	],
	""support""     : {
		""issues"": ""http://core.trac.wordpress.org/"",
		""forum"" : ""http://wordpress.org/support/"",
		""wiki""  : ""http://codex.wordpress.org/"",
		""irc""   : ""irc://irc.freenode.net/wordpress"",
		""source"": ""http://core.trac.wordpress.org/browser""
	},
	""require""     : {
		""php"": "">=5.2.4""
	}
}
}}}
",Rarst
20194,Add Description meta to General Settings,,General,3.3,normal,minor,Awaiting Review,feature request,new,,2012-03-07T20:59:05Z,2012-03-17T13:50:40Z,"Add a description field to General Settings b/c these days with themes doing all kinds of kooky things, the automatic excerpt is often not representative of the site content.  All the SEO-lovers will be happy, searchers will get more accurate results, and it's a nice end-user feature without high overhead.

Could have sworn I made a ticket like this once before, but can't find it in search, so if anyone remembers it/is better at searching trac than I just was, go ahead and close this as duplicate.",jane
21375,Add Filter for next_posts_link/prev_posts_link label,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-25T14:56:47Z,2012-07-26T17:06:56Z,"There is currently a filter 'next_posts_link_attributes' that allows plugins to add/modify classes/rel/etc to the links.  However, the actual label that is displayed for the link is not accessible through this.

I think that the $label variable in function get_next_posts_link should be run through a filter to allow it to be modified by plugins.

For example, a plugin that adds a custom post type of Apple might want these links to say Next Apples or Previous Apples, or if a plugin changes the ordering of posts, it might want to change 'Earlier' type labels that many themes use to better reflect the new ordering system",MadtownLems
22249,Add ability to set or remove attributes on enqueued scripts and styles.,,General,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2012-10-21T23:29:13Z,2013-03-26T22:18:25Z,"I think it should be easier to customize the loading of scripts and styles (easier to customize the markup generated by the script/style system). Proposed solutions:

'''Solution 1:''' Allow `wp_enqueue_script`, `wp_enqueue_style`, `wp_register_script`, `wp_register_style` to accept an array of attributes as the `$src` parameter. For example:

{{{
wp_enqueue_script( 'my-plugin', array(
    'src' => 'http://example.com/js/app.js'
    'defer' => ''
    'data-my-plugin' => 'custom data attr value'
), array('jquery'), null, true );
}}}

'''Solution 2:''' Add a filter before the markup is generated that allows devs to filter the attributes while they are in array format. For example:

{{{
add_filter('script_loader_attrs', function ($attrs, $handle) {
    unset ( $attrs['type'] );
    'my-plugin' === $handle and $attrs['data-my-plugin'] = 'plugin data';
    $attrs['src'] = remove_query_arg( $attrs['src'] );
    return $attrs;
}, 12, 2);
}}}
In class.wp-scripts.php it might look something like:

{{{
$attrs = (array) apply_filters('script_loader_attrs', $attrs, $handle);
}}}

and/or:

{{{
$attrs = (array) apply_filters(""{$handle}_script_loader_attrs"", $attrs );
}}}

----

I imagine that solution '''2''' would be easier to implement than '''1''', and '''2''' allows for themes/plugins to modify scripts/styles w/o re-registering resources.

The key feature of both solutions is the ability to modify the attrs while in array format. There are other ways that one could achieve the same results, but the array is '''by far the cleanest'''. Dirty alternatives include: 
* Use `preg_replace()` on the markup after it is generated (see #22245)
* Use output buffers and PHP's DOMElement interface
* Filter away the ""print_scripts_array"" and regenerate the markupmanually.)",ryanve
20958,Add to the Template Hierarchy the 410 error page,byteee,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-14T16:32:57Z,2012-06-14T16:32:57Z,"In my last project where I migrate a web from asp to wordpress, I have some pages that not longer exists. Normally, we do a 301 redirection to the home page or some other place. But digging a little in google, if we get a page that not longer exists, its better to return a 410 response code instead of 301 code (talking about SEO aspects).

I did it manually following this post: [http://otroblogmas.com/retornar-410-wordpress/]

I think that we can include in the Template Hierarchy the 410.php file to show it when we are getting a page that not longer exists. ",byteee
17298,"Adding optional ""fieldname_base"" parameter to touch_time() function would allow plugin authors to reuse this code",,General,,normal,trivial,Awaiting Review,feature request,new,,2011-05-01T20:50:42Z,2012-02-03T15:56:52Z,"I didn't see any discussion of this over the years, and wondered if this was a feature that other people would like to see added:

In a couple projects, I've had to recreate a date entry form very similar to the one generated by the `touch_time()` function in wp-admin/includes/template.php. This function could be modified very easily to be reusable in plugins.

The simplest way of doing this, in my opinion, is to accept an optional fifth parameter for a fieldname base string.

Current output of the function:

{{{

<select id=""mm"" name=""mm"" tabindex=""4"">
// options
</select>
// etc
}}}

If this could be modified by a plugin to output something like this:

{{{

<select id=""eventstartdate_mm"" name=""eventstartdate[mm]"" tabindex=""4"">
// options
</select>
// etc
}}}

...it would be very useful. Would improve standardization of UI elements between core and plugins.

Of course, the entire template.php file is A Big Mess. Not sure if we should be messing around in there too much.

 ",goldenapples
17478,Disable Comments for Pages / Disable Comments for Pages Site-Wide,,General,3.1.2,normal,normal,Awaiting Review,feature request,new,,2011-05-17T19:04:25Z,2011-11-08T16:23:44Z,"Ladies and gentlemen, 

it's been suggested on the Forum that I start a new ticket here. I think it's a good idea. 

Here's a couple of suggestions that I believe if implemented would greatly improve WordPress functionality and popularity:

1) Make the Display Widget  for pages visible by default, the way it was before the WordPress 3.0. Many non-blog WordPress website owners, and many bloggers, want the comments for pages disabled, but have no idea how to do that, because the Discussion checkbox in the Screen Options panel for Pages  is deselected by default. As a result, most people new to WP 3 have no idea that Discussion Widget even exists, and have trouble disabling comments on pages. 

Disabling such comments is very necessary in many situations. For example, a page that includes only a contact form, shouldn't have comments. Most WordPress users do not need their portfolios, or their ""About"" pages commented – and so on. 

2) Create the checkbox that would allow to toggle all comments (old and new) comments for all pages with one click – and a separate checkbox that would allow to toggle all comments (old and new) for all posts – site-wide. 

Many WordPress based business websites have hundreds of pages, and it would save a lot of time if the owner or designer could just disable the comments by deselecting one checkbox. I do realize it can be easily done by commenting out the comments in the code, but wouldn't it be nicer to have it as a checkbox option? 

Some of the owners of such sites want to have a blog on their site, too - and want to have comments as a traditional part of blog functionality. That's what comments for pages and posts should be toggle-able site-wide independently from each other. 

For best experience, the post comments should also have a toggle checkbox. Some owners may want to disable comments for all posts site-wide, too. 

To see where this request is coming from, please Google ""disable comments for pages wordpress"" and you will see that the issue does cause quite a bit of confusion. 

Also please see this thread of the WordPress support forum about: http://wordpress.org/support/topic/disable-comments-for-page-option/

I hope this suggestion helps to improve WordPress – already the greatest open source CMS platform.

Best regards, 

Dimitri Vorontzov
 ",Dimitri Vorontzov
20523,Disable autoloader when using class_exists(),,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-04-23T10:08:32Z,2012-05-16T01:07:04Z,"A couple of files inside the /wp-includes/pomo directory use class_exists() the wrong way, for example in /wp-includes/pomo/entry.php :
{{{
if ( !class_exists( 'Translation_Entry') ):
}}}

It should be:
{{{
if ( !class_exists( 'Translation_Entry', false) ):
}}}

The second parameter 'false' disables autoloading. This is important because I'm integrating some WP functions into another existing website which already comes with an Autoloader for some classes = confusion.

This should be easy to fix. Thanks :)
",michael.heuberger
19628,FEATURE REQUEST: std deviation option for wp_tag_cloud,,General,3.3,normal,minor,Awaiting Review,feature request,new,dev-feedback,2011-12-21T04:16:22Z,2012-01-21T10:55:36Z,"Feature Request

Add a std deviation, logarithmic, or other non-linear algorithm for generating tag cloud sizes...  I have a sample set containing approximately 500 tags, with two tags which fall in the 100 posts range, whereas most tags end up with less than 20.  I would still like the two tags to show up, and to show up the largest, and a simple std deviation (66% show up in 1 std dev, 96% or so in the 2nd, etc) or logarithmic algorigm for calculating tag element sizes, based on the sample set.",bhoogterp
21002,Feature request: wp_link_pages() needs support for formatting the current page,,General,,normal,normal,Awaiting Review,feature request,reopened,,2012-06-17T19:09:51Z,2013-01-18T02:27:18Z,"To follow up my previous feature request #21001, it would be super to see a way to style/format the current page, because it could look different compared to links to other pages (for example "">> Page % <<""). An option called currentpagelink seems fitting.",archon810
23285,Implement an AMD JavaScript loader in WordPress,,General,,normal,normal,Awaiting Review,feature request,new,,2013-01-24T14:28:47Z,2013-01-25T07:04:55Z,"AMD = Asynchronous Module Definition

See comment: http://core.trac.wordpress.org/ticket/22896#comment:29

I think this is a must for the future viability of WordPress and plugins written for it.

Multiple versions of JavaScript libraries are a fact of life and we have to deal with it somehow.

If WordPress provides the framework for the use of multiple versions of JavaScript libraries then a lot of the problems we see with WordPress now will be a thing of the past.

This represents a major re-think of the current WordPress JavaScript loading paradigm, but I think it is necessary and would be well worth it.

I'm not a terribly advanced developer, and there might be better solutions out there or others to come, but for now, I think this is the way to go.

Example:

http://requirejs.org/docs/why.html

http://requirejs.org/docs/whyamd.html

https://github.com/amdjs/amdjs-api/wiki/AMD

It does not have to be RequireJS, but it seems the most mature and popular of the implementations.

From the unminified jQuery source:
{{{
// Expose jQuery as an AMD module, but only for AMD loaders that
// understand the issues with loading multiple versions of jQuery
// in a page that all might call define(). The loader will indicate
// they have special allowances for multiple jQuery versions by
// specifying define.amd.jQuery = true. Register as a named module,
// since jQuery can be concatenated with other files that may use define,
// but not use a proper concatenation script that understands anonymous
// AMD modules. A named AMD is safest and most robust way to register.
// Lowercase jquery is used because AMD module names are derived from
// file names, and jQuery is normally delivered in a lowercase file name.
// Do this after creating the global so that if an AMD module wants to call
// noConflict to hide this version of jQuery, it will work.
if ( typeof define === ""function"" && define.amd && define.amd.jQuery ) {
	define( ""jquery"", [], function () { return jQuery; } );
}
}}}

Note: '''multiple versions of jQuery'''",auniquename
21300,Implement autoloader compatible with PSR-0 for plugins and themes,,General,,normal,normal,Awaiting Review,feature request,new,,2012-07-17T21:15:45Z,2012-09-11T02:20:09Z,"To provide more compatibility with other frameworks, it would be great if WordPress implemented an autoloader compatible with PSR-0. Plugins and themes could then register namespaces or prefixes with the autoloader.

I believe this could be implemented without any BC breaks.

Details of the PSR-0 standard:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md",dave1010
20492,Improve submit_button(),,General,3.4,low,normal,Awaiting Review,feature request,new,,2012-04-19T20:40:10Z,2012-04-19T21:39:51Z,"The `submit_button()` function takes five arguments and calling it ends up being very messy.

Example [comment:ticket:20490:3 given by Scribu]:
> It makes for very unreadable code. For example, when I see this:
> 
> {{{
> submit_button( $args['label_submit'], 'button', 'submit', false, array( 'id' => $args['id_submit'] ) )
> }}}
> 
> I have no idea what that `false` parameter is for, without looking up the defition for submit_button().
> 
> Plus, it's not that much shorter than writing the HTML by hand, which is clear as day:
> 
> {{{
> <input name=""submit"" type=""submit"" id=""<?php echo esc_attr( $args['id_submit'] ); ?>"" value=""<?php echo esc_attr( $args['label_submit'] ); ?>"" />
> }}}

Let's change this so it accepts a `$text` parameter for the button text and an `$attributes` parameter for everything else.

Patch coming up.",johnbillion
17398,Logout with ays should still respect redirect_to,mitchoyoshitaka,General,2.8.4,normal,minor,Awaiting Review,feature request,new,has-patch,2011-05-12T14:46:24Z,2011-11-18T17:19:57Z,"When logging out with a bad nonce, you're taken to the ""Are you sure?"" page, but even if you were sent there with a redirect_to parameter, this parameter is later ignored when you do choose to log out.",mitchoyoshitaka
18729,No HTML Classes/IDs Associated With get_the_password_form() Output,,General,3.2.1,normal,normal,Awaiting Review,feature request,new,has-patch,2011-09-21T10:11:35Z,2011-09-28T06:08:31Z,"Currently get_the_password_form() outputs a password form that offers no HTML classes or IDs for proper styling:

{{{
/**
 * Retrieve protected post password form content.
 *
 * @since 1.0.0
 * @uses apply_filters() Calls 'the_password_form' filter on output.
 *
 * @return string HTML content for password form for password protected post.
 */
function get_the_password_form() {
	global $post;
	$label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID);
	$output = '<form action=""' . get_option('siteurl') . '/wp-pass.php"" method=""post"">
	<p>' . __(""This post is password protected. To view it please enter your password below:"") . '</p>
	<p><label for=""' . $label . '"">' . __(""Password:"") . ' <input name=""post_password"" id=""' . $label . '"" type=""password"" size=""20"" /></label> <input type=""submit"" name=""Submit"" value=""' . esc_attr__(""Submit"") . '"" /></p>
	</form>
	';
	return apply_filters('the_password_form', $output);
}
}}}

It would be quite useful to add classes to the form and input elements in this output so that we can properly style the password form without having to filter the output in, for example, a theme's functions.php file.
",philiparthurmoore
16509,Offer remote install-script as installer option,,General,,normal,normal,Awaiting Review,feature request,new,,2011-02-09T22:01:35Z,2011-10-03T23:03:55Z,"I've just tried this script

http://instantinstall.org/

and I wondered if it weren't a useful addition to have an officially supported remote install script for WP. So people could download the script instead of the entire package, upload it to their servers and let them do the heavy lifting. This would be particularly useful for people who regularly set up WP for clients.

Having a wp.org supported script would be great for people who are weary of using third party code.",youngmicroserf
17834,Quick Edit of Hierarchal Terms,,General,,normal,normal,Awaiting Review,feature request,new,,2011-06-18T12:47:23Z,2011-09-10T01:41:21Z,"Would be nice if the Quick Edit function for hierarchal terms included the ability to change the parent. In fact, you could pretty much eliminate the Edit function altogether by doing this.",DragonFlyEye
21644,Should contributors be allowed to edit their posts once scheduled?,,General,3.4.1,normal,normal,Awaiting Review,feature request,new,,2012-08-20T21:36:55Z,2013-01-29T19:42:14Z,"
This may not be a ""bug"" per-se,but seems to have a lot of negative consequences so I'll give it a shot.

According to the rules:  A contributor can edit their own Posts - irrespective of who scheduled it.
http://codex.wordpress.org/Roles_and_Capabilities#Contributor

This creates problems for large publications where there is an editor who makes changes to posts and then schedules them, sometimes a couple days in advance.

As it stands now, a contributor can still log in after that process is done which means unexpected changes and shenanigans might take place.

Wouldn't it make more sense for a contributor to lose editing privileges as soon as something is no longer in draft modea?

Just my two cents.


",nickaster
20844,Specify titles using <!-- nextpage -->,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-05T09:49:51Z,2012-06-19T23:05:04Z,"Hi,

I'm planning to code a plugin but maybe you're going to code it into WP core, so I prefer to ask before.

The idea is to modify <!-- nextpage --> code in order to give a title to every page, also better in SEO to have an url like www.wordpress.org/2012/my-article and www.wordpress.org/2012/my-article/conclusion/ instead of www.wordpress.org/2012/my-article/2/.

Maybe is possible to modify it this way: <!-- nextpage['Conclusion'] -->

It's different from subpages because it will be usable on every post type, not even on pages, and you will create just one post, not more.

Last but not least you could have a page selector with titles not page numbers.

Thanks :)",sgr33n
17525,There should be a datetime_format option to specify whether the date or the time comes first,,General,,normal,normal,Awaiting Review,feature request,new,,2011-05-20T20:09:11Z,2011-05-20T20:09:11Z,"As a theme author it would be very useful to have a global option for formatting a full datetime (and a the_datetime() function too).

Sometimes datetimes are formatted ""$date $time"", sometimes it's ""$time $date"", sometimes it's even ""$date at $time"".

I think there should be an option for this in the general settings alongside the date and time format options.",holizz
19904,Trim Leading and Trailing White Space in a Post Title,,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-01-26T23:37:15Z,2012-01-27T00:55:01Z,"In working with clients today I realized that they were copying and pasting post titles but including a leading space in it by accident.  Because of this the orderby feature of the query wasn't appearing to work.  Turns out it was but the spaces where all correct so it was messing with the query.  

I think it would make sense that on a title field of a post/ page that any leading whitespaces and any trailing white spaces should be trimmed off.

something like 


{{{
trim($post_title);
}}}


",greenspeakmedia
20531,Version No. removed from theme name in themes,,General,3.4,normal,minor,Awaiting Review,feature request,new,,2012-04-24T11:12:54Z,2012-04-25T09:06:55Z,"The version no. of themes is removed in 3.4 from the themes page. There was a direct display of theme version no. in 3.3 and was a great help for developers with lots of theme with different versions. But now we have to click on Details to see the version number, which is just a bit time consuming. Hope you would consider my request. 

Thanks
Sanam",kcssm
21195,get_avatar_url,,General,2.5,normal,normal,Awaiting Review,feature request,new,has-patch,2012-07-08T18:51:40Z,2013-03-13T00:01:16Z,"There should be a separate function to just get an avatar URL, versus getting the image wrapped in an <img> tag. This function should pass the avatar URL through a filter before returning it.
'''get_avatar''' would then call this function, rather than generating a Gravatar URL on its own.


This way, a plugin can grab a user's avatar image without relying on regex to extract the image from the <img> tag, and in a way that is compatible with plugins that replace Gravatar.",pathawks
21171,jQuery Events for Metaboxes,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-05T21:35:47Z,2012-07-06T01:14:52Z,"Currently, when a plugin adds a metabox with complex objects (like TinyMCE, Maps, CodeMirror etc) care must be taken to refresh the objects when the elements are moved (including hidden/shown).

After some digging, I've found that this seems to works in most cases:
{{{
var context = ""#custom_meta_box_id"";
$( '#adv-settings' ).on( 'click', context + '-hide, ', refresh );
$( context ).on( 'click', '.hndle, .handlediv', refresh );
	
$('.meta-box-sortables').bind( ""sortstop"", refresh );
}}}
which isn't terrible, but seems fragile if core changes in the future, and there should just be a better way :-)

Two ideas from dev chat are triggering custom events or the (coming soon) ""js actions"" which would be more robust (like php actions).",WraithKenny
20241,make it possible for plugins to activate other plugins,,General,,normal,normal,Awaiting Review,feature request,new,has-patch,2012-03-15T12:48:59Z,2012-06-30T11:36:05Z,"When creating a plugin that depends on other plugins, i would like to enable those plugins during activation of the main plugin.

This is currently not possible, as updates to active_plugins done by the other plugins get overwritten.

Please apply the attached patch to fix this.",magnus78
20660,wp_get_attachment_url() ignores filter for unrecognized IDs,,General,3.3.2,normal,minor,Awaiting Review,feature request,new,,2012-05-11T16:49:29Z,2012-05-11T20:54:53Z,"wp_get_attachment_url() fails to invoke its filters when it encounters an unrecognized post ID.  It would be helpful to allow a filter to deal with the situation.

The plugin NextGEN Gallery uses image IDs like ""ngg-1"", while WP's image IDs are integers.  A filter could deal with the situation.

wp_get_attachment_url() begins like this:


{{{
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  return false;
}}}


Obviously, a nonstandard post ID will ignore the filters.  If the filters were invoked, nonstandard IDs can be dealt with as desired by themes or plugins.

The filter should be given a ""false"" value instead of $url, and the original $post_id value (before forcing to (int)).  If existing filters are already dealing with null or empty URLs, they can handle this situation.

Suggestion:

{{{
$post_id_original = $post_id;
$post_id = (int) $post_id;
if ( !$post =& get_post( $post_id ) )
  $url = apply_filters( 'wp_get_attachment_url', false, $post_id_original );

  if ( empty( $url ) )
     return false;

  return $url;
}}}
",RoamFree
21107,wp_register_resource,,General,,normal,normal,Awaiting Review,feature request,new,,2012-06-28T20:38:31Z,2012-06-29T09:15:34Z,"

Building on the concept of wp_register_script and wp_register_style I would love to see something more general for requiring resources with dependencies.  Many times certain scripts require certain styles to be included and vice versa.  This could also extend to other resource types as well.  


Let's use a basic example of some certain script creatively called Script-1.  That Script-1 may have certain scripts and styles or other item on which it is dependent, let’s call them Script-1-A,Script-1-B and Style-1-A, Style-1-B.  When you register the script you can of course specify other dependent scripts, but not the dependent styles, or other resource.  Of course you can register the styles separately.  It may seem trivial that you can then just register Script-1-A, Script-1-B and register Style-1-A, Style-1-B and then wp_enqueue_script (Script-1,array(Script-1-A, Script-1-B)) and wp_enqueue_style(Style-1-A), wp_enqueue_style(Style-1-A)  separately.  Now let's say you have Script-2 that depends on Script-1.  When you call wp_enqueue_script(Script-2) you also have to remember to call wp_enqueue_style(Style-1-A) and wp_enqueue_style(Style-1-B).  As the levels of dependency increase or if something changes it gets a lot more difficult to maintain.  


My example above only focused on styles and scripts but could apply to other resources such as fonts and/or images that you would like to manage using the flexibility of the WordPress queueing and  actions/hooks systems. Sure you could have scripts call the styles themselves but then those styles would not be processed through wordpress and therefore might not take advantage of combining, compressing, caching systems you might have in place in addition to the ability to deregister and change certain items in child themes/skins as easily.

I have a system setup to run hundreds of sites with a core theme that provides common structure, style, scripts and a host of other functionality.  Then I have an array of child themes geared towards certain types of sites.  Those child themes each can have an unlimited number of skins.  The skins can all introduce new functionality and build on the functionalities, styles, scripts, etc of the child theme which builds upon the core theme.  This is one of the many cases where being able to just call the single wp_enqueue_resource would greatly help, especially when things change. 

Implementation: To implement for just scripts and styles to get started you could make a new “Resources” queue in which each resource could have a list of resources and type.  When you enqueue a resource it could call wp_enqueue_script and wp_enqueue_style.  Now we would have to add the ability to add a placeholder or null type of item in wp_register_script and wp_register_queue. Because looking at the example I laid out above you would do something like this:



Class Resource might either contain and array of generic resources or could have separate styles/scripts.  There are obviously flexibility and performance implications of both methods.

Here is some very rough pseudocode:

{{{
wp_register_resource(‘Resource-1’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-1’,
      ‘src’=>‘Script-1-URL’,
      ‘deps’=>array(’Script-1-A’,’Script-1-B’),
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>‘ Style-1-URL’,
      ‘deps’=> array(Style-1-A’, Style -1-B’),
      ‘ver’=>’’,
      ‘media’=>’’)
  )
)
}}}

do not call wp_register_style/ wp_register_script upon registering of the resource and wait until this resources or resource requiring this resource is enqueued.  This way the style and script are not enqueued separate from the resource and therefore each other since they are dependent on each other.  It would however register the resource in the resource queue.

{{{
wp_enqueue_resource(‘Resource-1’) would:
wp_enqueue _script(‘Resource-1’, ‘Script-1-URL’, array(’Script-1-A’,’Script-1-B’));
wp_enqueue _style(‘Resource-1’, ‘Style-1-URL’, array(Style-1-A’, Style-1-B’));
}}}

2a
//wp_register_resource($handle, $resources=array(),$deps=array())

{{{
wp_register_resource(‘Resource-2’,
  array(
    ‘script’=>array(
      ‘handle’=>‘Script-2’,
      ‘src’=>‘Script-2-URL’,
      ‘deps’=>array(’Script-2-deps’)
      ‘ver’=>’’)
    ‘style=>array(
      ‘handle’=>‘Style-1’,
      ‘src’=>’’,
      ‘deps’=>array(’’)’,
      ‘ver’=>’’,
      ‘media’=>’’)
  ),
  array(‘Resource-1’)
);
}}}

{{{
wp_enqueue_resource(‘Resource-2’) would:
wp_register_script(‘Resource-1’,’Scipt-1-URL’……)
wp_register_style(‘Resource-1’,’Style-1-URL’……)
wp_enqueue_script(‘Resource-2’, ‘Script-1-URL’, array(‘Resource-1’,’Script-1-A’,’Script-1-B’))
wp_enqueue_style(‘Resource-2’, ‘’, array(‘Resource-1’))
}}}


`wp_deenqueue_resource(‘Resource-2’)` would take dequeue it’s scripts and dependent scripts/styles (assuming those dependent scripts and styles were not enqueued elsewhere)


There are the issues to work out on whether a resource could specify multiple scripts/styles or whether it should just be zero/one of each that listed others as dependencies.  Either way can work, just depends on what community thinks.",gruvii
16890,Mutliple Location response headers can trigger notices,,HTTP,,normal,normal,Awaiting Review,defect,new,has-patch,2011-03-18T17:08:33Z,2011-03-18T22:42:40Z,"The current implementation for manual cUrl redirects (safemode / openbasedir restrictions, see #11305) will do notices and fail if a response contains more than one location response header.

Technically this is possible.

In the RFC I have not found any definition so far wether or not this is violating any standard or not not. Next to that I could gather no information how a HTTP client should interprete such a response.

For my fix I will prefer the first location header over any additional one.",hakre
24201,Error in RegEx for proxy excluded URL in function send_through_proxy,,HTTP,3.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-26T13:13:37Z,2013-04-26T13:51:27Z,"Dear WordPress Team,

I've detected a bug in the function send_through_proxy in the class WP_HTTP_Proxy. The coded regex for wildcarded domains only works for subdomains containing characters (a-zA-Z0-9) and . (dot) but not for subdomains containing characters (a-zA-Z0-9) and - (dash). 

File: wp-includes/class-http.php around line 1411 

Example:
{{{
define(WP_PROXY_BYPASS_HOSTS, '*.example.com');
}}}
foo.bar.example.com will not use proxy.
foo-bar.example.com will use proxy.

POSSIBLE SOLUTION: 
Change the line 1411 from 
{{{
     $wildcard_regex[] = str_replace('\*', '[\w.]+?', preg_quote($host, '/'));
}}}
to
{{{
     $wildcard_regex[] = str_replace('\*', '[\w.-]+?', preg_quote($host, '/'));
}}}

Yours,
Erich Lerch",erich1978
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
17010,Inconsistent handling of HTTP response codes,,HTTP,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-01T00:00:13Z,2011-04-06T00:20:04Z,"I noticed during some testing to see what would happen if a server returned a 404 when streaming to a file,and found some inconsistent handling of response codes between transports.

The below test checks to see if the transport returns a WP_Error or if it returns an actual response. If the second column is an integer matching the first column then the transport returned a response, if the second column is 'wp_error' then the transport returned WP_Error for that response code.

STREAMS:
{{{
100 => 100
101 => 101
102 => 102
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => 400
401 => 401
402 => 402
403 => 403
404 => 404
405 => 405
406 => 406
407 => 407
408 => 408
409 => 409
410 => 410
411 => 411
412 => 412
413 => 413
414 => 414
415 => 415
416 => 416
417 => 417
422 => 422
423 => 423
424 => 424
426 => 426
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

FSOCKOPEN:
{{{
100 => 100
101 => 101
102 => 102
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => wp_error
401 => wp_error
402 => wp_error
403 => wp_error
404 => wp_error
405 => wp_error
406 => wp_error
407 => wp_error
408 => wp_error
409 => wp_error
410 => wp_error
411 => wp_error
412 => wp_error
413 => wp_error
414 => wp_error
415 => wp_error
416 => wp_error
417 => wp_error
422 => wp_error
423 => wp_error
424 => wp_error
426 => wp_error
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

EXTHTTP:
{{{
100 => wp_error
101 => wp_error
102 => wp_error
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => 400
401 => 401
402 => 402
403 => 403
404 => 404
405 => 405
406 => 406
407 => 407
408 => 408
409 => 409
410 => 410
411 => 411
412 => 412
413 => 413
414 => 414
415 => 415
416 => 416
417 => 417
422 => 422
423 => 423
424 => 424
426 => 426
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

CURL:
{{{
100 => wp_error
101 => wp_error
102 => wp_error
200 => 200
201 => 201
202 => 202
203 => 203
204 => 204
205 => 205
206 => 206
207 => 207
226 => 226
300 => 300
301 => 301
302 => 302
303 => 303
304 => 304
305 => 305
306 => 306
307 => 307
400 => 400
401 => 401
402 => 402
403 => 403
404 => 404
405 => 405
406 => 406
407 => 407
408 => 408
409 => 409
410 => 410
411 => 411
412 => 412
413 => 413
414 => 414
415 => 415
416 => 416
417 => 417
422 => 422
423 => 423
424 => 424
426 => 426
500 => 500
501 => 501
502 => 502
503 => 503
504 => 504
505 => 505
506 => 506
507 => 507
510 => 510
}}}

We need to define when we want to return a WP_Error, if ever.  I am thinking that returning a WP_Error is not very useful if we get a response from the server.  The response codes tested were obtained from get_status_header_desc().",sivel
21182,WP_HTTP_Cookie doesn't handle the default conditions for the 'domain' and 'path' field correctly.,,HTTP,,low,minor,Awaiting Review,defect (bug),new,,2012-07-07T04:34:45Z,2012-07-07T04:34:45Z,"WP_HTTP_Cookie currently handles ""simple"" cookies in exactly the same way they're received, that is, it only fills in the details that the set-cookie header contained.

However, some fields are optional, and as a result of this, the [http://www.ietf.org/rfc/rfc2109.txt rfc for state management] specifies a set of default values for certain fields:
{{{
4.3.1  Interpreting Set-Cookie

   The user agent keeps separate track of state information that arrives
   via Set-Cookie response headers from each origin server (as
   distinguished by name or IP address and port).  The user agent
   applies these defaults for optional attributes that are missing:

   VersionDefaults to ""old cookie"" behavior as originally specified by
          Netscape.  See the HISTORICAL section.

   Domain Defaults to the request-host.  (Note that there is no dot at
          the beginning of request-host.)

   Max-AgeThe default behavior is to discard the cookie when the user
          agent exits.

   Path   Defaults to the path of the request URL that generated the
          Set-Cookie response, up to, but not including, the
          right-most /.

   Secure If absent, the user agent may send the cookie over an
          insecure channel.
}}}

We currently don't do anything special for Secure cookies (From what I can see), but we also need to handle the 'domain' and 'path' field defaults better, as currently they remain at the default null if nothing is passed. This can result in domains passing the WP_HTTP_Cookie::test() method to a different domain or path than they were issued on.

Example cookie values (and WP_HTTP_Cookie representations) which can trigger this:
{{{
PHPSESSID=ros1liponkqip23k9le0hhmp31; path=/' (length=44)
test=1341632838; expires=Sat, 07-Jul-2012 04:47:18 GMT
array (size=2)
  0 => 
    object(WP_Http_Cookie)[87]
      public 'name' => string 'PHPSESSID' (length=9)
      public 'value' => string 'ros1liponkqip23k9le0hhmp31' (length=26)
      public 'expires' => null
      public 'path' => string '/' (length=1)
      public 'domain' => null
  1 => 
    object(WP_Http_Cookie)[86]
      public 'name' => string 'test' (length=4)
      public 'value' => string '1341632838' (length=10)
      public 'expires' => int 1341636438
      public 'path' => null
      public 'domain' => null
}}}

This is not a issue for WordPress core, but could affect plugins who do anything special with Cookies.",dd32
24182,WP_Http_Fsockopen fails when requesting an IP based URL with an explicit Host header,,HTTP,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-24T22:39:29Z,2013-04-24T22:52:18Z,"When requesting a resource with a IP based URL and an explicitly set Host header fsockopen fails.

wp_remote_post():
{{{
$url = http://72.233.69.89/1.1/verify-key
$args = Array
(
    [body] => key=xxxxxxxxxxxx&blog=http%3A%2F%2Ffriedcell.si%2Foutbreak
    [headers] => Array
        (
            [Content-Type] => application/x-www-form-urlencoded; charset=UTF-8
            [Host] => rest.akismet.com
            [User-Agent] => WordPress/3.5.1 | Akismet/2.5.7
        )

    [httpversion] => 1.0
    [timeout] => 15
)
}}}
WP_Http_Fsockopen $strHeaders just before [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-http.php#L729 fwrite]:
{{{
POST /1.1/verify-key HTTP/1.0
Host: 72.233.69.89
User-agent: WordPress/3.5.1 | Akismet/2.5.7
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Host: rest.akismet.com
Accept-Encoding: deflate;q=1.0, compress;q=0.5
Content-Length: 58

key=xxxxxxxxxxxx&blog=http%3A%2F%2Ffriedcell.si%2Foutbreak
}}}
The request fails as the first Host header is used.

When $arrURL!['host'] is an IP and there is a Host header in $r!['headers'], the Host header should not be added from the URL (http://core.trac.wordpress.org/browser/trunk/wp-includes/class-http.php#L706) so that the explicitly specified Host header is used.",friedcell
21999,Passing cookie arguments to the HTTP API should be easier,,HTTP,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-26T06:24:38Z,2012-09-26T06:24:38Z,"If you want to set cookies during a remote HTTP request in WordPress, it's currently a rather pain in the ass to do.

Rather than having to deal with `WP_HTTP_Cookie`, it'd be nice if you could just pass a `name => value` array and have the rest taken care for you behind the scenes.",Viper007Bond
19707,admin-ajax.php requests via http regardless of force_ssl_admin() state,,HTTP,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-01-01T00:53:52Z,2012-04-27T20:59:54Z,"Noticing these requests failing:

""NetworkError: 403 Forbidden - http://HOSTNAMEwp-admin/admin-ajax.php""


My server explicitly denies http to wp-admin.  SSL only.

Looks like admin_url() is giving http rather than https. I suspect this bug actually lies somewhere in get_site_url(), but I don't have time to triage this right now.

This is technically a security bug since WP should always obey force_ssl_admin(), but I don't think anything is being leaked or compromised.  You don't get access to anything, and nothing being sent over the wire is sensitive since it still obeys the rules of the protocol (cookie is secure).  It's just a nuisance.",robertaccettura
21446,plugins using curl with IPV6 enabled servers,,HTTP,3.4.1,normal,normal,Awaiting Review,enhancement,new,close,2012-08-01T21:46:28Z,2012-08-09T10:41:24Z,"
plugins using curl give problems on servers having both IPV4 and IPV6 network interfaces running. Basically the performance is poor because curl is timing out on the IPv6 address..  The workaround is:

add line:
curl_setopt( $handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
in ../wp-includes/class-http.php

Why not have this set as default?
",mippie32
19737,"""What's New"" screen confusing for minor updates",,Help/About,3.3,normal,normal,Awaiting Review,defect (bug),new,,2012-01-04T17:49:14Z,2013-01-22T01:34:46Z,"As [http://www.wptavern.com/wordpress-3-3-1-fixes-security-exploit reported on WPTavern], when you ugprade to 3.3.1, the ""What's New"" screen makes it seem like all the new features were introduced in 3.3.1 and not 3.3.

We should add a header below the short summary to the effect of ""New features introduced in 3.3"".",scribu
20907,About screen text assumes user has update privileges,,Help/About,3.3,normal,normal,Awaiting Review,enhancement,new,,2012-06-11T17:59:18Z,2012-06-11T18:02:42Z,"From the 'About' screen in WordPress:

> Thank you for updating to the latest version!

But I didn't! I am just a lowly editor. My administrator probably updated the site for me.

We shouldn't show this sentence if the user doesn't have the `update_core` capability.",johnbillion
20661,Add help text for search usage in Multisite User browsing,,Help/About,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-05-11T18:32:34Z,2012-05-12T04:40:21Z,"Search on the Network Users page defaults to wildcards disabled by default. This may not be expected functionality by a lot of end users, so I think some notes on how to use search should help.

Related: #20135",ericlewis
22305,Credits Page Should Include more than 'just' people who commit a patch,,Help/About,,normal,normal,Awaiting Review,enhancement,new,,2012-10-29T16:28:32Z,2013-02-01T02:09:12Z,"If you want to find how contributes to core, it's easy, but everyone else is unlisted.

Right now, unless the person who commits a patch remembers to 'props', the person who submits a ticket, or leads to a great discussion that drives the code to a solution in the comments, are never mentioned. This drives a wedge between coders and non-coders, as some people can help but they just may not be super coders.

Proposals:

1) When pulling a list of 'everyone who helped' for the credits page, also pull a list of all IDs who commented in the tickets that were commited and list as 'Also Contributed...'

2) In 'Recent Rockstars' (which is a manually culled list anyway), pull in the active awesome people in support, documentation, codex, manuals, training, and WordCamps (for example). Include people in UI who contribute screenshots/design/wireframes that drive changes.


People who contributed to this ticket:

* ryanimel
* saracannon
* brandondove
* theandystratton
* tomwillmot
* SiobhanP (aka raggedrobins)
* ryan duff
* Lisa Sabin-Wilson
* js_zao
* vegageek
* andrea_r
* ipstenu

If I got your logins wrong, sorry.",Ipstenu
21341,Explain Site and User count update frequency in Network Admin contextual help,,Help/About,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-07-22T01:03:00Z,2012-07-22T01:03:00Z,"While adding a bunch of sites to a multisite install today, I noticed for the first time that the counts (option `blog_count`) for sites and users in the Right Now box don't update immediately. I was confused, but then saw [[ticket:15170]] which moved the count update to a twicedaily cron for scalability reasons.

It may be helpful to include this information in the contextual help for others who will find themselves confused. Attached patch is an attempt at that.",jeremyfelt
23687,Filter Contextual Help Label,,Help/About,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-03-04T11:54:04Z,2013-03-04T17:40:07Z,"The contextual help feature is a great way to add help to themes and Plugins. However, we often find that our theme/Plugin users do not even notice the generic 'Help' button on the top right of the admin screen.

It would be useful to be able to customise this label to include the theme/Plugin name so users know this is help specific to that theme/Plugin and not just WordPress generated help.

Currently there is no way to filter the help label. It is fixed to 'Help'. I have included a patch that allows you to filter it to display your own custom help label such as 'Plugin Help', 'Theme Help' etc.

Usage is then:

{{{
function custom_label($label, $screen_id){

	global $options_page_id;
	
	if ($screen_id == $options_page_id)
		$label = __( 'Plugin Help' );

	return $label;
}
add_filter('contextual_help_label', 'custom_label', 10, 2);
}}}
",dgwyer
20842,Buttons are not on the same line when saving a post as pending (RTL),,I18N,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-06-04T23:58:11Z,2012-09-08T22:55:52Z,Please check attachment.,rasheed
19689,Context for Dismiss,,I18N,3.3,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-12-29T20:37:46Z,2012-05-02T16:32:18Z,"In WP 3.3 there are some new occurences for ""Dismiss"". But in some languages there is not one ideal translation for this verb.

1) Dismiss - meaning Close (suitable for Welcome screen, Browser window and Pointers).

2) Dismiss - meaning Cancel or Stop (suitable for uploading media).

I created basic patch to better explain this idea.

I also could not find occurences for Dismiss in async-upload.php and script-loader.php anywhere in administration during upload, but maybe it is related to some special conditions? In which circumstances can users see string Dismiss during uploading media?",pavelevap
22172,Localized strings not applied in notification email,,I18N,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-10-12T12:02:28Z,2012-10-12T16:51:59Z,"After user registration and activation (multisite), administrator receive email (function wpmu_signup_user_notification() in wp-includes/ms-functions.php). But content of this email is not translated even if localization file contains translated strings.

{{{
New User: %1s\n
Remote IP: %2s\n
\n
Disable these notifications: %3s
}}}

Email subject is localized, but content not. I am not sure about the cause of this problem...",pavelevap
22745,Missing number_format_i18n() on term counts,,I18N,2.1,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-12-04T23:51:06Z,2012-12-04T23:52:00Z,The `Walker_Category` and `Walker_CategoryDropdown` classes output term counts as-is. They should be wrapped in `number_format_i18n()`.,johnbillion
21139,Month format in Publish box,,I18N,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-07-02T18:47:26Z,2012-07-02T20:03:24Z,"New translatable month format was introduced in r19820.

Problems:

1) Month numbers are not localized. Czech does not use numbers with format 01, 02, etc. I can remove month numbers by ""not translating"" them, but it is not the best solution.

2) How should be strings ""May_May_abbreviation"" translated in the right way? I found that some languages uses for example ""Kvě_Květen_abbreviation"" translation and others only ""Kvě"". Translators are probably afraid of removing ""_May_abbreviation"" part because they do not want to broke anything even if there is preg_replace function following. I do not understand why there has to be the whole ""May_May_abbreviation"" original string? Also explanation for translators (three-letter abbreviation of the month) is not exact, because we can use 2 (better for Czech) or any other number of characters.",pavelevap
20882,Remove strings related to Akismet from WP localization files,,I18N,2.0,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T20:10:36Z,2012-06-26T03:14:15Z,"There were several tickets (#19832, #19597) related to this issue, but we had to miss it somehow for 3.4.

Main purpose of this ticket is removing all strings related to Akismet from localization files. All strings (about 110) are loaded (mainly on frontend) even if Akismet is not active. Akismet can have its own localization file.",pavelevap
20883,Translating all plugin headers?,,I18N,2.6,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T20:20:34Z,2012-11-07T13:40:32Z,"I am really not sure if translators should be able to localize Author, Author URI or Plugin name? Description is very helpfull, but why translating strings like ""Matt Mullenweg"" or ""http://ma.tt/"" which are in current admin localization file?

Related: #19597",pavelevap
17771,URL-encoded comment_author_url gets broken by MySQL varchar 200 length limit,,I18N,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-12T03:46:44Z,2012-04-06T11:38:41Z,"!WordPress sometimes pings back with long permalinks that exceed comment_author_url column length limit of 200, which  results in generating unusable broken links to the post. 
It easily reaches to the limit, especially if the permalink contains url-encoded multibyte title as postname. (e.g. 23 characters of UTF-8 Japanese become a 207 characters long url-encoded string. Incomplete url-encoded string may trigger 400 Bad Request too.)

'''Solution:'''
In pingback(), use shortlink instead of regular permalink if the URL is longer than 200 characters.
It seems to work ok with wp.me shortlinks.",tenpura
23056,date_i18n() does not localize dateformat 'r',,I18N,1.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-26T02:47:11Z,2012-12-26T04:32:58Z,"The weekday and month strings in a date being formatted with the 'r' format character are not being localized.

I've looked at the [http://core.trac.wordpress.org/browser/trunk/wp-includes/functions.php trunk code] and it looks like the 'r' case is not being considered at all in the [http://codex.wordpress.org/Function_Reference/date_i18n date_i18n()] function.


This bug is very easy to reproduce:
{{{
print ( date_i18n( 'r', 972144067 ) );
}}}

Expected output for language Dutch:[[BR]]
''za, 21 okt 2000 16:01:07 +0200''

Received output:[[BR]]
''Sat, 21 Oct 2000 16:01:07 +0000''



== Potential patch: ==

A bit of a hacky patch would go along the lines of:

{{{
if( !function_exists( 'patch_date_i18n' ) ) :
add_filter( 'date_i18n', 'patch_date_i18n', 10, 4 );
function patch_date_i18n( $formatted_date, $req_format, $timestamp, $gmt ) {

	if( $req_format !== 'r' )
		return $formatted_date;

	global $wp_locale;
	$datefunc = $gmt? 'gmdate' : 'date';

	$find = array (
		$datefunc( 'M', $timestamp ),
		$datefunc( 'D', $timestamp ),
	);
	$replace = array(
		$wp_locale->get_month_abbrev( $wp_locale->get_month( $datefunc( 'm', $timestamp ) ) ),
		$wp_locale->get_weekday_abbrev( $wp_locale->get_weekday( $datefunc( 'w', $timestamp ) ) ),
	);
	return str_replace( $find, $replace, $formatted_date );
}
endif;
}}}

Hope this helps. Would be great if this could be fixed.

Smile,
Juliette
",jrf
22557,"""Trash"" should be a name",,I18N,3.4.2,normal,normal,Awaiting Review,enhancement,new,close,2012-11-23T15:56:48Z,2012-12-19T04:39:57Z,"Hi there,

Not sure if this happens to other languages than pt_BR, but the string ''trash'' sometimes works bad when not as a name.

I would like to suggest to keep the word as a name and avoinding to flex it such ''Trash it, transhing'' etc, there is no need to singular and plural for it, I find silly ""Trashes"" in content tables since there is a counter next to the label.

That's all!",Dianakc
23758,Add hook after loading WordPress locale object,,I18N,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-03-13T14:58:37Z,2013-04-24T02:39:09Z,"We face some problems when we work on bbPress last month , see :[[BR]]
http://bbpress.trac.wordpress.org/ticket/2219

There is no proper hook to add roles ( an example ) in WordPress ,[[BR]] especially when you use a translated display name ..

You can also read some lame in bbPress source code [[BR]]
""This is kind of lame, but is all we have for now. ""

http://bbpress.trac.wordpress.org/changeset/4773",alex-ye
19760,Allow localization of language names in multisite,,I18N,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-01-06T13:17:13Z,2012-11-22T03:45:37Z,"There is Site Language settings in multisite (General Options). But all available languages are in English, so there is English, Czech, etc. But when I switch to Czech language, there is still only Czech and not ""Čeština"". I am not sure if there is need to translate all languages, but there should be localized at least selected language (or all available languages).

It is caused by function format_code_lang() in ms.php (line 463) where are all language names hardcoded in English.",pavelevap
23721,Better control of textdomains.,,I18N,,normal,normal,Awaiting Review,enhancement,new,,2013-03-08T07:23:45Z,2013-03-08T13:19:37Z,"At the current state , loading a text domain is done by the plugin/theme author , and leaves no control to the user / other devs to intervene with this process. we are left to the mercy and good will of the original author .

It would be a good thing to create some HOOK or ACTION that will allow a user to override this somehow.

At the very least (and maybe it should be a different ticket) a function that will return all available $domain names and paths should be made available (currently no way of retrieving that but parsing the $i18n global)

Example : If a user need a  plugin/ theme that does not have a translation for my desired language , or a BAD translation (or no translation at all) the user then creates it´s OWN translation, and by dropping it inside wp-content/languages folder , that translation will be loaded instead of the one supplied (or not supplied ) with the original plugin / theme .

Current state : If a user loads a translation to the original plugin folder for translations, it will be deleted upon first update .

",krembo99
20491,Introduce some JavaScript i18n functions,,I18N,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:50:24Z,2012-04-19T21:55:22Z,"There's JavaScript code dotted around core that handles i18n in JavaScript (for example, localised thousands separators in the pending comment count). We should bring this together into a wpL10n JavaScript library that can be reused by plugins.

I've done some work on this and I'll get a patch up in the next day or so.",johnbillion
19716,Marking buttons and names in text,,I18N,3.3,normal,normal,Awaiting Review,enhancement,new,,2012-01-03T13:37:18Z,2012-07-11T13:43:51Z,"There is no united way to mention buttons, tabs, names etc in texts. 

Sometimes there are quotes around button name:

{{{
If you would like to see more themes to choose from, click on the &#8220;Install Themes&#8221; tab
}}}

Sometimes not:

{{{
You must click the Save Changes button at the bottom
}}}

Maybe there should be any rules? For users it could be better to see button names someway highlighted (quotes, strong, etc) and everytime it would be clear that it is mentioned button...",pavelevap
6425,Support for RTL in feeds,nbachiyski,I18N,,normal,normal,Awaiting Review,enhancement,assigned,close,2008-03-27T20:56:51Z,2012-02-08T06:07:07Z,"In the current state of most Feed readers, the only surefire way to make RTL content display properly is to have directionality enforced inside the content - that is, either with {{<div dir=""rtl"">}}} tags inside CDATA or with Unicode directionality characters (for e.g., RLE and PDF, or &#8235; and &#8236;, or U+202B and U+202C.) for excerpts or titles.

While we currently have pretty good support for RTL languages, there is no support for RTL in feeds - all is left up up to the feed reader.

I suggest adding a mechanism to automatically insert these tags/characters for blogs that have text_direction set to RTL - much in the same way RTL css style sheets are loaded for these blogs.

I have attached a patch that modifies the feed templates to insert these tags/characters. Note that there is no checking of blog directionality here - this is just an example of how to enforce RTL in feeds, not how to enforce it conditionally.

This relate to a previous ticket I submitted (#5517), regarding adding an option to set the feed language - which currently just defaults to EN. Certain feed readers know to display RTL text in proper directionality according to feed language (for e.g., feeds that have their feed language set to HE (Hebrew), will get displayed from Right to Left). While setting feed language is not a comprehensive solution, it is a step in the right direction.",RanYanivHartstein
18218,Too many similar translation string,,I18N,3.2.1,normal,normal,Awaiting Review,enhancement,reopened,has-patch,2011-07-22T17:12:26Z,2012-06-06T18:30:59Z,"WordPress .po/.mo file is too big (3,312 strings). I know that we can't delete strings '''but''' we can reduce the file size by merging simmilar strings. WordPress has too many simmilar string. English developers don't notice this but non-english translators are frustrated by this when they have to translate the same string in 2 or 3 different variations.

I suggest to merge simmilar strings, this way will achive two things:

1. Smaller .po/.mo files.
1. Easier translation process as there will be less string to translate. I belive 200-300 strings less.

(Check out the bbPress ticket #BB1584 for more information and examples)

Few WordPress examples:

----

'''No login ID submitted'''
* wp-includes/class-pop3.php:168

'''no login ID submitted'''
* wp-includes/class-pop3.php:115

(change n->N)
----

'''You are not allowed to post as this user.'''
* wp-admin/includes/post.php:65

'''You are not allowed to post as this user'''
* wp-includes/class-wp-xmlrpc-server.php:2263

(add '.')
----

'''Log out'''
* wp-includes/general-template.php:189

'''Log Out'''
* wp-includes/admin-bar.php:92
* wp-admin/admin-header.php:165

'''Log out &raquo;'''
* wp-includes/theme-compat/comments.php:73

'''Log out of this account'''
* wp-includes/theme-compat/comments.php:73

(change all to ""Log Out"")
----

'''Log In'''
* wp-includes/general-template.php:261
* wp-login.php:627
* wp-login.php:646
* wp-admin/install.php:144
* wp-admin/install.php:238

'''Log in'''
* wp-includes/general-template.php:187
* wp-login.php:419
* wp-login.php:444
* wp-login.php:475
* wp-login.php:531

(change all to ""Log In"")
----

'''E-mail'''
* wp-includes/theme-compat/comments-popup.php:80
* wp-login.php:520
* wp-admin/user-new.php:229
* wp-admin/user-new.php:291
* wp-admin/comment.php:160
* wp-admin/includes/class-wp-users-list-table.php:165
* wp-admin/includes/template.php:356
* wp-admin/user-edit.php:329

'''Email'''
* wp-includes/comment-template.php:1525

'''E-mail address'''
* wp-admin/options-general.php:104
* wp-admin/options-general.php:123

'''Your E-mail'''
* wp-admin/install.php:128
",ramiy
22225,WordPress does not localize ordinal suffixes in dates,,I18N,3.4.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-19T08:39:08Z,2012-12-26T01:48:11Z,"In wp-includes/functions.php function date_i18n(), elements like month, month abbreviation, weekday etc.. are localized but not the ordinal suffixes (e.g. st, nd, rt, th)

effect: when using the ordinal suffixes for dates 

e.g. 
{{{
<?php the_time('F jS, Y'); ?>
}}}
 
on translated/localized page page, the month name is translated (F) but the ordinal suffix no.

Not browser/OS/environment dependent.",mihaimihai
17181,IIS 7.5 Wordpress MU ms-files.php not streaming mp3 files correctly,,IIS,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-19T18:29:49Z,2011-07-25T15:13:15Z,"I think there is an issue with IIS and compression. 

I have two MP3s, one is around 7MB and the other around 2MB. I can ""download to folder"" for both and that works fine, but if I play in the browser the 7MB version cut off after 30seconds (I tried this on multiple MP3s larger than 5MB). I thought this had something to do with the ""Transfer-Encoding	chunked"" header. Upon further investigation I found that to disable this, I just had to specify the Content-length, which is explicitly disabled for IIS in ms-files.php (line 42). I commented out that line and now everything is working fine. I'm sure there was a reason for it, but I am not sure what for.",jacobm21
18988,"On install, IIS web.config missing setting for ""index.php"" as default page type",,IIS,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-18T17:50:05Z,2011-11-15T08:51:42Z,"If WordPress is installed in the root directory (e.g., www.example.com) on a server not pre-configured for PHP, ""index.php"" will not be a default page name on the server.  This leads to 404 errors when requesting the homepage (e.g., www.example.com).

A simple fix is to update the web.config for the WordPress install to add this:

<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value=""index.php"" />
            </files>
        </defaultDocument>
        <rewrite>
            <rules>
                <rule name=""Main Rule"" stopProcessing=""true"">
                    <match url="".*"" />
                    <conditions logicalGrouping=""MatchAll"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" negate=""true"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" negate=""true"" />
                    </conditions>
                    <action type=""Rewrite"" url=""index.php/{R:0}"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


",scdetailer
21859,Import blog and media library is not working,,Import,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-10T08:02:25Z,2012-09-28T15:42:33Z,"Hi,
I have problems (due to hosting php timeout) to import all my blog at once.
I tried doing it by months, but it's also not working. Blog posts are imported, but nothing of the media library is imported.

I can describe too what happens when trying to import everything at once. I've just 200 photos and every 90 secs the connection is reseted trying to import them. If you try to retry using browser, photos begin to duplicate, or triplicate, or more...
After all this, then you finish, there is no attachments related to their post.

I've tried importing by months, which would not spend more than 60 secs importing photos, but then the photos are not imported.

Please, fix the import/export by months or by splitting files every 10 post (or configurable).
I would suggest too to allow any mechanism to import photos first, doing it in groups of 20 (or by configuration) and later, after that, importing post and attaching files to each post.


I set it as critical as moving a blog it's impossible without a huge amount of work. 

I could try to help debugging if needed.

Version 3.4.1 is also affected.
Thanks and regards",don_ousian
23465,WXR importer does not import posts if a post with the same title is in the trash,,Import,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-13T07:11:29Z,2013-04-22T03:12:42Z,"1. export a WXR file with some/all posts
2. send posts to trash
3. import the file generated at step 1.
4. for each post there is a message that the post already exist

If something is in the trash it should be handled as if it doesn't exist.

",mark-k
23464,"WXR importer: Creating new user to import to sucks, should be fixed or removed",,Import,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-13T07:05:33Z,2013-02-13T07:05:33Z,"When importing WXR you are prompted to assign a user to which of the existing users the imported content will be assigned, but it is also possible to provide a name of a new user which will be created and the content then will be associated with it. 

The new user functionality sucks
1. No email or password is required therefor the user for a while is missing data which is assumed to always exist for a user. In the end of the import there is a small notice about updating the user data, but it gets lost in all the output being generated during import

2. Processing does not stop if user creation had failed (I used hebrew characters for user name) and the imported content is assigned to the current user. WTF?

",mark-k
23466,In user selection WXR importer should not suggest importing to subscriber,,Import,,normal,normal,Awaiting Review,enhancement,new,,2013-02-13T07:17:21Z,2013-02-13T07:17:21Z,"right now when associating a user from the WXR file with a wordpress user there is a dropdown containing all users. IMO there is no point in even offering associating with a subscriber as he will not be able to edit anything related to the imported content, and including subscribers can make the list needlessly long.",mark-k
22994,Remove 'blogroll' from the import options,,Import,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-18T17:53:16Z,2012-12-18T20:52:24Z,"Now that we've dropped links (#21307), we shouldn't encourage importing them. It'll just confuse the newbies.

This will require a change to http://api.wordpress.org/core/importers/1.0/, so while we can clean up /wp-admin/includes/import.php (attached) it won't matter till that's scrubbed. Maybe upgrade that to 1.1 so people who are on older WP are left alone?",Ipstenu
24212,Add missing inline docs for esc_attr_x() and esc_html_x(),,Inline Docs,2.8,normal,normal,Awaiting Review,defect (bug),new,,2013-04-28T16:02:54Z,2013-04-28T16:02:54Z,"See [source:trunk/wp-includes/l10n.php:22346#L208].

#9650",ocean90
20847,"Documentation references to ""digits"" should be ""characters""",,Inline Docs,,normal,trivial,Awaiting Review,defect (bug),new,has-patch,2012-06-05T14:49:08Z,2012-08-20T21:14:53Z,"Some documentation references to digits should really be called characters, since they refer to parts of a hexadecimal number, and therefore not strictly 0-9 only.",GaryJ
21864,PHPDoc incorrect with the return value of add_*_meta functions,,Inline Docs,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-10T20:54:14Z,2012-09-10T23:37:28Z,"The PHPDocs for `add_comment_meta`, `add_post_meta` and `add_user_meta` all say that they return `true` on success. In fact, each calls `add_metadata`, which returns the metadata_id on success. 

In addition, `update_metadata` currently returns the metadata_id on success if the metadata did not already exist, but true on success if the metadata did already exist (the PHPDoc says simply that it is true on success).

The patch corrects the documentation, and additionally ensures consistency with the return value for `update_metadata`.",mark8barnes
22801,Update documentation on wp_insert_term to state that it will return an error if inserting an existing term.,,Inline Docs,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-07T04:51:53Z,2012-12-07T04:51:53Z,"phpdoc for wp_insert_term() states:

If both the term id and taxonomy exist previously, then an array will be returned that contains the term id and the contents of what is returned.

However it returns an error object instead. That may have changed with #13481. Anyway, returning an error seems to be an acceptable solution. Although, #16567 might change that a bit.

Should we just adjust the docs to fit the current behavior?",lgedeon
22573,esc_sql() works with arrays too,,Inline Docs,,low,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-24T14:31:21Z,2012-11-24T17:50:11Z,... but the doc block only says string.,scribu
23914,Document WP_Dependencies,,Inline Docs,,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-31T05:58:42Z,2013-03-31T17:31:49Z,"The code in `wp-includes/class.wp-dependencies.php` needs better documentation. Three confusions in particular:

1. $args has a different meaning in WP_Dependencies and _WP_Dependency. In the first, it is a way to append query strings to the URL's. In the second it is a generic 5th parameter used by the API functions wp_register_*() and wp_enqueue_*(). In class WP_Styles it stands for $media. In class WP_Scripts it stands for $in_footer.

2. `$handle` sometimes means the registered `handle`, and other times means `handle?args`.

3. `$group` stands for page placement in WP_Styles (0=header, 1=footer), and is unused in WP_Scripts (false). But a prominent comment uses the word ""Groups"" to describe something entirely different, a registered item with dependencies but no src. In my proposed documentation I use the word ""Alias"" for this meaning. An example of an alias is in wp-includes/script-loader.php:
{{{
add( 'scriptaculous', false, array('scriptaculous-dragdrop', 'scriptaculous-slider', 'scriptaculous-controls') );
}}}

Patch attached. No code changes.

An example of contributors not knowing about Confusion 2 is #13078.",kitchin
20425,Documentation Issues,,Inline Docs,3.4,normal,minor,Awaiting Review,enhancement,new,,2012-04-12T08:35:14Z,2012-11-19T20:08:23Z,"New ticket as per [http://core.trac.wordpress.org/ticket/19756#comment:18 Nacin's request].

http://docs.garyjones.co.uk/wordpress/3.4-beta1/errors.html shows the documentation errors (missing / incorrect arguments `@param` tags, missing short descriptions, missing DocBlocks at the file-level and structural element level etc.) when run against 3.4-beta1.

It doesn't include things like missing `@since` tags, version numbers not always being 3 digits, or some other bits, but getting the listed 2693 errors fixed would be a great start to a more complete API documentation.",GaryJ
19203,Fixed a couple of function descriptions in wp-includes/plugin.php,,Inline Docs,1.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-08T05:53:54Z,2012-09-17T21:28:25Z,"There were a couple of errors I found in the function docblocks while tinkering in the plugins.php file as well as a confusing example, so here's what I fixed:

'''add_filter()''':
It mentioned filters were for modifying ""strings"", which isn't correct since you can also use filters to modify arrays, etc., so I changed the docblock to reflect this.
I also changed the example code to {{{ var_dump($example); }}} instead of {{{ echo $example; }}} since echoing arrays/objects etc. will cause an error.

'''apply_filters()''':
The example code block was confusing since it specified a filter function, but didn't show it being added and then just called apply_filters(), which I didn't notice the relation at first.
I added the {{{add_filter()}}} function in the code example for a clearer example so the reader will better understand the usage of this function.

'''_wp_call_all_hook()''':
A mysterious '''$hook''' parameter was defined in the docblock, however the parameter simply doesn't exist.  Not sure if this was a passing thought or someone falling asleep while writing it, but I've removed it from the docblock.

Thanks!",amereservant
16750,Improve inline docs for l10n functions,,Inline Docs,3.1,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-03-04T19:22:29Z,2011-07-15T21:43:09Z,"Changes to the inline documentation in WordPress 3.1.

These are documentation changes only.",CharlesClarkson
16809,Inline Documentation Standard for Filters,,Inline Docs,3.1,normal,trivial,Awaiting Review,enhancement,new,,2011-03-09T20:11:02Z,2013-02-09T08:00:18Z,"I was hoping to get some insight on how to document filters as they are applied in a function. I'm referring to the use of the apply_filter() function inside a WordPress function, not for the use of the add_filter() function.

I thought to use something like one of these, but wanted some input on whether either was complete enough.

{{{
 * @uses apply_filters() for 'wp_admin_bar_class' providing 'WP_Admin_Bar' as the default class.

 * @note Adds the 'wp_admin_bar_class' filter to allow changing the default 'WP_Admin_Bar' class.

 * @link http://codex.wordpress.org/index.php?title=Plugin_API/Filter_Reference/wp_admin_bar_class
}}}
(Note: The link doesn't work yet. it is established from the [http://codex.wordpress.org/Plugin_API/Filter_Reference#Admin_Bar Plugin API/Filter Reference])

I tend to look at inline docs as I use them (to update the codex and to research solutions) and that may not fit with other uses. I would rather not have to go back (too many times) because the my standard was useless to other users.


Thanks,",CharlesClarkson
16615,More inline docs needed to explain DB errors esp. dead_db() and effects of WP_DEBUG,,Inline Docs,,normal,normal,Awaiting Review,enhancement,new,needs-docs,2011-02-22T21:42:58Z,2011-02-23T06:29:19Z,"'''The Problem: DB Error reporting can't be modified'''

I'm trying to set my sites up for some scheduled downtime of our (separate) MySQL server. I am hoping that I can show cached pages if they are requested, but show a 'We are down for scheduled maintenance' message when a user loads a page that needs the database. 

In the process I'm seeing there are many different places in the code that fire depending on exactly how broken the database is. Specifically, there are some scenarios where `dead_db()`, which is totally different from the rest of the messages, will fire. dead_db() is cool because it promises to let us use a `/wp-content/db-error.php` file to control output in case of a db error, but currently it is just frustrating because most types of db error (server missing, db missing) don't cause `dead_db()` to fire, but instead use `$wpdb::bail()`. These bail()-based errors are used in wp-db.php. 

However `dead_db()` CAN still fire, which I know because our site often has database outages that result in the H2 from `dead_db()` being shown. I think it's a certain mix of ""the mysql server and database seem to exist, but are failing to respond to actual queries"". That said, I'm pretty sure that the scenarios where dead_db still fires are ones also covered by some of the `$wpdb::bail()` situations, and would be better off handled by one consistent system of errors. dead_db() should either be used for all DB related errors or deprecated, otherwise it is just an awkward red-herring for developers.

'''The Solution: Better filters on `$wpdb::bail()`'''

I think that all these messages need to be pluggable somehow and it should be clear how to do so when looking at the code itself. Asking people who want to change a wp_die() message to find it in the code is reasonable, but it should be clear from there how to change it. Ideally there would be a filter in the function that calls bail() that lets you edit the text and/or forward the user to another URL where a maintenance message lives. It should be of of those situations where finding the source of the message also finds the means of changing it.

The simplest answer would be a filter added in `$wpdb::bail()` that used the $error_code to identify the specific message. In the database errors the $error_code passed to bail() are useful slug-type strings like 'db_select_fail'. Something like:


{{{
apply_filters('wpdb_bail', $error_code, $message);
wp_die($message);
}}}



This would give people a lot of control, and could easily be referred to in a comment before any given instance of `$wpdb::bail()`.

To make the $error_code easier to find I think it's also worth reformatting the code used to call `$wpdb::bail()`. Currently it takes this form:

{{{
$this->bail( sprintf( /*WP_I18N_DB_CONN_ERROR*/""
...
SUPER LONG HTML MESSAGE
...
""/*/WP_I18N_DB_CONN_ERROR*/, $details['db_host'] ), 'db_connect_fail' );
}}}

This makes it hard to notice the 'db_connect_fail' string all the noise. Instead the message perparation and bail() call should be on two lines, one for defining the message and another that only calls bail (with an explanation about the $error_message and filter above it).

Looking at it deeper I imagine I can achieve what I want by hooking into the 'wp_die_handler' filter, checking for the exact HTML generated by the DB error (the `$message` value in the code above), and doing something based on that, but it's obviously a house of cards for future updates where the text might change. It will also be easily foiled by any translation of the `$message` which will change its output.


",jeremyclarke
19906,Quicktags docs recommend code causing JS error: Uncaught ReferenceError: QTags is not defined,,Inline Docs,3.3.1,normal,trivial,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-27T01:05:44Z,2012-01-27T17:35:31Z,"
Right now the docs for qt.addbutton in quicktags.dev.js have the following text:

{{{
	 * If you are echoing JS directly from PHP,
	 * use add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) or add_action( 'wp_footer', 'output_my_js', 100 )
}}}

This works, but if you add the QTags.addButton() calls on those hooks then they will cause JS errors on any screen without an editor:

{{{Uncaught ReferenceError: QTags is not defined}}}

The issue is avoided if you use the other option, enqueuing a script dependent on 'quicktags', but that is a lot more work and forces all pages in the admin to load the quicktags script unnecessarily. 

Maybe there is some way to magically make calling QTags.addbutton() safe no matter what, but I think at minimum we need to add a note to the PHPdoc about checking QTags before using it, as that solves the problem pretty simply:

{{{
 if ( typeof QTags != 'undefined' ) {
	QTags.addButton( 'gv_translation', 'translation', '<div class=""translation"">', '</div>' );
}
}}}

So the phodoc could say :

{{{
	 * If you are echoing JS directly from PHP use
	 *	add_action( 'admin_print_footer_scripts', 'output_my_js', 100 ) 
	 * or 
	 *	add_action( 'wp_footer', 'output_my_js', 100 )
	 *	
	 * If echoing the addButton calls directly instead of enqueing with the 'quicktags' dependency
	 * make sure to check that the QTags object is defined first, otherwise your code will throw errors 
	 * when no editor is present:
	 *	if ( typeof QTags != 'undefined' ) { QTags.addButton(...) } 
	 *
}}}

The attached patch just adds that to the docs. If a committer has a preferred wording then just use that instead, obviously the patch didn't take me long :)

BTW: I created a Codex article with the docblock after not finding a reference to the new API anywhere other than in the JS file itself. Nacin's posts mentioned that they had changed but not what was new ;)

http://codex.wordpress.org/Quicktags_API

Clearly it needs work, I didn't want to put too much time into it at first because I didn't understand the system yet (as I'm learning now, by finding JS errors).",jeremyclarke
14860,"""Updated"" message DIV jumping around Edit Post screen",,JavaScript,3.0.1,normal,minor,Awaiting Review,defect (bug),new,,2010-09-13T07:13:35Z,2010-09-14T14:33:13Z,"Okay, so I'm developing a plugin that uses a separate form tag on the Edit Posts screen to manage custom attributes. This form's inserted into the header using the ""in_admin_header"" action.

Now, to keep the same consistent formatting, I've used the same class names as used by the headings on the rest of the page:

{{{
<div class=""wrap rbs_ep"">
	<div class=""icon32""><br /></div>
	<h2>Edit Properties</h2>
	
	...
</div>
}}}

Now, whenever the page is published or updated, the ""Updated"" message box suddenly jumps from the top of the page into the form. Looking through the source for a bit, I found the culprit:

'''./wp-admin/js/common.dev :: Lines 197-199'''
{{{
// Move .updated and .error alert boxes. Don't move boxes designed to be inline.
$('div.wrap h2:first').nextAll('div.updated, div.error').addClass('below-h2');
$('div.updated, div.error').not('.below-h2, .inline').insertAfter( $('div.wrap h2:first') );
}}}

This little script is assuming that the first <h2> tag it finds is the one being displayed at the top of the page to the user. Now, I know the obvious solution here would simply be to move the form's source to the page's footer, but I still think this is a clumsy solution to an otherwise preventable issue.

Can't the Edit Page's heading be assigned an ID so the script can place the ""updated"" box more accurately? I don't want to duplicate CSS rules in my layout simply to reapply the same formatting using a different tag (e.g., ""<div class=""h2"">Edit Properties</div>""), as this'd simply be a messier approach. I think the script should be looking for a H2 tag with an ID (or at least a specific CSS class) to place the message box.",Alhadis
23578,URLs wrapped in <> parsed as HTML when wp_mail_content_type set to text/html,,Mail,3.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-21T17:04:34Z,2013-02-22T18:22:02Z,"[16285] wrapped the password-reset URL in the e-mail sent from retrieve_password() in greater-than/less-than signs in order to prevent it from breaking when line wrapped (see #14140). That has the side-effect of causing the URL to be parsed as HTML by the mail client when the message's content-type is set to text/html via the wp_mail_content_type filter. I don't see any other places in Core where this happens.

Using wp_mail_content_type to enable HTML e-mails is a common technique documented on the Codex and across the Web. Is it considered a bad practice to enable it globally -- as opposed to adding it before calling wp_mail(), then removing it after; or just setting the content type in the $headers param of wp_mail()? If so, we should document that on the Codex and possibly in wp_mail() where the filter is applied. 

Even if it is, I don't think it'd hurt to have retrieve_password() check the content-type and behave accordingly. If it's ""text/html"", then create a proper link; otherwise wrap the URL in greater-than/less-than signs.

If everyone agrees on that approach, I'll submit a patch.",iandunn
16805,default 'from' hostname,,Mail,3.1,normal,normal,Awaiting Review,defect (bug),new,close,2011-03-09T15:11:39Z,2011-06-08T15:27:33Z,"The logic used to create the hostname portion of default e-mail address when calling wp_mail doesn't make sense.

Lines 384-392 of wp-includes/pluggable.php read:
{{{
	if ( !isset( $from_email ) ) {
		// Get the site domain and get rid of www.
		$sitename = strtolower( $_SERVER['SERVER_NAME'] );
		if ( substr( $sitename, 0, 4 ) == 'www.' ) {
			$sitename = substr( $sitename, 4 );
		}

		$from_email = 'wordpress@' . $sitename;
	}
}}}

We assume that if www. is in the sitename that it is not part of the e-mail address. I reviewed a few RFCs and have not found where 'www.' is prohibited from the hostname portion of an e-mail address. I concede that john.smith@ www.sitename.com is now common, but it is still a legal name.

Additionally, if the $_SERVER[ 'SERVER_NAME' ] is a sub-domain such as blogs.sitename.com the e-mail is going to send from john.smith@ blogs.sitename.com.

For consistency I suggest we either remove all nth level domain names above the first or remove none. This way it will be more obvious when people need to use the wp_mail_from filter and not just appear to be random.",lonnylot
23243,"wp_mail() not working with ""Name <email>"" format in buggy PHP versions on Windows",,Mail,3.5,normal,minor,Awaiting Review,defect (bug),new,,2013-01-20T15:59:30Z,2013-01-31T16:53:36Z,"As a result of ticket #17305, wp_mail() accepts the $to parameter in the format ""Name <email@domain.com>"".

There exists a PHP bug in versions below 5.2.11 and in 5.3, on Windows. This bug occurs when addresses are passed to the PHP mail() function in the ""Name <email>"" format and prevents e-mails from being sent. I believe this bug in fixed in 5.3.1 and above. (see https://bugs.php.net/bug.php?id=28038)

I don't believe this affects any core functionality, but may affect some plugins which pass $to in the above format.

I tested in PHP 5.2.4 on Windows with the following code:

{{{
wp_mail(""email@ext.com"", ""Test"", ""Test"");
wp_mail(""Name <email@ext.com>"", ""Test 2"", ""Test 2"");
}}}

The first email is received; the second isn't. When removing error suppression from the mail() calls in class-phpmailer.php, the following warning is outputted:

  Warning: mail() [function.mail]: SMTP server response: 501 <Name <email@ext.com>>: ""@"" or ""."" expected after ""Name"" in C:\xampplite\htdocs\wp-includes\class-phpmailer.php on line 771",bbosh
23365,Add Option for user defined from_email,,Mail,,normal,normal,Awaiting Review,enhancement,new,,2013-02-02T03:25:47Z,2013-02-03T08:04:34Z,"As is admitted in pluggable.php in the wp_mail function, the default from address is not ideal. If set to wordpress@domain(dot)com, some hosts block the E-mail because it doesn't exist. If set to admin_email, some hosts block it because it's from an unknown domain.

The most natural answer to me is to add an option for this in the admin interface. This way, people with an issue, or simply trying to appear more professional, are able to change this without a plugin or adding code to their theme. Even if the option is pretty buried, a simple help doc could point folks to the right spot.

For proof of need, check out all the threads under http://wordpress.org/search/wordpress%40?forums=1",stevish
23420,"Lost password, invalid key - noticed something",,Mail,3.5.1,normal,normal,Awaiting Review,enhancement,new,close,2013-02-08T09:26:31Z,2013-02-22T18:22:52Z,"Hi there,

I have noticed something about the lost password/email retrieval that may be a bug or may help out with the number of requests this gets.

The link sent with the key and user name is surrounded with < and >

Some email clients are misinterpreting this link and including the > at the end of the user name which in turn kills the database query because the user name does not match.

I have run a couple of tests changing line 235 of wp-login.php to be:


{{{
$message .= network_site_url(""wp-login.php?action=rp&key=$key&login="" . rawurlencode($user_login), 'login') . ""\r\n"";

}}}

from


{{{
$message .= '<' . network_site_url(""wp-login.php?action=rp&key=$key&login="" . rawurlencode($user_login), 'login') . "">\r\n"";
}}}


This seems to sort the problem out.",demonpengu
23291,wp_mail should handle phpmailer exceptions instead of ignoring them,,Mail,3.5,normal,minor,Awaiting Review,enhancement,new,has-patch,2013-01-25T07:04:37Z,2013-03-04T07:12:02Z,"Right now code in wp_mail that call phpmailer looks like

{{{
	try {
		$phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
}}}

or worse (not failing at all).

Yesterday had to hack core files to find out that an email address did not have a valid email format. Exceptions should either propagate in some way, or be reported to an error log.
",mark-k
18412,"""%20"" in an uploaded image file name breaks thumbnails",,Media,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-15T13:54:48Z,2011-08-17T00:49:37Z,"When uploading an image file where the name contains %20, it will not show thumbnails. It is still possible to edit the image in the image editor, however.",ripperdoc
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
21848,A single space in the image caption breaks alignment,,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-08T15:07:42Z,2012-09-09T08:53:24Z,"If you add just a single space in the caption field of an image using the media uploader, it ignores any alignment settings.

The expected behaviour would mean that regardless of what is entered into the caption box, the image alignment should be honoured.",luffer
23883,Add Media 'Title' box does not update html title attribute,,Media,3.5.1,normal,normal,Awaiting Review,defect (bug),new,close,2013-03-28T19:26:42Z,2013-03-30T01:05:39Z,"This bug is reproduced when going to the edit page / post screen, and clicking the ""Add Media"" button. If a Title is saved for the image, it will not create a title html attribute when navigating to the site. 

However, if the 'Edit Image' dialog is opened for the image that was just inserted into the post / page, the Title can be saved from this screen and it will add the title attribute in the html.

",drewshen
22870,Add New Media Page doesn't fail out on large images,,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T05:20:15Z,2012-12-12T05:20:15Z,"Discovered while debugging #22869 (which is why your steps to repro are similar)

To Reproduce: Upload https://objects.dreamhost.com/ipstenu-images/sunset_2_22_11_by_kenshinkyo-d3a6slk.jpeg to your WP install in the media-new.php page

Note: Image is 12600x9450 and 4.9MB

Expected Outcomes:

VPS/Dedicated with tons of memory: Success

Shared hosted without a lot of memory: Failure, not enough memory


Actual outcomes:

VPS as expected.

Shared
* On 3.4.2: ""Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 50400 bytes) in /home/blah/site.com/wp-includes/media.php on line 258"" (good)
* 3.5 new uploader correctly errors out with (good)
* 3.5 media-new.php hangs on 'Crunching' (bad)

Obviously media-new.php hanging on crunching isn't desirable. That should error out.",Ipstenu
24366,Add image title in Attachment Details invalid while I'm editing pictures,,Media,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-05-19T12:47:10Z,2013-05-19T12:56:48Z,"Add title in Attachment Details invalid while I'm editing pictures.
3.6-Beta3",peascloud
22940,Adding term checklist to Media modal has undesired results,,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-14T14:59:27Z,2012-12-14T14:59:27Z,"If you use '''attachment_fields_to_edit''' to add a term checklist to the media modal, there is no way to know when a term is unchecked. I propose that when a checkbox is clicked in the compat section, all the checked boxes of the same name are passed in the POST request.",jfarthing84
22671,"Attachment pages 404 for media attached to an ""Auto Draft""",,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,close,2012-12-01T02:50:25Z,2012-12-02T01:17:42Z,"Any image uploaded to a new post through the post editor or QuickPress has a broken View link in the Media Library.  To reproduce:

1. Go to Dashboard.
1. Upload an image in QuickPress.
1. Go to Media Library.
1. Click the View link for the image.

Expected result:

I thought it was going to show me the image or the image's attachment page.

Actual result:

""This is somewhat embarrassing, isn't it?"" - 404 message from URL like /?attachment_id=112

This won't happen if the image is uploaded via the Upload New Media page.",miqrogroove
22558,Attachment term counts feels/are inaccurate,,Media,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-11-23T16:21:26Z,2013-02-21T14:31:24Z,"For posts:
* Assign a term to a post, save as draft. Term count returns 0.
* Publish the post. Term count returns 1.
* Change post status back to draft. Term count returns 0.

For attachments:
* Upload an image, assign a term. Term count returns 0.
* Create a new post and insert the image in a published post. Term count returns 0.
* Create a new post, use the insert media modal and upload an image. Then go the the media edit screen and assign a term to the image. Term count returns 1.
* Change the post status back to draft. Term count returns 1.
* Upload an image, assign a term, attach the attachment to a published post. Term count returns 0.

The default term update callback is `_update_post_term_count`. The function includes a special case for attachments, that's the reason why we have the 1 in step 3.

IMO the term count for attachments shouldn't rely on the parent post status. We should just force `_update_generic_term_count`.

Also noted here: comment:ticket:21391:41",ocean90
17859,Can't attach media to private posts,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-21T11:54:43Z,2011-06-27T14:58:10Z,"In the Media -page on the WordPress admin, one can attach unattached media to posts and pages.

However, the search does not show private posts, even with the master account.

Reproduce:
1. Upload media
2. Try to attach to a private post or page",knome
18275,Can't get perfect thumbnail sizes with image editor,,Media,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-28T02:37:16Z,2011-07-29T05:05:07Z,"In the media settings, I have the thumbnail set to a fixed size (218x145), and set to crop to these exact dimensions. 

Sometimes the automatic thumbnail crops off people's heads, etc, so I use the Image Editor to manually adjust the thumbnail. I select a rectangle, set the aspect ratio to 218x145, click crop, apply to thumbnail only, and save.

However, sometimes that results in an image slightly off in dimensions - for example, 215x145. 

I expect this is a rounding error. However, it happens even if I select an area much bigger than this when cropping in the Image Editor - eg 300x200. After I click crop and see the 300x200 image, I would expect the thumbnail to be automatically be created at 218x145 like it does normally based on this adjusted image - however, it appears the checkbox for using exact dimensions doesn't apply here. (In fact, if I select, say 300x300, it will make my thumbnail 145x145).

This feels like a bug to me, and makes it very hard to generate thumbnails at the size I want.",smerriman
23591,Can't insert media into wp_editor() without quicktags and/or tinymce,,Media,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-22T23:39:04Z,2013-03-05T16:15:36Z,"If I set up an editor with no TinyMCE or Quicktags, I'm unable to insert any media.
{{{
$args = array(
	'tinymce' => false,
	'quicktags' => false,
	'textarea_rows' => 5,
);
wp_editor( '', 'test1', $args );
}}}
No js errors or anything. Media modal comes up, I can use it without any issue, but as soon as I click insert (be it single media or gallery), nothing happens.

I have to enable tinymce and/or quicktags to get media insertion to work. 

Here's a simple plugin for testing: https://gist.github.com/trepmal/5016952

I can replicate this in 3.5.1 and trunk, have not tested in anything older.

I don't think this is a browser quirk, but just in case, I've tested and confirmed the issue in Firefox 19 and Chrome 25.0.1364.84 beta both on Mac 10.8.2.",trepmal
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
18297,Cropping in step 2 in Custom_Image_Header,,Media,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-07-29T17:35:27Z,2012-05-24T22:50:56Z,"The cropping should not be based on the ratio but should follow some basic logic.

if ( ( yimg < HEADER_IMAGE_HEIGHT ) && ( ximg < HEADER_IMAGE_WIDTH ) ) // no crop
else //do follow current functionality",wpsmith
23374,Custom photo title is overwritten upon completion of upload,,Media,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-03T03:37:30Z,2013-02-03T03:37:30Z,"Version:  3.5.1 (latest)
Environment: Chrome 24.0.1312.57 on Mac OSX 10.8.2

Steps to reproduce:
1. Create a new post and click the Add Media button.
2. Add several large photos (>4MB).  This is necessary to give you time to perform step 3.
3. Add new titles to the photos that are in the process of uploading.

Output: after a photo finishes uploading, its newly-added title get overwritten by a default title (taken from the filename)
Expected output: on the completion of a photo upload, the title field should be checked and preserved if necessary, not overwritten

(not related to plugins or theme)",franksvalli
18396,"Custom post type of ""tab"" creates query conflict with media uploader.",,Media,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-08-13T20:12:11Z,2011-11-28T23:00:38Z,"1. Create a custom post type with name ""tab""
2. Upload media in  (either attached to a post, or not)
3. Return to media uploader and click on ""Library"" tab, no images are pulled

The query being called will check for a post_type of tab with the post_name library, looks like it's due to ""tab=library"" being in the query string. Change the post type or remove the its registration and the problem disappears.

Details: WP 3.0+ (trunk, too), no plugins, TwentyEleven child theme only having a functions.php with the register_post_type function called on init.

I'd love to submit a patch to account for this or it could be listed as a reserved word for custom post types. Looking for direction for next steps. ",theandystratton
20252,"Default img url when adding media includes ""http://etc"" causing insecure content in https pages",,Media,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-03-18T04:03:19Z,2012-03-21T04:49:20Z,"New post, insert media, select an image and have a look at the <img src="""" part. It links to the full ""http://website/wp-content"" address causing images to be loaded as ""insecure content"" when the full page is loaded via https://website/

If this was instead just ""/wp-content/bla"", then when the page is loaded via https, all images would by default load with https as well, mitigating against insecure content loading.
",markcunningham
23525,Deleting one Image from upload resets/destroys upload batch changes,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-19T12:02:45Z,2013-02-19T13:16:35Z,"Confirming the image delete of one image from an upload batch discards all text-changes so far with the properties of all other images of that batch.

",hakre
17255,Draft status for media files,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-27T11:48:11Z,2012-06-23T00:56:18Z,"It's weird that media files don't carry any concept of pub status. If someone wants to upload files (either attached to a post or directly into the library), they should be able to keep them hidden via 'draft' status just like any other content. The fact that people can link to things that haven't been explicitly published is bizarre. 

Media files should have a pub status. If uploaded as post attachment, should inherit publish on post publish. Would then need a workflow for if a post becomes unpublished containing media, as it then lives in library for use by other content, so would need to ask if user wants to unpub media files as well. This would be a big shift, so would make most sense as part of a media redux with a long notice period for plugin and theme authors. ",jane
17088,Edit image icon broken in Internet Explorer 9 for referenced images with captions,,Media,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-08T17:14:11Z,2011-07-22T20:12:16Z,"The ""Edit Image"" icon fails in IE 9 when trying to edit an image that has been inserted from an external URL with a caption. Instead of bringing up the Edit Image screen nothing happens.

Removing the caption code for an externally referenced image allows it to then be edited normally.

To reproduce:
1. Create a new post in WP 3.1.1
2. Add an image from an external URL with a caption. You could use the following code:
{{{
[caption align=""alignnone"" width=""281"" caption=""Source: Wikipedia (by NASA)""]<img title=""France"" src=""http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Satellite_image_of_France_in_August_2002.jpg/780px-Satellite_image_of_France_in_August_2002.jpg"" alt=""France"" width=""281"" height=""216"" />[/caption]
}}}
3. Switch to the visual editor.
4. Click on the image to bring up the two icons.
5. Click the edit image icon.

Instead of bringing up the edit image dialogue the post will scroll to the top with the cursor before the first word. Nothing else happens.

This was tested in IE 9 in an installation of 3.1.1. The same steps to reproduce will work correctly in Safari 5.0.4 and allow you to edit an image.",andrewspittle
16106,Error reading EXIF data from uploaded image,,Media,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-01-05T12:09:50Z,2011-02-14T06:13:22Z,"When the user uploads an image file with EXIF data, that data is saved to the database. exif_read_data() reads the EXIF headers from a JPEG or TIFF image file. This way you can read meta data generated by digital cameras.

In this case the EXIF 'ISOSpeedRatings' key had an array for a value, but a string was expected. So the subsequent trim() call failed.

Patch attached.",4D4M
24338,Feature image not stored as an attachment when selecting existing image from Media Library,,Media,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-14T18:36:52Z,2013-05-15T00:50:33Z,"Selecting a Featured Image for a post that is already in the Media Library does not store it as an attachment, however when uploading an image using the Featured image panel, then it does store it as an attachment.

The differences are also that the image gets the post name in the ""Uploaded to"" column in the Media Library, however when selecting one that already exists, this column does not get the post name filled in.  I realize that it is not filled in as it wasn't ""uploaded to"" that post, but there may be some correlation between that and the attachment issue above.",whodeee
23409,Featured Images Not Working when From Media Library,,Media,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-07T02:37:57Z,2013-02-16T01:39:02Z,"I am in 3.5.1, Multisite, all plugins disabled, using Twenty-Twelve theme. While editing a post, when clicking on ""Set Featured Image"" in the meta box, I get the popup and select the image. I then click ""Save Featured Image."" The box closes. The meta box displays nothing -- just the original ""Set Featured Image"" link. So, I Update the post. Still, no featured image. 

Going through the above steps, I decide instead to upload an image from my computer. When I do, and select it as my featured image, it works.

It seems to choke only on files that are already in the media library.
",saracup
22785,Gallery placeholder buttons sometimes appear overlaid on the wrong editor,,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-06T08:24:12Z,2012-12-14T23:32:53Z,"If you have multiple visual editors on a screen, the edit/remove buttons that overlay on the gallery placeholder can appear in the right position, but in the wrong editor. If you click the edit button that appeared in the wrong place, the new-to-3.5 media modal shows the image set for the previously clicked placeholder. To reproduce:

* Enable a second editor. Code (`edit_form_after_editor` is new to 3.5):
{{{
add_action( 'edit_form_after_editor', 'hhs_edit_form_after_editor' );
function hhs_edit_form_after_editor() {
	wp_editor( '', 'hhs_test_editor' );
}
}}}
* Insert a gallery or two into one of the editors.
* Click inside the editor without the galleries.
* Single click a gallery placeholder in the other. Note that the buttons appear overlaid on the gallery-less editor.

Double clicking a placeholder will bring the buttons to the right place. Clicking within the same editor instance keeps the buttons in the right place. It seems specific to clicking a placeholder in an editor that did not previously have focus, including on page load. On page load, clicking a placeholder in the first (top) editor seems to show the buttons in the lower editor, whereas clicking a placeholder in the lower editor works just fine.

Reproduced in 3.4.2. Probably goes back farther. It probably wouldn't have been noticed in 3.4.2 since the old modal wouldn't have displayed much of anything differently.",helen
23047,Gallery sort options,,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,close,2012-12-22T16:58:41Z,2012-12-23T22:54:46Z,"Hi,

as stated in this ticket (#22637) I would question wether this is the (complete) solution to the mentioned behaviour:

""...missing gallery sort options. There were a bunch of them in core, in a number of forms:

    — Sort the queue ascending and descending (these seemed to invert the queue)

    — Order by: Menu order, title, Date/time, and Random

    — Order: ascending and descending sort for the ""Order by"" properties

It looks like we need some of this back. These should all be ""on-the-fly"" sorting, as in, they sort the images in the view, then save it to the ""ids"" attribute of the gallery shortcode.

We should support a way to immediately sort the entire gallery by title, date/time, random, and then the ability to inverse the gallery.""",th23
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
22793,Image Editor is jumpy when opening.,,Media,2.9,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-12-06T18:52:37Z,2012-12-06T19:58:08Z,"When clicking Edit Image in the attachment editor, there is a flickering - that is, the new stuff gets added to the page before the old stuff has been completely removed, so there is a fraction of a second when the page gets pushed down.

Simple fix. Patch included ( hopefully i created the patch correctly this time :p )",eddiemoya
22458,Image captions and block level elements,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-11-15T03:16:18Z,2012-11-15T03:38:05Z,"After accidentally putting a captioned image inside another image's caption (yo dawg), I found that block level elements in general seem to not play well.

{{{
[caption id=""attachment_809"" width=""150"" align=""alignnone""]<a href=""#""><img width=""150"" height=""150"" src=""http://colorto.me/png/150/rand"" class=""size-thumbnail wp-image-809"" /></a> tree<p>block level in caption</p>[/caption] 
}}}
With `<p>` tag: Toggling about 3 times completely removes the tag, contents remain
{{{
[caption id=""attachment_809"" width=""150"" align=""alignnone""]<a href=""#""><img width=""150"" height=""150"" src=""http://colorto.me/png/150/rand"" class=""size-thumbnail wp-image-809"" /></a> tree<div>block level in caption</div>[/caption] 
}}}
With `<div>` tag: Toggling about 2 times causes the entire caption to be removed, after first adding some unbalanced `<dd>` and `<dl>` after the first toggle

{{{
[caption id=""attachment_809"" width=""150"" align=""alignnone""]<a href=""#""><img width=""150"" height=""150"" src=""http://colorto.me/png/150/rand"" class=""size-thumbnail wp-image-809"" /></a> tree<ul><li>block level in caption</li></ul>[/caption] 
}}}
With `<ul><li>` tags: First toggle will 'organize' your list tags, each toggle after that adds 2 `<br />` tags and wraps an extra `<ul>` around the list.",trepmal
20228,Image options can't be changed,,Media,,normal,normal,Awaiting Review,defect (bug),new,close,2012-03-13T12:33:07Z,2012-05-24T07:18:18Z,"While testing #19126 I noticed the following options can never change:

* image_default_link_type
* image_default_size
* image_default_align

The ""Add media"" dialog remembers the last setting for size/align by using cookies. Link type always defaults to file.",koke
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
24352,"It is not obvious what does ""Edit"" mean in the info (bottom) part of the media selection window",,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-05-16T14:34:33Z,2013-05-17T01:25:05Z,"1. Edit a post 
2. click ""add media""
3. select a media
4. the bottom part of the window contains an ""edit"" link

It seems like Edit mode just lets the user rearrange the order of the selected media. Maybe it is my english but when I rearrange icons on my desktop I don't think about it as editing. The use of ""Edit"" in that context just feels strange and confusing.",mark-k
22887,"JavaScript inserted using ""attachment_fields_to_edit"" executes too early",,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T13:14:43Z,2012-12-12T16:04:47Z,"If I add JavaScript using <script> tags inside the ""attachment_fields_to_edit"" filter, the script is '''in certain situations''' executed '''before''' the rest of the HTML is added to the DOM. This is troublesome if I want to do something with the HTML I wrote before the <script> tag.

In WordPress 3.4, the <script> tags were simply added to the DOM along with the rest of the HTML. Now, it seems the <script> tags are extracted from the rest of the HTML and are executed before the HTML is added to the DOM.

A simple example to reproduce the problem:

{{{

add_action('attachment_fields_to_edit', 'bug_test', 20, 2);
function bug_test($form_fields, $post) {
	if (!is_array($form_fields)) {
		$form_fields = array();
	}
		
	$form_fields['bug_test'] = array(
		'label'      => 'Bug test',
		'input'      => 'html',
		'html'       => '
			<div id=""bug_test_div""></div>
			<script type=""text/javascript"">alert(jQuery(""#bug_test_div"").size())</script>
		',
		'value'      => 0
	);

	return $form_fields;
}
}}}

This should always pop a message box containing ""1"" (i.e. the number of elements found with the ""bug_test_div"" id), but it doesn't in the following situation:

Access the admin panel, add a new post and click on the ""Add Media"" button. Upload an image and you will get a message box saying ""1"". Good. Now upload another image and select it. Now you'll get ""0"" instead of ""1"". Select the previous image or any other image and you will still get ""0"" instead of ""1"".

Note that this works without a problem (i.e. always outputs ""1"") in the ""Admin panel -> Media -> Edit Media"" pages.

",liviumirea
22869,Large Image Uploads Don't Error Well,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T05:10:10Z,2013-02-02T03:29:06Z,"Related to #22849 but not restricted to the new uploader. Happens on 3.4 and 3.5 in different ways.

To Reproduce: Upload https://objects.dreamhost.com/ipstenu-images/sunset_2_22_11_by_kenshinkyo-d3a6slk.jpeg to your WP install in the media-new.php page

Note: Image is 12600x9450 and 4.9MB

Expected Outcomes:

* Shared hosted without a lot of memory: Failure, not enough memory, no image uploaded.
* VPS/Dedicated with tons of memory: Success

Actual outcomes:

* VPS as expected.
* Shared not so much. You get the errors as expected however the failure is not correct. The image actually does upload, contrary to the errors, however no thumbnails are made, which then causes a memory problem as the full size image shows when you go to any media library view (in lieu of actual thumbnails). This crashed Chrome (as @markjaquith saw when we were testing Monday night) until I deleted the large images.

The actual issue is on thumbnail creation, so the best 'fix' I can think of is if on failed thumbnail gen, it nukes the master image, but I don't know if that would make sense since some of the thumbnail gen might be on extra image sizes set by themes/plugins. Then again, do you want those if all fail? ",Ipstenu
23003,Long filename breaks styling in media modal,,Media,3.5,normal,normal,Awaiting Review,defect (bug),reopened,,2012-12-19T12:11:17Z,2012-12-19T16:48:47Z,"Long filename in media modal breaks styling of right sidebar. Long filename is displayed bellow thumbnail and longer labels bellow are moved to separate line.

See attached picture.",pavelevap
23436,Media Gallery - Cropping Image and then Cropping a thumbnail from that crop doesn't work.,,Media,3.5.1,normal,minor,Awaiting Review,defect (bug),new,,2013-02-10T17:20:00Z,2013-02-10T18:04:06Z,"'''A recipe for repeating the bug behavior:'''

Navigate to Library in the admin sidebar.

Click ""Add new"".

Drag the 800x480 copy of this or any image to the drag and drop area:

http://en.wikipedia.org/wiki/File:Cheese_platter.jpg

(I suggest this image for ease of recipe duplication and best explanation.)

After the blue status bar has completed, ""Edit"" to bring the media edit window up in a new tab.

Click ""Edit Image"" below the actual image.

Drag anywhere inside the image to create a cropping box.

In the ""Image crop"" pane, set the crop area to 500px width, 100px height.

Drag the cropping box so that the fancy toothpick is as far left as possible along the horizontal axis of the cropping box, but centered vertically. 

Click the ""Crop"" icon. Click ""Save"". Click ""Update"".

Click ""Edit Image"" once again.

Drag inside the newly-cropped image again to create a new cropping box.

In the ""Image Crop"" pane, change the cropping dimensions to 150 x 100. 

Drag the box so the fancy toothpick is somewhere in the left third within the crop boundary. 

'''Important:''' In the thumbnail settings pane, set ""Apply Settings to:"" '''Thumbnail'''.

Click the ""Crop"" icon. Click ""Save"". Click ""Update"". 

Click ""Library"" in the admin sidebar.

The newly preferred thumbnail for our previously-cropped image does not save. Thumbnail remains default, based on center of previously-cropped image. Instead, you will see a small wheel of cheese sliced into six wedges with garnishes for the thumbnail, even though we chose the part with the fancy toothpick.",gr33nman
23127,Media Upload hangs on Crunching on too big image sizes.,,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-05T22:56:14Z,2013-02-02T03:29:32Z,"If the uploaded file is too big for the Max Memory Limit Setting, then the upload is executed, but the image isn't resized to the set image sizes and the frontend gets stuck on ""Crunching"". I tracked the error down into the core and found out, that the main problem is in the GD library class ( wp-includes/class-wp-image-editor-gd.php ) in the load() function.

Everything works fine before line 91:
{{{
$this->image = @imagecreatefromstring( file_get_contents( $this->file ) );
}}}

So imagecreatefromstring fails because of a lack of memory. But as a chain reaction everything else fails afterwards. The library is not loaded and sent back, and so on. As a result no id is sent back to the frontend and the Loader hangs.

Maybe there should be any error catching and sending back before this GD function, that the frontend receives any error messages and that the upload is deleted in case of error.

Just my thoughts: As this error is a Fatal one, you can`t use any Exception stuff, cause there will not be any memory left to execute it. Maybe some checking if the id is present before sending the image back to crunching?",clubdesign
22813,"Media Uploader doesn't escape ""+"" in filenames and doesn't upload file",,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-12-07T16:02:27Z,2013-04-23T03:48:58Z,"I downloaded a photo this morning with filename `Screenshot+2012-12-07+at+08.55.33.png` — when I upload it in the WordPress media uploader it acts like its uploading (progress bar, crunching) but then shows a broken image as the result.

1. Upload media with ""+"" in filename
2. Observe progress bar uploading and complete the upload

Expected: file is uploaded A-OK to server, attachment created, image loads as expected.

Actual: no file is stored in uploads (or blogs.dir/files) directory, attachment is still created, no error, file does not exist.

FWIW the filename that WordPress expects to have uploaded is `/2012/12/Screenshot+2012-12-07+at+08.55.33-150x150.png`

I'm on Media Temple, running trunk as of this morning. Not sure if a regression, specific to my server configuration, etc. so more testing here would be appreciated.",devinreams
19817,Media Uploader sticks at 'Crunching' for Subscriber Uploads,,Media,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-01-12T18:34:21Z,2013-03-11T10:32:15Z,"When I add the capability 'upload_files' to the user role 'subscriber', the media uploader will hang at the 'crunching' step for the subscriber. The file is still uploaded, but the step never proceeds to redirect the user to the friendly insert image screen. Occurs when uploading from Media > Add New, as well as from the editor-based uploader.

The administrator does not have this problem. 

Tested on a fresh install of WP 3.3.1 with the Twenty Eleven theme. Problem occurs on other themes, as well.

The solution proposed here for a similar issue does not work: #19814",walkinonwat3r
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
23292,"Media uploader loads full size image and slows down, please change to thumbnails.",,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-01-25T09:31:11Z,2013-01-25T12:31:37Z,"The media uploader is really slow if you upload 1024 x 768 images, the reason for this is that the preview shows full size images. 

Underneath here is a quick fix to speed up the media uploader to thumbnails.
Please change line 1333 in ""wp-includes/media.php"" from:
{{{
$attachment_url = wp_get_attachment_url( $attachment->ID );
}}}
to:
{{{
$attachment_url = wp_get_attachment_thumb_url($attachment->ID );
}}}",mnrtjeR
20672,Mime-Type Matching Error With Certain Added Mime-Types,,Media,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-05-14T09:50:10Z,2012-05-14T11:11:54Z,"I think I've found a bug in the handling of post_mime_types with certain legitimate file MIMEs. My suspicion is that the problem is related or similar to that reported in [http://core.trac.wordpress.org/ticket/17855 #Ticket #17855], and apparently fixed in Wordpress v3.2.

The particular problem I've been experiencing only becomes apparent when adding MIME-types to the $post_mime_types array via the ''post_mime_types'' filter hook. For example, the following is a legitimate MIME-type:

''application/vnd.google-earth.kml+xml''

However, if I add the MIME to post_mime_types array with:

{{{
function kml_modify_post_mime_types( $post_mime_types ) {
	$post_mime_types['application/vnd.google-earth.kml+xml'] = array(__('KML'), __('Manage KML'), _n_noop('KML <span class=""count"">(%s)</span>', 'KML <span class=""count"">(%s)</span>'));
	return $post_mime_types;
}
add_filter( 'post_mime_types', 'kml_modify_post_mime_types' );
}}}

in my plugin, I don't see a filter link at the top of the Media list (like the ones for Video, Audio etc.), as I should do. I may be wrong, but I think this is because the '+' character in the attachment MIME-type is not handled correctly.

To test this, I tried faking a new MIME, minus the '+'. I changed the MIME-type my plugin add to the post_mime_types array to

{{{
$post_mime_types['application/vnd.google-earth.kmlxml'] = array(__('KML'), __('Manage KML'), _n_noop('KML <span class=""count"">(%s)</span>', 'KML <span class=""count"">(%s)</span>'));
}}}

then changed the value in the MIME field of a previously-uploaded KML file to the same (''application/vnd.google-earth.kmlxml''). Now I DO see the filter link, and clicking on the link reveals the KML file as the only item in the filtered list, as it should.

I'm not sure if the problem manifests itself anywhere else. I've not found any evidence it does, but it may well do. From doing some multi-file searches on the WP system files, my suspicion is that the problem is with one or both of the following functions in post.php:

* wp_match_mime_types()
* wp_post_mime_type_where()


but I'm really not sure.

I'd be grateful if a more skilled coder than me could confirm if this is actually a bug. I'm afraid my regular-expression understanding is minimal, but I suspect this might be an easy fix for someone who knows their stuff.

I'm more than happy to run any tests anyone might suggest to help pin down the source of the problem and/or help fix it.

Thanks guys.

a|x",toneburst
16203,Modifications of media doesn't generate alternatives added by add_image_size(),,Media,3.0.4,normal,normal,Awaiting Review,defect (bug),new,,2011-01-12T16:03:51Z,2011-10-25T16:39:55Z,"Upload an image, then select ""Edit Image"".
Crop the image and Save.
Images with sizes added eith add_image_size() doesn't get alternatives generated as the standard sizes does.",andreaswedberg
23144,Non writeable uploads folder may result in URLs to existing attachments fallbacking to use GUID,,Media,2.7,normal,minor,Awaiting Review,defect (bug),new,,2013-01-08T16:19:44Z,2013-01-08T23:22:10Z,"When using wp_get_attachment_url() the returned url may fall back to using the value stored in the GUID field, if the uploads folder is not writeable. 

I think this only happens if the uploads folder for the current year + month does not exists.

Reason for this is in wp_upload_dir(): it returns everything ok, including an error like ""Unable to create directory wp-content/uploads/2013/01. Is its parent directory writable by the server?"" which makes the wp_get_attachment_url() function think something is wrong and therefor uses GUID instead, since it does a check for just FALSE and not the type of error.

In my example I am getting an attachment/file that exists in the folder ""uploads/2012/12"", so the month/folder 01 is not necessary at all.

I don't see the need for falling back to GUID because of a non-writeable uploads folder since this should only be considered wrong when adding files, not when reading existing files. All other information for getting the file is correct. Also, perhaps you can spare some MS if you skip the does-folder-exist-for-current-month checks when just getting file info.


",eskapism
23971,Post Set Featured Image No Light Box,,Media,trunk,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-07T03:51:04Z,2013-04-08T13:21:09Z,"For posts when clicking on set featured image the media browser is opened in the current window instead of a light box. 

Setting featured image on pages works fine",azchipka
14639,Posts in the Trash drag attachment pages down with them,,Media,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-08-18T20:28:50Z,2013-05-08T14:30:16Z,"If you have an attachment linked to a post, then move the post to the Trash, the attachment page results in a 404.

Steps to reproduce:

 1. Create a new post with at least one image attached to it (just add it to the post).
 2. Publish the post.
 3. Check both the attachment URL (it will be a ""child"" of the post to which it is attached) and the post URL.
 4. Move the post to the Trash.
 5. Try to ""View"" the attachment either by going through the Media Library or by refreshing the attachment URL. WordPress will display a 404 message.

Deleting the post permanently can cause the attachment permalink to work again, both with the page parent in the slug and without that information in the form http://sitename.com/attachmentname/ .",markel
18798,Sanitizing post in get_attachment_fields_to_edit() can cause double encoding under certain circumstances,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-27T23:33:09Z,2012-01-05T14:27:44Z,"In get_attachment_fields_to_edit, the $post object is sanitized using the 'edit' flag, which converts HTML entities. Under some circumstances this can cause entities to be double-encoded (as in, &amp;quot;), because the html entities are already 

To fix this, sanitize the post using the 'raw' flag.",wpdavis
22135,Special characters in caption lead to failure of inserting images,,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-08T21:25:46Z,2012-10-11T16:26:47Z,"Found this when double-checking #22132:

1. Go to add a new post.
2. Click ""Upload/Insert"" (the ""old"" media upload).
3. Upload an image, or go to choose one from the media library.
4. Insert {{{Title""<script>alert('Title');</script>}}} in the ""Caption"" field.
5. Click ""Insert into Post"".

Instead of the image (or Shortcode) being added to the editor (with a somehow escaped caption field), the media upload iframe just gets a new content:
{{{
[/caption]'); /* ]]> */
}}}

Reproduced in 3.4.2 and trunk.",TobiasBg
22999,The position of the cursor is ignored when inserting media in DFW and Text mode (IE),,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-19T00:58:22Z,2012-12-19T01:07:36Z,"When editing a post in IE8/IE9 in either full screen mode or in text mode, media is always inserted at the top of the post when regardless of where the cursor is positioned prior to opening the ""Add Media"" modal. I suspect that IE7 is also affected, but I have not tested it.",gcorne
21091,Unable to upload media with custom permissions,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,close,2012-06-28T03:13:19Z,2013-03-11T10:31:24Z,"on the current version of wp-admin/media-upload.php there are now several checks to ensure that the user can edit the post using current_user_can( 'edit_post', $_REQUEST['post_id'] ). it appears that there is a typo as the capability as it is written currently is 'edit_post' and it should be 'edit_posts', correct?

I noticed this on a site I manage where contributors have been given the capability to upload media but are no longer able to unless media-upload.php is edited to match their built-in capability.",havahula
17736,Undefined Index in image-edit.php,,Media,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-09T18:57:48Z,2013-03-29T21:59:24Z,"PHP Notice:  Undefined index:  thumbnail in wp-admin/includes/image-edit.php on line 649

{{{
			if ( $thumb = $meta['sizes']['thumbnail'] )
}}}

",miqrogroove
20948,Unnecessary post type check in wp_get_attachment_url,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-14T02:38:16Z,2012-12-16T23:21:48Z,"Not sure why this needs to be done. You wouldn't be calling this function on a post if it wasn't an attachment. If you are, then you must have a good reason to be doing so, like I do.",jfarthing84
22694,Uploading File with Apostrophe in filename,,Media,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-03T11:33:20Z,2012-12-03T14:40:31Z,"When uploading a file with an apostrophe in the filename wordpress returns a 'HTTP Error' message.

I have replicated this on two separate installs of wordpress, on different LAMP hosting environments.

The filename used for testing was Trend_Forecaster's_Handbook_1.jpg",ianatkins
22146,Uploading Media does not show an error when connection is interrupted,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,,2012-10-10T03:30:20Z,2013-03-19T21:16:36Z,"When using the multi-file uploader, it doesn't show an appropriate error message when the connection is interrupted briefly. Instead, it jumps to ""Crunching..."" and gets stuck there, giving the impression that the upload was successful.

To reproduce:

- Begin an upload - I suggest a file at least a few MB, so you can see the effect more easily. Also, upload to a remote server, so the connection can be easily killed.
- Upload a few %, then disconnect your computer from the network. I found a 15-20 second disconnect worked most consistently. I was testing with an ethernet connection, I assume WiFi will be the same.
- Reconnect, and observe the upload bar. If it continues counting up, try disconnecting again, for a little longer.

If you successfully reproduced the bug, it jumps to ""Crunching..."", without showing an error message.

I've reproduced this behaviour in 3.4.2 as well as trunk.",pento
21004,add_image_size hard crop messes up image editor rendering,,Media,3.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-17T23:48:51Z,2012-12-07T13:51:58Z,"When I add an image size with hard crop set to true ( ex: add_image_size('index-thumbnail', 420, 550, true); ) it makes it so that you cannot edit the full size of an image in the image editor - only a cropped version.

http://i47.tinypic.com/20h2dfr.png

(link to screenshot)

The left image in the screenshot is the editor when I removed 'true' from my add_image_size arguments. The right image is with 'true' added back in.

I also see that others had the same problem in this thread: http://wordpress.org/support/topic/help-add_image_size-and-image-cropping?replies=6

...but it was closed without any resolution.",geniepop
22926,attachment_fields_to_edit doesn't show on edit image screen,,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-13T23:11:33Z,2012-12-13T23:11:33Z,"""attachment_fields_to_edit"" works normal when inserting an image with the new media manager, but it doesn't work when editing an image that's already been inserted into the post. 

It looks like it's just displaying editimage.html without ever using the filter. ",vvu
20720,attachment_fields_to_save filter is called twice after initial image upload in post,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-05-21T16:18:41Z,2012-05-22T00:12:20Z,"I believe I found a bug in WordPress with the attachment_fields_to_save filter.  For some reason attachment_fields_to_save is called twice per image, but only if you ""Save all changes"" after uploading a new image to a post.  

How to reproduce:
1.  Add the below code to a plugin:

{{{
add_filter( 'attachment_fields_to_save', 'test_attachment_fields_to_save', 10, 2 );

function test_attachment_fields_to_save( $post, $attachment ) {

	echo 'Hi! </br >';

	return $post;
	
}
}}}

2.  Create a new post
3.  Upload a single image and click ""Save all changes""

You'll see ""Hi!"" displayed twice.  Now visit the Gallery tab and save the same image and you'll see ""Hi!"" is only displayed once.  This only happens when you save a new image uploaded to a post.  If you save an image under the Gallery tab, or via the Media Library, the filter is only called once as expected.

I confirmed this is happening in 3.3.1 and trunk",williamsba1
20870,error notice when $post = NULL with gallery_shortcode,,Media,3.3,normal,trivial,Awaiting Review,defect (bug),new,,2012-06-07T11:05:46Z,2012-06-26T03:12:02Z,"i have noticed with many relevant plugins and functions it may happen, that gallery_shortcode is called when global $post returns NULL. problem is, that gallery_shortcode function media.php containts 

{{{
		'id'         => $post->ID,
}}}

(row 798 on 3.4 or 783 on 3.3.2) so when $post is NULL it returns error notice

there is trivial solution - adding (!$post) check just after the $output filter (so it could be rewriten by plugin authors) - see last line:


{{{
function gallery_shortcode($attr) {
	global $post;

	static $instance = 0;
	$instance++;

	// Allow plugins/themes to override the default gallery template.
	$output = apply_filters('post_gallery', '', $attr);
	if ( $output != '' )
		return $output;

        if (!$post) return;
}}}


(sorry, i do not know how to change it on svn). This bug is even on 3.3.2 even on latest 3.4",thomask
21679,media_handle_upload does not provide a way to change the file's name,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-24T04:00:30Z,2012-08-24T10:33:06Z,"`wp-admin/includes/media.php` has two operations that I believe should be reversed. Basically, `$name` is set based on the name of the raw uploaded file ( `$_FILES[$file_id]['name']`), however in the `wp_handle_upload` function you are able to use `wp_handle_upload_prefilter` to adjust the file's name - but when after the `wp_handle_upload` returns the changes will not show up in the title of the media dialog field even though the file has been renamed properly:

{{{
	$name = $_FILES[$file_id]['name'];
	$file = wp_handle_upload($_FILES[$file_id], $overrides, $time);

	if ( isset($file['error']) )
		return new WP_Error( 'upload_error', $file['error'] );

	$name_parts = pathinfo($name);
	$name = trim( substr( $name, 0, -(1 + strlen($name_parts['extension'])) ) );
}}}


In short, uploading a file named Picture.png and changing the name to test3.png using the `wp_handle_upload_prefilter` filter does in fact allow the file's name to be changed before it is saved, but the ""title"" is then incorrectly displayed in the media uploader dialog box.

[[Image(http://img24.imageshack.us/img24/3679/pictureyp.png)]]

This would be relatively easy to fix using this patch:

{{{
--- media.php	2012-08-23 23:57:02.000000000 -0400
+++ media-patch.php	2012-06-06 12:00:08.000000000 -0400
@@ -209,8 +209,8 @@
 			$time = $post->post_date;
 	}
 
+	$name = $_FILES[$file_id]['name'];
 	$file = wp_handle_upload($_FILES[$file_id], $overrides, $time);
-	$name = $file['name'];
 
 	if ( isset($file['error']) )
 		return new WP_Error( 'upload_error', $file['error'] );
}}}",Willshouse
17061,media_sideload_image() allows upload of 301-redirected non-images,,Media,3.1.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-06T14:39:09Z,2012-10-05T02:07:15Z,"When you give {{{media_sideload_image()}}} URLs that are not images, an error is raised.

If for example I do:
{{{
media_sideload_image(""http://google.com"", $post_id, $img_desc);
}}}
then I get this error:
{{{
Sorry, this file type is not permitted for security reasons.
}}}
And this is absolutely normal and expected.

But there is a case when {{{media_sideload_image()}}} do not detect non-images. This case is when the URL given to the function looks like an image but is redirected by Apache to another place.

For example, on my server, this URL:
{{{
http://coolcavemen.com/e107_plugins/autogallery/Gallery/default.jpg
}}}
redirects to:
{{{
http://coolcavemen.com/photos/
}}}

Now if in some PHP code I do:
{{{
media_sideload_image(""http://coolcavemen.com/e107_plugins/autogallery/Gallery/default.jpg"", $post_id, $img_desc);
}}}
then no error is raised and I end up with the HTML served at {{{http://coolcavemen.com/photos/}}} being uploaded to my WordPress site as-is:
{{{
kevin@kev-laptop$ file ./wp-content/uploads/2011/04/default.jpg
./wp-content/uploads/2011/04/default.jpg: HTML document text
}}}

Of course this upload appears broken in the media manager, as you can see in this screenshot: http://twitpic.com/4hlyks",Coolkevman
22925,media_upload_tabs filter not functioning,,Media,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-13T22:21:28Z,2012-12-15T04:32:25Z,"When using the media_upload_tabs filter, the array passed through contains a 'library' item that usually can be unset, therefore removing the Media Library tab from the front-end uploader. This no longer works. I cannot even rename the labels using this method, however the array of tabs is still coming through, and modifying it does nothing. The filter is still active, but appears to do nothing.",kegster
18532,resized image dimensions incorrectly floored instead of rounded,,Media,2.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-08-27T16:14:29Z,2011-09-04T17:43:03Z,"Image dimensions are incorrectly floored instead of rounded to a proper number. Some attempt at ""fixup"" is done later in some processes to move them by a pixel, but still the way it's initially calculated is wrong.

'''For example:

A typical photo has a 3:2 (3/2 = 1.5) ratio.

If it's resized to 600px width, WP will make the height 399px - this is wrong.'''

It happens because of ''function wp_constrain_dimensions'' in ''media.php'' (~line 304) which floors the float using intval, which is wrong. 


{{{
	$w = intval( $current_width  * $ratio );
	$h = intval( $current_height * $ratio );
}}}

'''I propose'''

{{{
	$w = round( $current_width  * $ratio );
	$h = round( $current_height * $ratio );
}}}

Earlier in the function, both $ratio and $current_width are already handled as numbers, so they have to be valid numbers, no need to use intval for that reason, it's just being used to floor, which is bad in this case.

Using round is not a performance issue because this function is not used in realtime output for templates but typically in admin area.

Optionally while you are at it, put a filter on wp_constrain_dimensions and pass the filter all the values passed to the function before the array is returned at the end.
",_ck_
21323,wp_delete_attachment (leaves stale image class wp-image-### in content of post).,,Media,3.4.1,normal,trivial,Awaiting Review,defect (bug),new,,2012-07-20T13:33:56Z,2012-07-20T13:33:56Z,"
Here is my Example I'm using:
Running a script below (placed in the wordpress docroot) to delete all thumbnails from the database:


{{{
require_once(""wp-load.php"");
echo 'Working... '; ob_flush();
global $wpdb; 
$attachments = $wpdb->get_results(""SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id'""); 
foreach($attachments as $attachment){ 
     $wpdb->query(""DELETE FROM $wpdb->postmeta WHERE meta_id = '$attachment->meta_id' LIMIT 1""); 
     wp_delete_attachment($attachment->meta_value, true); 
} 
echo 'done!';
}}}

Now after running something like above I'm left with (inside my content of each post) a stale image class tag that no longer points anywhere.

I think a simple regex replace of the post_content for wp-image-#### Inside an Image tag would remove the stale element.

I haven't checked this with other attachment types to see if it also exists, but my guess is it would.",eliddon
19512,wp_read_image_metadata includes bitmap in description,,Media,3.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-12T13:47:40Z,2011-12-20T20:51:17Z,"After uploading a photo that includes (photoshop) bitmaps in the image data, the bitmap data is copied into the image description.




",macbrink
18075,"""Scan for lost attachments"" should look for orphaned files in the /uploads/ folder",,Media,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-07-11T23:19:25Z,2011-07-11T23:40:52Z,"I recently moved my blog over to another host, and just copy and pasted my /wp-content/uploads/ folder into the new destination. I've now got four years worth of media, but none of it is in the media library.

I assumed the button on the Media Library (under Unattached) would add these files to the database, but it didn't.

Extending this use case, this feature could also be used as a bulk ""these files are already on the server, I don't want to upload them"" (which is the only way to add files to the media library, no?) action.",shamess
20547,Ability to define post attachment status on insertion,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-04-25T20:57:48Z,2012-04-25T20:57:48Z,"By default, `wp_insert_attachment` will either set a new attachment as 'inherited' or 'private' - inherited being that it simply mimics the post status of its parent.

This is fine by default, but what about when wanting to run tests? For example, you have a live post that you want to add attachments to, but you want to ensure that the attachments (whatever they may be) are properly formatted before making them appear on your live post. By default, just uploading the attachment will push it live because it has inherited the published status of its parent.

Is this doable? What about filtering `$object` in the `wp_parse_args` function inside `wp_insert_attachment` to allow that property (along with the others - it makes sense to be able to filter them all) to be set?

Don't know how feasible it is, but if it's possible I'll work on a patch and tests.",griffinjt
19872,Add Hook/Filter to image_resize_dimensions in media.php,,Media,3.3.1,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-01-21T19:38:18Z,2012-01-21T22:23:46Z,"It would be great if a hook, a filter, a global, an option, or something somewhere were created to allow the image_resize_dimensions() function in media.php to resize images to be larger than the original. In a typical scenario I can understand why you would not want to allow this, however there are rare circumstances where this would be helpful (generating a background image). Currently lines 349 and 350 of media.php read:
{{{
$new_w = min($dest_w, $orig_w);
$new_h = min($dest_h, $orig_h);
}}}
and lines 378 to 380 read:
{{{
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h )
	return false;
}}}
It would be great if we were provided a boolean to alter these two blocks, for example:
{{{
if($allow_resize){
	$new_w = $dest_w;
	$new_h = $dest_h;
}else{
	$new_w = min($dest_w, $orig_w);
	$new_h = min($dest_h, $orig_h);
}
}}}
...
{{{
// if the resulting image would be the same size or larger we don't want to resize it
if ( $new_w >= $orig_w && $new_h >= $orig_h && !$allow_resize)
	return false;
}}}",webbtj
16989,Add a parameter or filter to get_media_items() for media type.,,Media,,normal,trivial,Awaiting Review,enhancement,new,dev-feedback,2011-03-28T16:19:55Z,2011-07-17T23:18:21Z,"It's a bit confusing IMO to have all media items appearing in the gallery tab of the media upload popup as it only deals with images. I'm making an audio player plugin with soundmanager2.js that uses an extra media upload tab to organise the uploaded audio files and insert a playlist shortcode into the post.

To do this I had to take a copy of get_media_items() with my filter hardcoded in. I can share my code if desired but it's not the prettiest, I'd like a more wordpressy way of doing this in future releases when you're able.",sanchothefat
23983,Add filter to get_post_thumbnail_id to override default thumbnail use,,Media,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-04-07T20:48:44Z,2013-04-08T00:43:56Z,"The current function for getting the post thumbnail ID, used in among others `get_the_post_thumbnail`, is as follows:
{{{
function get_post_thumbnail_id( $post_id = null ) {
	$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
	return get_post_meta( $post_id, '_thumbnail_id', true );
}
}}}

In my opinion, this needs a filter, so the user can override this by the attachment of his choosing, such as an Advanced Custom Fields image attached to the post.

Something like:
{{{
function get_post_thumbnail_id( $post_id = null ) {
	$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
	return apply_filters( 'post_thumbnail_id', get_post_meta( $post_id, '_thumbnail_id', true ), $post_id );
}
}}}

I know you can hook into the `get_{$meta_type}_metadata` filter, but getting the post thumbnail ID should still be possible by using get_post_meta, the other thumbnail should just be used for displaying.",Jesper800
18835,Add filter to image_resize_dimensions( ) return values,,Media,3.2.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-10-01T16:14:39Z,2012-10-03T01:00:57Z,"Requesting a filter on the values about to be returned, including access to the function's original arguments.

Use case:
Currently, any cropping happens to images always crops to the top-left corner (0,0). Want to be able to write a plugin that will allow cropping with more options (say, crop out at the middle of the image, etc).",scottconnerly
23768,Add option to turn post gallery into a slideshow,,Media,,normal,normal,Awaiting Review,enhancement,new,close,2013-03-14T14:09:34Z,2013-04-04T05:10:18Z,"To build on the improvements to the WordPress Media manager, it would be great to have an option built-in to output a gallery as a slideshow.",ericlewis
20151,Add parameter for wp_embed_defaults(),,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-03-01T20:08:17Z,2012-03-02T06:07:04Z,"If we can add a parameter (like $url) to wp_embed_defaults(), then people can filter more intelligently as WordPress extends to allow more and more oEmbed.

",wpsmith
21407,Allow filtering of upload resize dimensions,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-07-28T18:00:19Z,2012-07-29T19:29:25Z,"Background: 

Plupload ships with a client-side upload resizer that was included with Core in 3.3 but had the action removed because of [http://core.trac.wordpress.org/ticket/19174 browser inconsistencies] so I implemented it as [http://wordpress.org/extend/plugins/enable-image-scaling-option-on-upload/ a plugin] at the time. Everything works just fine and dandy with zero problems except that the `resize_height` and `resize_width` vars are defaulted to the Large image sizes defined in media settings. It would be nice to be able to filter one or both of the dimensions outside the scope of the 'Large' size (when 'Original' becomes the same size as 'Large', you effectively lose an image size).

Patch attached.

You'll have to re-add this action to test:

`add_action( 'post-upload-ui', 'media_upload_max_image_resize' );`

Related: #19174, #19770",DrewAPicture
24285,Allow to filter AJAX attachments query args,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-05-08T08:41:24Z,2013-05-08T08:41:24Z,"Hi, I am currently working on plugin that shows only the author-attachments in the new WordPress Media Manger ( like [http://wordpress.org/extend/plugins/view-own-posts-media-only/ view-own-posts-media-only] plugin but more cleaner and smarter )

A filter to allow modify the AJAX attachments query is needed.",alex-ye
24019,"Allow user to specify image size when selecting ""Media File"" as ""Link To"" target for image attachments.",,Media,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-04-10T00:39:26Z,2013-04-15T15:43:33Z,"Currently selecting ""Media File"" as the ""Link To"" target causes an embedded image to link to the originally uploaded file.  These files can be very large and there is no way to non-destructively resize them on upload while retaining this ""Link To"" functionality.

This enhancement patch adds a drop down list of available image sizes to the form (defaulting to Full Size - the existing behaviour) when ""Media File"" is selected, allowing the user to link to custom image sizes as specified in their themes or plugins if desired.

[[Image(http://dfcowell.net/wp-content/uploads/2013/04/attachdisplay.png)]]


[[Image(http://dfcowell.net/wp-content/uploads/2013/04/attachdisplay2.png)]]

This is a significant improvement over default functionality, especially when used in conjunction with a lightbox plugin.  It allows the user to retain the full-size image on the server while being able to specify a link to a smaller size if desired.",dfcowell
22548,Better behaviour when embedding oEmbed supported URLs,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-11-23T00:11:57Z,2012-11-23T00:11:57Z,"If a user isn't aware that they can just paste the URL of a video from YouTube/Vimeo/etc into a post in order to embed it, then the user experience for embedding such content could do with some improvement.

In [http://make.wordpress.org/ui/2012/11/14/to-change-things-up-i-tested-a-different/ this recent user interaction test by lessbloat], the user was given a URL to a Vimeo video and asked to embed it into their post. The user clicked 'Add Media', switched to the 'Embed From URL' tab and pasted the URL there. All that happened was the URL to the video was inserted into the post as a formatted link (`<a href=""{url}"">{title}</a>`). This meant oEmbed didn't do its thing when the post was displayed and the user just ended up with a link to the Vimeo URL.

== What Should Happen ==

URLs inserted via the 'Embed From URL' tab in the media modal should be handled according to whether or not there's oEmbed support for the URL. To do this an AJAX request should be fired off to a new AJAX handler which reports whether there's oEmbed support for the URL. If there is, then a UI element (message/icon/something) should be shown indicating that the media will be embedded. As a bonus we could even grab the oEmbed data immediately and display the title/thumbnail/etc if it's relevant.

Note that if you paste a URL to an image file (gif/png/jpeg) you're immediately shown an interface for entering a caption and selecting the alignment and the link. This is nice behaviour and improves on the UI we had in 3.4.

----

This isn't specific to the new media modal because this has always been the behaviour, but marking as an improvement to trunk anyway (I'd call this a bug, but I'll leave it as an enhancement).",johnbillion
23594,"Categorization of files in Media Library (i.e. folders, tags, etc.)",,Media,3.5.1,normal,normal,Awaiting Review,enhancement,reopened,close,2013-02-23T10:16:26Z,2013-03-27T23:39:24Z,"Hi, the new media library is great but if you have a site with a lot of images, it is really hard to find anything.

My suggestion would be to allow admins to create a folder structure for media files, so that content can be grouped accordingly. If folders are not an option, then I would at least like to see tags as a taxonomy for media files. Anybody who has more than 100 files of media in the library can't possibly be happy about how they find their media.

Thanks for considering this. I know it's been a request in the forums for something like 3 years now, and there was a lot of hope in the community that the new media library would accommdate for this.

NextGen Gallery probably comes closest to what I am thinking of, but sometimes you don't want a bloated gallery plugin when all you want to do is categorize your media library files..
",titush
21329,Consolidate filters and functions in wp-admin/includes/media.php,,Media,,normal,normal,Awaiting Review,enhancement,new,close,2012-07-20T20:28:59Z,2013-01-28T23:50:11Z,"in wp-admin/media.php, there are several functions that do similar things and could be combined, simplifying how they get used.",martythornley
17866,Copy adjustment in wp-admin/includes/media.php,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-06-22T02:54:50Z,2011-08-10T15:49:33Z,"""Link Image To:"" seems preferable to ""Link URL"" in wp-admin/includes/media.php (and it is more consistent as it is already used on the ""From URL"" tab when inserting an image).",hew
21304,Create unique file for rotated images,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-07-18T16:31:06Z,2012-07-18T16:31:06Z,"When images are cropped in WordPress, the resulting file is given a unique filename, which helps in two ways — the original is preserved, and it also busts any caching. Preserving the original isn't such a major concern when we're talking about rotating the image, but caching still can be an issue. I propose that when images are rotated they're given a unique filename to bust through any caching or CDN that the image has already gone to.",wpdavis
24168,Custom image sizes don't automatically populate in 3.5+ media modal,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2013-04-23T17:41:20Z,2013-04-26T11:53:00Z,Seems a bit redundant to have to filter (image_size_names_choose) the default list of attachment sizes to get a custom image size in the select dropdown.,ericlewis
17956,Edit all image sizes,,Media,3.2,normal,minor,Awaiting Review,enhancement,new,,2011-07-01T08:19:52Z,2011-07-01T08:19:52Z,"It would be nice that I could edit each image size seperatly instead of just ""all"", ""thumbnail"" ""all except thumbnail""",Horttcore
22990,Edit custom image sizes,,Media,3.5,normal,normal,Awaiting Review,enhancement,reopened,,2012-12-18T13:36:46Z,2013-05-07T11:54:04Z,"There is currently no way to edit custom image sizes.

Since it's possible to create custom image sizes, it should also be possible to edit them in the backend.

Right now there three scenarios:
1. All images
2. All images except thumbnail
3. Thumbnails only

Whatever choice you make it will affect all custom image sizes.

I propose more options added here,for instance:
1. All images
2. Custom -> Select size from select menu
3. Thumbnails only",jonkristian
22679,Ensure that unattached images inserted from media library get pretty url directly,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-02T11:24:19Z,2012-12-02T22:13:17Z,"When inserting an unattached image (with no parent) from the media library and setting the ""Link To"" option to ""Attachment page"", the URL at first gets the default query string format (with a '?'). Though after updating the post it gets the final ""pretty"" format (which seems to happen in the function _fix_attachment_links() in wp-admin/includes/post.php).
The provided patch, gives the URL the final pretty format directly.
See also #22085.",jond3r
21988,Filter get_media_item output,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-09-25T03:56:27Z,2012-09-25T09:38:43Z,"L1027-1028 of media.php looks like this:

{{{
if ( $item = get_media_item( $id, array( 'errors' => isset($errors[$id]) ? $errors[$id] : null) ) )
			$output .= ""\n<div id='media-item-$id' class='media-item child-of-$attachment->post_parent preloaded'><div class='progress hidden'><div class='bar'></div></div><div id='media-upload-error-$id' class='hidden'></div><div class='filename hidden'></div>$item\n</div>"";
}}}

The biggest issue I see with this is that because you can only attach images to one post, this will unnecessarily display images that cannot be attached to the current post type in instances where the Media Library tab is forced to send items even though no editor support has been added for the post type.

In that light, it would be nice to have a filter to remove the output of these unnecessary items in order to improve UI and UX when navigating through images to attach to the post type. Currently I am having to create an error-like overlay on each item that is already attached in order to prevent users from trying to attach an item that is already attached elsewhere.

Where would it make the most sense to have this filter? At the end of get_media_item? ",griffinjt
16635,Handle grouped MIME-Types,,Media,3.1,normal,minor,Awaiting Review,enhancement,new,has-patch,2011-02-24T13:41:14Z,2011-02-24T13:41:14Z,"I'm trying to add a filter in the Media Library for common archive file types. The problem is that there are a lot of MIME-Types for archive files and none have a common prefix. Wildcards are not a solution here.

POC:
{{{
add_filter('post_mime_types', 'modify_post_mime_types');

function modify_post_mime_types($post_mime_types) {
	$type = 'application/zip,application/x-tar';
	$labels = array(
		__('Archive'), 
		__('Manage Archives'), 
		__ngettext_noop('Archive <span class=""count"">(%s)</span>', 'Archives <span class=""count"">(%s)</span>')
	);

	$post_mime_types[$type] = $labels;

	return $post_mime_types;
}
}}}

I've tried using ""|"" (regexp) as a separator:
{{{
$type = 'application/zip|application/x-tar';
}}}
This works ok in wp_match_mime_types but fails in wp_post_mime_type_where.

I've found two possible solutions:

1) Change 
{{{
$post_mime_types = array_map('trim', explode(',', $post_mime_types));
}}}
to 
{{{
$post_mime_types = array_map('trim', preg_split('/,|\|/', $post_mime_types));
}}}
in wp_post_mime_type_where and use ""|"" as a separator;

2) Handle this in wp_match_mime_type (see code in attached file) and use "","" as a separator.

I'm aware that this is not a widely used filter but in my case this enhancement makes a lot of sense. If it works for images why shouldn't it work for archives? Also, why is wp_post_mime_type_where designed for comma-separated lists of MIME-Types if it's never used that way?",sergiu.paraschiv
21221,Image title and alt attribute content should be texturized.,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-07-11T19:49:18Z,2012-07-11T22:11:44Z,"
gallery_shortcode() texturizes the caption shown underneath images in galleries.

For consistency, alt and title tags content should also be texturized.
This is also valuable for developers extending the gallery shortcode or output, such as with the WordPress.com (and Jetpack) [http://en.blog.wordpress.com/2011/11/08/new-photo-carousel/ Gallery Carousel feature], as it provides i18n'd texturization, for EG.

See attached patch, which:
 * uses wptexturize() in wp_get_attachment_image() directly (/wp-includes/media.php), which makes it work with gallries, attachment pages, etc.
 * also uses wptexturize() in get_image_tag() (/wp-includes/media.php), for consistency.
 * uses wptexturize() in wp_get_attachment_link() (/wp-includespost-template.php), for consistency",stephdau
22075,Improving `wp_get_attachment_link`,,Media,3.4,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-10-02T04:29:05Z,2012-10-07T22:07:52Z,"I answered a [http://wordpress.stackexchange.com/questions/65982 question] not so long ago on [http://wordpress.stackexchange.com/ WordPress StackExchange].

There I saw the need on a filter for `wp_get_attachment_link()` to allow the developer to add or remove attributes to the HTML without having to use a regex on it or creating the `a` tag again.

So I've done this small patch with changes to apply this enhancement to the function.",webord
16180,"In Add an Image, Link URL should be empty if Size = Full Size",,Media,3.0.4,normal,normal,Awaiting Review,enhancement,new,,2011-01-10T17:00:17Z,2011-01-10T17:41:42Z,"In the '''Add an Image''' dialog, '''Link URL''' should be empty if '''Size''' is '''Full Size'''. This is because there is no value in adding a link to an image if the original, unmolested version is being displayed.

You may need to be selective about how to implement this enhancement. Examples:
 * If '''Full Size''' was not the default selection when the dialog loaded, then it may not be right to remove the '''Link URL''' field if the '''Size''' radio button is changed ''to'' '''Full Size'''.
 * If '''Full Size''' ''was'' the default selection when the dialog loaded, and this is the dialog produced just after uploading an image, then the '''Link URL''' field probably should stay empty unless someone selects a different selection for '''Size.'''",novasource
21294,Introduce zoom-crop in Media image handling,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-07-17T10:09:23Z,2013-04-08T15:03:29Z,Please could the wordpress image handling introduce support for a zoom crop of images smaller than specified file sizes.,TwoThirdsWater
22670,Konami Code Easter Egg to trigger new Media model,,Media,,low,normal,Awaiting Review,enhancement,new,,2012-12-01T02:41:23Z,2012-12-11T17:31:43Z,"Just a harmless easter egg that will trigger 3.5's media uploader via the post editor page. It'd be a fun touch, imho.

To trigger, just use your keyboard and press, in order, up up down down left right left right B A",tw2113
19181,Make image_link_input_fields filterable to add buttons,,Media,2.7,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-06T20:27:53Z,2012-07-07T10:31:15Z,"This patch makes the image_link_input_fields function filterable, so that additional buttons could be added to the Link URL section when inserting an image into a post.

In my case, I want to be able to link an image to the post it belongs to. It's a weird/tiny use case, but this filter will let me use a plugin to add it myself.",ryanimel
19110,Media File Url,,Media,,normal,normal,Awaiting Review,enhancement,new,,2011-11-02T05:58:42Z,2011-11-07T10:41:44Z,"The media file URL includes the site URL this makes running two identical copies of the same site problematic since it would require doing a search and replace through a dumped database for each synchronization.

The following is stored in the guid column: 
http://braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg

My recommendation is to store in the guid column:
/wp-content/uploads/2011/10/BGF028_500x606.jpg

Which then could become:
http://braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://mirror1-of-braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://mirron2-of-braydon.com/wp-content/uploads/2011/10/BGF028_500x606.jpg
http://braydon.localhost/wp-content/uploads/2011/10/BGF028_500x606.jpg

Although this could cause a problem to how the guid field is to be handled, and a new column would need to be made.",braydonf
23116,Media GalleryEdit Controller should have an option to hide gallery settings,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-01-04T05:53:46Z,2013-01-04T05:53:46Z,"wp.media.controller.GalleryEdit (from /wp-includes/js/media-views.js, line ~557) should include an option to disable the gallery settings in the right sidebar. The settings might not always be desired (when editing a Gallery that doesn't go directly into a shortcode, for example).",nd987
23172,"Media Library - Rename the default ""Images"" in dropdown to something more clear",,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-01-10T17:05:32Z,2013-02-01T21:40:13Z,"I have a group of about 6 people on my team and after the upgrade to 3.5 not one of them could figure out how to filter down to only the images attached to a post. I'm assuming that other people out there are having similar trouble..
The label ""Images"" makes it seem like that is where you could switch to other media types like ""Audio"" instead of filtering search results. I think ""All Images"" would be much more clear as to what the dropdown changes..",jacopo.vip
22984,"Media Modal - Auto-save for compat-items doesn't trigger the UI to show the spinner or ""Saved"" indicators.",,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-18T00:10:53Z,2013-01-22T00:22:10Z,"When the auto-save kicks in for the standard attachment editor fields, it triggers the spinner icon in the top right corner. This is followed by ""Saved"" which then disappears on its own. None of these UI indicators are triggered for custom input items added via the 'attachment_fields_to_edit hook.

Not sure if its was an oversight or simply not seen as important.",eddiemoya
19397,Missing hide-if-js class on gallery items,,Media,,normal,normal,Awaiting Review,enhancement,new,,2011-11-29T22:48:30Z,2012-01-15T22:26:14Z,"When you open the gallery tab in the media thickbox, next to each attachment item you have an input in which you can enter an order.

The thing is that thse attachments can be ordered via drag-and-drop, so there's no need to show the inputs to users that have JavaScript enabled.

Not to mention that the order column header is way off.",scribu
22949,More Accurate and Extensible MIME Type Handling,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-14T22:08:16Z,2012-12-17T21:42:22Z,"In the general case, a file extension may represent more than one MIME type. Currently, file extensions are married to a single MIME.

Specifically, let's look at the case of the ""ico"" file extension. Officially, the MIME type for this file should be ""image/vnd.microsoft.icon"". Unofficially, ""image/x-icon"" along with many others are usable.

The solution to this problem is extremely simple.

First, allow key => value pairs in the exhaustive MIME list located in wp_get_mime_types to be arrays so we can account for cases such as ico.

Second, add the proper handling for this change in wp_check_filetype. The way I have written it should not interfere with existing uses of this function (as they were all passing strings and now can pass a string or array).",mattonomics
22894,Need WordPress Media Uploader Stop or Cancel Button in WP Version 3.5,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T17:34:01Z,2013-01-09T20:11:46Z,"Today I was testing the new media uploader of WP 3.5 from post editor by clicking 'Add Media'. I clicked 'upload files' and I choose a big file from my computer by a mistake. But I did not want to upload that file. Then I wanted to cancel the uploading, but there is no stop or cancel button . Then I close the popup window and open again by clicking 'Add Media' button. I see the previous file is being uploaded yet. I choose another small file and both files upload are running.
[[Image(http://onetarek.com/wp-content/uploads/2012/12/stop-media-uploader.jpg)]]",onetarek
22726,New Media: 'From URL' tab should move,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-04T11:36:57Z,2012-12-07T00:15:18Z,"Should the 'From URL' tab on the left hand side of the new media modal should be moved into the same tab group as 'Upload Files' and 'Media Library' across the top?

It makes no sense in the context of the other tabs on the left, 'Insert Media', 'Create Gallery' and 'Featured Image'.",johnbillion
18191,New filter request - media_items,,Media,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-07-21T15:03:21Z,2012-06-14T11:59:15Z,"Hi there,

I humbly ask for new filter in WordPress, in file wp-admin/includes/media.php, function get_media_items(), aplied on output after the media files have been processed. Please see attached file (based on 3.2.1 version of the file) where I would like to have it.

Purpose: I am developing a plug-in that would add mass-rename/update to the gallery items (e.g. I upload 50 pictures into gallery and want to set their label to the same value for all 50 of them, so I don't need to edit it 50 times, but do it just once). For this I want to add one more line to the list of media items where I put the code for this functionality. For this injection of my code I ask for the new filter.

Thanks, Honza",honza.skypala
22822,New media: 'Create a new gallery' button should indicate that it's the first of two steps,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-12-08T00:35:34Z,2013-01-22T01:57:11Z,"When creating a gallery, the primary action button at the bottom of the screen says 'Create a new gallery'. This button is actually the first of two steps, but this button doesn't make that clear.

It should either have an ellipsis appended, which is a standard UI convention for a non-immediate action, or it should say something like 'Next »'",johnbillion
22970,No Set Featured Image Option in existing Media Gallery,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,,2012-12-17T05:57:12Z,2013-01-29T02:24:00Z,"There is a Set Featured Image link when you add new gallery but in already existing gallery, you can't set Featured Image (in case you want to add more photos and set a new featured image). You have to do it from Set Featured Image link on the post which means more clicks.

Plus, I wanted to add, wouldn't it be easier if we have Set Featured Image link on the right side where all image meta exists, instead of having to click on a separate link on the left? Similar to what we had with 3.4. That would really lessen the number of clicks you have to do to set a featured image. You could do the same with existing galleries/posts too. For example, if you upload one image, its selected by default and on the right side, you can just click a Set Featured Image link.",nhuja
21959,No way to override the name of an image when that is being resized,,Media,3.4.2,normal,normal,Awaiting Review,enhancement,new,needs-docs,2012-09-21T16:34:23Z,2012-09-22T20:42:44Z,"The most obvious solution is to add a hook to allow the destination file name to be modified. 

The solution attached gives pretty much all the information you could possibly want to modify the filename as you might need to.",jkmassel
22938,Presentation of hierarchical taxonomy in Media modal should be checkboxes rather than comma-separated tag list,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-12-14T14:10:16Z,2013-01-31T18:24:24Z,"Since 3.5, using register_taxonomy_for_object_type on attachments, if the taxonomy used is hierarchical, whereas in the edit attachment UI you see the normal list of checkboxes, in the corresponding modal it is presented as a comma-separated list of slugs, as if it were a non-hierarchical taxonomy (tags rather than categories). I'm sure this is not a bug / mistake / oversight, but at best it's a little unintuitive (you need to have memorised the category slugs to add new ones) and worst a bit dangerous (risk of adding unwanted categories), and it would be great if in future it was presented here too as a list of checkboxes. ",yeswework
23096,Provide callback before setting state of the editor media manager,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-31T18:33:52Z,2013-01-25T16:54:03Z,"In the current setup, there is no way to modify the current state or views when the media manager is opened from the ""Add Media"" button. By the time you can modify anything, all the default views have been rendered and all of the events have been fired.

It would be helpful to check for the existence of a callback, and if it exists, run that before returning the workflow.

My patch does this, which you could invoke in this way:
{{{
wp.media.editor.extend = function(workflow){
        // Manipulate the workflow here
}
}}}

Thoughts? This is only for the default media manager that is invoked by clicking the Add Media button.",griffinjt
23115,Refactor wp.media.gallery.attachments to accept an array of attachment ids rather than shortcode,,Media,,normal,normal,Awaiting Review,enhancement,new,,2013-01-04T05:22:32Z,2013-01-04T05:22:32Z,"In /wp-includes/js/media-editor.js, line 175, the wp.media.gallery.attachments method is too closely coupled to the shortcode. This makes it impossible to fetch Attachments without first creating a shortcode to pass in.

A better approach would be to accept an array of attachment ids or a hash of properties; more than just shortcodes need to fetch Attachments by their ids.",nd987
22854,"Rename ""Alt text for the image, e.g. “The Mona Lisa” when inserting an image",,Media,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-12-11T16:00:09Z,2012-12-11T16:18:16Z,"When inserting an image, a message appears under the ""Alt"" field ('''Alt text for the image, e.g. “The Mona Lisa”'''). 

This message is not clear. For a long time I didn't bother about it and I never completed it because I had no idea what its purpose was nor it result. Not knowing, I preferred to no change the default settings since that field is not completed by default, unlike the field ""Title"" which is completed by default.

Then through internet browsing, I finally learnt that field is used by blind people in order to know about the displayed images.

From there, I manually copied/pasted what was in the field ""Title"" of my almost 350 images (a one hour job).

If the text displayed under the field ""Alt"" had been ""'''Alternative text to be read by our blind friends unable to see the image'''"" ('''or something of the kind'''), that would have been clearer to me and I would have completed that field as soon as I inserted my first image. 
Here, as it is, the text explaining that field doesn't help newbees ; it's a language for people knowing HTML (since the field names are exactly those of the img HTML tags).

Also, it would be clearer for newbees not knowing HTML if the explanatory text for the field ""Title"" itself was something like: ""Displayed in a bubble when hovering the image"".

The idea of all this is to tell expliciteley what fields are for, so that a person not knowing HTML can rapidly understand what they are supposed to do with them, without having to go through long searches on internet in order to understand those fields.

I hope some members of the WordPress staff will consider my present comments.

Best regards",luciole135
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
22641,Request: include post_id on media_send_to_editor filter call in wp_ajax_send_attachment_to_editor,,Media,2.6,normal,minor,Awaiting Review,enhancement,new,,2012-11-29T20:44:58Z,2012-12-02T15:37:53Z,"Before 3.5, by combining some hidden fields on the add media popup (using attachment_fields_to_edit) and then looking for those fields in $attachment in the media_send_to_editor filter, you could alter the $html sent back to the editor on a per custom post type basis.

Here's a pre 3.5 tutorial on what I'm on about: http://shibashake.com/wordpress-theme/how-to-hook-into-the-media-upload-popup-interface - The relevant part is in step 4, ""Set Our Own Action"".

Because recent changes mean that the fields added by attachment_fields_to_edit are posted separately (""save-attachment-compat""), there's no way to identify the custom post type when hooking into the media_send_to_editor filter. 

In wp_ajax_send_attachment_to_editor(), is there any reason we couldn't also include $_POST['post_id'] with the ""media_send_to_editor"" filter?

e.g. 

{{{
$html = apply_filters( 'media_send_to_editor', $html, $id, $attachment, $_POST['post_id']);
}}}

I'm new to WP, but I would've thought that wouldn't break anything because of the way most filter hooks will only look for params 1-3.

Thanks,

Adrian",adrianhardy
19990,Separate ID and display name for add_image_size,,Media,3.3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-02-08T17:19:01Z,2012-12-31T02:05:50Z,"Currently, the first argument in `add_image_size()` is used as both the id (and key in the global array `_wp_additional_image_sizes`, and as the displayed name, since nothing else is available.

As such, the `$name`, when it is displayed, is not translatable, since some other code might be hard-coded to use a specific image size.

Instead of adding a 5th argument to the function, one solution might be to allow the first argument to be a string or array, and if it is an array, passing that as a new item in the array that is set. Theme or plugin authors could then check for the existence of this array value item, before falling back to using the key as per now.

Current Usage:
{{{
add_image_size( 'primary-sidebar', 150, 100 );
}}}

New Optional Usage:
{{{
add_image_size( array( 'primary-sidebar' => __( 'Primary Sidebar', 'my-textdomain' ) ), 150, 100 );
}}}",GaryJ
22966,Show admin-cropped thumbnails instead of Wordpress-cropped thumbnails,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-12-16T22:22:59Z,2012-12-16T23:27:18Z,"Used to be able to see which images have been cropped (and which ones haven't) in image search results. Now have to click 'edit image' and check the image individually.

It's valuable for the publisher to see what his/her readers will see on the front end of the site when the 'thumbnail' function is called (either publisher's hard-cropped image or full un-cropped image). Useful especially for publishers that are pulling images from a time before 'thumbnails' existed in WP.

Main reason this is an issue is that when an un-cropped thumbnail is selected as the featured image, it will be stretched/distorted to dimensions of thumbnail settings in function.php.",beerpulse
23932,Support for remove_post_type_support() in attachment post type,,Media,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-03T22:07:02Z,2013-04-03T22:07:02Z,"In the past it was possible to remove certain fields from the media editor by hooking ""attachment_fields_to_edit"" and unset'ing the fields you didn't want included (e.g. caption).

After the media library got the major rework in WP3.5 its longer possible to remove those fields.

I believe that since the attachment post type has been more closely lined up to normal posts it should support remove_post_type_support() et al.

The easiest (and probably popular) case for this is removing the editor.  I believe this code should do the trick:

{{{
#!php
remove_post_type_support( 'attachment', 'editor' );
}}}
",flyingtrolleycars
20046,Unnecessary default category code remains in wp_insert_attachment,,Media,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2012-02-15T00:13:30Z,2012-02-16T06:46:13Z,"After the default arguments are set, post_type is forced to 'attachment', negating any requirement for default categories to be added.

Quick patch removes:

(1) The test performed for 'post' post_type in order to assign default categories to an array. Result was always an empty array.

(2) The call to wp_set_post_categories with this empty array, which sends the post_ID through a bunch of taxonomy related code that passes over it. This does cause the action 'set_object_terms' to be skipped, which should be okay as attachments don't have terms.",jeremyfelt
17857,WP_Embed - Split shortcode() function into two for increased flexibility,,Media,2.9,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-06-21T01:52:41Z,2011-06-21T03:33:55Z,"Currently, the WP_Embed class is restricted to posts; it takes a post ID as a parameter and checks the post meta table.

What I'd like to propose is to apply a filter to the post ID and split WP_Embed::shortcode() into two functions (at http://core.trac.wordpress.org/browser/trunk/wp-includes/media.php#L1177).

In a nutshell, let the link parsing be one function and if the link is oEmbed-worthy send it to the second function for parsing.  The second function could then be easily extended for usage in 3rd-party plugins not using WP posts (like BuddyPress).

Also, the patch checks the URL against each registered WP oEmbed provider's URL scheme if oEmbed discovery is false.  This is designed to prevent unnecessary external pinging of an oEmbed provider and avertible meta caching for failed attempts.  Andy Peatling primarily wrote this part of the code, which he sent to me awhile ago.

Attached patch is against r18324.",r-a-y
23424,WP_Image class for handling images from the media library,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-02-08T15:41:24Z,2013-02-08T15:41:24Z,"Since 3.5 we have the class WP_Image_Editor. This needs a file path to be able to manipulate an image. Currently you would have to use something like wp_get_image_editor( _load_image_to_edit_path( $post_id ) ). What is wrong since you are using a ""private"" function.

Currently I'm working on this idea and you can find the code here https://github.com/markoheijnen/WP_Image/blob/master/wp-image.php. What it does now is getting the filepath, be able to get the image editor, add an image size on the fly and getting/updating the metadata.

We really miss something like a WP_Image class in WordPress. However I'm not sure what kind of functionality is needed for it. I like the current class mainly because it gives you the power to create an image size for a specific media image and stores it in the sizes array. When a user removes the media image then also the custom sizes will be removed.",markoheijnen
16435,"When only one image has been uploading, make Enter submit the Insert into Post button",,Media,3.0.4,normal,normal,Awaiting Review,enhancement,new,,2011-02-01T17:06:29Z,2013-04-08T14:25:02Z,"When I didn't use !WordPress for my website I had an online site creator and when you had uploaded a pic and edited the proporties and then pressed enter the pic placed itself.
But in !WordPress you get an error that no pic is selected. 

So tje idea is that when you have just uploaded a pic and selected no other that the just uploaded pic is placed when you press enter",JonezJeA
21668,WordPress still does not save jpeg as progressive jpeg,,Media,3.4.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2012-08-23T16:44:06Z,2013-04-08T12:52:45Z,"Every time WordPress does `imagejpeg` it should be doing `imageinterlace` beforehand to set progressive mode, but it's not.

http://php.net/manual/en/function.imageinterlace.php

Progressive jpeg has been supported by ALL browsers since 2001 or so.

progressive demo: http://bbshowcase.org/progressive/

Note that even if an ancient browser is listed somewhere as not rendering progressive, progressive jpeg still will be displayed, simply showing it all at once rather than gradual. 

IE6 for example WILL load progressive jpeg, it will just not render it progressively, instead it will load the entire image and then render all at once at the end.

Progressive algorithm will also make slightly smaller jpeg as a side effect in most cases.

ie. in `media.php`  
`
imageinterlace($newimage,1);
imagejpeg( $newimage, ...
`

This update is years overdue.

It might be possible to futureproof this by adding a filter to `$newimage` before the final `imagejpeg`. I am uncertain if that would work since filters would not pass `$newimage` by reference and instead make a copy - while newimage is only a pointer to php/gd memory. Can apply_filters be forced to work somehow by reference instead of a copy? Maybe that should be another feature idea.
",_ck_
17023,add hook for media_upload_library_form(),,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-02T17:19:35Z,2011-04-02T18:24:05Z,"The ""Media Library"" tab of the Upload Media dialog includes a date filtering dropdown.  The query which populates it returns only month/year combinations in which attachments were uploaded.  However, that query is not filterable.

Plugins which filter backend access to attachments via standard WP_Query hooks need a way to make the month/year dropdown match those filtered results.

The corresponding patch adds query filter 'media_upload_year_month_query'
",kevinB
20663,add_image_size needs a $label,,Media,3.3.2,normal,normal,Awaiting Review,enhancement,new,,2012-05-12T20:47:31Z,2012-05-21T00:05:59Z,"add_image_size() does not have a $label parameter, this effects both localization but more importantly limits the `image_size_names_choose` filter.

The is when you try to add an image to a post and you can select sizes via the radio buttons.

Default sizes have labels like:  `'large' => __('Large')`

the `image_size_names_choose` filter is a great new filter that allows you to alter those radio buttons, but requires you to hardcore the array values for add_image_size() since it does not have a label (unless I'm missing something).

Reference code: https://gist.github.com/2668630

Related: #19990",wycks
20620,create redirect_media_location filter in media.php,,Media,,normal,normal,Awaiting Review,enhancement,new,,2012-05-06T07:54:09Z,2012-05-06T07:54:09Z,"Similar to the post.php redirect_post_location filter, media.php could use a redirect_media_location filter. This is useful for plugins that want to edit an attachement and redirect back to a specific place.",Sjeiti
23711,file include wrapper for media_sideload_image,,Media,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-03-07T15:14:26Z,2013-03-10T06:07:52Z,"Currently, when using `media_sideload_image` outside of wp-admin, you are required to load three extra files, as explained at [http://codex.wordpress.org/Function_Reference/media_sideload_image#Notes the bottom of this codex page].

This function simply calls those three files, but will allow flexibility in future versions if those file dependencies change.",norcross
18947,get_intermediate_image_sizes() should also contain width/height/crop values as sub array,,Media,3.2.1,normal,normal,Awaiting Review,enhancement,assigned,dev-feedback,2011-10-14T14:48:05Z,2012-01-06T16:22:03Z,"Currently the function [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes()] only displays a combined list of built-in/default & (via {{{add_image_size()}}}) registered image size ''names''. In lot's of cases it would be pretty handy to also have the height, width & crop values attached as sub array as you can see it in {{{$GLOBALS['_wp_additional_image_sizes']}}}.

''I currently do not have a working dev version of wp installed, so I put it here as plain code:''

Change for [http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/media.php#L580 get_intermediate_image_sizes()]:
{{{
function get_intermediate_image_sizes() {
	global $_wp_additional_image_sizes;
	$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
	foreach ( $image_sizes as $size ) {
		$image_sizes[ $size ]['width']	= intval( get_option( ""{$size}_size_w"") );
		$image_sizes[ $size ]['height'] = intval( get_option( ""{$size}_size_h"") );
		// Crop false per default if not set
		$image_sizes[ $size ]['crop']	= get_option( ""{$size}_crop"" ) ? get_option( ""{$size}_crop"" ) : false;
	}
	if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
		$image_sizes = array_merge( $image_sizes, $_wp_additional_image_sizes );

	return apply_filters( 'intermediate_image_sizes', $image_sizes );
}
}}}

The only two other affected lines in core are pretty a simple fix: Use the {{{array_keys()}}} only:

[http://core.trac.wordpress.org/browser/branches/3.2/wp-admin/includes/image.php#L106 wp_generate_attachment_metadata()]
and
[http://core.trac.wordpress.org/browser/branches/3.2/wp-includes/post.php#L3824 wp_delete_attachment()]:
{{{
foreach ( array_keys( get_intermediate_image_sizes() ) as $s ) {
}}}

I'm not really shure how the {{{crop}}} works, so this could maybe add additional DB calls if the option wasn't set - currently I only see {{{thumbnail_crop}}} added to the autoloaded options.

''The links are to the 3.2 branch of the repo.''",F J Kaiser
15149,image_get_intermediate_size partly ignores 'path' and 'url' fields and has inconsistent return values,,Media,3.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2010-10-19T13:13:32Z,2013-04-08T14:44:35Z,"the current implementations of image_get_intermediate_size and image_downsize in wp-includes/media.php have several inconsistencies.

image_get_intermediate_size() returns the following information about an attachment for registered sizes: file, width, height, path, url. for ad-hoc sizes (if the size argument is an array) it returns: file, width, height.

in the second case, path and url information that may have been set by a plugin is lost.

further, the calling function, image_downsize(), in any case regenerates the url like this


{{{
$img_url = str_replace(basename($img_url), $intermediate['file'], $img_url);
}}}

this means that now also for the registered sizes, the 'url' information is discarded. further, this means that for registered sizes, the url is computed twice, once inside image_downsize as detailed above, once in image_get_intermediate_size() like this


{{{
$data['url'] = path_join( dirname($file_url), $data['file'] );
}}}


to me, a cleaner approach would be to return the full information (file, width, height, path, url) independent of whether an image size is registered or not. all these fields can then also be directly calculated inside image_get_intermediate_size() and the caller does not have to bother with, e.g., generating paths and urls. further, this would allow to accept path and url information that is already present in the db, also in the case of ad-hoc image sizes.

i put together a patch that provides a potential solution. 

 ",whoismanu
17071,wp_count_attachments() is not filterable,,Media,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-04-07T05:05:10Z,2011-04-07T05:12:06Z,"The Media Library attachments listing and edit links can be filtered via existing WP_Query and has_cap hooks. However, corresponding attachment counts are not cleanly filterable.",kevinB
21538,wp_get_attachment_image_src() is misnamed,,Media,2.5,normal,normal,Awaiting Review,enhancement,new,,2012-08-10T11:58:20Z,2012-09-06T06:25:45Z,"The function wp_get_attachment_image_src is misnamed. The name suggests that the function returns the URL for the src attribute of img tag, and this suggestion is so strong that it is practically impossible to remember that it in fact returns an array. I've just now been bitten by this for perhaps 50th time, and I have lost what amounts to days of debugging on finding out again and again that a function named ...get...src doesn't get src.

I suggest renaming to wp_get_attachment_image_attributes and forwarding+deprecating the old function.",rulatir
22937,Bulk Actions > Edit could allow batch-assignment of taxonomies to Media following the WP 3.5 media changes,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-12-14T13:59:37Z,2012-12-14T13:59:37Z,"[First and foremost the media improvements in WP 3.5 are wonderful, thanks to all involved.]

Now that you can assign taxonomies to media easily, it would be extremely useful if you could also use Bulk Actions > Edit (as you can with posts / pages / custom post) to assign them to multiple images more quickly.

Real world case: we added a taxonomy to media yesterday for a client, so they could categorise their ~500 images into sitewide categories, and they immediately replied to ask if there was a way of doing it in batches...",yeswework
20115,Filter For media_upload_gallery_form,,Media,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-24T21:37:53Z,2012-02-24T21:37:53Z,"I recently ran into a project where we wanted to modify a gallery and interject some new gallery options.  As such the most simple user interface was to add a new setting to the gallery form  on the media upload page under galleris.  We would modify the shortcode creation and then override the gallery shortcode function with our own code.  The only problem is you can't overload the media_upload_gallery_form function in /wp-admin/includes/media.php

Not sure if a filter option or action is the right one here but I think that would give this area that overriding ability as well.

Having the ability to do this would be not only beneficial for my specific problem but woud give people the ability to really take the gallery to another level without messing up a familiar interface that people are using.",greenspeakmedia
24370,"Get the ""Set Featured Image"" Back",,Media,,normal,normal,Awaiting Review,feature request,new,,2013-05-20T00:06:16Z,2013-05-21T06:12:03Z,"Since 3.4, the workflow of ""Set Featured Image"" has been significantly slower and less efficient. Up to 3.3, one could do:

1/ upload/find image
2/ click on set featured image
3/ click on insert image in post
dialog closes. done.

Now, the same thing requires

1/ upload/find image
2/ insert in post. dialog closes
3/ click on set featured image. dialog open
4/ potentially search again
5/ click on set featured image
dialog closes. done.

Since most blog posts only feature one image, it would make sense that we could do both ""set featured"" and ""insert in post"" while being in the insert media dialog. 

My writers have been pointing this out since we switch to 3.4, so we hope that this feedback will receive a positive attention.

Thank you!
A recently uploaded image would appear at the top when we open the Insert media dialog, but if we need to search the image again, it does hamper the workflow quite a bit.

",hubertnguyen
18171,Media library - Sort on extensions,,Media,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-07-19T11:19:48Z,2011-08-06T07:51:46Z,Why is there only an option/function to view the images only? If you are looking for a word document it can be easy when you can see the documents only. This is also for PDF files and such. Maybe a function to sort on file types would be handy.,JonezJeA
24380,Missing Compression Parameter in WP_Image_Editor_GD,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-05-21T02:37:06Z,2013-05-21T23:29:32Z,"Setting the image quality parameter has no effect on png files.

Going through the wp-includes/class-wp-image-editor-gd.php

I noticed that the compression parameter for the imagepng function call is missing.

the current quality parameter only affects jpeg files. 

for jpeg, quality goes from 0->100 from bad to good

for png, from 0->9 from good to bad.

in the elseif  block starting at line 337 i have added a variable called compression and changed the code as follow:
{{{
elseif ( 'image/png' == $mime_type ) {
			// convert from full colors to index colors, like original PNG.
			if ( function_exists('imageistruecolor') && ! imageistruecolor( $image ) )
				imagetruecolortopalette( $image, false, imagecolorstotal( $image ) );

			$compression = -((9/100*$this->quality)-9);
			
			if ( ! $this->make_image( $filename, 'imagepng', array( $image, $filename, $compression ) ) )
				return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
		}
}}}
This convert the scale 0->100 into a 0->9 scale that matches the parameters from imaging.

This gives back control to the user on image quality for png files...",MuViMoTV
19834,More Robust Capabilities for Attachments,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-01-15T00:43:40Z,2012-11-24T15:08:50Z,"Attachments/files should have their own set of capabilities mirroring those of posts, in addition to upload_files. Specifically:

- read_attachments
- edit_attachments
- edit_others_attachments
- delete_attachments
- delete_others_attachments

Currently, attachments rely on the edit_posts capability, which can create complications if you don't want your users to see the ""Posts"" sidebar item, or don't want them to be able to delete the attachments they upload. ",walkinonwat3r
21295,Retrospectively generate new images sizes if requested,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-07-17T10:12:01Z,2012-12-03T17:45:36Z,"At present the image variations are created at the moment the image is uploaded to the server. If a new image size is later added, or the default ones changed after an image is uploaded then the existing images are not adjusted. 

Whilst there are plugins that provide - regenerate thumbnail functionality it might be neater if an image size is requested that doesn't exist that the system generates it at the time it is requested. This only need happen once per image as once it is created it doesn't need to be created again.",TwoThirdsWater
24051,a way of turning on upload space quota on single-site WordPress install,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-11T19:12:19Z,2013-04-12T16:11:20Z,"I was searching for a way to turn on upload space quota for single-site WordPress (not multisite) install. There does not seem to be one. I can't even emulate one with hooks, because in media.php 'upload_ui_over_quota' hook is multisite-specific and 'pre-upload-ui' does not allow me to emulate the same behavior.

I understand that need for upload space quota for single-site is not a very common scenario, but the relevant code is already there, only an alternative method of enabling it (e.g. a constant in wp-config.php) is needed.",ideag
23987,add_image_size() shouldn't crop 0 values,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-08T08:35:10Z,2013-04-08T08:35:10Z,"When using add_image_size() the image should only be cropped by values that are entered, the following example should only crop the height, and leave the width as the upload original;

{{{
add_image_size( 'wide-image', 0, 400, true );
}}}

If one uploads a 1600x1600 image, the above should then crop this to 1600x400.",Clorith
22364,Add Theme Location Arg to Custom Menu Widget,,Menus,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-05T19:43:21Z,2012-11-05T19:43:21Z,"Currently, there is no way to differentiate between a custom menu placed in two different widget areas with wp_nav_menu_args. Since there is no real effect on themes or the use of wp_nav_menu, I propose that WP_Nav_Menu_Widget applies the widget ID as the theme location.",wpsmith
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
24146,Auto delete of blank labels menu itens,,Menus,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-20T22:10:09Z,2013-04-22T03:21:40Z,"Hello,

When edit an item of menu leaving the label in blank, the item is auto deleted.
There are two problems in that:

1-  I could need an item with blank title to add some class with an background image
2-  When this item has subitens with two or more depth, all subitens are moved to first depth loosing submenus hierarchy. Moreover if i try to drag the subitens to make the hierarchy again, after save, all subitens come back to first depth. While i not change the depth of first item this issue occurs again.

Best regards",rodrigo@…
23902,Classes set with nav_menu_css_class are not accessible in walker_nav_menu_start_el,,Menus,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-29T20:46:33Z,2013-03-29T20:46:33Z,"Hello,

If you use the filter hook nav_menu_css_class to add classes to a menu item, those classes are not available in other menu filter hooks like walker_nav_menu_start_el. This can be found in the start_el function in wp-includes/nav-menu-template.php. I would think line 75: 

{{{
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
}}}
 
Should merge those $class_names back into $item. 

Thanks",jamesmehorter
21672,Custom menu memory problem,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-23T18:53:46Z,2012-10-15T08:38:03Z,"I found some strange memory problem related to updating custom menu. One website is using about 22 MB from 128 available (memory_limit). But when trying to update custom menu, there is error related to unsufficient memory.

This custom menu has about 100 items, I also tried to export it to my PC and testing memory uasge. There are some strange results...

In file wp-admin/nav-menus.php there is following line:

{{{
$menu_item_db_id = wp_update_nav_menu_item( $nav_menu_selected_id, ( $_POST['menu-item-db-id'][$_key] != $_key ? 0 : $_key ), $args );
}}}

When I set memory checks before and after this line, then there are following results on my testing environment, for example:

{{{
Before: 25.28 MB
After: 25.29 MB
}}}

I added also some checks directly into wp_update_nav_menu_item() function and there are some small peaks (about 1 MB). But in the end (after this function) everything is somehow reset and memory usage is as low as in the beginning.

But when I test it with affected hosting, there are following results:

{{{
Before: 26.59 MB
After: 27.77 MB
}}}

So everytime wp_update_nav_menu_item() is running, 1 MB more is needed on this server and there is no reset. And because it is foreach cycle and menu has more than 100 items, then more then 128 MB is needed.

Same conditions, but one server needs more than 128 MB memory_limit and my local environment works well with 32 MB. There is no other problem with this hosting, everything works, no special server settings. Any ideas?",pavelevap
22070,Deleting menus with no title / slow menu saving,,Menus,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-01T12:28:55Z,2012-10-01T12:35:48Z,"Hello there

I saw that when saving nav menus in wp-admin/nav-menus.php WordPress executes the following lines, if a menu item is saved (no matter if newly added or existing) that doesn't have a title:

{{{
if ( empty( $_POST['menu-item-title'][$_key] ) )
  continue;
}}}

I changed this to the following to make it work. Problem is, it needs to be removed from $menu_items, because it's handled like a deleted menu else.

{{{
if ( empty( $_POST['menu-item-title'][$_key] ) ) {
  if (isset($menu_items[$_POST['menu-item-db-id'][$_key]]))
    unset($menu_items[$_POST['menu-item-db-id'][$_key]]);
    continue;
  }
}
}}}

'''Sidenote''':
With that fixed, I was able to solve a major saving bug. Many of our customers have a lot of menu items in out nav_menu (like 100 - 600), which without a timeout would take 10 minutes and more to save.

So I created some hotfix jQuery script that does ""dirty-handling"". Basically it marks everything that's touched (like changed data, adding a menu item or moving things around) as ""dirty"". On submit it doesn't nothing more than change every ""undirty"" menu items title to an empty string so it doesn't get saved. 

I think WordPress core developers could integrate something like this with far less code since I wasn't able to use events - I didn't really had a lot of time to fix this. So if it helps anyone, this is the jQuery code I used to create the fix:

{{{
jQuery(function($) {
  // the currently displayed menu form
  var $form = $('#update-nav-menu');

  // Listen to new menus, since we have no possibility to hook
  // we have to interval it, because we can't capture an event here
  $('.submit-add-to-menu').click(function() {
    var $item_count = $form.find('.menu-item-handle').length;
    var $interval_id = setInterval(function() {
      var $current_item_count = $form.find('.menu-item-handle').length;
      if ($item_count < $current_item_count) {
        clearInterval($interval_id);
        // Add the dirty flag and set it to dirty immediately
        add_dirty_flags(1);
        // Reassign the mousedown/up events
        assign_mouse_events();
      }
    },200);
  });

  // add a hidden field, telling if the menu is dirty (by default, it's not)
  function add_dirty_flags($flag) {
    $form.find('.menu-item-handle').each(function() {
      if ($(this).find('.dirty-handle').length == 0) {
        var $html = '<input type=""hidden"" class=""dirty-handle"" value=""' + $flag + '"" />';
        $(this).append($html);
        console.log('flag added');
      }
    });
  }

  // (re)assigns mouse events to menu items
  function assign_mouse_events() {
    var $menu_items = $('.menu-item-bar');
    // Unbind previously assigned events
    $menu_items.unbind('mouseup').unbind('mousedown');

    // Dirty Flag handler if a click happens
    $menu_items.mousedown(function() {
      $(this).find('.dirty-handle').val('1');
    });

    // if the parent changes on release the mouse handle, change all items with the new parent to dirty
    $menu_items.mouseup(function() {
      menu_save_mouseup($(this));
    });
  }

  // The call back for mouseup on menu bars
  function menu_save_mouseup($this) {
    var $temp_object = $this.parent();
    // Mark everything with the same parent dirty
    setTimeout(function() {
      var $parent_id = $temp_object.find('.menu-item-data-parent-id').val();
      // Go through all fields, dirtying everything that has the same parent
      $('.menu-item-data-parent-id').each(function() {
        if ($(this).val() == $parent_id)
          $(this).parent().prev().find('.dirty-handle').val('1');
      });
    },200);
  }

  // On submit make every undirty menu an empty title, so it won't get saved
  // We're using a hoax in nav-menus.php, line 335 here..
  $form.submit(function() {
    // Now traverse all handles and make only dirties saveable
    $form.find('.menu-item-handle').each(function() {
      // Find the dirty flag
      var $is_dirty = $(this).find('.dirty-handle').val();
      $(this).find('.dirty-handle').remove();
      if ($is_dirty == 0) {
        // The div containing the menu informations
        var $forms = $(this).parent().next();
        // Remove the title value so it doesn't get saved
        $forms.find('.edit-menu-item-title').val('');
      }
    });
    return true;
  });

  // Assign mouse events on first load
  assign_mouse_events();
  // Add all dirty flags (not dirty by default of course)
  add_dirty_flags(0);
});
}}}

Since WordPress now only saves the menu's that changed it doesn't matter how many menu items a customer has, but only how many he want's to save at one time.",msebel
18130,Editing menu items - Cancel button does not work,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-07-15T15:17:40Z,2011-07-20T21:46:21Z,"When editing menu items, ""Cancel"" button at the bottom does not work. I can collapse menu item with top right arrow, but ""Cancel"" link worked also for collapsing menu items in the past. Now, after clicking on ""Cancel"" there is no response...",pavelevap
17409,Entity &amp; in menu title breaks XHTML 1.0 Strict validation,Florian,Menus,3.1.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-13T05:44:03Z,2011-05-13T05:44:03Z,"If i use &amp; in the menu title and use $my_menu =  wp_get_nav_menu_items(""my_menu"") and loop with foreach($my_menu as $menu_item) and connect for building the Menu on $menu_item->title, then an &amp; in the page title or on the menu navigation label is convertet to a simple &, witch returns the validation error ""xmlParseEntityRef: no name"".",Florat
22341,Future-dated top-level pages are not automatically added to custom menus,,Menus,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-01T18:30:40Z,2012-11-01T18:30:40Z,"I've found that future-dated top-level pages are not automatically added to custom menus, despite my setting to do so.

When a future-dated page is published, the new menu item ''is'' added to the 'posts' table (a new row with 'post_type' = 'nav_menu_item'). However, the new menu item ''is not'' added to the 'wp_term_relationships' table. In short, the menu item is not saved correctly, and hence does not show up in the custom menu.

Steps to reproduce this bug:

* Activate a theme with support for custom menus.
* Under ""Appearance"" > ""Menus"", enable the option ""Automatically add new top-level pages""
* Create a new top-level page, and schedule it to be published in the future.
* Wait for the page to be automatically published.",jamocreations
21631,HTML encoded characters in the custom menu's URL html are decoded after first save and removed after second save,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-19T15:27:20Z,2012-08-19T15:49:04Z,"Special characters in the custom menu's URL get double html encoded after second save.

Having an array in the URL that is using square brackets (site.com/key[value]), the links break after the second save of that menu item because the & in the &amp; gets double html encoded.",rocketwood
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
18271,Item hierarchy should be maintained when adding to menu,,Menus,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-07-27T20:13:35Z,2011-11-16T06:25:49Z,"Situation:

Create a hierarchy of categories or pages and go to create a custom menu. In the meta boxes on the left hand side, the categories and pages are shown in hierarchical arrangement. Select all categories (for example) and add to menu.

Expected behaviour:

All links are added to custom menu and the hierarchy is maintained appropriately

Actual behaviour:

Hierarchy is lost and all menu items are top-level

This was originally raised by Jane in #17029 however the changeset in the ticket only applies to showing hierarchy in the meta boxes and doesn't cover maintaining hierarchy when adding to menu.",JohnONolan
21669,"Make ""Home"" option persistent in Pages box on Menus screen",,Menus,3.4.1,normal,minor,Awaiting Review,defect (bug),new,,2012-08-23T16:57:08Z,2012-08-27T15:09:43Z,"If you have some pages, or even a page, then on nav-menus.php in the Pages box, View All, it will display Home as an option. However, if you do not have any pages at all (mostly Blog on front page scenarios), then it just says ""No items."" in the Pages box. 

It should always be populated with at least the Home option. Oversight on our part that we didn't uncover this behavior before. ",jane
19038,"Menu Items aren't deleting on page being trashed, only when deleted",,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-10-24T17:38:44Z,2013-05-21T22:25:46Z,The linked menu item for a page isn't removed when the page is trashed. ,jeremyatignition
20325,Menu item parent classes for page_for_posts (home.php) not properly set on single.php,,Menus,,normal,normal,Awaiting Review,defect (bug),new,,2012-03-29T12:50:06Z,2013-05-21T14:38:33Z,"If one has set page_for_posts (Settings => Read), on single.php wp_nav_menu() will set current_page_parent for the accordant menu item, but it will not set any parent or ancestor classes for its parent menu items as expected. [tested with 3.3.1]",ptietz
18326,Menu: current-menu-item problem with taxa with same name,,Menus,3.2.1,normal,minor,Awaiting Review,defect (bug),new,,2011-08-04T09:34:52Z,2011-08-04T09:34:52Z,"Hello, when two different taxonomy (e.g. tags and category, but also with custo taxa) with the same name are in the same submenu, the property current-menu-item is set to the two taxa both.

How to reproduce:
Create a category named ""Test"" (and add it to a post).
Create a tag named ""Test"" (and add it to a post).
Create a menu with this structure:
My menu
- Test (is the category archive, name it (e.g) ""Test Category"")
- Test (is the tag archive, name it (e.g) ""Test Tag"")
- Other pages

When you go to one of the two Test they have the current-menu-item property both.",rukbat
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
16787,Removing title from a page (blank title) results in collapsed UI element in menu builder,,Menus,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-03-07T17:43:29Z,2013-04-22T03:21:45Z,"This minor issue has to do with the custom menu interface and titleless pages pages - this is handled somewhat gracefully when you initially create a titleless page using (pending) placeholder text, so I thought I would report it.[[BR]]
 

'''Issue preconditions'''

* WordPress 3.1
* Page created with title and body text
* Page added to a custom menu and saved[[BR]]

'''Steps to recreate'''
* remove title from the page from one of the ""edit page"" UIs
* visit the Menus interface
* you should now see a collapsed menu item in the menu creation interface (screenshot attached[[BR]]

Tested In: Chrome OSX 10.0.648.127 | Firefox OSX 3.6.13
",jafoca
18617,Renaming menus orphans children when using global terms,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-07T21:36:15Z,2011-09-07T21:36:15Z,"Renaming a menu when global terms is enabled will cause the menu to be disassociated from its children. This is caused by the reliance on `wp_get_nav_menu_object()` in `wp_update_nav_menu_item()` and elsewhere, where the calling function attempts to get the menu object using the old global term id rather than the new global term id. The menu items appear to be invalid because the menu term id has changed.",adambackstrom
19140,Save Menu Forces Sub-Menus (Child Menus) Back To Parent Menus in IE 9.0,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-11-03T22:50:29Z,2012-02-29T20:32:43Z,"The following issue appears in Internet Explorer 9.0.8112.16421 (current version).

In Appearance->Menus for both primary and secondary menus, when you try to define a sub-menu by drag-n-dropping to the right in the menu definition box, it shows indented properly. However, when you click Save Menu, all sub-menus return to being parent menus.

The only way to get the sub-menus to work was to edit them in another browser. In this case, I used Internet Explorer 7.0.5730.11 and it worked properly.",webby 2
21773,Scheduled pages/posts should not appear in custom menus,,Menus,3.0,normal,normal,Awaiting Review,defect (bug),new,,2012-09-02T14:30:48Z,2012-10-23T22:03:31Z,"When I add a '''scheduled page/post''' in a custom menu the page/post immediately appears in the front-end menu.

I think these scheduled pages/posts should only be visible in the front-end navigation when their scheduled time is reached (as it is the case with automatic menus). Otherwise the ""Schedule"" functionality makes no sense with custom menus, especially for pages.

Here is another forum post regarding this issue: http://wordpress.org/support/topic/custom-menu-support-for-scheduled-pagesposts",Lorangeo
22909,Special characters are not displayed properly on the menus,,Menus,3.5,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-12-13T08:09:46Z,2012-12-15T18:52:14Z,"The previous version of Wordpress 3.4 did handle special characters like ★ and ✄ pretty well. Wordpress 3.4 displays such special characters and they can be used on the Wordpress menus, however in version 3.5, these characters are displayed as empty squares, which does mean that 3.5 can't recognize them properly.",varna_city
23023,Touch UI Menu Code doesn't address flyout menus two-levels deep.,,Menus,3.5,normal,minor,Awaiting Review,defect (bug),new,,2012-12-20T15:21:17Z,2013-03-08T15:54:40Z,"The code we did in #20614 only addressed the single dropdowns you normally see in a single site install.

A multisite install will have flyouts coming out of the dropdowns that we need to account for as well.

Related: http://wordpress.org/support/topic/wp-admin-bar-doesnt-play-well-with-touch-device-in-wp-35",georgestephanis
20257,Url of navigation menu item of alternative type removed,,Menus,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-18T19:49:26Z,2012-03-18T20:15:25Z,"When creating a new navigation menu item with `wp_update_nav_menu_item` the url is removed if the type of the item is not 'custom'. If the type of the item is 'taxonomy' or 'post_type', the url is then set appropriately. However, if the item has a type other than 'custom','taxonomy', or 'post_type' the menu item is saved without an url.

`wp-includes/nav-menu.php L314`

{{{
if ( 'custom' != $args['menu-item-type'] ) {
     /* if non-custom menu item, then:
     * use original object's URL
     * blank default title to sync with original object's
     */

     $args['menu-item-url'] = '';
}}}",stephenh1988
18517,Visual Feedback for Nav Menu UI,,Menus,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-08-25T18:50:58Z,2013-04-16T12:40:56Z,"Currently if you go to:
/wp-admin/nav-menus.php

Then click the plus sign to add a Menu and then without putting a menu name in, click create menu, it gives you a visual indicator that you've missed a critical bit of data.

But, if you try to add a Custom Link to an existing menu: If one forgets to add a URL and just adds a label then tries to save it, there is not 'tactile feedback'. It just sits there not doing anything.

It should probably be consistent with how the rest of the UI behaves.",sterlo
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
12538,WP should cache menus,ryan,Menus,3.0,normal,normal,Awaiting Review,defect (bug),reopened,,2010-03-07T02:10:10Z,2012-01-04T17:34:26Z,"There's a prime example of how to do this in the menu ticket (i.e. the plugin I attached in #11817).

Shouldn't we be doing this in WP as well?

It basically goes:

 - if it's a page, then try a post meta
 - if it's search/404 request, then try a transient
 - if it's anything else, then try a transient

The plugin also handles conditional flushing of the cache based on whether or not the permalink and/or the label changed.",Denis-de-Bernardy
21470,Wrong menu when no menu is set,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-05T13:27:13Z,2012-08-05T13:59:30Z,"In the case if the admin hasn't created any menu in the dashboard (and so the default menu is shown), some parameters of wp_nav_menu() don't work. I verified that 'container'=>false does not work. Other parameters may no work as well.",porton
24035,"in WP 3.5.1, filter wp_nav_menu_items is never called on empty menus",,Menus,3.5,normal,normal,Awaiting Review,defect (bug),new,close,2013-04-10T18:03:23Z,2013-04-11T17:01:27Z,"We upgraded from 3.4 to 3.5.1 and our main navigation menu vanished.  

Our theme uses the ""wp_nav_menu_items"" filter to add menu items to an empty menu, depending on login context & other things.  

I have verified that in 3.5.1, this filter is never called on empty menus.  wp_nav_menu() called with the proper args to select our menu just returns null.  we are specifying theme_location in the call.

A workaround/hack is to add a bogus menu item to the DB, via the admin interface, and then delete that bogus menu item in our filter.

I imagine this crept in with the new 3.5 behavior of not emitting HTML for an empty menu.  

The bug is in wp-includes/nav-menu-template.php .  The comment at line 174 claims we will fallback on empty menus only if no theme_location is specified, and we do test that on line 177, but on line 181 we test again and fallback on empty menus without checking theme_location.

This line (181) :

{{{  if ( !$menu || is_wp_error( $menu ) || empty( $menu_items ) ) }}}

... should be this line:

{{{  if ( !$menu || is_wp_error( $menu ))  }}}

",mykle
14551,menu item : current_page_parent : issue with Front page displays,,Menus,3.0.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-08-06T12:46:24Z,2010-08-10T07:46:17Z,"Settings > Reading > Front page displays: set to your latest posts
Settings > Reading > Posts page: set to anything

When the menus are building, they are only checking that something was set by the dropdown for posts page, even though the parent setting says the posts are to be on the home page.  The pages on the site have the correct logic, however the menu adds ""current_page_parent"" to the item selected in the ""Posts page"" menu, even though it's not really the parent.

The work around is to just remember if you switch from having posts on a different page back to having them on the front, you need to set the ""Posts page"" back to ""select"" and everything works correctly, but getting users in my multi-site install to do that might be asking a bit much.",hughestm@…
18327,remove_menu_page('index.php'); causes Notices - risk of unexpected results?,,Menus,3.2.1,normal,trivial,Awaiting Review,defect (bug),new,,2011-08-04T12:36:26Z,2011-08-04T13:01:03Z,"Thanks for the new remove_menu functions!

However if one adds action on admin menu and  does

 remove_menu_page('index.php');

This causes a lot of notices

Notice: Undefined offset: 0 in C:\web\wpbeta\wp\wp-admin\includes\menu.php on line 161

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 51

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 56

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 61

Notice: Undefined offset: 0 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 81

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 87

Notice: Undefined offset: 2 in C:\web\wpbeta\wp\wp-admin\menu-header.php on line 112

",anmari
23805,wp_ajax_add_menu_item() closed to user-created menu item types,,Menus,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-18T01:41:52Z,2013-03-19T11:53:02Z,"I'm building a new Menus meta box, that can add a new type of menu item, lets call it 'foobar'.

The conditional inside `wp_ajax_add_menu_item()` is slightly off. It checks that the menu item type is not 'custom', then proceeds to assume that it's either post-type or taxonomy so it can do some DB look-ups and create an `$_object` variable which is then used. This means it's closed to other types of menu items.

I've chosen 'foobar', so I can distinguish those items later on when walking through the front-end output.",GaryJ
15533,wp_get_nav_menu_items order doesn't work,,Menus,3.0,normal,minor,Awaiting Review,defect (bug),new,,2010-11-21T22:18:01Z,2011-02-02T13:27:25Z,"Argument order doesn't work when output is ARRAY_A since on the end of function wp_get_nav_menu_items there is a usort on the $items array what will be returned.

Since out ARRAY_A is the default output this can give strange behaviour.

The code that gives the problem:

{{{
	if ( ARRAY_A == $args['output'] ) {
		$GLOBALS['_menu_item_sort_prop'] = $args['output_key'];
		usort($items, '_sort_nav_menu_items');
		$i = 1;
		foreach( $items as $k => $item ) {
			$items[$k]->$args['output_key'] = $i++;
		}
	}
}}}",markoheijnen
18232,wp_nav_menu - Setting walker parameter affects fallback_cb,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-24T08:14:35Z,2012-07-17T17:20:50Z,"When using the walker parameter with wp_nav_menu and there is no menu present, wp_nav_menu falls back by default (set with fallback_cb) to wp_page_menu. It appears that the set walker also affects wp_page_menu, which in most cases breaks the output.

wp_nav_menu usage:
{{{
<?php wp_nav_menu(array('walker'=> new Walker_Nav_Menu)); ?>
}}}

Output when no menu is present (falling back on wp_page_menu):
{{{
// Formatted for readability
<div class=""menu"">
	<ul>
		<li id=""menu-item-1"" class=""menu-item-1""><a></a></li>
		<li id=""menu-item-2"" class=""menu-item-2""><a></a></li>
		<li id=""menu-item-3"" class=""menu-item-3""><a></a></li>
	</ul>
</div>
}}}

Expected output:
{{{
// Formatted for readability
<div class=""menu"">
	<ul>
		<li class=""page_item page-item-1""><a href=""/first/"" title=""First"">First</a></li>
		<li class=""page_item page-item-2""><a href=""/second/"" title=""Second"">Second</a></li>
		<li class=""page_item page-item-3""><a href=""/third/"" title=""Third"">Third</a></li>
	</ul>
</div>
}}}

As you can see, the output from wp_page_menu is getting filtered through the walker, but since the walker was designed for menus specifically, it renders the default output from wp_page_menu useless (empty tags..etc).",bryanjwatson
18842,wp_nav_menu confuses new developers when it falls through to page listing,,Menus,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-10-02T10:54:12Z,2013-05-18T20:15:19Z,"It appears that when wp_nav_menu() falls through to a page listing, many menu-specific args are not passed to the page listing, which ultimately confuses new developers.

I seem to answer this at least weekly in #wordpress

One example is the 'container_class' arg, if it falls through to the fallback_cb, the container_class is not applied.

Ideally, template-related arguements should be passed to the fallback (And with pages as the default callback, it should handle these) or wp_nav_menu() should output any extra wrapping divs if appropriate.",dd32
20289,wp_nav_menu container is not set when menu isn't defined,,Menus,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-23T10:27:03Z,2012-03-23T13:19:41Z,"When you use wp_nav_menu in your theme, but the actual menu isn't set via the backend menu interface, the container provided in the args is ignored and falls back to 'div'.

Attached diff always uses container provided in args, if 'div' or 'nav' is provided. If no container arg is provided, falls back to using 'div'.

{{{
wp_nav_menu(
	array(
		'theme_location' => 'main_menu',
		'container'      => 'nav',
		'menu_class'     => 'main-menu-navigation',
	)
);
}}}

To test this: Use this function in your theme, without assigning a menu to this theme_location.",dannydehaan
23908,wp_nav_menu generates wrong classes for li elements,,Menus,3.5.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-03-30T13:42:46Z,2013-03-30T13:42:46Z,"Function '''wp_nav_menu''' generates 2 different classes for '''<li>''' with exactly the same meaning: e.g. '''current-page-parent''' and '''current_page_parent'''. It sometimes generates one of them, but sometimes both. 

Also this coresponds to '''current-page-ancestor''' and '''current_page_ancestor''' classes. 

I think there should be one of them, but to preserve compatibility with older websites, it is better to leave both but generate both at the same time, so that user could use either ""'''-'''"" or ""'''_'''"" as separators.",anyname2
20275,wp_update_nav_menu hook is not fired when nav menu item is auto-added,,Menus,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-21T19:30:59Z,2012-09-27T14:12:45Z,"WP calls the action hook 'wp_update_nav_menu' when a navigation menu is updated. For example, go to Site Design -> Custom Menus -> Click the ""Save Menu"" button on a menu.

Next to the Menu title, the Custom Menus provide the user to ""Automatically add new top-level pages"". When this option is checked, and a new top-level page is created, the 'wp_update_nav_menu' hook is not fired. So the attached nav-menu-hooks.diff patch fixes that.



I would also suggest that we do not use the same hook 'wp_update_nav_menu' twice (as it is currently being done) with different amount of arguments, because this causes a PHP Warning 

{{{
PHP Warning:  Missing argument 2 for x_save_footer() in /var/www/branches/x.trunk/wp-content/themes/x/functions.php on line 815, referer: http://x.com/x/wp-admin/nav-menus.php
}}}

for code:
{{{
add_action('wp_update_nav_menu', 'x_save_footer', 10, 2);
}}}

So, the hook call at nav-menu.php:255 has 2 parameters and the call at nav-menus.php:383 has 1 parameter.

As a fix, the action hook in nav-menu.php should be named something else, like 'wp_update_nav_menu_object' (because it is updating the object), as done in the attached nav-menu-hooks.diff patch. This will also prevent the same hook from being fired twice when updating the nav menus.",inderpreet99
21652,wp_update_nav_menu_items returns false instead of WP_Error for non-existent menu items,,Menus,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-21T16:57:45Z,2012-08-25T14:49:33Z,"'''Use case:'''
Calling wp_update_nav_menu_items with a non-existent menu_item_id as the first parameter

'''Expected return value:''' WP_Error object (as per the method's documentation)

'''Actual return value:''' Boolean false

'''Fix:''' wp-includes/nav-menu.php#L279 - This line should check for a false value first, and if `$menu == false`, set it equal to a `new WP_Error` object - then check `is_wp_error($menu)`",mltsy
19272,Add Filter to Nav Menu Support Themes Text,,Menus,,normal,trivial,Awaiting Review,enhancement,new,has-patch,2011-11-16T22:47:52Z,2011-11-16T22:47:52Z,"Frameworks could use a filter here to customize the message: _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ). For example, it may be the child theme that doesn't support the menus. Also, if none are supported (say via add_theme_support), then when it's zero, it says: ""Your theme supports 0 menus. Select which menu appears in each location."" (which doesn't make much sense). So adding a filter can enable theme developers to further customize.

An example use case:
add_filter( 'nav_menu_theme_support_text' , 'wps_nav_menu_theme_support_text' );
function wps_nav_menu_theme_support_text ( $num_locations ) {
	if ( $num_locations == 0 )
		$text = 'Your child theme does not support custom menus.';
	else
		$text = _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations );
	return $text;
}",wpsmith
16075,Add Post Type Archives support in Nav Menus,,Menus,3.1,normal,normal,Awaiting Review,enhancement,assigned,has-patch,2011-01-02T17:25:58Z,2013-03-29T13:32:54Z,"The setup: Take a post type (be it default or custom, in my case custom)

I wish to be able to add the archive page to the menu without adding the menu entry as hardcoded link (in my case /artists/) 

The problem: Adding it as hardcoded link does not bring the page up as current page in the menu when visiting the link. 

Example: 
http://www.blowmeup.ro/artists/ vs http://www.blowmeup.ro/crews/ ",matzipan
21603,Add a delete button to individual menu items,,Menus,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-15T21:45:29Z,2012-08-15T21:45:29Z,"When working with a menu in the Admin, if you need to delete a lot of entries it's really slow because you have to expand each entry, then click delete, then wait for the refresh to do it all over again. If we had an X next to the down arrow for each menu item, it would be much faster/easier to delete them.

Thanks!",wphound
16828,Add filter on initial_meta_boxes for nav menu,,Menus,,normal,normal,Awaiting Review,enhancement,new,,2011-03-10T21:08:40Z,2013-05-08T09:19:56Z,"When you create a custom post type with `show_in_nav_menus = true` the metabox in Appearance->Menus is hidden to all new users.  This is especially annoying for multi-site setups.  The issue is in `wp_initial_nav_menu_meta_boxes()` where it sets the initial meta boxes:
{{{
$initial_meta_boxes = array( 'nav-menu-theme-locations', 'add-custom-links', 'add-page', 'add-category' );
}}}

I'd settle for a filter on that, but it seems like a more complete fix would be to add the filter with a default function hooked into it which would add post types with `show_in_nav_menus = true` to the list.",aaroncampbell
19264,Add get_nav_menu_item_children(),,Menus,,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-16T19:09:23Z,2011-11-16T19:09:23Z,"Just as get_page_children() exists, it would be good to have get_nav_menu_item_children(). Since the object is different the code get_page_children() needs to be slightly modified.",wpsmith
21070,Added a filter to the sub-menu class attribute,,Menus,3.4,normal,normal,Awaiting Review,enhancement,reopened,dev-feedback,2012-06-25T12:47:34Z,2012-06-25T20:50:30Z,"The sub-menus are hard coded with ""sub-menu"" as the only CSS class. This may cause bad performing CSS with maintainability issues, like when you're targeting the third level sub menu.

I've added a filter, so CSS classes like ""sub-menu-level-$depth"" can be added.",bjornjohansen
14698,Adding custom menu items in a WP managed menu,,Menus,3.0.1,normal,minor,Awaiting Review,enhancement,reopened,,2010-08-25T21:22:12Z,2011-01-29T17:52:21Z,"In Walker:walk() line 932 of classes.php (WP version 3.0.1), the comparison of the parent ID to 0 is done so using ==.  This is an issue if you're trying to manually insert a menu item for a term within a menu consisting of posts.  I would like to be able to set the parent_id to something like 'term:4' (with 4 being the ID of the term).  But because it is a string and comparing a string to zero with == will always equate to false.

I suggest that line 932 is changed from:
{{{
if ( 0 == $e->$parent_field )
}}}
to:
{{{
if ( empty( $e->$parent_field ) )
}}}

The end result I'm looking for is a way to take an existing menu and add in sub-items for a particular item that contains all the terms from a given taxonomy.  Then for each of the term items, add child items for all of the custom posts associated to the term.  For the time being, I'm using a negative db_id to bypass the comparison issue.

Here's a sample of my code:
{{{
function my_get_nav_menu_items($items, $menu, $args) {
  if ($menu->slug != 'primary') {
    return $items;
  }
  $findAProgram = null;
  foreach ($items as $item) {
    if ($item->post_name = 'find-a-program') {
      $findAProgram = $item;
      break;
    }
  }
  if ($findAProgram) {
    $order = count($items);
    foreach (get_terms('program-focus') as $term) {
      $posts = get_posts(""taxonomy=program-focus&term={$term->term_slug}&post_type=programs"");
      if (!empty($posts)) {
        $term = wp_setup_nav_menu_item($term);
        $term->menu_item_parent = $findAProgram->db_id;
        // set db_id to negitive value to avoid collisions with posts with the same ID
        // This is needed due to the non-strict equality check in classes.php
        // line 932 in Walker::walk().  I would love to use a string for the
        // term ID's (something like 'term:4'), but ""any string"" == 0 will
        // always return false.
        $term->db_id = -1*$term->ID;
        $term->menu_order = $order++;
        $items[] = $term;
        foreach ($posts as $post) {
          $post = wp_setup_nav_menu_item($post);
          $post->menu_item_parent = $term->db_id;
          $post->menu_order = $order++;
          $items[] = $post;
        }
      }
    }
  }
  return $items;
}
add_filter('wp_get_nav_menu_items', 'my_get_nav_menu_items', 10, 3);
}}}

",mackeyn@…
23627,"Allow plugins to short-circuit wp_nav_menu, good for performance",,Menus,3.5.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-02-26T12:49:28Z,2013-02-26T14:44:22Z,"We already have short-circuit filters for [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/widgets.php#L180 widgets], [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/option.php#L40 options], [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/link-template.php#L115 links] that all can be used for retrieving items from non-persistent data store. It would make a lot of sense if this feature was also available to `wp_nav_menu` which is particularly DB heavy. 

My suggestion is to add `pre_wp_nav_menu` right after `wp_nav_menu_args`, like so:

{{{
	$args = wp_parse_args( $args, $defaults );
	$args = apply_filters( 'wp_nav_menu_args', $args );
	$args = (object) $args;

	// Allow plugins to short-circuit menu output
	$nav_menu = apply_filters( 'pre_wp_nav_menu', '', $args );

	if ( ! empty( $nav_menu ) && $args->echo )
		echo $nav_menu;
	elseif ( ! empty( $nav_menu ) )
		return $nav_menu;

	// Get the nav menu based on the requested menu
	$menu = wp_get_nav_menu_object( $args->menu );
}}}",kasparsd
19499,Allow wp_nav_menu to return just the links (no <li> tags),nohalfpixels,Menus,3.2.1,normal,normal,Awaiting Review,enhancement,new,reporter-feedback,2011-12-10T12:15:35Z,2011-12-10T17:44:37Z,"every now and again i find im in the need of the wp_nav_menu function where i only want a list if links, not the outer ul, or the li tags.

there is already scope to remove the outer ul.

but no support for removing the <li> tags from the returned results.

at present i have to do this:


{{{
$foot_nav = wp_nav_menu( array( 'container' => '', 'echo' => '0', 'theme_location' => 'footer_menu' ) );
$foot_nav2 = preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#' ), '', $foot_nav );
$foot_nav2 = preg_replace( array( '#<li[^>]*>#', '#</li>$#' ), '', $foot_nav2 );
echo $foot_nav2;
}}}



this isnt very clean, it would be nice to just be able to pass a parameter the wp_nav_menu function which just returns the links.

i propose something like:


{{{
'return_links' => true,
}}}



the main reason for this is styling centered links in the footer.

its much easier to just center links than it is to center a <ul> and results in much cleaner html with less dom elements.",nohalfpixels
24101,Argument for separating wp_nav_menu items,,Menus,trunk,normal,normal,Awaiting Review,enhancement,new,close,2013-04-16T09:50:37Z,2013-04-17T06:59:01Z,"There is no proper way to add separators between menu items without generating custom walkers for menus.

The use of menu elements with separators are great for page styling where one doesn't need a menu container like in common primary navigation areas, but rather just want a quick list for example in a page footer.

I feel having to use a custom walker for this purpose is more work then need be, for a feature that would make sense to include with core, the below patch introduces the `separator` argument to the mix to address this.

{{{wp_nav_menu( array( 'separator' => ' | ' ) );}}}

The above would output a menu as `Menu item | Menu item 2 | Menu item 3`",Clorith
19464,Auto add do_action for menu in admin,,Menus,,normal,normal,Awaiting Review,enhancement,new,,2011-12-07T12:29:46Z,2011-12-07T12:30:39Z,"In menu's there is this feature: ""Automatically add new top-level pages"" 

I'm in a process to implement ""Automatically add categories"" and ""Automatically add new subpages of page:"", but unfortunately there is no action which to hook so I could insert HTML right after or before the ""auto-add-pages"" in my plugin.

So I suggest to add a new action or filter like ""menu_auto_add"" so it would be simple to insert the HTML after the auto-add-pages.",ciantic
18527,Duplicate Menu Option or Add a Hook for Plugins,,Menus,3.3,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-08-26T21:09:21Z,2011-09-04T10:25:22Z,"It would be great to add a hook for plugins to be able to add options, etc, to Appearance > Menus. One thing would be to have the option to duplicate a menu.

I have worked up a patch that accomplishes this, which would serve as a good starting point for adding duplication functionality.",wpsmith
22009,Menu Builder URL structure,,Menus,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-09-26T21:16:12Z,2012-09-26T21:16:12Z,"Menu builder is a great functionality, but I can't figured it out why URL structure is based on page builder rather than menu builder?[[BR]]
In my point of view, it would make more sense if we could define a simple ""identifier"" for each page (ie : ""my-page"" for a page named ""My page"") and build architecture in menu builder (or make it optional) --> the URL structure will be generate base on the menu builder hierarchy.[[BR]]
Actually, when moving an element, we have to define a new parent in the page builder to follow the menu logic?",will83
23806,"Nav Menu Edit Walker per menu item type, not menu?",,Menus,,normal,normal,Awaiting Review,enhancement,new,,2013-03-18T02:09:11Z,2013-03-19T11:53:01Z,"The assignment of a walker to show the menu items on the right side of the Menus screen is set per menu in `wp_get_nav_menu_to_edit()`.

Ideally, it could be overridden per menu item type. That is, posttype, custom and taxonomy menu items can be handled by `Walker_Nav_Menu_Edit`, while a menu item (in the same menu) or 'foobar' can be handled by the `start_el()` from a different walker.

As things stand, I'd have to extend `Walker_Nav_Menu_Edit`, copy `start_el()`, and place the conditional code for what to output in there (in my case, strip out fields that aren't ever going to be used in my 'foobar' menu item type).",GaryJ
17698,"Nav menu ""Add to menu"" buttons should be disabled if they're actually non-functional",koopersmith,Menus,3.0,normal,trivial,Awaiting Review,enhancement,reviewing,has-patch,2011-06-05T23:10:27Z,2011-06-22T17:15:41Z,"Nav menu ""add to menu"" buttons currently stay enabled, or enabled-looking, even if no .categorychecklist are checked or if no custom link URL is entered. We should dynamically specify whether that button is enabled or not, based on the options in that postbox.",mitchoyoshitaka
23832,Nav menu screen text tweaks,,Menus,trunk,normal,normal,Awaiting Review,enhancement,new,has-patch,2013-03-20T22:38:08Z,2013-03-21T17:23:57Z,,johnbillion
19365,Pages listed under Most Recent and Search tabs of Page meta box in Appearance -> Menus should be filterable,,Menus,3.2.1,normal,normal,Awaiting Review,enhancement,new,has-patch,2011-11-26T09:10:41Z,2013-03-04T17:30:09Z,"On the '''''Appearance''''' -> '''''Menus''''' administration page, pages listed under the '''''Most Recent''''' and '''''Search''''' tabs of the '''''Page''''' meta box on the left are not filterable. Since the pages listed under the '''''View Al'''l'' tab of the said metabox are already filterable via the '''''nav_menu_items_page''''' hook, why not do the same for these 2 tabs?

I have a plugin that generates a number of pages that are accessible by registered users only, and I do not want administrators to be able to put these pages on the menu in any way.",onokazu
19064,Pass $depth argument to nav_menu_css_class filter,cyclometh,Menus,3.2.1,normal,minor,Awaiting Review,enhancement,reopened,has-patch,2011-10-26T22:31:15Z,2012-04-12T07:36:34Z,"function start_el() in nav-menu-template.php receives a $depth argument, representing the nesting level of the current menu item, but does not pass it to the nav_menu_css_class filter.

Passing the $depth argument allows one to create classes on a menu item such as menu-item-depth-1, menu-item-depth-2, etc by hooking the nav_menu_css_class filter.
",cyclometh
15646,Theme menu locations don't appear until a menu is created,,Menus,3.0,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2010-12-02T12:33:47Z,2013-03-07T19:17:49Z,"Nacin told me this was by design, but he said to create a ticket after I asked him this: How can a user know what menu to create or whether to create a menu if they don't know the locations that the theme supports?

Related: http://wordpress.org/support/topic/register_nav_menu?replies=29",JohnONolan
23076,Update menu item title when editing menu item label,,Menus,3.5,normal,minor,Awaiting Review,enhancement,new,,2012-12-29T13:59:46Z,2012-12-29T13:59:46Z,"I'd like to suggest that the menu item title gets updated when the user is editing the ""Navigation Label"" field. That results in a nicer preview, when the menu item is collapsed again before saving.",tillkruess
16691,Add do_action or menu description in nav-menus.php,,Menus,3.1,normal,normal,Awaiting Review,feature request,new,,2011-02-27T17:54:14Z,2011-07-27T20:08:16Z,"The nav menu feature uses the taxonomy structure but does not use i.e. the term description.
This field could be used by adding an action in wp-admin/nav-menus.php, for example in line 538 or 552.

{{{

<label class=""menu-name-label howto open-label"" for=""menu-name"">
	<span><?php _e('Menu Name'); ?></span>
	<input name=""menu-name"" id=""menu-name"" type=""text"" class=""menu-name regular-text menu-item-textbox input-with-default-title"" title=""<?php esc_attr_e('Enter menu name here'); ?>"" value=""<?php echo esc_attr( $nav_menu_selected_title  ); ?>"" />
</label>
<?php if ( !empty( $nav_menu_selected_id ) ) :
	if ( ! isset( $auto_add ) ) {
		$auto_add = get_option( 'nav_menu_options' );
		if ( ! isset( $auto_add['auto_add'] ) )
			$auto_add = false;
		elseif ( false !== array_search( $nav_menu_selected_id, $auto_add['auto_add'] ) )
			$auto_add = true;
		else
			$auto_add = false;
		}
?>
<div class=""auto-add-pages"">
	<label class=""howto""><input type=""checkbox""<?php checked( $auto_add ); ?> name=""auto-add-pages"" value=""1"" /> <?php printf( __('Automatically add new top-level pages' ), esc_url( admin_url( 'edit.php?post_type=page' ) ) ); ?></label>
</div>
<?php endif; ?>
}}}

This would allow plugin developers to add additional fields or settings for nav menus and save them on updating or saving the menu.


",linguasite
19686,404 - File or directory not found,,Multisite,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-12-29T19:47:45Z,2012-01-03T21:38:51Z,"We are running Wordpress using multiuser with Buddypress. Users are getting the 404 error after they click the save button in their settings.

I'm opening this ticket to report the source of the problem.

Wordpress 3.x
Buddypress 1.5
Windows 2008 R2 (IIS 7.5)

Themes installed are all Buddypress compatible and all themes seem to be affected. 
All option pages are affected.
Settings are updated when the user returns to the page - despite the error. A screen shot of the error can be seen at http://blogs.cnc.bc.ca/gagel/?attachment_id=38

The source of the problem appears to be in the wp_get_referer() function on line 164 in options.php. With the variables passed to the function it should redirect the user to the page they just submitted when they updated options. Instead they get the 404 error.

The page they're redirected to appears to be the absolute path of the submitted page appended to the absolute path again (minus the domain). So it looks like this:
userblog/wp-admin/userblog/wp-admin/options-general.php?settings-updated=true

When I switch out the wp_get_referrer() function with the variable $parent_page then the redirect worked as expected.

I'm uncertain about leaving it like this as my change may have introduced issues elsewhere...

This issue is discussed at http://wordpress.org/support/topic/recuring-404-file-or-directory-not-found-error?replies=8#post-2527566",kwgagel
23453,Absolute path added to same page anchor tag links,,Multisite,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-02-12T04:56:18Z,2013-02-20T03:42:34Z,"In a multisite setup with a sub-folder configuration when I create a link with a hash tag to an anchor point on the same page, the rendered HTML includes the absolute path plus the hash tag.

When I tested creating a same page link with a hash tag on a regular install it worked fine. This might have to do with re-writes using sub-folders in multisite. I don't think it should be adding the absolute path into the href",angio
20746,Accessing non-existing theme folder in Network install gives 500 error,,Multisite,3.3.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-05-25T10:28:39Z,2012-11-17T16:17:46Z,Accessing non-existing theme folder in Network install gives 500 error and following error in error log: ''Request exceeded the limit of 10 internal redirects due to probable configuration error.'',arkimedia
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
21306,"Archived blogs should return HTTP ""404 Not Found"", not ""410 Gone""",,Multisite,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-07-18T19:39:51Z,2012-07-18T19:39:51Z,"In a multisite network, if a site is archived, ms_site_check() currently serves up a HTTP 410 status code. Here's what the [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html HTTP spec] has to say about 410:

  The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.

It's acceptable to serve a 410 if the site is marked as deleted or spam, but I don't think that archiving the site is an indication that the site is permanently and irrevocably gone. Although a case can be made for changing it to 404, my contention is that a 403 is more appropriate for semantics and for bots. From the same HTTP spec:

  403 Forbidden: The server understood the request, but is refusing to fulfill it.

vs

  404 Not Found: The server has not found anything matching the Request-URI.",amattie
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
21428,Bad mail subject encoding on new blog notification,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-07-31T14:02:59Z,2012-08-07T11:43:45Z,"Email subject is in Russian language. When trying to add new blog using page http://mysite.com/wp-admin/network/site-new.php, user gets email where subject is like - '''=??B??='''. So I was trying to find where this bug appears. And I think, I found it. 

Script tries to send notification using function '''wpmu_welcome_notification''' on line http://core.trac.wordpress.org/browser/tags/3.4.1/wp-includes/ms-functions.php#L1250. But '''get_option('blog_charset')''' returns empty string, so header is bad-generated and encoded...",TheSteelRat
14539,Cache-Control / Expires headers not applied to files in Multisite files location,,Multisite,3.0.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2010-08-05T04:21:33Z,2012-09-19T16:02:17Z,"First reported in Multisite forum and detailed there:

[http://wordpress.org/support/topic/cache-control-headers-and-uploaded-files-not?replies=5]

These file type accesses should return 304s according to the rules in .htaccess but consistently return 200, showing an incorrect Cache-Control header specification, instead of no specification at all--which is still undesired.

This occurs in two 3.0.1 Multisite installs on all blogs, domain mapped or not, but does not occur on any other domains on the server or in any other file locations in the WP tree (themes, etc.).

Initially, it was image files that I had identified this on but a subsequent check of a CSS file in the files/ location returned the same header that is set for (.php|.pl|.cgi) files; same as the image files do.

Apache 2.2.15, PHP 5.2.13, FreeBSD 7.2-STABLE, MySQL 5.0.90
",spherical
18272,Can not define media upload path/URL in multisite,,Multisite,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T22:56:44Z,2011-07-27T22:56:44Z,"We have a multisite installation with five subdomains.  We do not wish to use the default /files/yyyy/mm/filename.ext structure for uploaded media.

In Network Admin > Sites > Edit (under a subdomain) > Settings, you can set:
Upload Path (eg /var/www/pathonserver)
Upload Url Path (eg http://www.domain.com/pathonserver)
Fileupload Url (eg http://www.domain.com/pathonserver)

However WordPress does not recognise these settings and uses the default format.

If you comment out the last line on wp-includes/ms-settings.php (ie ms_upload_constants()), it does recognise the settings. ",xtraxtra
20171,"Categories/Tags links are broken in WP 3.3.1, with multisite/subfolder install",,Multisite,3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-04T07:10:35Z,2012-03-04T13:21:39Z,"All the default categories/tags links are not working, showing error..

""This is somewhat embarrassing, isn’t it?""

Steps to reproduce:
-------------------
1. Install WP 3.3.1 on domain, e.g. http://blog.example.com
2. Enable multi-site features, using subfolder instead of subdomain
3. Create a site, e.g. http://blog.example.com/test1
4. Create a post, e.g. http://blog.example.com/test1/2012/03/04/test1/
5. Enter the default category link, e.g. http://blog.example.com/test1/category/uncategorized/


Now you will see the message: ""This is somewhat embarrassing, isn’t it?""

Fix:
----
1. Enter this link: http://blog.example.com/test1/wp-admin/options-permalink.php
2. Change nothing, press ""Save Changes""
3. Now you can view the link correctly: http://blog.example.com/test1/category/uncategorized/

The above issue also apply to tags",tszming
20983,Change phrasing for 'Network Activate' newly installed plugins,,Multisite,3.0,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-06-15T21:25:05Z,2012-06-16T02:28:39Z,"Not everyone is clear what 'Network Activate' means and after installing a plugin, a lot of people just assume that activate will turn it on for one site only. Then they complain that the plugin turned it self on automagically!

While it would make the link longer, I think changing it to the same wording we have in the title might actually catch their eye: ''Activate this plugin for all sites in this network''

(The other thought was to put 'Return to Plugins Page' in front of Network install, but that would annoy single site people, of whom there are a majority)",Ipstenu
21036,DB Repair on Multisite looks for wp_1_....,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,,2012-06-21T12:37:40Z,2012-12-10T00:26:59Z,"Log in to your site and need to repair. WP nicely prompts you, so you click the repair button and get this:


{{{
wp_1_posts: Table 'wordpress.wp_1_posts' doesn't exist
wp_1_comments: Table 'wordpress.wp_1_comments' doesn't exist
wp_1_links: Table 'wordpress.wp_1_links' doesn't exist
wp_1_options: Table 'wordpress.wp_1_options' doesn't exist
wp_1_postmeta: Table 'wordpress.wp_1_postmeta' doesn't exist
wp_1_terms: Table 'wordpress.wp_1_terms' doesn't exist
wp_1_term_taxonomy: Table 'wordpress.wp_1_term_taxonomy' doesn't exist
wp_1_term_relationships: Table 'wordpress.wp_1_term_relationships' doesn't exist
wp_1_commentmeta: Table 'wordpress.wp_1_commentmeta' doesn't exist
}}}


I've seen this over and over again, and generally I tell people to go into phpMyAdmin and repair there, which works. But clearly looking for wp_1_ is going to be problematic for non-WPMU upgraded sites. Which are quickly becoming the majority.",Ipstenu
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
17397,Inconsistency in allowed site addresses,,Multisite,3.1,normal,minor,Awaiting Review,defect (bug),reopened,,2011-05-12T14:40:09Z,2012-11-02T22:34:33Z,"The rules for allowed characters in a site address differ between when you add a new site and when you edit an existing site.

Steps to reproduce:

 1. Go to Network Admin -> Sites -> Add New
 2. Enter `foo.bar` as the site address and hit save. The address will be rejected as containing invalid characters.
 3. Edit an existing site instead, and enter `foo.bar.yourdomain.com` as the domain. The address will be accepted just fine.

Having written that out, maybe this isn't a valid bug because when adding a site you're entering the site address, but when you're editing a site you're editing the complete domain name. Hmm. I'll open it anyway and see what people think.

My core issue is that I'd like to be able to add sites that use fourth-level subdomains (eg `foo.bar.baz.com` when the main site is at `baz.com`). Currently I have to enter a different site address then go in and edit it to the desired domain.",johnbillion
23483,Incorrect image URL for subsites when using UPLOADS constant on multisite subdirectory installation,,Multisite,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-15T18:56:54Z,2013-02-18T21:40:51Z,"If the UPLOADS constant is used on a Wordpress Multisite installed to subdirectory, using subdirectory mode, then image URLs for subsites are incorrect.

Example:
* WP MS installed to www.domain.com/wordpress, subdirectory not subdomain
* UPLOADS set to 'assets'

Main site uploads images to /wordpress/assets/... [[BR]]
Main site image URL is www.domain.com/wordpress/assets/...

1. Create subsite called 'subsite';
2. Subsite uploads images to /wordpress/assets/sites/2/...
3. Subsite image URL is www.domain.com/subsite/assets/sites/2/... when it should be www.domain.com/assets/sites/2/...


This is because wp_upload_dir() uses get_option('siteurl') to derive the URL. It is probably right for subdomain multisite but wrong in this use case.",creativeinfusion
20440,Initial admin user only removable through bulk action when using multisite network,,Multisite,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-14T02:51:59Z,2012-04-14T03:01:01Z,"Because I have a separate login system in place, I no longer wanted the initial admin user created during setup in the system. I revoked the admin users super admin privilege, but noticed that I they still couldn't be removed using the 'Delete' link (there is a check for id not equal to 0 or 1 at line ~100 of {{{wp-admin/network/users.php}}} which prevents deletion, yet no error or anything is shown), however I found that through bulk actions 'Delete' option the user '''can''' be removed since no such checks are in place to prevent it.

Is there any reason for preventing the main admin user to be removed in network mode even if that user has been stripped of the super admin privilege? If so, should this bulk actions removal workaround be patched (and an error displayed when someone tries to delete that user), and if not can the ID check be removed to allow the user to be deleted?",bananastalktome
19375,Make BLOG_ID folder deleted on site-deletion,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-11-28T00:41:57Z,2012-02-07T00:00:09Z,"It would be appreciated that the BLOG_ID folder get deleted on site-deletion, in the future..

My reference is the discussion at, 

http://wordpress.org/support/topic/wpmu_delete_blog-not-deleting-blogsdir-folder",momotombopuro
16609,"Misleading ""Error establishing a database connection""",,Multisite,3.0.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2011-02-21T17:31:10Z,2011-02-21T17:31:10Z,"Multisite install shows:

""Error establishing a database connection""

Even if credentials are OK when it doesn't find the domain entry in wp_blogs table, this is very misleading, would be helpful to have the same meaningful error message that /wp-admin shows.

I posted this problem originally at http://wordpress.org/support/topic/misleading-error-establishing-a-database-connection",roberto.carvajal
23088,"Multisite, Subdomains and www",,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,,2012-12-30T20:05:33Z,2013-04-28T16:21:25Z,"I installed a WordPress Multisite network (in subdomain mode) on Zend's PHPCloud.com.

Zend does not provide an IP address, recommending a CNAME instead. CNAME records are not allowed on the root of a domain, so they recommend using the www subdomain, with a redirect from the root domain to www.

This site can NEVER be accessed on the naked domain; it will always be accessed via the www subdomain.

So, I setup wildcard DNS for *.mydomain.com, then created a network on www.mydomain.com. Then, I went to a non-existant subdomain on my network, nonexistant.mydomain.com, and WordPress redirected to www.mydomain.com/wp-signup.php?new=nonexistantwwwmydomaincom.

The correct behavior is to redirect to www.mydomain.com/wp-signup.php?new=nonexistant

The fix for this is in wp-includes/ms-settings.php, replace line 89 with:

{{{
$site_domain = preg_replace( '|^www\.|', '', $current_site->domain );
$destination = 'http://' . $current_site->domain . $current_site->path . 'wp-signup.php?new=' . str_replace( '.' . $site_domain, '', $domain );
}}}

Also, on the registration page at the bottom it says:

""The site you were looking for, http://nonexistant.www.mydomain.com/ does not exist, but you can create it now!""

The fix is in ms-blogs.php, line 53:

{{{
$url = preg_replace( '|^([^\.]+://)(?:www\.)?|', '$1' . $blogname . '.', $url );
}}}",jkhoffman
20846,Multisite: Network Users can post comments without being members of the site,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-05T14:35:41Z,2012-11-02T23:02:52Z,"This is probably an 'ever since inception' issue and I can replicate it on 3.4

Setup:

Have a user added to your network but '''not''' to a