﻿ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter
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
16889,Having a location header does not mean that there should be a redirection.,,HTTP,3.1,normal,normal,3.6,defect,reopened,has-patch,2011-03-18T16:49:43Z,2013-03-05T04:04:17Z,"Having a location header does not mean that there should be a redirection.

Automatic redirection depends foremost on the response code, not not having a location header.

See the descrption of #16888 for related RFC links.

Related: #11305",hakre
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
16884,URL generation in setup-config's get_bloginfo(),,Upgrade/Install,3.1,normal,normal,Future Release,defect,new,dev-feedback,2011-03-18T11:49:08Z,2012-06-02T19:12:24Z,"See [http://php.net/manual/en/function.str-replace.php str_replace()]

Replacing some string with something in an **empty string** is obviously bogus.",hakre
21334,Accessibility of Quick Edit panel in Posts/Pages/etc,,Accessibility,3.4.1,normal,normal,3.6,defect (bug),new,has-patch,2012-07-21T06:46:51Z,2013-05-09T14:36:57Z,"Two issues here:

1) When someone using mouse hovers over a page/post row in main Pages/Posts screen - the 'quick links' appear. However these links will never appear when a user is tabbing around the screens - perhaps a blind user with screen reader or someone who is unable to use a mouse.

Please can the 'quick links' panel be opened when someone tabs to the page/post title and stay open so that they can then tab into the links provided.

2) Using Quick Edit. 

When the Quick Edit panel is open the input fields in there are all nicely accessible except for the date and time grouping. These input fields have a tabindex value set (unlike the surrounding input fields) which removes them far from the natural sensible tab order within this panel. Suggest the tabindex values are removed.

Also, none of the date and time input fields have labels so their meaning is unclear - certainly to blind users but also potentially to people with cognitive impairments too. Please can this be rectified.

Thanks",grahamarmfield
16103,Blue Admin theme doesn't have enough contrast,,Accessibility,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-05T03:51:32Z,2013-05-14T13:21:17Z,"The beautiful blue theme has a few parts that lack sufficient contrast to be useable by someone with color deficiencies.   Specific parts to follow.


See attached screen shots to get a better idea.  Highlighted areas lack contrast.  ",jorbin
23760,Cannot use spacebar to trigger OK button or links in Publish widget (eg. schedule settings),,Accessibility,3.5.1,normal,minor,Awaiting Review,defect (bug),new,,2013-03-13T16:23:43Z,2013-04-19T23:16:59Z,"When changing the scheduled publishing time of a post, the OK button after the time fields cannot be triggered by pressing spacebar.

The same applies to all buttons and links in the Publish widget on the Add New / Edit Post page. The Add button in the Tags widget on the same page can be triggered with space since WordPress 3.5. 

Steps to repeat:

1. Create a new post by navigating to wp-admin/post-new.php.
2. Click the underlined link in ""Publish immediately _Edit_"" in the Publish widget.
3. Click the last field (minutes).
4. Press Tab once to move focus to the OK button.
5. Press spacebar.

What happens is the screen scrolling down exactly as if Page Down was pressed.

What should happen is the same that happens when the button (or link) is clicked with mouse, which depends on the button (or link).

Tested on Windows XP & 7 and all the recent Firefoxes I can remember and Internet Explorer 9.",Daedalon
22682,Close Button Breaks in Customizer After Refresh,,Accessibility,3.5,low,minor,Future Release,defect (bug),new,,2012-12-02T17:10:01Z,2012-12-04T04:43:17Z,"Steps to reproduce (keyboard only):
1. Open the theme customizer.
1. Tab past the top buttons.
1. Press F5.
1. Now try to use the Close or Cancel button.

Expected result:  Should be able to Close or Cancel.

Actual result:  The button can still be clicked, but it is broken for keyboard usage.

Found in 3.5-RC2-22961 using Chrome 23 and WinXP.",miqrogroove
15926,Give header and background images alt tags,,Accessibility,3.0,normal,minor,Awaiting Review,defect (bug),assigned,has-patch,2010-12-20T22:16:12Z,2013-01-11T11:42:52Z,"''Section 1194.22 Web-based Internet information and applications: (a) A text equivalent for every non-text element shall be provided (e.g., via ""alt"", ""longdesc"", or in element content).''

To meet accessibility guidelines, the header images and backgrounds (when supported by a theme) need to be given user-editable alt tags.",jane
23560,Keyboard Accessibility of Add Media Panel,,Accessibility,3.5.1,normal,normal,3.6,defect (bug),new,has-patch,2013-02-20T14:26:56Z,2013-04-09T23:28:25Z,"Trying to keep this trac specific I'm talking here about keyboard-only interaction with the new Add Media panel once you have opened it by actioning the Add Media link whilst editing a page or a post.

Accessibility Issues:
* The most serious problem with accessibility in the Add Media functionality is that it is not possible to select any of the pre-uploaded media without using a mouse. This will effectively preclude any keyboard only or screen reader users from using this functionality.
* When the Add Media panel first opens it is unclear where keyboard focus sits. This could be disconcerting for some users.
* Reverse tabbing from the panel transfers focus back into the main page whilst leaving the panel open. Recommend that focus is kept cycling within the panel until the user either explicitly closes the Add Media panel or inserts some images.
* It is possible to tab through the text links on the panel(s), but the Upload Files link does not show focus as obviously as other links as there is no outline.
* When tabbing forwards from the Upload Files link there is a tab stop that is not at all visible. Believe this to be Media Library but it's not clear.
* The Insert into Page link can receive focus even when inactive.

Separate trac tickets will be raised to cover the full screen reader and speech recognition software experience.",grahamarmfield
20880,Keyboard navigation in Appearance > Header is broken,,Accessibility,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-07T17:40:34Z,2012-06-08T06:27:11Z,"It's impossible to use the Appearance > Header section with the keyboard because the Enter button will submit the form using the top-most submit input, which is not always the Save Changes button. How to reproduce, in Appearance > Header, using Twenty Eleven:

1. Select one of the default header images
2. Check the Show header text with your image option
3. Enter #111 for Text Color
4. Click Save Changes

At this point everything looks fine, but here comes the trouble:

5. Enter #222 for Text Color and hit Enter

You'll notice that #222 hasn't been set as the Text Color, instead your chosen header image (in step 1) has been removed, as if the Remove Header Image button was clicked.

6. Enter #333 for Text Color and hit Enter

You'll notice that #333 hasn't been set as the Text Color, instead it's been set to #000 which is Twenty Eleven's default, as if the Restore Original Header Text button was clicked.

When both Remove Header Image and Restore Original Header Text buttons are not present, the Return key submits the form using Save Changes, as expected. It's not limited to Text Color, but any other element that can submit the form using the Enter key.

I've been facing the exact same problem when doing an options panel for a theme with multiple actions as submit buttons, still haven't found a good solution. Marked as 3.3.2 but I believe it's been around earlier.

Thanks!",kovshenin
12825,Largest minimum text size in FF prefs makes admin display terrible,,Accessibility,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-02T22:25:59Z,2013-01-20T18:04:36Z,"The backend looks great in FF if a user zooms, as long as they don't zoom text only. However, some visually disabled people use the Firefox preference for minimum font size instead, because doing full zoom means lots of horizontal scrolling. Is there anyway to make it so that a large minimum text size wouldn't be so terrible-looking? 

To reproduce: in FF, go to Preferences, Content, Advanced Fonts, select 24 for minimum size. Look at the admin; eek! (In comparison, zooming to that size looks very pretty, but requires horizontal scrolling).

Gmail does it decently, so I thought it was worth asking, but I know that there may be technical reasons that we can't make it happen. Would just like to know what those are if so, so I can explain to users who ask about it. If we *can* make it happen, that would be sweet. ",jane
20294,User profile edit: no label on second password field,,Accessibility,,normal,normal,3.6,defect (bug),new,has-patch,2012-03-24T13:08:23Z,2013-05-05T05:35:32Z,"When editing a User profile in admin, there are 2 fields for password, the second one asking to ""Type your new password again"".

This second field has neither a {{{label}}} element nor a {{{title}}} attribute associated to it.[[BR]]
The first field has a label, the one in the {{{th}}} element: ""New Password"", correctly associated to the input via its for attribute (e.g. {{{for=""pass1""}}} when the input field has an {{{id=""pass1""}}}).

Any form field should have an associated label (or at least a title) per WCAG 2.0, see the Technique ''[http://www.w3.org/TR/WCAG-TECHS/H44.html H44: Using label elements to associate text labels with form controls]''. This helps screenreader and other assistive technologies users to understand without a doubt what is the role of each form field, improving the accessibility of the admin and thus ATAG and WCAG compliance of WordPress).

A simple solution would be to use the existing hint ""Type your new password again."" (right after the second password field) as its associated label.[[BR]]
{{{span.description}}} thus becomes:

{{{
<label class=""description""><?php _e(""Type your new password again.""); ?></label>
}}}

This new label isn't styled in italic anymore (because the applied selector is ''span.description'') so, in {{{wp-admin/css/wp-admin.dev.css}}}, one should also add {{{label.description}}} to the existing selector rule and to the one at the end of the same CSS file that removes italic for zh_CN localization.

Related ticket: [http://core.trac.wordpress.org/ticket/9445 #9445] ''(All Input Tags are not Section 508 Compliance)''",PhilippeVay
23562,Using Speech Recognition Software with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T16:06:02Z,2013-02-20T17:59:42Z,"Linked to #23560 this ticket specifically concerns the speech recognition user's accessibility experience of the Add Media functionality.

I'm using Dragon Naturally Speaking with IE9 on Windows 7 - a typical setup as Dragon works best with IE.

Within the Edit Post screen I can use Dragon to action the Add Media link successfully. The command in Dragon for such an action is ""Click Add Media"". This works, but then I run into the following problem:

* With the exception of Set Featured Image, none of the other links on the panel appear to be directly accessible with Dragon.
* If I select Set Featured Image I can't action any of the other links.

Dragon users can use voice commands to replicate pressing the tab key. The experience then mirrors that outlined in #23560 - but of course this cannot be used to select the images or other files.

It is possible for Dragon users to interact with screens using mouse commands but it is an incredibly laborious and time consuming process - used only as a last resort.

If one of the images is selected, the information panel for that images opens to the right. Unfortunately none of the input fields (for title, alt, etc) are directly available to Dragon. Ironically, the Insert Into Post button can be accessed directly with a voice command.

Some investigation needs to be done as to why most of the links and input fields cannot be directly accessed by Dragon when the panel is opened. This is a parallel with the situation on the Theme Customizer panel. 

It is interesting that the Set Featured Image link and the Insert Into Post button '''can''' be directly accessed. What is different about them?

",grahamarmfield
23561,Using a Screen Reader with the Add Media Panel,,Accessibility,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T15:16:55Z,2013-02-20T17:59:54Z,"Linked to #23560, this trac specifically concerns accessibility issues found when using the Add Media panel with a screen reader.

I used NVDA 2012.2.1 with IE9 and FF16.0.2 on Windows 7.

'''IE9'''

* On initially clicking Add Media link in Edit Post page the focus appears to initially be transferred into the edit content textarea within the main page. There is no audible notification that the panel has opened.
* Further tabbing shows that the focus has not been transferred into the panel - so this would be a showstopper for most users.

If you continue tabbing you eventually do come to the panel in the tab order at the bottom of the main page maybe...

* It is possible to tab round the text links in the panel. However actioning the Insert Media or Create Gallery links does not apparently do anything - there is no audible feedback that the contents of the next panel have changed. Suggest that when one of these links is actioned that focus is transferred into the relevant panel - to the heading would be a good place.
* The 'images' select does not have an associated label so it's purpose would not be clear to all users.
* The search box does not have an associated label so screen reader users in IE9 receive no feedback as to the purpose of this text box.
* There is no Go or Search button available to trigger the action for these two input fields - both of which change the content of the panel below. For accessibility reasons the user should be in control of triggering the filtering.
* As mentioned in the other ticket #23560 the main accessibility problem here is that it is not possible to select any of the previous uploaded media.


'''Firefox'''

* When the Add Media panel opens it is not clear where focus sits. But after this first link the focus is transferred into the Add Media panel.
* The close link does not announce itself when tabbing forwards, but it does when reverse tabbing.
* See IE9 section re actioning Insert Media, Create Gallery links.
* AS IE9 re label for media type select box. NVDA does announce Search box label in FF.
* As IE9 re lack of Go or Search button for these input fields.
* As IE9 it is not possible to tab to any of the previously uploaded images/files.

Separate ticket to be raised for Speech Recognition software experience.",grahamarmfield
22254,"""Do you really want to log out"" message after already logged out",,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-10-22T16:21:06Z,2013-02-28T16:03:33Z,"1. Log into admin area
2. Open some page within admin area in a new tab (middle click or ""Open link in new tab"" or similar)
3. Select ""Log Out"" in menu in one tab
4. Normal ""You are now logged out."" screen appears
5. Select ""Log Out"" in menu in other tab
6. The following message appears:
{{{
You are attempting to log out of Blogname

Do you really want to log out?
}}}
The content of this message is wrong as the user is already logged out at this point.",Ov3rfly
22222,"""Mode"" buttons bumped below (in 1024x768) when long category name exists",,Administration,,normal,minor,Awaiting Review,defect (bug),new,,2012-10-18T17:22:33Z,2013-02-09T20:54:12Z,"If there's a long category name, the category filter <select> menu widens. On a 1024x768 screen, this causes the list/excerpt mode buttons to get bumped down.

screenshot: http://kdl.dropmark.com/25665/1130400

One thought was to move that option to Screen Options, which I think makes more sense anyway. ",trepmal
22735,A given pointer should only show once on a screen,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-04T18:10:44Z,2012-12-14T23:51:42Z,"If you have, say, multiple media buttons on a screen, you'll get multiple pointers, each pointing to an instance of that button. This shouldn't happen. In the case of the media button, it should probably only show up for the one associated with the main editor. In terms of the pointers in general, it should only show up once, not for each match in the DOM.",helen
15827,AJAX paging breaks badly when json_encode can't encode,,Administration,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-12-15T14:27:33Z,2011-02-11T07:20:32Z,"If json_encode can't encode a response for some reason you get no feedback at all except for a blank list.

This seems most likely to trigger with invalid UTF8 sequences in spam comments.

With non-ajax paging you at least get all the comments displayed even if you do get a lot of ??? for the bad chars

Example Error seen:

{{{
[15-Dec-2010 14:18:38] Warning: json_encode() [<a href='function.json-encode'>function.json-encode</a>]: Invalid UTF-8 sequence in argument in /home/wpdev/public_html/wp-admin/includes/class-wp-list-table.php on line 839 [
}}}",westi
17516,Add Favorite Actions to Admin Bar,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-19T18:37:03Z,2011-09-10T03:25:31Z,"With the new UI upgrade, the favorite_actions() method was removed from the main UI. After a brief discussion with Westi, it made sense to put the functionality back in as part of the adminbar.

The attached patch does that using the favorite_actions() method (which can now return the filtered list of favorite_actions as an array). We should eat our own dog food.",technosailor
19527,Add New Category Problem While Posting,,Administration,3.3,normal,minor,Awaiting Review,defect (bug),reopened,close,2011-12-13T05:26:08Z,2013-01-22T01:19:25Z,"When adding new category, while you are making a post, If a category is added under a parent category, it doesn't show properly that the new category is under the parent category.

It has been added correctly, but it doesn't show properly the first time.",jainprateek
23141,"Add autocomplete=""off"" to all inputs that have a value",,Administration,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-01-08T12:49:51Z,2013-01-08T19:44:44Z,"On '''refresh''' in the browser - old data is filled in the inputs, instead of the actual data from the value attribute of the input.

to be more clear : http://www.screenr.com/p2K7",alexvorn2
13972,Add new category link - capability check needed,,Administration,3.0,normal,minor,Future Release,defect (bug),new,has-patch,2010-06-18T09:01:43Z,2012-06-29T18:18:58Z,"/wp-admin/link-add.php

If user doesn´t have ""manage_categories"" capability, add new link page, will show ""add new category"" link and form, 
it should be hidden.
",wjm
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
14565,After Category Quick Edit Update Parent Category Dropdown,,Administration,3.0.1,normal,trivial,Future Release,defect (bug),new,has-patch,2010-08-08T22:07:45Z,2010-12-26T23:09:36Z,"On a clean install I went to Posts -> Categories and used Quick Edit to rename 'Uncategorized' to 'Rename-Test' I then went to create a new Category using the form on the left and the Parent drop down still lists 'Uncategorized'.

Should this be updated without have to reload the page?",Dempsey
13218,Allow to specify name of drop-in which is not a plugin,nacin,Administration,3.0,normal,normal,Future Release,defect (bug),reviewing,,2010-05-02T21:14:23Z,2011-04-07T03:49:48Z,"As I mentioned in #11861, plugin DB Cache Reloaded have two files: one main plugin file, and another used as `wp-content/db.php` drop-in. I would like to provide name for the drop-in file, but now the only way is to use the `Plugin Name:` header. Unfortunately when I do this, drop-in file bundled with plugin appears on plugin list. Therefore I need new header, which could I use to specify drop-in name, without that unwanted side effect.",sirzooro
21211,Alter how settings_errors are output in options.php,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-07-10T23:44:37Z,2012-12-10T18:43:09Z,"The `*_settings_error(s)` and `settings_error` functions are used mainly as part of the Settings API, but with the way that options.php currently handles the settings errors, it assumes that people will use this functionality exclusively with the Settings API. Notice options.php, starting at line 153:

{{{
	/**
	 * Handle settings errors and return to options page
	 */
	// If no settings errors were registered add a general 'updated' message.
	if ( !count( get_settings_errors() ) )
		add_settings_error('general', 'settings_updated', __('Settings saved.'), 'updated');
	set_transient('settings_errors', get_settings_errors(), 30);
}}}

This simply assumes that no other outside source has registered any sort of setting error other than the current options page. TwentyEleven does this, and so if any other source has registered any notices via these functions, the ""Settings saved."" message will not be output because the first bit of logic will fail. I don't think this assumption can (nor should) be warranted, so there needs to be another way to handle this so that themes like TwentyEleven who only call `settings_errors` at the top of their options page don't get unknowingly hijacked by other sources.

I always suggest registering your own errors at the end of the sanitization callback for your setting, and then output those specific errors within settings_errors to avoid any internal conflicts like this.

Just looking for some ways to approach this. :-) 


",griffinjt
10422,Answering to comment from Dashboard does not update Dashboard statistics,,Administration,2.8.1,normal,normal,Future Release,defect (bug),new,has-patch,2009-07-16T05:18:48Z,2012-09-17T19:50:52Z,"Hi there,

there is a short statistics ""Right now/At a Glance"" box in Dashboard, containing number of posts, pages, comments etc.

There is also a box with list of most recent comments in the Dashboard.

If a user answers to a comment in this ""Recent comments"" box in Dashboard, which uses AJAX, so it does not reload the whole page, it creates a new comment, but the number of comments in the ""Right now"" box is not updated.

I know this is not a critical bug, but it would be really nice if it works.

Take care, Honza

P.S.: As there is no ""Dashboard"" component in the Trac, I did not know whether to assign it to Administration or Comments component. I put it into Administration, if you think it better suits to Comments or any other component, please feel free to change it.",honza.skypala
18530,Browser update dismiss setting ignored with JavaScript disabled,,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-08-27T15:41:24Z,2013-01-22T01:14:57Z,"When working on a corporate desktop you can not update your browser. When freely deciding about when to upgrade you might not even want to upgrade.

Therefore a user setting has been introduced to remove the nag warning. E.g. my linux distro is perfectly ok with it's firefox and it's taken care of by the pacakager. For my OS, I have the latest version.

I needed to press dismiss (with JS enabled, the related report is #17766).

What has been missed is to not display that nag if javascript is disabled. The setting gets ignored.

How to Reproducde

  * Setup a WP 3.2.1 Blog.
  * Log into admin with a Firefox 3 browser.
  * Enable Javascript.
  * Dismiss the Nag.
  * Logout and close the Browser.
  * Restart the Browser.
  * Disable Javascript (if you need to).
  * Log into Dashboard.

Result: Browser Update Nag is displayed.

Expected Result: Browser Update Nag is not displayed as specified by the user.",hakre
16946,Bug between CPT menu_position and add_object_page(),,Administration,3.1,normal,normal,Future Release,defect (bug),reviewing,,2011-03-23T10:11:12Z,2012-07-20T13:49:29Z,I write a demo plugin for describe the bug. See attachment.,momo360modena
17861,Bug on WordPress Credits page,nacin,Administration,3.2,normal,normal,WordPress.org,defect (bug),reopened,,2011-06-21T15:56:56Z,2012-11-28T00:15:31Z,"Hi,

There are a couple of bugs on WordPress Credits page.

1.- There is a problem with usernames with dot, for example my username ""j.conti""

I'm on translators list, my name and avatar are correct but the link to my profile is wrong. Now, the link is http://profiles.wordpress.org/users/jconti but my profile is http://profiles.wordpress.org/users/j.conti the bug is deleting the dot.

2.- There is a problem with my name, my name is ""José Conti"" but is showing ""JosÃ© Conti""

attached pic

Thank you",j.conti
10762,Bulk editing creates invalid URIs,,Administration,2.8.4,normal,normal,Future Release,defect (bug),assigned,,2009-09-09T16:53:30Z,2013-05-12T10:27:16Z,They simply get too long for example if you move 999 posts to trash. It might be helpfull to switch to the post form method.,hakre
15761,Bulk editing on posts without Javascript enabled results in the post being set to draft,garyc40,Administration,2.9,normal,normal,Future Release,defect (bug),assigned,needs-refresh,2010-12-10T09:03:35Z,2011-06-09T19:49:56Z,"Currently, Bulk editing is available without JavaScript being enabled.

The result of attempting to edit a post, is a redirect back to the posts page with the post being marked as a draft. No UI is offered for bulk editing.

This behaviour exists in trunk, 3.0, and 2.9 from my testing (havn't tested earlier versions).

The Bulk editing screen appears to work without Javascript for modification submittal, so it's possible that a non-js version would be possible.",dd32
16793,Bulk inline post edit doesn't show categories or tags if the CPT doesn't support titles,,Administration,,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-03-07T23:24:56Z,2011-05-22T17:04:59Z,"1. Register a CPT that doesn't support titles:

{{{
add_action( 'init', function() {
	register_post_type( 'foo', array(
		'show_ui' => true,
		'label' => 'Foo',
		'supports' => array( 'editor' ),
		'taxonomies' => array( 'category', 'post_tag' )
	) );
} );
}}}

2. Create a 'foo' post.

3. Go to wp-admin/edit.php?post_type=foo and choose the 'Edit' bulk action.

Expected behaviour: shows the category checkbox list and the tag textarea.

Actual behaviour: only the status dropdown is shown.
",scribu
23904,CSS glitch when the browser window width isn't right,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-03-29T21:20:47Z,2013-03-29T22:29:53Z,"The post editor's layout now switches when the width of the window is narrow enough. But there's an intermediary zone, at least on Webkit/Safari where it's too narrow for the conditional CSS to kick in, yet too wide for the browser to deal with it. I presume, based on what I was working on a few minutes ago, that it's related to paddings.

Screenshot attached.",Denis-de-Bernardy
16567,Can't create categories with different names but similar slugs on Edit Post screen,,Administration,3.0.5,normal,normal,3.6,defect (bug),new,needs-unit-tests,2011-02-15T18:29:10Z,2013-01-09T23:38:54Z,"We run a blog that deals with programming languages. Today we were creating a post concerning the C programming language and attempted to create a new category for it, called ""C"" (just one character). This angered WordPress; it appeared to create a superfluous ""Uncategorized"" category, but it wound up not actually creating any categories for the post.

I've attached a screenie so you can see what this looks like after I attempt to create the category.

If it's for some reason forbidden to create categories comprised of a single character, maybe a validation error message of some kind would be in order?",jeffreymcmanus
22022,Can’t properly add pages of type edit.php?post_type=xxx as submenu items to arbitrary parent menus,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-27T20:22:43Z,2013-01-11T11:22:48Z,"The following code illustrates the problem.
{{{
add_menu_page('My Pages', 'My Pages', 'edit_posts', 'parentslug', array(class, func));
add_submenu_page('parentslug', 'Settings', 'Settings', 'edit_posts', 'mysettings', array(class, func));
add_submenu_page('parentslug', 'Custom Post Type', 'Custom Post Type', 'edit_posts', 'edit.php?post_type=xxx'); 
}}}
When you click on the first submenu item, the menu stays open, displaying the submenu items as it should. When you click on the item for the custom post type, the parent menu is closed and submenu pages are not displayed.

The root of the problem is how $parent_page is handled for pages of type edit.php?post_type=xxx. In get_admin_page_parent(), $parent_file is always set to $submenu[$parent], which may cause the submenu slug to be different from $parent_file. But in _wp_menu_output, if the submenu slug and parent slug are not equal, the 'wp-has-current-submenu wp-menu-open' classes do not get added which means the menu gets displayed as being closed.

Since there are no actions called between get_admin_parent_page() and the output of the menu, the only workaround I can see is some ugly JS that fixes up the classes.

It seems like the least intrusive fix would be to just move the call to apply_filters(""parent_file) in menu-header.php to after the call to get_admin_page_parent() so that $parent_file can truly be overridden. This also seems inline with the intent of the filter.
",jjharr
17209,Category list table breaks when custom post type label is too long,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-21T21:14:11Z,2012-11-01T06:22:13Z,"Registered a post type which has a longer label than ""posts"" (called ""resources""). List table listing the categories for that post type breaks slightly when a name is over a certain length. Picture attached.

Offending CSS is setting a 10% width to that column.

I can provide a patch. Though since the number of posts is centered, the heading is left aligned. If that column is widened, should the title be centered as well (since left-aligned may look weird at one point)?",andrewryno
17413,Code added by WP_List_Table::_js_vars is duplicated,sorich87,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-05-13T09:45:49Z,2011-10-27T17:58:16Z,"When a list table is 'ajax enabled' (e.g. comments list table on edit-comments.php), javascript code is added by WP_List_Table::_js_vars to the footer. If you look at the source code in your browser, you will see that code is duplicated.",sorich87
23817,Collapse menu button not working if browser size is 911px width,,Administration,,normal,normal,3.6,defect (bug),new,has-patch,2013-03-19T14:18:37Z,2013-03-29T17:53:22Z,"After I added a metabox to the edit page of the post, from here:

http://codex.wordpress.org/Function_Reference/add_meta_box

the collapse but does not work if the browser size is 911px, need to refresh the page after resize to see the bug.

My browser is Firefox (latest), Windows 7


I use this for browser size check - http://whatsmy.browsersize.com/",alexvorn2
20595,Collapsible Admin menu fails if items are added by code,,Administration,3.3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-05-01T23:27:42Z,2012-05-02T07:48:13Z,"If I add a Button to the admin meny by '''action adminmenu''' the menu wont rebuid from collapsed state due z-index issues. In my opinion creating the menue might be changed to the following: 


{{{

diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php
index cdd81b2..8454a3d 100644
--- a/wp-admin/menu-header.php
+++ b/wp-admin/menu-header.php
@@ -164,10 +164,6 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                }
                echo ""</li>"";
        }
-
-       echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
-       echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
-       echo '</li>';
 }

 ?>
@@ -181,6 +177,9 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {

 _wp_menu_output( $menu, $submenu );
 do_action( 'adminmenu' );
+echo '<li id=""collapse-menu"" class=""hide-if-no-js""><div id=""collapse-button""><div></div></div>';
+echo '<span>' . esc_html__( 'Collapse menu' ) . '</span>';
+echo '</li>';

 ?>
 </ul>
}}}

see also: http://wordpress.org/support/topic/admin-menu-wont-dis-collapse-anymore",digitaldonkey
18402,Confused page ordering if filter drops parent pages,nacin,Administration,3.2.1,normal,normal,3.6,defect (bug),reviewing,dev-feedback,2011-08-14T15:34:07Z,2013-05-05T05:01:40Z,"= Problem =
In Wordpress's page management section, the page ordering is confused if a page filter drops a page parent.

Originally, I experienced this with the User Access Manager Plugin:
http://wordpress.org/extend/plugins/user-access-manager/
This plugin only shows allowed pages to the user.


= Example =
{{{
Page A
- Page A1
-- Page A1.1
-- Page A1.2
}}}

By dropping page A, the ordering becomes for example:

{{{
-- Page A1.1: Parent Page is Page A1
-- Page A1.2: Parent Page is Page A1
- Page A1: Parent Page is A
}}}

But should become:

{{{
Page A1: Parent Page is A
-- Page A1.1
-- Page A1.2
}}}

= Solution =
The confusion results from the function `_display_rows_hierarchical`
in `wp-admin/includes/class-wp-posts-list-table.php` which only adds pages to $top_level_pages whose parent is 0 – the wrong assumption here.

By adding pages to $top_level_pages whose parent is either 0 or doesn't exist in $pages we get a usable order:
So I added to the above-mentioned file:

{{{
#!php
function is_parent_in_pages( $parent, $pages ) {    
    foreach ( $pages as $page ) {
        if ( $page->ID == $parent ) return true;
    }
    return false;
}  
}}}

and changed `_display_rows_hierarchical`
from

{{{
#!php
if ( 0 == $page->post_parent )
    $top_level_pages[] = $page;
else 
    $children_pages[ $page->post_parent ][] = $page;
}}}

to

{{{
#!php
if ( 0 == $page->post_parent || !$this->is_parent_in_pages( $page->post_parent, $pages ))
    $top_level_pages[] = $page;
else
    $children_pages[ $page->post_parent ][] = $page;
}}}


And finally - in order to remove the leading dash of $top_level_pages - I removed
the $level++ in function `single_row` (same file) below ""`case 'title':`""


Small change, better user experience :)





",erdnah
15784,Contributors can't easily view others' posts in a certain term,,Administration,3.0,normal,normal,Future Release,defect (bug),new,reporter-feedback,2010-12-12T11:38:39Z,2012-02-10T15:01:16Z,"As a contributor, the default tab is 'Me', not 'All'. But you can go to 'All' and see a list of all posts.

At that time, you can also search for posts, and filter by category, date, etc. Those all work fine. You can also filter by category or tag by clicking a term in those columns, but this doesn't work -- all_posts=1 gets removed, and you end up seeing the 'Me' tab again.

You can manually append all_posts=1, but there's no way to actually filter by term viewing all posts via the UI.

Interestingly, the author query var works. That'd be bad if it didn't. But it doesn't append all_posts=1, so it's done internally.",nacin
18048,Ctrl+S draft save causes prompt on exit,,Administration,,normal,normal,Awaiting Review,defect (bug),new,close,2011-07-09T12:25:25Z,2011-11-15T03:45:49Z,"When you use the ""save draft"" button and leave the edit page, the ""unsaved changes"" prompt doesn't show up. However, when you save using Ctrl+S and leave - the prompt appears.",jakub.tyrcha
15466,Database errors on dashboard,,Administration,3.1,normal,minor,Awaiting Review,defect (bug),reopened,,2010-11-18T07:11:43Z,2012-09-04T12:33:11Z,"Not sure why it's happening and it's only happening on one of my blogs, but posting it anyway.

== Incoming Links ==

{{{
WordPress database error: [Incorrect string value: '\xD0\xA3 \xD0\xBC\xD0...' for column 'option_value' at row 1]
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_feed_de55c189685ea1944a5f72021d68a360', 'a:4:{s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:3:\""rss\"";a:1:{i:0;a:6:{s:4:\""data\"";s:1:\""\n\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:7:\""version\"";s:3:\""2.0\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:7:\""channel\"";a:1:{i:0;a:6:{s:4:\""data\"";s:10:\""\n\n\n\n\n\n\n\n\n\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:4:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""link:http://www.finalgear.com/ - Google Blog Search\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:109:\""http://blogsearch.google.com/blogsearch?hl=en&scoring=d&ie=ISO-8859-1&num=10&q=link:http://www.finalgear.com/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:108:\""Google Blog Search Results: <b>1,432</b> results for <b>http://www.finalgear.com/</b> - showing 1 through 10\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""item\"";a:10:{i:0;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:37:\""Evora S in next episode of Fifth Gear\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:75:\""http://www.lotustalk.com/forums/f170/evora-s-next-episode-fifth-gear-94777/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:238:\""The next episode of Fifth Gear with feature an Evora S. It will air on November 19th in the UK and for those of us unfortunate enough to not live in England it can be downloaded via torrent client from www.finalgear.com a little while ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:36:\""LotusTalk - The Lotus Cars Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Mr. Know\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Wed, 17 Nov 2010 02:58:32 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:1;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:9:\""Top Gear?\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:41:\""http://krolyk.livejournal.com/114570.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:373:\""У меня иногда спрашивают: что такого интересного я нахожу в передаче Top Gear? Сейчас, накануне запуска в эфир локализованной версии для США, на ТВ вышла передача с ведущими оригинального, британского Top Gear. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:36:\""Записки Андрея Гуле\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""krolyk\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Fri, 29 Oct 2010 09:09:31 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:2;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""New Jeremy Clarkson Blu-Ray/DVD Coming In November\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:85:\""http://blog.webridestv.com/2010/10/new-jeremy-clarkson-blu-raydvd-coming-in-november/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:240:\""Everyone knows Jezza Clarkson from Top Gear, but what many people in North America may not know is that every year, Jeremy comes out with a new DVD, that has some of the feel of Top Gear, but is freed from the format, and there are some ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""Sports Car Blog\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Eric Trytko\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Tue, 12 Oct 2010 11:30:49 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:3;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:72:\""Upcoming Top Gear America Trailer... Thrashes a mid 70s Coupe <b>...</b>\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:135:\""http://www.cadillacforums.com/forums/cadillac-forums-lounge-member-introductions/207377-upcoming-top-gear-america-trailer-thrashes.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:171:\""It is sad to see :crying:. http://www.finalgear.com/news/2010/0...ar-us-trailer/ I hope it is a good show but I think they\'re right; nothing will ever top the British one.\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""CadillacOwners\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""eldorado99\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Sat, 07 Aug 2010 16:26:27 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:4;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:38:\""Top Gear&#39;s Tribute To Ayrton Senna\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:83:\""http://space-action-hero.blogspot.com/2010/08/top-gear-tribute-to-ayrton-senna.html\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:237:\""Last week\'s Top Gear was epic. One of Top Gear\'s best in a while. There was the Veyron Super Sport, Tom Cruise and Cameron Diaz, but most of all, there was a heartwarming and touching tribute to arguably the greatest F1 driver of all ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:22:\""The Meditation Chamber\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:27:\""noreply@blogger.com (Kenny)\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Mon, 02 Aug 2010 14:02:00 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:5;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 5\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/29/top-gear-season-15-episode-5/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:233:\""This week\'s Top Gear is packed with action from start to finish. Hammond challenges snow mobiles in his nicely built Touareg, Captain Slow is back at Volkswagen\'s test track to try out their new Bugatti Veyron and lastly Clarkson ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Thu, 29 Jul 2010 21:40:21 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:6;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 4\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/24/top-gear-season-15-episode-4/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:230:\""Season 15 is starting to shape up to be an epic season. In this weeks episode Clarkson compares two super car convertibles and the boys are challenged to build motor homes and of course putting them through various challenges. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Sun, 25 Jul 2010 00:45:05 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:7;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:30:\""Post Vacation Reading Material\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:64:\""http://utterlyboring.com/archives/2010/07/19/post_vacation_r.php\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:219:\""Since getting back, I\'ve been trying to catch up on all the email and news that has been sent my way (you\'re always welcome to send more using the contact form on this site or e-mail utterlyboring at gmail dot com). ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:17:\""UtterlyBoring.com\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:7:\""unknown\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Mon, 19 Jul 2010 20:24:17 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:8;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Shared items on July 14, 2010\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:64:\""http://www.dot.alter.si/2010/07/15/shared-items-on-july-14-2010/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:239:\""An overview of interesting articles that came through my Google Reader subscriptions recently. Sony unveils world\'s first consumer HD camcorder with interchangeable lens system. from: Gizmag Emerging Technology Magazine on 14 July 2010 ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""Connecting Dots\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""Jernej\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Thu, 15 Jul 2010 06:50:43 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:9;a:6:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:2:{s:0:\""\"";a:3:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:28:\""Top Gear Season 15 Episode 3\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://importbible.com/2010/07/12/top-gear-season-15-episode-3/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:235:\""This weeks episode pits three new high performance sedans against each other in a number of challenges to find out which one is the best. The hosts also review and compare the new Chevorlet Camero versus the new Mercedes Benz E63. ...\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:3:{s:9:\""publisher\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""Import Bible - Automotive Apparel\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5:\""david\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""date\"";a:1:{i:0;a:5:{s:4:\""data\"";s:29:\""Tue, 13 Jul 2010 05:55:41 GMT\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}s:36:\""http://a9.com/-/spec/opensearch/1.1/\"";a:3:{s:12:\""totalResults\"";a:1:{i:0;a:5:{s:4:\""data\"";s:4:\""1432\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:10:\""startIndex\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:12:\""itemsPerPage\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2:\""10\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}}}}}}s:4:\""type\"";i:128;s:7:\""headers\"";a:9:{s:4:\""date\"";s:29:\""Thu, 18 Nov 2010 07:07:10 GMT\"";s:6:\""pragma\"";s:8:\""no-cache\"";s:7:\""expires\"";s:29:\""Fri, 01 Jan 1990 00:00:00 GMT\"";s:13:\""cache-control\"";s:25:\""no-cache, must-revalidate\"";s:12:\""content-type\"";s:23:\""text/xml; charset=UTF-8\"";s:10:\""set-cookie\"";s:138:\""PREF=ID=48169caac9439b57:TM=1290064030:LM=1290064031:S=Ik6CY3EJZro84eTi; expires=Sat, 17-Nov-2012 07:07:11 GMT; path=/; domain=.google.com\"";s:22:\""x-content-type-options\"";s:7:\""nosniff\"";s:6:\""server\"";s:4:\""bsfe\"";s:16:\""x-xss-protection\"";s:13:\""1; mode=block\"";}s:5:\""build\"";s:14:\""20090627192103\"";}', 'no') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

    Mr. Know linked here saying, ""The next episode of Fifth Gear with feature an Evo ...""
    krolyk linked here saying, ""У меня иногда спрашивают: что такого интересного я ...""
    Eric Trytko linked here saying, ""Everyone knows Jezza Clarkson from Top Gear, but w ...""
    eldorado99 linked here saying, ""It is sad to see :crying:. http://www.finalgear.co ...""
    noreply@blogger.com (Kenny) linked here saying, ""Last week's Top Gear was epic. One of Top Gear's b ...""
}}}

== WordPress Development Blog ==

{{{
WordPress database error: [Incorrect string value: '\xD0\x9D\xD0\xB8\xD0\xBA...' for column 'option_value' at row 1]
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_feed_0ff4b43bd116a9d8720d689c80e7dfd4', 'a:4:{s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:3:\""rss\"";a:1:{i:0;a:6:{s:4:\""data\"";s:3:\""\n\n\n\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:7:\""version\"";s:3:\""2.0\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:1:{s:0:\""\"";a:1:{s:7:\""channel\"";a:1:{i:0;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:3:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""WordPress News\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:25:\""http://wordpress.org/news\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""WordPress News\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:13:\""lastBuildDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 30 Sep 2010 03:23:31 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""language\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2:\""en\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:9:\""generator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/?v=3.1-alpha\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""item\"";a:10:{i:0;a:6:{s:4:\""data\"";s:56:\""\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:39:\""WordPress for iPhone/iPad v2.6 Released\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:43:\""http://wordpress.org/news/2010/09/ios-v2-6/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:52:\""http://wordpress.org/news/2010/09/ios-v2-6/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 30 Sep 2010 03:23:31 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:6:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:5:\""apple\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:3:\""ios\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:4:\""ipad\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:4;a:5:{s:4:\""data\"";s:6:\""iphone\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:5;a:5:{s:4:\""data\"";s:6:\""mobile\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1497\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:335:\""Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn&#8217;t for you? Either way, the new release &#8212; v2.6 &#8212; will knock your socks off. Why? A bunch of reasons: Video. Record, upload, attach, and play videos [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2319:\""<p>Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn&#8217;t for you? Either way, the new release &#8212; v2.6 &#8212; will knock your socks off. Why? A bunch of reasons:</p>\n<ul>\n<li>Video. Record, upload, attach, and play videos within the app. Yay for being able to catch your friends&#8217; and co-workers&#8217; most <del>embarrassing shenanigans</del> <em>creative moments</em> with iPhone video and publish them immediately for all the world to see on your WordPress site.</li>\n<li>A total rewrite of the way local drafts are handled, to prevent the unintentional loss of your pending posts.</li>\n<li>Autosave/post revisions. Bam! One of the &#8220;oh, thank goodness&#8221; features of the web app makes it into the iOS version.</li>\n<li>Easier setup. Faster and easier process for adding your sites to the app.</li>\n<li>Media Library. We&#8217;re gradually getting closer to the media management you&#8217;re used to in the web app.</li>\n</ul>\n<p>There are also numerous bugfixes and performance enhancements in this release, so if you haven&#8217;t been using the app lately, you should consider giving it another try. I&#8217;m personally pretty excited to start using the iPhone version more often now that there are all these fixes and new features. Especially the video upload. You know, for those <em>creative moments</em> that make life fun. <img src=\'http://wordpress.org/news/wp-includes/images/smilies/icon_smile.gif\' alt=\':)\' class=\'wp-smiley\' /> </p>\n<p>You can read the full <a href=\""http://ios.wordpress.org/2010/09/29/introducing-version-2-6/\"">2.6 release post on the WordPress for iOS blog</a>, and can download v2.6 from iTunes/the app store. Happy mobile blogging!</p>\n<p style=\""text-align: center\"">* * *</p>\n<p>Not an iPhone user? We&#8217;ve still got your on-the-go back! Check out the WordPress apps for <a href=\""http://android.wordpress.org/\"">Android</a>, <a href=\""http://blackberry.wordpress.org/\"">Blackberry</a>, and <a href=\""http://nokia.wordpress.org/\"">Nokia (beta)</a>. They&#8217;re all 100% GPL, of course, and we&#8217;re always looking for contributors to the development projects, so check the blogs if you have mobile dev skills and want to get involved.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:48:\""http://wordpress.org/news/2010/09/ios-v2-6/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:1;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""WordPress Trademark Changes Hands\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/09/trademark-to-wpf/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:60:\""http://wordpress.org/news/2010/09/trademark-to-wpf/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 09 Sep 2010 23:14:13 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:4:{i:0;a:5:{s:4:\""data\"";s:7:\""General\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:10:\""Automattic\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:9:\""Trademark\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:20:\""WordPress Foundation\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1488\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:379:\""The WordPress community took a big step forward today when Matt announced that Automattic has donated the WordPress trademark to the non-profit WordPress Foundation. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:502:\""<p>The WordPress community took a big step forward today when <a href=\""http://wp.me/p4oB3-9ie\"">Matt announced</a> that Automattic has donated the WordPress trademark to the non-profit <a href=\""http://wp.me/pMBRF-1u\"">WordPress Foundation</a>. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying to figure out if a resource is &#8220;official&#8221; or not.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:56:\""http://wordpress.org/news/2010/09/trademark-to-wpf/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:2;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:15:\""WordPress 3.0.1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:59:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 29 Jul 2010 21:38:47 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1475\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:338:\""After nearly 11 million downloads of WordPress 3.0 in just 42 days, we&#8217;re releasing WordPress 3.0.1. The requisite haiku: Three dot oh dot one Bug fixes to make you smile Update your WordPress This maintenance release addresses about 50 minor issues. The testing many of you contributed prior to the release of 3.0 helped make [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Andrew Nacin\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:951:\""<p>After nearly <a href=\""http://wordpress.org/download/counter/\"">11 million downloads</a> of WordPress 3.0 in just 42 days, we&#8217;re releasing WordPress 3.0.1. The requisite haiku:</p>\n<p>Three dot oh dot one<br />\nBug fixes to make you smile<br />\nUpdate your WordPress</p>\n<p>This maintenance release addresses <a href=\""http://codex.wordpress.org/Version_3.0.1\"">about 50 minor issues</a>. The testing many of you contributed prior to the release of 3.0 helped make it one of the best and most stable releases we&#8217;ve had.</p>\n<p><a href=\""http://wordpress.org/download/\"">Download 3.0.1</a> or update automatically from the Dashboard &gt; Updates menu in your site&#8217;s admin area.</p>\n<p><em>Note: If you downloaded 3.0.1 in the first 20 minutes of release (before 2200 UTC), you&#8217;ll want to reinstall it, which you can do right from your Updates screen. <a href=\""http://twitter.com/wordpress/status/19859163982\"">Our bad</a>.</em></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:55:\""http://wordpress.org/news/2010/07/wordpress-3-0-1/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:3;a:6:{s:4:\""data\"";s:50:\""\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:42:\""PHP 4 and MySQL 4 End of Life Announcement\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:58:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:67:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 23 Jul 2010 19:01:46 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:4:{i:0;a:5:{s:4:\""data\"";s:7:\""Hosting\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:5:\""MySQL\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:3:\""PHP\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:3;a:5:{s:4:\""data\"";s:12:\""requirements\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:33:\""http://wordpress.org/news/?p=1447\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:348:\""Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Mark Jaquith\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:3021:\""<p>Our approach with WordPress has always been to make it run on common server configurations. We want users to have flexibility when choosing a host for their precious content. Because of this strategy, WordPress runs pretty much anywhere. Web hosting platforms, however, change over time, and we occasionally are able to reevaluate some of the requirements for running WordPress. Now is one of those times. You probably guessed it from the title &#8212; we&#8217;re finally ready to announce the end of support for PHP 4 and MySQL 4!</p>\n<p>First up, the announcement that developers really care about. WordPress 3.1, due in late 2010, will be the last version of WordPress to support PHP 4.</p>\n<p>For WordPress 3.2, due in the first half of 2011, we will be raising the minimum required PHP version to 5.2. Why 5.2? Because that&#8217;s what the vast majority of WordPress users are using, and it offers substantial improvements over earlier PHP 5 releases. It is also the minimum PHP version that the <a href=\""http://drupal.org/\"">Drupal</a> and <a href=\""http://www.joomla.org/\"">Joomla</a> projects will be supporting in their next versions, both due out this year.</p>\n<p>The numbers are now, <em>finally</em>, strongly in favor of this move. Only around 11 percent of WordPress installs are running on a PHP version below 5.2. Many of them are on hosts who support PHP 5.2 &#8212; users merely need to change a setting in their hosting control panel to activate it. We believe that percentage will only go down over the rest of the year as hosting providers realize that to support the newest versions of WordPress (or Drupal, or Joomla), they&#8217;re going to have to pull the trigger.</p>\n<p>In less exciting news, we are also going to be dropping support for MySQL 4 after WordPress 3.1. Fewer than 6 percent of WordPress users are running MySQL 4. The new required MySQL version for WordPress 3.2 will be 5.0.15.</p>\n<p>WordPress users will not be able to upgrade to WordPress 3.2 if their hosting environment does not meet these requirements (the built-in updater will prevent it). In order to determine which versions your host provides, we&#8217;ve created the <a href=\""http://wordpress.org/extend/plugins/health-check/\"">Health Check plugin</a>. You can download it manually, or use this <a href=\""http://coveredwebservices.com/wp-plugin-install/?plugin=health-check\"">handy plugin installation</a> tool I whipped up. Right now, Health Check will only tell you if you&#8217;re ready for WordPress 3.2. In a future release it will provide all sorts of useful information about your server and your WordPress install, so hang on to it!</p>\n<p>In summary: WordPress 3.1, due in late 2010, will be the last version of WordPress to support PHP 4 and MySQL 4. WordPress 3.2, due in the first half of 2011, will require PHP 5.2 or higher, and MySQL 5.0.15 or higher. <a href=\""http://coveredwebservices.com/wp-plugin-install/?plugin=health-check\"">Install the Health Check plugin</a> to see if you&#8217;re ready!</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:63:\""http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:4;a:6:{s:4:\""data\"";s:44:\""\n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:41:\""100 Million Plugin Downloads and Counting\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:46:\""http://wordpress.org/news/2010/07/100-million/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:55:\""http://wordpress.org/news/2010/07/100-million/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 02 Jul 2010 17:48:34 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:2:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1429\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:364:\""WordPress 3.0 Thelonious passed 3 million downloads yesterday, and today the plugin directory followed suit with a milestone of its own: 100 million downloads. The WordPress community&#8217;s growth over the years has been tremendous, and we want to reinvest in it. So we&#8217;re taking the next two months to concentrate on improving WordPress.org. A major [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Andrew Nacin\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:2319:\""<p>WordPress 3.0 Thelonious passed <a href=\""http://wordpress.org/download/counter/\"">3 million downloads</a> yesterday, and today <a href=\""http://wordpress.org/extend/plugins/\"">the plugin directory</a> followed suit with a milestone of its own: 100 million downloads.</p>\n<p>The WordPress community&#8217;s growth over the years has been tremendous, and we want to reinvest in it. So we&#8217;re taking the next two months to concentrate on improving WordPress.org. A major part of that will be improving the infrastructure of the plugins directory. More than 10,000 plugins are in the directory, every one of them GPL compatible and free as in both beer and speech. Here&#8217;s what we have in mind:</p>\n<p>We want to provide developers the tools they need to build the best possible plugins. We&#8217;re going to provide better integration with the forums so you can support your users. We&#8217;ll make more statistics available to you so you can analyze your user base, and over time we hope to make it easier for you to manage, build, and release localized plugins.</p>\n<p>We want to improve how the core software works with your plugin and the plugin directory. We&#8217;re going to focus on ensuring seamless upgrades by making the best possible determinations about compatibility, and offer continual improvements to the plugin installer. And we also want to give you a better developer tool set like SVN notifications and improvements to the bug tracker.</p>\n<p>We&#8217;re also going to experiment with other great ideas to help the community help plugin authors. We want it to be easy for you to offer comments to plugin authors and the community, including user reviews and better feedback. We may experiment with an adoption process for abandoned plugins as a way to revitalize hidden gems in the directory. I&#8217;m not sure there is a better way to show how extendable WordPress is and how awesome this community is at the same time.</p>\n<p>As <a href=\""http://wordpress.org/development/2010/06/thelonious/\"">Matt said in the 3.0 release announcement</a>, our goal isn&#8217;t to make everything perfect all at once. But we think incremental improvements can provide us with a great base for 3.1 and beyond, and for the tens of millions of users, and hundreds of millions of plugin downloads to come.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/07/100-million/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:5;a:6:{s:4:\""data\"";s:44:\""\n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:18:\""Summer of WordCamp\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:53:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:62:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Tue, 29 Jun 2010 17:19:45 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:2:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:8:\""WordCamp\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1418\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:355:\""It&#8217;s been summer for about a week now. Whether you&#8217;re on vacation or burning the midnight oil, attending a local/nearby WordCamp is a great way to spend a weekend. Meet other WordPress users, developers, designers &#38; consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:5678:\""<p>It&#8217;s been summer for about a week now. Whether you&#8217;re on vacation or burning the midnight oil, attending a local/nearby <a href=\""http://wordcamp.org\"">WordCamp</a> is a great way to spend a weekend. Meet other WordPress users, developers, designers &amp; consultants, learn a little something, maybe share a little of your own experience and knowledge, and break bread (or raise a toast) with new friends and collaborators. Here are the WordCamps scheduled for this summer, along with what I know about them.</p>\n<p>July 3: <a href=\""http://wordcamp.de/\"">WordCamp Germany</a> &#8211; Berlin, Germany. I love it that they&#8217;re using BuddyPress for their event site. They have multiple tracks, and what looks to be a nice variety of sessions. It&#8217;s only a few days away, so if you&#8217;re thinking of going, get your tickets now!</p>\n<p>July 10: <a href=\""http://2010.boulder.wordcamp.org/\"">WordCamp Boulder</a> &#8211; Boulder, Colorado, USA. This was WordCamp Denver last year, but the organizers have decided to mix it up and go back and forth between Denver and Boulder, which also has a thriving tech community. This year the venue is the Boulder Theater (so pretty!), and there will sessions for bloggers and devs alike, plus a Genius Bar to help people get their WordPress sites all fixed up. The speaker lineup looks good, and I hear they&#8217;re pumping up the wifi this year. I&#8217;ll be there, likely hunched over a notebook with Lisa Sabin-Wilson (author of <em>WordPress for Dummies</em> and <em>BuddyPress for Dummies</em>) to talk about the WordPress User Handbook project, and/or hunched over a sketchbook with Kevin Conboy (designed the new lighter &#8220;on&#8221; state for admin menus in WordPress 3.0) to work out a new default WordCamp.org theme (using BuddyPress). You can still get tickets!</p>\n<p>July 17–18: <a href=\""http://uk.wordcamp.org/\"">WordCamp UK</a>- Manchester, England, UK. The roving WordCamp UK will be in Manchester this year, and is probably the closest to BarCamp style of all the WordCamps, using a wiki to plan some speakers/sessions and organizing the rest ad-hoc on the first day of the event. I&#8217;ll be attending this one as well, and am looking forward to seeing WordPress lead developer Peter Westwood again. I&#8217;m also looking forward to meeting some core contributors for the first time in person, like Simon Wheatley and John O&#8217;Nolan. Mike Little, co-founder of WordPress, is on the organizing team of WordCamp UK. Tickets on sale now!</p>\n<p>July 24: WordCamp Nigeria &#8211; Lagos, Nigeria. Their site seems to have a virus, so no link from here, but if you&#8217;re in Nigeria and interested in attending/getting involved, a quick Google search will get you to the organizers.</p>\n<p>August 7: <a href=\""http://www.wordcamphouston.com/\"">WordCamp Houston</a> &#8211; Houston, TX, USA. Houston, Texas, birthplace of WordPress! Fittingly, Matt Mullenweg will be there to give the keynote. WordCamp Houston is running three tracks &#8212; Business, Blogger and Developer &#8212; in recognition of the fact that people who are interested in using WordPress for their business may not actually be bloggers or developers themselves. This used to get labeled as a &#8220;CMS&#8221; track at previous WordCamps (including NYC 2009), but with WordPress 3.0 supporting CMS functionality out of the box, &#8220;Business&#8221; is a much more appropriate label. Who wants to bet on if there will be BBQ for lunch?</p>\n<p>August 7 : <a href=\""http://wordcampiowa.org/\"">WordCamp Iowa</a> &#8211; Des Moines, Iowa, USA. Another placeholder page. Happening, not happening? I&#8217;ve emailed the organizer and will update this post once I know more.</p>\n<p>August 7–8: <a href=\""http://wordcamp.org.nz/\"">WordCamp New Zealand</a> &#8211; Auckland, New Zealand. They haven&#8217;t announced this year&#8217;s speakers or topics, but they&#8217;ve been running polls to get community input into the program. Of note: in 2011 WordCamp New Zealand will be shifting seasons and will be in February instead, when the weather is nicer.</p>\n<p>August 20–22: <a href=\""http://2010.savannah.wordcamp.org/\"">WordCamp Savannah</a> &#8211; Savannah, Georgia, USA. Disclaimer: I am completely biased about Savannah, since I&#8217;m one of the organizers. This will be the first WordCamp in Savannah, and it&#8217;s being held at the Savannah College of Art and Design River Club, an awesome venue that used to be a cotton warehouse or something like that. Since Savannah doesn&#8217;t really have a cohesive WordPress community yet (though a fair number of people from Savannah attended WordCamp Atlanta earlier this year), this WordCamp is aimed squarely at building a local community. We&#8217;ll have a local meet-and-greet, regular sessions with visiting speakers (lots of core contributors coming to this one, plus Matt), and on Sunday it will be combination unconference/genius bar/collaborative workspace. Oh, and a potluck! We&#8217;ll also be running a pre-WordCamp workshop for people who have never used WordPress but want to get started, so that they&#8217;ll be able to follow the presentations and conversations littered with WordPress-specific vocabulary over the weekend. Ticket sales just opened, so get your tickets now.</p>\n<p>For a <a href=\""http://central.wordcamp.org/schedule/\"">schedule of all upcoming WordCamps</a>, visit <a href=\""http://central.wordcamp.org/\"">wordcamp.org</a>. The autumn schedule is already packed! If you don&#8217;t see WordCamp in your area and are interested in organizing one, <a href=\""http://central.wordcamp.org/about/\"">get more information and let us know</a>.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:58:\""http://wordpress.org/news/2010/06/summer-of-wordcamp/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:6;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:26:\""WordPress 3.0 \""Thelonious\""\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:45:\""http://wordpress.org/news/2010/06/thelonious/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:54:\""http://wordpress.org/news/2010/06/thelonious/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Thu, 17 Jun 2010 16:26:36 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:8:\""Releases\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1380\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:341:\""Arm your vuvuzelas: WordPress 3.0, the thirteenth major release of WordPress and the culmination of half a year of work by 218 contributors, is now available for download (or upgrade within your dashboard). Major new features in this release include a sexy new default theme called Twenty Ten. Theme developers have new APIs that allow [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:14:\""Matt Mullenweg\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:38078:\""<p>Arm your vuvuzelas: WordPress 3.0, the thirteenth major release of WordPress and the culmination of half a year of work by 218 contributors, is <a href=\""http://wordpress.org/download/\"">now available for download</a> (or <a href=\""http://codex.wordpress.org/Dashboard_Updates_SubPanel\"">upgrade within your dashboard</a>). Major new features in this release include a sexy <strong>new default theme called Twenty Ten</strong>. Theme developers have new APIs that allow them to easily implement custom backgrounds, headers, shortlinks, <a href=\""http://codex.wordpress.org/Appearance_Menus_SubPanel\"">menus</a> (no more file editing), <a href=\""http://codex.wordpress.org/Custom_Post_Types\"">post types</a>, and <a href=\""http://codex.wordpress.org/Custom_Taxonomies\"">taxonomies</a>. (Twenty Ten theme shows all of that off.) Developers and network admins will appreciate the long-awaited <strong>merge of MU and WordPress</strong>, creating the new multi-site functionality which makes it possible to run one blog or ten million from the same installation. As a user, you will love the new <strong>lighter interface</strong>, the contextual help on every screen, the <strong>1,217 bug fixes and feature enhancements</strong>, bulk updates so you can upgrade 15 plugins at once with a single click, and blah blah blah just watch the video. <img src=\'http://wordpress.org/news/wp-includes/images/smilies/icon_smile.gif\' alt=\':)\' class=\'wp-smiley\' /> <em>(In HD, if you can, so you can catch the Easter eggs.)</em></p>\n<p><object classid=\""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" width=\""640\"" height=\""360\"" codebase=\""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""><param name=\""flashvars\"" value=\""guid=BQtfIEY1&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\"" /><param name=\""src\"" value=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" /><param name=\""wmode\"" value=\""transparent\"" /><param name=\""allowfullscreen\"" value=\""true\"" /><embed type=\""application/x-shockwave-flash\"" width=\""640\"" height=\""360\"" src=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" allowfullscreen=\""true\"" wmode=\""transparent\"" flashvars=\""guid=BQtfIEY1&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\""></embed></object></p>\n<p>If you&#8217;d like to embed the WordPress 3.0 video tour in your blog, copy and paste this code for the high quality version:</p>\n<pre class=\""brush: xml;\"">&lt;embed src=&quot;http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;640&quot; height=&quot;360&quot; wmode=&quot;transparent&quot; seamlesstabbing=&quot;true&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; overstretch=&quot;true&quot; flashvars=&quot;guid=BQtfIEY1&amp;amp;width=640&amp;amp;height=360&amp;amp;locksize=no&amp;amp;dynamicseek=false&amp;amp;qc_publisherId=p-18-mFEk4J448M&quot; title=&quot;Introducing WordPress 3.0 &amp;quot;Thelonious&amp;quot;&quot;&gt;&lt;/embed&gt;</pre>\n<p>For a more comprehensive look at everything that has improved in 3.0 check out <a href=\""http://codex.wordpress.org/Version_3.0\"">3.0&#8242;s Codex page</a> or the <a href=\""http://core.trac.wordpress.org/query?group=status&amp;milestone=3.0&amp;desc=1&amp;order=priority\"">long list of issues in Trac</a>. (We&#8217;re trying to keep these announcement posts shorter.) Whew! That&#8217;s a lot packed into one release. I can&#8217;t think of a better way to kick off the 3.X cycle we&#8217;ll be in for the next two and a half years.</p>\n<h3>The Future</h3>\n<p>Normally this is where I&#8217;d say we&#8217;re about to start work on 3.1, but we&#8217;re actually not. We&#8217;re going to take a release cycle off to focus on all of the things around WordPress. The growth of the community has been breathtaking, including over 10.3 million downloads of version 2.9, but so much of our effort has been focused on the core software it hasn&#8217;t left much time for anything else. Over the next three months we&#8217;re going to split into ninja/pirate teams focused on different areas of the around-WordPress experience, including the showcase, Codex, forums, profiles, update and compatibility APIs, theme directory, plugin directory, mailing lists, core plugins, wordcamp.org&#8230; the possibilities are endless. The goal of the teams isn&#8217;t going to be to make things perfect all at once, just better than they are today. We think this investment of time will give us a much stronger infrastructure to grow WordPress.org for the many tens of millions of users that will join us during the 3.X release cycle.</p>\n<h3>It Takes a Village</h3>\n<p>I&#8217;m proud to acknowledge the contributions of the following <strong>218</strong> people to the 3.0 release cycle. These are the folks that make WordPress what it is, whose collaboration and hard work enable us to build something greater than the sum of our parts. In alphabetical order, of course.</p>\n<p><strong>Committers:</strong> <a href=\""http://www.laptoptips.ca/\"">azaozz (Andrew Ozz)</a> (<a title=\""azaozz at WP Profiles\"" href=\""http://profiles.wordpress.org/azaozz\"">prof</a>), <a href=\""http://dd32.id.au/\"">dd32 (Dion Hulse)</a> (<a title=\""dd32 at WP Profiles\"" href=\""http://profiles.wordpress.org/dd32\"">prof</a>), <a href=\""http://ocaoimh.ie/\"">donncha (Donncha O Caoimh)</a> (<a title=\""donncha at WP Profiles\"" href=\""http://profiles.wordpress.org/donncha\"">prof</a>), <a href=\""http://iammattthomas.com/\"">iammattthomas (Matt Thomas)</a> (<a title=\""iammattthomas at WP Profiles\"" href=\""http://profiles.wordpress.org/iammattthomas\"">prof</a>), <a href=\""http://josephscott.org/\"">josephscott (Joseph Scott)</a> (<a title=\""josephscott at WP Profiles\"" href=\""http://profiles.wordpress.org/josephscott\"">prof</a>), <a href=\""http://txfx.net/\"">markjaquith (Mark Jaquith)</a> (<a title=\""markjaquith at WP Profiles\"" href=\""http://profiles.wordpress.org/markjaquith\"">prof</a>), <a href=\""http://ma.tt/\"">matt (Matt Mullenweg)</a> (<a title=\""matt at WP Profiles\"" href=\""http://profiles.wordpress.org/matt\"">prof</a>), <a href=\""http://andrewnacin.com/\"">nacin (Andrew Nacin)</a> (<a title=\""nacin at WP Profiles\"" href=\""http://profiles.wordpress.org/nacin\"">prof</a>), <a href=\""http://nikolay.bg/\"">nbachiyski (Николай Бачийски)</a> (<a title=\""nbachiyski at WP Profiles\"" href=\""http://profiles.wordpress.org/nbachiyski\"">prof</a>), <a href=\""http://boren.nu/\"">ryan (Ryan Boren)</a> (<a title=\""ryan at WP Profiles\"" href=\""http://profiles.wordpress.org/ryan\"">prof</a>), <a href=\""http://blog.ftwr.co.uk/\"">westi (Peter Westwood)</a> (<a title=\""westi at WP Profiles\"" href=\""http://profiles.wordpress.org/westi\"">prof</a>), and <a href=\""http://wpmututorials.com/\"">wpmuguru (Ron Rennick)</a> (<a title=\""wpmuguru at WP Profiles\"" href=\""http://profiles.wordpress.org/wpmuguru\"">prof</a>). <strong>Contributors:</strong> <a href=\""http://xavisys.com/\"">aaroncampbell (Aaron Campbell)</a> (<a title=\""aaroncampbell at WP Profiles\"" href=\""http://profiles.wordpress.org/aaroncampbell\"">prof</a>), akerem (<a title=\""akerem at WP Profiles\"" href=\""http://profiles.wordpress.org/akerem\"">prof</a>), <a href=\""http://alexking.org/\"">alexkingorg (Alex King)</a> (<a title=\""alexkingorg at WP Profiles\"" href=\""http://profiles.wordpress.org/alexkingorg\"">prof</a>), amattie (<a title=\""amattie at WP Profiles\"" href=\""http://profiles.wordpress.org/amattie\"">prof</a>), <a href=\""http://notfornoone.com/\"">ampt (Luke Gallagher)</a> (<a title=\""ampt at WP Profiles\"" href=\""http://profiles.wordpress.org/ampt\"">prof</a>), <a href=\""http://wpmututorials.com/\"">andrea_r</a> (<a title=\""andrea_r at WP Profiles\"" href=\""http://profiles.wordpress.org/andrea_r\"">prof</a>), <a href=\""http://andreasnurbo.com/\"">andreasnrb (Andreas Nurbo)</a> (<a title=\""andreasnrb at WP Profiles\"" href=\""http://profiles.wordpress.org/andreasnrb\"">prof</a>), <a href=\""http://twitter.com/anilo4ever\"">anilo4ever (Angelo Verona)</a> (<a title=\""anilo4ever at WP Profiles\"" href=\""http://profiles.wordpress.org/anilo4ever\"">prof</a>), <a href=\""http://apeatling.wordpress.com/\"">apeatling (Andy Peatling)</a> (<a title=\""apeatling at WP Profiles\"" href=\""http://profiles.wordpress.org/apeatling\"">prof</a>), <a href=\""http://blog.apokalyptik.com/\"">apokalyptik (Demitrious Kelly)</a> (<a title=\""apokalyptik at WP Profiles\"" href=\""http://profiles.wordpress.org/apokalyptik\"">prof</a>), <a href=\""http://www.mailpress.org/\"">arena (André Renaut)</a> (<a title=\""arena at WP Profiles\"" href=\""http://profiles.wordpress.org/arena\"">prof</a>), <a href=\""http://barry.wordpress.com/\"">barry (Barry Abrahamson)</a> (<a title=\""barry at WP Profiles\"" href=\""http://profiles.wordpress.org/barry\"">prof</a>), <a href=\""http://digitalize.ca/\"">batmoo (Mohammad Jangda)</a> (<a title=\""batmoo at WP Profiles\"" href=\""http://profiles.wordpress.org/batmoo\"">prof</a>), <a href=\""http://dentedreality.com.au/\"">beaulebens (Beau Lebens)</a> (<a title=\""beaulebens at WP Profiles\"" href=\""http://profiles.wordpress.org/beaulebens\"">prof</a>), <a href=\""http://use.perl.org/~belg4mit/\"">belg4mit</a> (<a title=\""belg4mit at WP Profiles\"" href=\""http://profiles.wordpress.org/belg4mit\"">prof</a>), <a href=\""http://matthewgrichmond.com/dev/\"">bigdawggi (Matthew G. Richmond)</a> (<a title=\""blepoxp at WP Profiles\"" href=\""http://profiles.wordpress.org/blepoxp\"">prof</a>), <a href=\""http://fullthrottledevelopment.com/\"">blepoxp (Glenn Ansley)</a> (<a title=\""blepoxp at WP Profiles\"" href=\""http://profiles.wordpress.org/blepoxp\"">prof</a>), <a href=\""http://twitter.com/thenbrent\"">brentes (Brent Shepherd)</a> (<a title=\""brentes at WP Profiles\"" href=\""http://profiles.wordpress.org/brentes\"">prof</a>), <a href=\""http://colinger.com/\"">briancolinger (Brian Colinger)</a> (<a title=\""briancolinger at WP Profiles\"" href=\""http://profiles.wordpress.org/briancolinger\"">prof</a>), <a href=\""http://www.bumbu.ru/\"">bumbu</a> (<a title=\""bumbu at WP Profiles\"" href=\""http://profiles.wordpress.org/bumbu\"">prof</a>), <a href=\""http://www.caesarsgrunt.com/\"">caesarsgrunt (Caesar Schinas)</a> (<a title=\""caesarsgrunt at WP Profiles\"" href=\""http://profiles.wordpress.org/caesarsgrunt\"">prof</a>), camiloclc (<a title=\""camiloclc at WP Profiles\"" href=\""http://profiles.wordpress.org/camiloclc\"">prof</a>), CAMWebDesign (<a title=\""CAMWebDesign at WP Profiles\"" href=\""http://profiles.wordpress.org/CAMWebDesign\"">prof</a>), carbolineum (<a title=\""carbolineum at WP Profiles\"" href=\""http://profiles.wordpress.org/carbolineum\"">prof</a>), <a href=\""http://blog.caspie.net/\"">caspie</a> (<a title=\""caspie at WP Profiles\"" href=\""http://profiles.wordpress.org/caspie\"">prof</a>), <a href=\""http://www.catiakitahara.com.br/\"">catiakitahara (Cátia Kitahara)</a> (<a title=\""catiakitahara at WP Profiles\"" href=\""http://profiles.wordpress.org/catiakitahara\"">prof</a>), <a href=\""http://www.clarksonenergyhomes.com/wordpress/\"">CharlesClarkson (Charles Clarkson)</a> (<a title=\""CharlesClarkson at WP Profiles\"" href=\""http://profiles.wordpress.org/CharlesClarkson\"">prof</a>), <a href=\""http://chdorner.com/\"">chdorner (Christof Dorner)</a> (<a title=\""chdorner at WP Profiles\"" href=\""http://profiles.wordpress.org/chdorner\"">prof</a>), <a href=\""http://gaarai.com/\"">chrisbliss18 (Chris Jean)</a> (<a title=\""chrisbliss18 at WP Profiles\"" href=\""http://profiles.wordpress.org/chrisbliss18\"">prof</a>), <a href=\""http://vocecommunications.com/\"">chrisscott (Chris Scott)</a> (<a title=\""chrisscott at WP Profiles\"" href=\""http://profiles.wordpress.org/chrisscott\"">prof</a>), <a href=\""http://brandonallen.org/\"">cnorris23 (Brandon Allen)</a> (<a title=\""cnorris23 at WP Profiles\"" href=\""http://profiles.wordpress.org/cnorris23\"">prof</a>), <a href=\""http://coffee2code.com/\"">coffee2code (Scott Reilly)</a> (<a title=\""coffee2code at WP Profiles\"" href=\""http://profiles.wordpress.org/coffee2code\"">prof</a>), computerwiz908 (<a title=\""computerwiz908 at WP Profiles\"" href=\""http://profiles.wordpress.org/computerwiz908\"">prof</a>), <a href=\""http://www.cyberhobo.net/\"">cyberhobo (Dylan Kuhn)</a> (<a title=\""cyberhobo at WP Profiles\"" href=\""http://profiles.wordpress.org/cyberhobo\"">prof</a>), <a href=\""http://dan-cole.com/\"">dancole (Dan Cole)</a> (<a title=\""dancole at WP Profiles\"" href=\""http://profiles.wordpress.org/dancole\"">prof</a>), <a href=\""http://danielkoskinen.com/\"">Daniel Koskinen</a> <!--PROF?-->, <a href=\""http://gsocdk.wordpress.com/\"">deepak.seth (Deepak Seth)</a>, <a href=\""http://op111.net/\"">demetris (Δημήτρης Κίκιζας)</a> (<a title=\""demetris at WP Profiles\"" href=\""http://profiles.wordpress.org/demetris\"">prof</a>), <a href=\""http://www.semiologic.com/\"">Denis-de-Bernardy</a> (<a title=\""Denis-de-Bernardy at WP Profiles\"" href=\""http://profiles.wordpress.org/Denis-de-Bernardy\"">prof</a>), <a href=\""http://www.milandinic.com/\"">dimadin (Milan Dinić)</a> (<a title=\""dimadin at WP Profiles\"" href=\""http://profiles.wordpress.org/dimadin\"">prof</a>), <a href=\""http://twitter.com/dndrnkrd\"">dndrnkrd (Dan Drinkard)</a> (<a title=\""dndrnkrd at WP Profiles\"" href=\""http://profiles.wordpress.org/dndrnkrd\"">prof</a>), <a href=\""http://docwhat.org/\"">docwhat</a> (<a title=\""docwhat at WP Profiles\"" href=\""http://profiles.wordpress.org/docwhat\"">prof</a>), <a href=\""http://twitter.com/dougwrites\"">dougwrites</a> (<a title=\""dougwrites at WP Profiles\""<br />\n href=\""http://profiles.wordpress.org/dougwrites\"">prof</a>), <a href=\""http://phiffer.org/\"">dphiffer (Dan Phiffer)</a> (<a title=\""dphiffer at WP Profiles\"" href=\""http://profiles.wordpress.org/dphiffer\"">prof</a>), dragoonis (<a title=\""dragoonis at WP Profiles\"" href=\""http://profiles.wordpress.org/dragoonis\"">prof</a>), <a href=\""http://wpvibe.com/\"">dremeda (Dre Armeda)</a> (<a title=\""dremeda at WP Profiles\"" href=\""http://profiles.wordpress.org/dremeda\"">prof</a>), dtoj <!--PROF?-->, <a href=\""http://dougal.gunters.org/\"">dougal (Dougal Campbell)</a> (<a title=\""dougal at WP Profiles\"" href=\""http://profiles.wordpress.org/dougal\"">prof</a>), <a href=\""http://lionsgoroar.co.uk/\"">duck_ (Jon Cave)</a> (<a title=\""duck_ at WP Profiles\"" href=\""http://profiles.wordpress.org/duck_\"">prof</a>), <a href=\""http://dxjones.com/\"">dxjones (David Jones)</a> (<a title=\""dxjones at WP Profiles\"" href=\""http://profiles.wordpress.org/dxjones\"">prof</a>), <a href=\""http://eddieringle.com/\"">eddieringle (Eddie Ringle)</a> (<a title=\""eddieringle at WP Profiles\"" href=\""http://profiles.wordpress.org/eddieringle\"">prof</a>), <a href=\""http://mindreantre.se/\"">edward mindreantre (Edward Hevlund)</a>, eoinomurchu (<a title=\""eoinomurchu at WP Profiles\"" href=\""http://profiles.wordpress.org/eoinomurchu\"">prof</a>), <a href=\""http://field2.com/\"">empireoflight/Ben Dunkle</a> (<a title=\""empireoflight at WP Profiles\"" href=\""http://profiles.wordpress.org/empireoflight\"">prof</a>), <a href=\""http://www.mindsharestrategy.com/\"">ericmann (Eric Mann)</a> (<a title=\""ericmann at WP Profiles\"" href=\""http://profiles.wordpress.org/ericmann\"">prof</a>), <a href=\""http://www.eddiemonge.com/\"">etiger13 (Eddie Monge Jr.)</a> (<a title=\""etiger13 at WP Profiles\"" href=\""http://profiles.wordpress.org/etiger13\"">prof</a>), <a href=\""http://www.ilfilosofo.com/\"">filosofo (Austin Matzko)</a> (<a title=\""filosofo at WP Profiles\"" href=\""http://profiles.wordpress.org/filosofo\"">prof</a>), firebird75 (<a title=\""firebird75 at WP Profiles\"" href=\""http://profiles.wordpress.org/firebird75\"">prof</a>), <a href=\""http://www.frankieroberto.com/\"">frankieroberto (Frankie Roberto)</a> (<a title=\""frankieroberto at WP Profiles\"" href=\""http://profiles.wordpress.org/frankieroberto\"">prof</a>), <a href=\""http://frumph.net/\"">Frumph (Philip M. Hofer)</a> (<a title=\""Frumph at WP Profiles\"" href=\""http://profiles.wordpress.org/Frumph\"">prof</a>), <a href=\""http://www.garyc40.com/\"">garyc40 (Gary Cao)</a> (<a title=\""garyc40 at WP Profiles\"" href=\""http://profiles.wordpress.org/garyc40\"">prof</a>), <a href=\""http://gaut.am/\"">gautam2011</a> (<a title=\""gautam2011 at WP Profiles\"" href=\""http://profiles.wordpress.org/gautam2011\"">prof</a>), <a href=\""http://twitter.com/garymross\"">Gary Ross (Gazzer)</a> <!--PROF?-->, <a href=\""http://www.dev4press.com/\"">GDragoN (Milan Petrovic)</a> (<a title=\""GDragoN at WP Profiles\"" href=\""http://profiles.wordpress.org/GDragoN\"">prof</a>), <a href=\""http://justintadlock.com/\"">greenshady (Justin Tadlock)</a> (<a title=\""greenshady at WP Profiles\"" href=\""http://profiles.wordpress.org/greenshady\"">prof</a>), <a href=\""http://www.dennismorhardt.de/\"">GIGALinux (Dennis Morhardt)</a> (<a title=\""GIGALinux at WP Profiles\"" href=\""http://profiles.wordpress.org/GIGALinux\"">prof</a>), <a href=\""http://hakre.wordpress.com/\"">hakre</a> (<a title=\""hakre at WP Profiles\"" href=\""http://profiles.wordpress.org/hakre\"">prof</a>), husky (<a title=\""husky at WP Profiles\"" href=\""http://profiles.wordpress.org/husky\"">prof</a>), <a href=\""http://themeshaper.com/\"">iandstewart (Ian Stewart)</a> (<a title=\""iandstewart at WP Profiles\"" href=\""http://profiles.wordpress.org/iandstewart\"">prof</a>), <a href=\""http://ipstenu.org/\"">ipstenu (Mika Epstein)</a> (<a title=\""ipstenu at WP Profiles\"" href=\""http://profiles.wordpress.org/ipstenu\"">prof</a>), <a href=\""http://jacobsantos.com/\"">jacobsantos (Jacob Santos)</a> (<a title=\""jacobsantos at WP Profiles\"" href=\""http://profiles.wordpress.org/jacobsantos\"">prof</a>), <a href=\""http://om4.com.au/\"">jamescollins (James Collins)</a> (<a title=\""jamescollins at WP Profiles\"" href=\""http://profiles.wordpress.org/jamescollins\"">prof</a>), <a href=\""http://jane.wordpress.com\"">jane (Jane Wells)</a> (<a title=\""jane at WP Profiles\"" href=\""http://profiles.wordpress.org/jane\"">prof</a>), <a href=\""http://blog.trailmeme.com/\"">jbsil (Jesse Silverstein)</a> (<a title=\""jbsil at WP Profiles\"" href=\""http://profiles.wordpress.org/jbsil\"">prof</a>), <a href=\""http://bethesignal.org/\"">jdub (Jeff Waugh)</a> (<a title=\""jdub at WP Profiles\"" href=\""http://profiles.wordpress.org/jdub\"">prof</a>), <a href=\""http://www.jeffikus.com/\"">jeffikus (Jeffrey Pearce)</a> (<a title=\""jeffikus at WP Profiles\"" href=\""http://profiles.wordpress.org/jeffikus\"">prof</a>), <a href=\""http://blog.jeffstieler.com/\"">jeffstieler (Jeff Stieler)</a> (<a title=\""jeffstieler at WP Profiles\"" href=\""http://profiles.wordpress.org/jeffstieler\"">prof</a>), <a href=\""http://simianuprising.com/\"">jeremyclarke (Jeremy Clarke)</a> (<a title=\""jeremyclarke at WP Profiles\"" href=\""http://profiles.wordpress.org/jeremyclarke\"">prof</a>), <a href=\""http://www.jfarthing.com/\"">jfarthing84 (Jeff Farthing)</a> (<a title=\""jfarthing84 at WP Profiles\"" href=\""http://profiles.wordpress.org/jfarthing84\"">prof</a>), <a href=\""http://www.jamesdimick.com/\"">Jick (James Dimick)</a> (<a title=\""Jick at WP Profiles\"" href=\""http://profiles.wordpress.org/Jick\"">prof</a>), <a href=\""http://jonsview.com/\"">jmstacey (Jon Stacey)</a> (<a title=\""jmstacey at WP Profiles\"" href=\""http://profiles.wordpress.org/jmstacey\"">prof</a>), <a href=\""http://jobjorn.se/\"">jobjorn (Jobjörn Folkesson)</a> (<a title=\""jobjorn at WP Profiles\"" href=\""http://profiles.wordpress.org/jobjorn\"">prof</a>), <a href=\""http://devel.kostdoktorn.se/\"">johanee (Johan Eenfeldt)</a> (<a title=\""johanee at WP Profiles\"" href=\""http://profiles.wordpress.org/johanee\"">prof</a>), <a href=\""http://lud.icro.us/\"">johnbillion (John Blackbourn)</a> (<a title=\""johnbillion at WP Profiles\"" href=\""http://profiles.wordpress.org/johnbillion\"">prof</a>), <a href=\""http://johnjamesjacoby.com/\"">johnjamesjacoby/jjj (John James Jacoby)</a> (<a title=\""johnjamesjacoby at WP Profiles\"" href=\""http://profiles.wordpress.org/johnjamesjacoby\"">prof</a>), <a href=\""http://johnjosephbachir.org/\"">johnjosephbachir (John Joseph Bachir)</a> (<a title=\""johnjosephbachir at WP Profiles\"" href=\""http://profiles.wordpress.org/johnjosephbachir\"">prof</a>), <a href=\""http://johnluetke.net/\"">johnl1479 (John Luetke)</a> (<a title=\""johnl1479 at WP Profiles\"" href=\""http://profiles.wordpress.org/johnl1479\"">prof</a>), <a href=\""http://john.onolan.org/\"">johnonolan (John O’Nolan)</a> (<a title=\""johnonolan at WP Profiles\"" href=\""http://profiles.wordpress.org/johnonolan\"">prof</a>), <a href=\""http://www.johnpbloch.com/\"">JohnPBloch/wmrom (John Bloch)</a> (<a title=\""JohnPBloch at WP Profiles\"" href=\""http://profiles.wordpress.org/JohnPBloch\"">prof</a>), <a href=\""http://yoast.com/\"">joostdevalk/yoast (Joost de Valk)</a> (<a title=\""joostdevalk at WP Profiles\"" href=\""http://profiles.wordpress.org/joostdevalk\"">prof</a>), <a href=\""http://aaron.jorb.in/\"">jorbin (Aaron Jorbin)</a> (<a title=\""jorbin at WP Profiles\"" href=\""http://profiles.wordpress.org/jorbin\"">prof</a>), joshtime (<a title=\""joshtime at WP Profiles\"" href=\""http://profiles.wordpress.org/joshtime\"">prof</a>), <a href=\""http://serenelabs.com/\"">jshreve</a> (<a title=\""jshreve at WP Profiles\"" href=\""http://profiles.wordpress.org/jshreve\"">prof</a>), <a href=\""http://tyco.ws/\"">junsuijin</a> (<a title=\""junsuijin at WP Profiles\"" href=\""http://profiles.wordpress.org/junsuijin\"">prof</a>), <a href=\""http://www.wangstedt.net/\"">kallewangstedt (Karl Wångstedt)</a> (<a title=\""kallewangstedt at WP Profiles\"" href=\""http://profiles.wordpress.org/kallewangstedt\"">prof</a>), <a href=\""http://www.keighl.com/\"">keighl (Kyle Truscott)</a> (<a title=\""keighl at WP Profiles\"" href=\""http://profiles.wordpress.org/keighl\"">prof</a>), <a href=\""http://agapetry.net/\"">kevinB (Kevin Behrens)</a> (<a title=\""kevinB at WP Profiles\"" href=\""http://profiles.wordpress.org/kevinB\"">prof</a>), <a href=\""http://drylk.com/\"">koopersmith (Daryl Koopersmith)</a> (<a title=\""koopersmith at WP Profiles\"" href=\""http://profiles.wordpress.org/koopersmith\"">prof</a>), <a href=\""http://www.kpdesign.net/\"">kpdesign (Kim Parsell)<br />\n</a> (<a title=\""kpdesign at WP Profiles\"" href=\""http://profiles.wordpress.org/kpdesign\"">prof</a>), <a href=\""http://www.ktdreyer.com/\"">ktdreyer (Ken Dreyer)</a> (<a title=\""ktdreyer at WP Profiles\"" href=\""http://profiles.wordpress.org/ktdreyer\"">prof</a>), <a href=\""http://kurtmckee.livejournal.com/\"">kurtmckee (Kurt McKee)</a> (<a title=\""kurtmckee at WP Profiles\"" href=\""http://profiles.wordpress.org/kurtmckee\"">prof</a>), <a href=\""http://moggy.laceous.com/\"">laceous</a> (<a title=\""laceous at WP Profiles\"" href=\""http://profiles.wordpress.org/laceous\"">prof</a>), <a href=\""http://simpledream.net/\"">lancewillett (Lance Willett)</a> (<a title=\""lancewillett at WP Profiles\"" href=\""http://profiles.wordpress.org/lancewillett\"">prof</a>), <a href=\""http://lloydbudd.com/\"">lloydbudd (Lloyd Budd)</a> (<a title=\""lloydbudd at WP Profiles\"" href=\""http://profiles.wordpress.org/lloydbudd\"">prof</a>), lriggle (<a title=\""lriggle at WP Profiles\"" href=\""http://profiles.wordpress.org/lriggle\"">prof</a>), markauk (<a title=\""markauk at WP Profiles\"" href=\""http://profiles.wordpress.org/markauk\"">prof</a>), <a href=\""http://www.mark-mcwilliams.com/\"">markmcwilliams (Mark McWilliams)</a> (<a title=\""markmcwilliams at WP Profiles\"" href=\""http://profiles.wordpress.org/markmcwilliams\"">prof</a>), <a href=\""http://markoheijnen.com/\"">markoheijnen (Marko Heijnen)</a> (<a title=\""markoheijnen at WP Profiles\"" href=\""http://profiles.wordpress.org/markoheijnen\"">prof</a>), <a href=\""http://markup.com.ua/\"">markup (Sasha Mukhin)</a> (<a title=\""markup at WP Profiles\"" href=\""http://profiles.wordpress.org/markup\"">prof</a>), mattsains (<a title=\""mattsains at WP Profiles\"" href=\""http://profiles.wordpress.org/mattsains\"">prof</a>), <a href=\""http://matiasventura.com/\"">matveb (Matias Ventura)</a> (<a title=\""matveb at WP Profiles\"" href=\""http://profiles.wordpress.org/matveb\"">prof</a>), <a href=\""http://blogwaffe.com/\"">mdawaffe (Michael Adams)</a> (<a title=\""mdawaffe at WP Profiles\"" href=\""http://profiles.wordpress.org/mdawaffe\"">prof</a>) <!--mdwaffe on r12524-->, mentel_br (<a title=\""mentel_br at WP Profiles\"" href=\""http://profiles.wordpress.org/mentel_br\"">prof</a>), <a href=\""http://webdevstudios.com/about/brian-messenlehner/\"">messenlehner (Brian Messenlehner)</a> (<a title=\""messenlehner at WP Profiles\"" href=\""http://profiles.wordpress.org/messenlehner\"">prof</a>), <a href=\""http://twitter.com/miau_jp\"">miau_jp</a> (<a title=\""miau_jp at WP Profiles\"" href=\""http://profiles.wordpress.org/miau_jp\"">prof</a>), <a href=\""http://binarybonsai.com/\"">Michael (Michael Heilemann)</a> (<a title=\""Michael at WP Profiles\"" href=\""http://profiles.wordpress.org/Michael\"">prof</a>), <a href=\""http://codex.wordpress.org/User:MichaelH\"">MichaelH</a> (<a title=\""MichaelH at WP Profiles\"" href=\""http://profiles.wordpress.org/MichaelH\"">prof</a>), <a href=\""http://mikeschinkel.com/\"">mikeschinkel (Mike Schinkel)</a> (<a title=\""mikeschinkel at WP Profiles\"" href=\""http://profiles.wordpress.org/mikeschinkel\"">prof</a>), Miloslav Beňo <!--r14540, r14545-->, <a href=\""http://www.minusfive.com/\"">minusfive</a> (<a title=\""minusfive at WP Profiles\"" href=\""http://profiles.wordpress.org/minusfive\"">prof</a>), <a href=\""http://blogyul.miqrogroove.com/\"">miqrogroove (Robert Chapin)</a> (<a title=\""miqrogroove at WP Profiles\"" href=\""http://profiles.wordpress.org/miqrogroove\"">prof</a>), <a href=\""http://maisonbisson.com/\"">misterbisson (Casey Bisson)</a> (<a title=\""misterbisson at WP Profiles\"" href=\""http://profiles.wordpress.org/misterbisson\"">prof</a>), <a href=\""http://mitcho.com/\"">mitchoyoshitaka (mitcho (Michael 芳貴 Erlewine))</a> (<a title=\""mitchoyoshitaka at WP Profiles\"" href=\""http://profiles.wordpress.org/mitchoyoshitaka\"">prof</a>), <a href=\""http://blog.mmn-o.se/\"">MMN-o</a> (<a title=\""MMN-o at WP Profiles\"" href=\""http://profiles.wordpress.org/MMN-o\"">prof</a>), <a href=\""http://www.herewithme.fr/a-propos\"">momo360modena (Amaury Balmer)</a> (<a title=\""momo360modena at WP Profiles\"" href=\""http://profiles.wordpress.org/momo360modena\"">prof</a>), <a href=\""http://morganestes.wordpress.com/\"">morganestes (Morgan Estes)</a> (<a title=\""morganestes at WP Profiles\"" href=\""http://profiles.wordpress.org/morganestes\"">prof</a>), <a href=\""http://www.misthaven.org.uk/blog/\"">mrmist (David McFarlane)</a> (<a title=\""mrmist at WP Profiles\"" href=\""http://profiles.wordpress.org/mrmist\"">prof</a>), <a href=\""http://nickmomrik.com/\"">mtdewvirus (Nick Momrik)</a> (<a title=\""mtdewvirus at WP Profiles\"" href=\""http://profiles.wordpress.org/mtdewvirus\"">prof</a>), nadavvin (<a title=\""nadavvin at WP Profiles\"" href=\""http://profiles.wordpress.org/nadavvin\"">prof</a>), <a href=\""http://blog.detlog.org/\"">Nao (Naoko McCracken)</a> (<a title=\""Nao at WP Profiles\"" href=\""http://profiles.wordpress.org/Nao\"">prof</a>), <a href=\""http://www.nathanrice.net/\"">nathanrice (Nathan Rice)</a> (<a title=\""nathanrice at WP Profiles\"" href=\""http://profiles.wordpress.org/nathanrice\"">prof</a>), <a href=\""http://www.neotrinity.at/\"">neoxx (Bernhard Riedl)</a> (<a title=\""neoxx at WP Profiles\"" href=\""http://profiles.wordpress.org/nathanrice\"">prof</a>), <a href=\""http://www.niallkennedy.com/\"">niallkennedy (Niall Kennedy)</a> (<a title=\""niallkennedy at WP Profiles\"" href=\""http://profiles.wordpress.org/niallkennedy\"">prof</a>), <a href=\""http://www.rpmurphy.com/\"">ninjaWR (Ryan Murphy)</a> (<a title=\""ninjaWR at WP Profiles\"" href=\""http://profiles.wordpress.org/ninjaWR\"">prof</a>), <a href=\""http://noel.io/\"">noel (Noël Jackson)</a> (<a title=\""noel at WP Profiles\"" href=\""http://profiles.wordpress.org/noel\"">prof</a>), <a href=\""http://nomulous.com/\"">nomulous (Fletcher Tomalty)</a> (<a title=\""nomulous at WP Profiles\"" href=\""http://profiles.wordpress.org/nomulous\"">prof</a>), <a href=\""http://ocean90.wphelper.de/\"">ocean90 (Dominik Schilling)</a> (<a title=\""ocean90 at WP Profiles\"" href=\""http://profiles.wordpress.org/ocean90\"">prof</a>), <a href=\""http://ottodestruct.com/\"">Otto42 (Samuel Wood)</a> (<a title=\""Otto42 at WP Profiles\"" href=\""http://profiles.wordpress.org/Otto42\"">prof</a>), pedger (<a title=\""pedger at WP Profiles\"" href=\""http://profiles.wordpress.org/pedger\"">prof</a>), <a href=\""http://developersmind.com/\"">PeteMall</a> (<a title=\""PeteMall at WP Profiles\"" href=\""http://profiles.wordpress.org/PeteMall\"">prof</a>), pampfelimetten (<a title=\""pampfelimetten at WP Profiles\"" href=\""http://profiles.wordpress.org/pampfelimetten\"">prof</a>), pnettle (<a title=\""pnettle at WP Profiles\"" href=\""http://profiles.wordpress.org/pnettle\"">prof</a>), <a href=\""http://www.pslabs.cl/\"">PotterSys (Juan)</a> (<a title=\""PotterSys at WP Profiles\"" href=\""http://profiles.wordpress.org/PotterSys\"">prof</a>), <a href=\""http://cnpstudio.com/\"">prettyboymp (Michael Pretty)</a> (<a title=\""prettyboymp at WP Profiles\"" href=\""http://profiles.wordpress.org/prettyboymp\"">prof</a>), <a href=\""http://ptahdunbar.com/\"">ptahdunbar (Ptah Dunbar)</a> (<a title=\""ptahdunbar at WP Profiles\"" href=\""http://profiles.wordpress.org/ptahdunbar\"">prof</a>), <a href=\""http://www.bdihot.co.il/\"">ramiy</a> (<a title=\""ramiy at WP Profiles\"" href=\""http://profiles.wordpress.org/ramiy\"">prof</a>), <a href=\""http://ranh.co.il/\"">RanYanivHartstein (Ran Yaniv Hartstein)</a> (<a title=\""RanYanivHartstein at WP Profiles\"" href=\""http://profiles.wordpress.org/RanYanivHartstein\"">prof</a>), <a href=\""http://langui.sh/\"">reaperhulk (Paul Kehrer)</a> (<a title=\""reaperhulk at WP Profiles\"" href=\""http://profiles.wordpress.org/reaperhulk\"">prof</a>), reko (<a title=\""reko at WP Profiles\"" href=\""http://profiles.wordpress.org/reko\"">prof</a>), <a href=\""http://remiprevost.com/\"">remi (Rémi Prévost)</a> (<a title=\""remi at WP Profiles\"" href=\""http://profiles.wordpress.org/remi\"">prof</a>), <a href=\""http://toys.lerdorf.com/\"">rlerdorf (Rasmus Lerdorf)</a> (<a title=\""rlerdorf at WP Profiles\"" href=\""http://profiles.wordpress.org/rlerdorf\"">prof</a>) <!--ALSO r13684-->, <a href=\""http://ryanmccue.info/\"">rmccue (Ryan McCue)</a> (<a title=\""rmccue at WP Profiles\"" href=\""http://profiles.wordpress.org/rmccue\"">prof</a>), rooodini (<a title=\""rooodini at WP Profiles\"" href=\""http://profiles.wordpress.org/rooodini\"">prof</a>), rovo89 (<a title=\""rovo89 at WP Profiles\"" href=\""http://profiles.wordpress.org/rovo89\"">prof</a>), <a href=\""http://ruslany.net/\"">ruslany</a> (<a title=\""ruslany at WP Profiles\"" href=<br />\n\""http://profiles.wordpress.org/ruslany\"">prof</a>), <a href=\""http://skcdev.com/\"">sc0ttkclark (Scott Kingsley Clark)</a> (<a title=\""sc0ttkclark at WP Profiles\"" href=\""http://profiles.wordpress.org/sc0ttkclark\"">prof</a>), scottbasgaard (Scott Basgaard) (<a title=\""scottbasgaard at WP Profiles\"" href=\""http://profiles.wordpress.org/scottbasgaard\"">prof</a>), ScottMac (<a title=\""ScottMac at WP Profiles\"" href=\""http://profiles.wordpress.org/ScottMac\"">prof</a>), <a href=\""http://scribu.net/\"">scribu</a> (<a title=\""scribu at WP Profiles\"" href=\""http://profiles.wordpress.org/scribu\"">prof</a>), <a href=\""http://sergeybiryukov.ru/\"">SergeyBiryukov (Сергей Бирюков)</a> (<a title=\""SergeyBiryukov at WP Profiles\"" href=\""http://profiles.wordpress.org/SergeyBiryukov\"">prof</a>), <a href=\""http://bugssite.org/\"">ShaneF</a> (<a title=\""ShaneF at WP Profiles\"" href=\""http://profiles.wordpress.org/ShaneF\"">prof</a>), <a href=\""http://sillybean.net/\"">sillybean (Stephanie Leary)</a> (<a title=\""sillybean at WP Profiles\"" href=\""http://profiles.wordpress.org/sillybean\"">prof</a>), <a href=\""http://simekdesign.eu/\"">Simek (Bartosz Kaszubowski)</a> (<a title=\""simek at WP Profiles\"" href=\""http://profiles.wordpress.org/simek\"">prof</a>), <a href=\""http://www.simonwheatley.co.uk/\"">simonwheatley (Simon Wheatley)</a> (<a title=\""simonwheatley at WP Profiles\"" href=\""http://profiles.wordpress.org/simonwheatley\"">prof</a>), <a href=\""http://simos.info/blog/\"">simosx (Σίμος Ξενιτέλλης)</a> (<a title=\""simosx at WP Profiles\"" href=\""http://profiles.wordpress.org/simosx\"">prof</a>), <a href=\""http://www.poradnik-webmastera.com/\"">sirzooro (Daniel Frużyński)</a> (<a title=\""sirzooro at WP Profiles\"" href=\""http://profiles.wordpress.org/sirzooro\"">prof</a>), <a href=\""http://sivel.net/\"">sivel (Matt Martz)</a> (<a title=\""sivel at WP Profiles\"" href=\""http://profiles.wordpress.org/sivel\"">prof</a>), <a href=\""http://skeltoac.com/\"">skeltoac (Andy Skelton)</a> (<a title=\""skeltoac at WP Profiles\"" href=\""http://profiles.wordpress.org/skeltoac\"">prof</a>), <a href=\""http://www.lukehowell.com/\"">snumb130 (Luke Howell)</a> (<a title=\""snumb130 at WP Profiles\"" href=\""http://profiles.wordpress.org/snumb130\"">prof</a>), <a href=\""http://rayofsolaris.net/\"">solarissmoke (Samir Shah)</a> (<a title=\""solarissmoke at WP Profiles\"" href=\""http://profiles.wordpress.org/solarissmoke\"">prof</a>), sorich87 (<a title=\""sorich87 at WP Profiles\"" href=\""http://profiles.wordpress.org/sorich87\"">prof</a>), ssandison (<a title=\""ssandison at WP Profiles\"" href=\""http://profiles.wordpress.org/ssandison\"">prof</a>), stencil (<a title=\""stencil at WP Profiles\"" href=\""http://profiles.wordpress.org/stencil\"">prof</a>), <a href=\""http://stephdau.wordpress.com/\"">stephdau (Stephane Daury)</a> (<a title=\""stephdau at WP Profiles\"" href=\""http://profiles.wordpress.org/stephdau\"">prof</a>), <a href=\""http://wp.tekapo.com/\"">tai</a> (<a title=\""tai at WP Profiles\"" href=\""http://profiles.wordpress.org/tai\"">prof</a>), TECannon (Tracy Cannon) (<a title=\""TECannon at WP Profiles\"" href=\""http://profiles.wordpress.org/TECannon\"">prof</a>), <a href=\""http://technosailor.com/\"">technosailor (Aaron Brazell)</a> (<a title=\""technosailor at WP Profiles\"" href=\""http://profiles.wordpress.org/technosailor\"">prof</a>), <a href=\""http://eastcoder.com/\"">tenpura</a> (<a title=\""tenpura at WP Profiles\"" href=\""http://profiles.wordpress.org/tenpura\"">prof</a>), thales.tede <!--PROF?-->, TheDeadMedic (<a title=\""TheDeadMedic at WP Profiles\"" href=\""http://profiles.wordpress.org/TheDeadMedic\"">prof</a>), <a href=\""http://cefm.ca/\"">thee17 (Charles E. Frees-Melvin)</a> (<a title=\""thee17 at WP Profiles\"" href=\""http://profiles.wordpress.org/thee17\"">prof</a>), <a href=\""http://www.toine.ca/\"">thetoine (Antoine Girard)</a> (<a title=\""thetoine at WP Profiles\"" href=\""http://profiles.wordpress.org/thetoine\"">prof</a>), <a href=\""http://bavotasan.com/\"">tinkerpriest (c.bavota)</a> (<a title=\""tinkerpriest at WP Profiles\"" href=\""http://profiles.wordpress.org/tinkerpriest\"">prof</a>), <a href=\""http://tobias.baethge.com/\"">TobiasBg (Tobias Bäthge)</a> (<a title=\""TobiasBg at WP Profiles\"" href=\""http://profiles.wordpress.org/TobiasBg\"">prof</a>), tomtomp (<a title=\""tomtomp at WP Profiles\"" href=\""http://profiles.wordpress.org/tomtomp\"">prof</a>), <a href=\""http://terrychay.com/\"">tychay (Terry Chay)</a> (<a title=\""tychay at WP Profiles\"" href=\""http://profiles.wordpress.org/tychay\"">prof</a>), typeomedia (<a title=\""typeomedia at WP Profiles\"" href=\""http://profiles.wordpress.org/typeomedia\"">prof</a>), <a href=\""http://uglyrobot.com/\"">uglyrobot (Aaron Edwards)</a> (<a title=\""uglyrobot at WP Profiles\"" href=\""http://profiles.wordpress.org/uglyrobot\"">prof</a>), UnderWordPressure (<a title=\""UnderWordPressure at WP Profiles\"" href=\""http://profiles.wordpress.org/UnderWordPressure\"">prof</a>), usermrpapa (<a title=\""usermrpapa at WP Profiles\"" href=\""http://profiles.wordpress.org/usermrpapa\"">prof</a>), <a href=\""http://utkar.sh/\"">Utkarsh (Utkarsh Kukreti)</a> (<a title=\""Utkarsh at WP Profiles\"" href=\""http://profiles.wordpress.org/Utkarsh\"">prof</a>), <a href=\""http://www.ai-development.com/\"">validben (Benoit Gilloz )</a> (<a title=\""validben at WP Profiles\"" href=\""http://profiles.wordpress.org/validben\"">prof</a>), <a href=\""http://www.viper007bond.com/\"">Viper007Bond (Alex Mills)</a> (<a title=\""Viper007Bond at WP Profiles\"" href=\""http://profiles.wordpress.org/Viper007Bond\"">prof</a>), <a href=\""http://blog.sjinks.org.ua/\"">vladimir_kolesnikov (Vladimir Kolesnikov)</a> (<a title=\""vladimir_kolesnikov at WP Profiles\"" href=\""http://profiles.wordpress.org/vladimir_kolesnikov\"">prof</a>), <a href=\""http://edgedesigns.org/\"">willmot (Tom Willmot)</a> (<a title=\""willmot at WP Profiles\"" href=\""http://profiles.wordpress.org/willmot\"">prof</a>), <a href=\""http://emphaticallystatic.org/\"">wahgnube</a> (<a title=\""wahgnube at WP Profiles\"" href=\""http://profiles.wordpress.org/wahgnube\"">prof</a>), <a href=\""http://www.waltervos.com/\"">waltervos (Walter Vos)</a> (<a title=\""waltervos at WP Profiles\"" href=\""http://profiles.wordpress.org/waltervos\"">prof</a>), <a href=\""http://www.nothingcliche.com/\"">wds-chris (Christopher Cochran)</a> (<a title=\""wds-chris at WP Profiles\"" href=\""http://profiles.wordpress.org/wds-chris\"">prof</a>), <a href=\""http://strangework.com/\"">williamsba1 (Brad Williams)</a> (<a title=\""williamsba1 at WP Profiles\"" href=\""http://profiles.wordpress.org/williamsba1\"">prof</a>), <a href=\""http://willnorris.com/\"">wnorris (Will Norris)</a> (<a title=\""wnorris at WP Profiles\"" href=\""http://profiles.wordpress.org/wnorris\"">prof</a>), <a href=\""http://xavier.borderie.net/\"">xibe (Xavier Borderie)</a> (<a title=\""xibe at WP Profiles\"" href=\""http://profiles.wordpress.org/xibe\"">prof</a>), <a href=\""http://blog.yoavfarhi.com/\"">yoavf (Yoav Farhi)</a> (<a title=\""yoavf at WP Profiles\"" href=\""http://profiles.wordpress.org/yoavf\"">prof</a>), <a href=\""http://zeo.my/\"">zeo (Safirul Alredha)</a> (<a title=\""zeo at WP Profiles\"" href=\""http://profiles.wordpress.org/zeo\"">prof</a>), <a href=\""http://h6e.net/\"">znarfor (François Hodierne)</a> (<a title=\""znarfor at WP Profiles\"" href=\""http://profiles.wordpress.org/znarfor\"">prof</a>), and <a href=\""http://zoranzaric.de/\"">zoranzaric (Zoran Zaric)</a> (<a title=\""zoranzaric at WP Profiles\"" href=\""http://profiles.wordpress.org/zoranzaric\"">prof</a>).</p>\n<h3>Bonus</h3>\n<p>If you&#8217;ve made it this far, check out my 2010 State of the Word speech at WordCamp San Francisco, it&#8217;s jam-packed with information on the growth of WordPress, 3.0, what we&#8217;re planning for the future, and the philosophy of WordPress.</p>\n<p><object classid=\""clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" width=\""640\"" height=\""360\"" codebase=\""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\""><param name=\""flashvars\"" value=\""guid=xj8pDCM4&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\"" /><param name=\""src\"" value=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" /><param name=\""wmode\"" value=\""transparent\"" /><param name=\""allowfullscreen\"" value=\""true\"" /><embed type=\""application/x-shockwave-flash\"" width=\""640\"" height=\""360\"" src=\""http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21\"" allowfullscreen=\""true\"" wmode=\""transparent\"" flashvars=\""guid=xj8pDCM4&amp;width=640&amp;height=360&amp;locksize=no&amp;dynamicseek=false&amp;qc_publisherId=p-18-mFEk4J448M\""></embed></object></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:50:\""http://wordpress.org/news/2010/06/thelonious/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""5\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:7;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:7:\""3.0 RC3\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:42:\""http://wordpress.org/news/2010/06/3-0-rc3/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:51:\""http://wordpress.org/news/2010/06/3-0-rc3/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 11 Jun 2010 20:49:38 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1376\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:257:\""A weekend present, in haiku: Last call; final bugs Itch, scratch, contort; calmly wait For now: RC3 That&#8217;s right. What will hopefully be the final release candidate, RC3, is now available for download and testing. Plugin developers: test your plugins!\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:438:\""<p>A weekend present, in haiku:</p>\n<blockquote><p>Last call; final bugs<br />\nItch, scratch, contort; calmly wait<br />\nFor now: <a href=\""http://wordpress.org/wordpress-3.0-RC3.zip\"">RC3 </a></p></blockquote>\n<p>That&#8217;s right. What will hopefully be the final release candidate, <a href=\""http://wordpress.org/wordpress-3.0-RC3.zip\"">RC3, is now available for download</a> and testing.</p>\n<p>Plugin developers: test your plugins!</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:47:\""http://wordpress.org/news/2010/06/3-0-rc3/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:8;a:6:{s:4:\""data\"";s:47:\""\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:37:\""Expanding the Theme Review Experiment\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:72:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:81:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Wed, 09 Jun 2010 16:06:11 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:3:{i:0;a:5:{s:4:\""data\"";s:9:\""Community\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:1;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}i:2;a:5:{s:4:\""data\"";s:6:\""Themes\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1347\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:272:\""When I was a kid my dad used to practice his typing skills (on a real typewriter no less) with the phrase: Now is the time for all good men to come to the aid of their country. For some reason that has stuck with me all these years. Today I’m going to rephrase and [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:12:\""Joseph Scott\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1962:\""<p>When I was a kid my dad used to practice his typing skills (on a real typewriter no less) with the phrase:</p>\n<blockquote><p>Now is the time for all good men to come to the aid of their country.</p></blockquote>\n<p>For some reason that has stuck with me all these years. Today I’m going to rephrase and re-purpose that line:</p>\n<blockquote><p>Now is the time for great theme developers to come to the aid of their community.</p></blockquote>\n<p>The theme directory has been chugging along for more than a year now. During that time we’ve tinkered with the review process and some of the management tools, but haven’t really opened it up as much as we’d like. It&#8217;s time to rip off the band-aid and take some action; to that end, we&#8217;re looking for community members to help with the process of reviewing themes for the directory.</p>\n<p>Right now this is a bit like a New Year’s resolution to exercise every day: it’s what we need to do, but we’re still figuring out exactly how it will all work. That’s part of the community involvement as well &#8212; we expect that those who pitch in will also help shape the process.</p>\n<p>What’s involved in reviewing themes for the directory? There are some obvious things, such as being familiar with PHP and WordPress theme code (and the <a href=\""http://codex.wordpress.org/Theme_Development_Checklist\"">theme development checklist</a>), with an eye for security issues. You would also need to have the ability to set up a separate install of the latest version of WordPress for testing theme submissions.</p>\n<p>Hopefully a few talented theme developers are reading this right now and saying to themselves, &#8220;I’d love to help! How do I get started?&#8221; Just join the new <a href=\""http://lists.wordpress.org/mailman/listinfo/theme-reviewers\"">theme reviewers mailing list</a> and we&#8217;ll get you up to speed on this new opportunity to come to the aid of your community.</p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:77:\""http://wordpress.org/news/2010/06/expanding-the-theme-review-experiment/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}i:9;a:6:{s:4:\""data\"";s:41:\""\n \n \n \n \n \n \n\n \n \n \n \n \n \"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";s:5:\""child\"";a:5:{s:0:\""\"";a:7:{s:5:\""title\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""WordPress 3.0 Release Candidate\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:66:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:75:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/#comments\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:7:\""pubDate\"";a:1:{i:0;a:5:{s:4:\""data\"";s:31:\""Fri, 28 May 2010 02:35:04 +0000\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:8:\""category\"";a:1:{i:0;a:5:{s:4:\""data\"";s:11:\""Development\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:4:\""guid\"";a:1:{i:0;a:5:{s:4:\""data\"";s:40:\""http://wordpress.org/development/?p=1358\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:1:{s:11:\""isPermaLink\"";s:5:\""false\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:11:\""description\"";a:1:{i:0;a:5:{s:4:\""data\"";s:345:\""As Matt teased earlier, the first release candidate (RC1) for WordPress 3.0 is now available. What&#8217;s an RC? An RC comes after beta and before the final launch. It means we think we&#8217;ve got everything done: all features finished, all bugs squashed, and all potential issues addressed. But, then, with over 20 million people using [...]\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:32:\""http://purl.org/dc/elements/1.1/\"";a:1:{s:7:\""creator\"";a:1:{i:0;a:5:{s:4:\""data\"";s:10:\""Jane Wells\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:40:\""http://purl.org/rss/1.0/modules/content/\"";a:1:{s:7:\""encoded\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1993:\""<p>As Matt teased earlier, the first release candidate (RC1) for WordPress 3.0 is now available. What&#8217;s an RC? An RC comes after beta and before the final launch. It means we think we&#8217;ve got everything done: all features finished, all bugs squashed, and all potential issues addressed. But, then, with over 20 million people using WordPress with a wide variety of configurations and hosting setups, it&#8217;s entirely possible that we&#8217;ve missed something. So! For the brave of heart, please download the RC and test it out (but not on your live site unless you&#8217;re extra adventurous). Some things to know:</p>\n<ul>\n<li>Custom menus are finished! Yay!</li>\n<li>Multi-site is all set.</li>\n<li>The look of the WordPress admin has been lightened up a little bit, so you can focus more on your content.</li>\n<li>There are a ton of changes, so plugin authors, please test your plugins <strong>now</strong>, so that if there is a compatibility issue, we can figure it out before the final release.</li>\n<li>Plugin and theme *users* are also encouraged to test things out. If you find problems, let your plugin/theme authors know so they can figure out the cause.</li>\n<li>There are a couple of <a href=\"" http://core.trac.wordpress.org/report/5\"">known issues</a>.</li>\n</ul>\n<p>If you are testing the RC and come across a bug, you can:</p>\n<ul>\n<li>Report it on the <a href=\""http://lists.automattic.com/mailman/listinfo/wp-testers\"">wp-testers mailing list</a></li>\n<li>Join the dev chat and tell us live at irc.freenode.net #wordpress-dev</li>\n<li>File a bug ticket on the <a href=\""https://core.trac.wordpress.org/query?status=reopened&amp;status=assigned&amp;status=reviewing&amp;status=new&amp;status=accepted&amp;group=status&amp;milestone=3.0\"">WordPress Trac </a></li>\n</ul>\n<p>We hope you enjoy playing with the 3.0 RC as much as we&#8217;ve enjoyed making it for you. Enjoy!</p>\n<p><a href=\""http://wordpress.org/wordpress-3.0-RC1.zip\"">Download WordPress 3.0 RC1</a></p>\n\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:36:\""http://wellformedweb.org/CommentAPI/\"";a:1:{s:10:\""commentRss\"";a:1:{i:0;a:5:{s:4:\""data\"";s:71:\""http://wordpress.org/news/2010/05/wordpress-3-0-release-candidate/feed/\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:38:\""http://purl.org/rss/1.0/modules/slash/\"";a:1:{s:8:\""comments\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""0\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}s:27:\""http://www.w3.org/2005/Atom\"";a:1:{s:4:\""link\"";a:1:{i:0;a:5:{s:4:\""data\"";s:0:\""\"";s:7:\""attribs\"";a:1:{s:0:\""\"";a:3:{s:4:\""href\"";s:31:\""http://wordpress.org/news/feed/\"";s:3:\""rel\"";s:4:\""self\"";s:4:\""type\"";s:19:\""application/rss+xml\"";}}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}s:44:\""http://purl.org/rss/1.0/modules/syndication/\"";a:2:{s:12:\""updatePeriod\"";a:1:{i:0;a:5:{s:4:\""data\"";s:6:\""hourly\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}s:15:\""updateFrequency\"";a:1:{i:0;a:5:{s:4:\""data\"";s:1:\""1\"";s:7:\""attribs\"";a:0:{}s:8:\""xml_base\"";s:0:\""\"";s:17:\""xml_base_explicit\"";b:0;s:8:\""xml_lang\"";s:0:\""\"";}}}}}}}}}}}}s:4:\""type\"";i:128;s:7:\""headers\"";a:8:{s:6:\""server\"";s:5:\""nginx\"";s:4:\""date\"";s:29:\""Thu, 18 Nov 2010 07:10:47 GMT\"";s:12:\""content-type\"";s:23:\""text/xml; charset=UTF-8\"";s:10:\""connection\"";s:5:\""close\"";s:4:\""vary\"";s:15:\""Accept-Encoding\"";s:10:\""x-pingback\"";s:36:\""http://wordpress.org/news/xmlrpc.php\"";s:13:\""last-modified\"";s:29:\""Thu, 30 Sep 2010 03:23:31 GMT\"";s:4:\""x-nc\"";s:11:\""HIT luv 138\"";}s:5:\""build\"";s:14:\""20090627192103\"";}', 'no') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)

    WordPress for iPhone/iPad v2.6 Released September 30th, 2010
    Attention Apple-gadget-owning WordPress users! Have you been using the WordPress iOS app for iPhone and iPad? Or maybe you tried it a while back and thought it wasn’t for you? Either way, the new release — v2.6 — will knock your socks off. Why? A bunch of reasons: Video. Record, upload, attach, and play videos […]
    WordPress Trademark Changes Hands September 9th, 2010
    The WordPress community took a big step forward today when Matt announced that Automattic has donated the WordPress trademark to the non-profit WordPress Foundation. Moving forward, the Foundation will be responsible for safeguarding the trademarked name and logo from misuse toward the end of protecting WordPress and preventing confusion among people trying […]
}}}
",Viper007Bond
18563,Disallowing editing of .php files in the plugin editor blocks access to allowable extensions,,Administration,2.8,normal,minor,Future Release,defect (bug),new,,2011-09-01T04:12:29Z,2011-11-02T00:06:47Z,"By using the editable_extensions filter, a user can disallow the editing of php files (more accurately: files with a php extension...)

{{{
add_filter( 'editable_extensions', 'disallow_php_file_editing' );
function disallow_php_file_editing( $editable_extensions ) {
	unset( $editable_extensions[0] );	
	return $editable_extensions;
}
}}}

However, the file selected when first clicking on the Editor link in the menu is always a php file, so the user is given the ""Files of this type are not editable"" wp_die() message without being presented with a chance to select a file with a different/allowable extension.",trepmal
16475,Displaying submenus in custom taxonomy of active parent,,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-07T02:26:20Z,2011-07-22T09:27:13Z,"In a hierarchical taxonomy, if a top level item in the hierarchy is selected when editing a post, after save that item's orphaned children and grandchildren will also show as top level items. It flattens the hierarchy.",nick4fake
22600,Editor sizing JS puts the resize handle in the wrong place,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-27T03:58:09Z,2012-12-14T23:51:29Z,"If you do the following, say to deal with the post content editor in a different way, the resize handle ends up in the wrong place because there is no status bar:

{{{
wp_editor( $post->post_content, 'content', array( 'tinymce' => false ) );
}}}

The JS that deals with the editor size/height should probably be checking for the status bar before moving the resize handle. Discovered while working on #22491.",helen
17916,Enqueued styles are only printed on login_footer in wp-login.php,,Administration,3.2,normal,normal,Future Release,defect (bug),reopened,,2011-06-28T00:29:48Z,2012-11-05T19:19:34Z,"In my plugin I have this include:
wp_register_style(""cimy_uef_register"", $cuef_css_webpath.""/cimy_uef_register.css"", false, false);

now independently where and when I use the above css, even if I never enqueue or print it... it basically forces the admin panel to be always left instead of the right.

In particular it changes the admin panel menu #adminmenu to stick to the left, also other little things.
The question is:
why this happens even if the CSS is not included at all? Browsing the documentation quickly on that function I didn't find anything useful, please help me.",Cimmo
15659,Entity escaping needed for comments list table,,Administration,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-03T07:05:52Z,2011-02-14T06:32:02Z,"Perhaps only as a result of the fact that the URL will be truncated for display, it is possible that URLs will have entities in URLs such as &amp; truncated, thereby creating a non-well-formed entity for application/xhtml+xml . The following patch fixes it (quotation escaping is not needed since this is element content).

This is an easy fix which I hope can be applied given that its lack breaks reviewing the important comments editing page. Thanks.",brettz95
23155,Fire update_blog_public action from update_blog_status(),ryan,Administration,3.5,normal,normal,3.6,defect (bug),reopened,,2013-01-09T16:43:00Z,2013-05-01T13:12:46Z,The update_blog_public action is fired from update_blog_public() but not from update_blog_status(). Since update_blog_public() calls update_blog_status() the action should move down the stack and reside along the other actions fired by update_blog_status().,ryan
24364,"Fix  autocomplete=""off"" in Chrome",azaozz,Administration,,normal,normal,3.6,defect (bug),reopened,,2013-05-18T22:45:28Z,2013-05-19T22:40:38Z,"Seems latest Chrome doesn't respect autocomplete=""off"" on <input type=""password"" /> fields. This is a problem in forms where the user has to choose a password like the Profile and Edit User screens. 

When the user wants to change a setting on the Profile screen, the first password field is auto-filled. That results in error on submitting the form: ""ERROR: You entered your new password only once..."".",azaozz
21947,Fix 3-column dashboard display,,Administration,3.4,low,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-20T20:06:46Z,2013-04-14T06:02:52Z,"Issue #20015 'enhanced' the dashboard with a pure-CSS based multi-column dashboard. Excellent.

The CSS used makes gross assumptions about how many columns are appropriate for different-sized displays. Double plus ungood.
Users should be left to decide how many columns they wish to use.

There was [http://wordpress.org/support/topic/three-column-dashboard/ considerable discussion] of this when 3.4 was released, but no remedy yet, other than to hack away at the CSS of one's install, precluding upgrades; I've changed {{{@media only screen and (min-width:800px) and (max-width:1200px){}}} to {{{@media only screen and (min-width:800px) and (max-width900px){}}} in wp-admin.css to get a usable interface.",belg4mit
24084,Fix possible PHP notices after a user is deleted,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-14T22:24:48Z,2013-04-15T23:09:34Z,"`get_comment_author()` doesn't check if a user that has commented still exists and may throw a notice. Also can return the user_login where a user name is expected.

Same in `edit-form-advanced.php` in the code block that outputs ""Last edited by ..."" under the editor.",azaozz
24131,Fix post previews for multisite with domain mapping,,Administration,,normal,normal,3.6,defect (bug),new,,2013-04-18T22:51:54Z,2013-04-24T02:45:56Z,"Currently when previewing latest changes we create a nonce in the admin, then redirect to the front-end and check that nonce on 'init' before showing the preview. This fails sometimes on multisite with domain mapping as they may use JS redirects to log the user in on the front-end.",azaozz
18264,Future private posts listed as already published with future date specified,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T00:05:27Z,2013-02-04T09:27:17Z,"Setting a post to private, and scheduling it for some future date or time, results in the stamp that the post was ""Published on (future date)"" in the publish module.

The discussion on tickets #5608 and #9136 suggests that all private posts are published immediately (and privately), and that this is intentional. So, it's misleading and confusing to report that it already was published on some future date.

In source:trunk/wp-admin/includes/meta-boxes.php#L163, I suggest we replace:

{{{
else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
		$stamp = __('Published on: <b>%1$s</b>'); }
}}}

with:

{{{
else if ( 'publish' == $post->post_status ) { // already publicly published
		$stamp = __('Published on: <b>%1$s</b>');
	} else if (  'private' == $post->post_status ) { // published privately
		$stamp = __('Published privately'); }
}}}",chrisrudzki
17607,Google blog search API shutdown,westi,Administration,3.2,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-05-29T11:21:19Z,2012-10-11T23:13:54Z,"I have done a search and can't see that this has already been reported.

On the wordpresss dashboard the 'incoming link search' uses google blog search API. Google has announced that this api is being shutdown as of effect 26 May 2011 (http://code.google.com/apis/blogsearch/). It will continue to work but with limited functionality (due to their deprecation policy). I therefore suggest that this be removed or use a different API.",jcnetsys
20848,Header images are cropped and resized with improper permissions.,,Administration,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-05T17:41:45Z,2012-06-05T17:41:45Z,"On some systems the cropped and resized header images become unreadable by the web server.  

The attached patch makes the files inherit the permissions from the parent folder.


",gtenney99
19206,Improve internal admin menu code,,Administration,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2011-11-08T17:53:44Z,2011-11-09T16:27:02Z,"The internal admin menu code is both hard to read and filled with several unnecessary branches. This makes maintaining the code quite difficult.

A few uses of list and smarter branching can considerably improve _wp_menu_output. Patch attached. Let's revisit this when we branch for 3.4.",koopersmith
22214,Inconsistency in the show_ui parameter for register_post_type,,Administration,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-17T20:58:42Z,2012-10-18T00:58:36Z,"There is an inconsistency with the `show_ui` argument to `register_post_type`. When set to false, the post type listing page is open, while the 'Add new' page is not accessible.",nofearinc
12789,Inconsistent left or right margins on admin screens,,Administration,,low,minor,Future Release,defect (bug),new,,2010-04-01T02:46:07Z,2012-12-06T06:06:53Z,There are a couple of admin screens where the screen icon is not aligned to the left of the content.,scribu
16972,Input type radio losts its checked focus when metabox is dragged,azaozz,Administration,3.0,normal,normal,Future Release,defect (bug),reviewing,has-patch,2011-03-26T14:16:05Z,2012-11-07T21:31:46Z,"This happens when I use a radio button in a metabox. Once I try to drag it to different position or just drag and let it go the checked focus is lost. (in code it of course still remain checked, but visually not)

Bug not happens with other fields I tested (checkboxes, inputs, textareas)",depi
18101,Last theme reported in Feature Search is Duplicated as first theme in page 2,,Administration,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-13T13:59:36Z,2011-07-14T11:53:46Z,"Search for themes using the features filtering mode. The last theme theme of the first page (if you search for custom background feature the theme is Nona) will be duplicated as the first theme in page 2. Page count in the navigation is correct, and you will get one more theme in the end (e.g. with 121 themes, last page will have two themes instead of just one).",lorthirk
18449,List Table Factory Needs to be Pluggable,,Administration,3.1,normal,normal,Future Release,defect (bug),new,,2011-08-16T19:51:33Z,2012-03-31T08:34:37Z,"Better design planning should have been considered for http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/list-table.php

function _get_list_table() is identical to an object factory pattern, which would make more sense as a static member of WP_List_Table.  In other words...

{{{
$wp_list_table = _get_list_table('WP_Terms_List_Table');
}}}

... which looks simple, is actually confusing because it would be more intuitive if written as ...

{{{
$wp_list_table = WP_List_Table::factory('Terms');
}}}

Further, the factory hasn't offered any extensibility.  Locking edit-tags.php against WP_Terms_List_Table makes it unusable for custom taxonomies that need a custom UI.  Despite all of the great API improvements for taxonomies, this case still necessitates duplicating the entire category editing UI within a plugin just to tweak a table column or a link path.

Please adjust the ticket Type and Component as necessary.  It could be a taxonomy design flaw or an administration enhancement, depending how you look at it.",miqrogroove
14949,Login gives false assurance of having logged out,filosofo,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-23T10:39:34Z,2012-09-20T22:02:19Z,"If you visit `wp-login.php?loggedout=true` while logged in, WordPress falsely tells you that ""You are now logged out.""

This is a problem because it could lead you to think, e.g., that a public computer is no longer authenticated with access to your WP admin.

Patch redirects a still-authenticated user back to the admin from the login page if she requests the above page without actually having logged out.",filosofo
13655,Login/Install/User Edit should stripslashes() $_POST data,,Administration,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-31T11:33:17Z,2010-11-13T08:05:36Z,"Following on from #13654 All Login/Registration/Install/User Edit functionality should stripslash $_POST data.

At present, it seems that we do not stripslash at all.

For existing user passwords, we should migrate passwords to their non-stripslashed versions:

 [5/31/10 6:34:11 AM] Mark Jaquith: We could migrate people.[[BR]]

 [5/31/10 6:34:13 AM] Dion (dd32): Perhaps oughta just add proper stripslashing in 3.1, and add back-compat to change password from non-stripslashed to stripslashed.. similar to the md5->phpass implementation..[[BR]]

 [5/31/10 6:35:13 AM] Mark Jaquith: Yep. If the PW doesn't match, addslashes() and compare again. If that matches, set the new PW hash. Right?[[BR]]

 [5/31/10 6:35:19 AM] Dion (dd32): yep

",dd32
17675,Masked Domain Issue Introduced with New Update,,Administration,3.1.3,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-06-03T18:09:03Z,2011-06-03T19:59:41Z,"Hi,

I'm experiencing an issue accessing my wp-admin login page, only when using a masked domain.

My root setup is configured as so:
http://rootdomain.com/othersite/wordpress/

The domain I'm using to access it is located here:
http://redirect.com

When I use the root domain to access the login page directly, there's no problem.  But, when I go to http://redirect.com/wp-admin, or click on any login links while at the redirect.com site, the page doesn't load.  The title bar will load, but nothing else.

This is a new issue introduced with the 3.1.3 update.  The masked domain was working prior to 3.1.3.

I've tried this both on Safari & Firefox (latest versions), using Mac OS X.",ital_dj
20453,Media screen links to non-public post types,,Administration,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-04-16T02:31:56Z,2012-04-16T03:23:46Z,"I have a non-public custom post type registered, so it doesn't get an admin UI.

A file in the media library is attached to one of my custom posts (done at the point the file is uploaded using `media_handle_upload()`). The media item shows up in the Media Library as expected, but the 'Attached To' column links to the editing screen for the parent post, even though the post is non-public.

This allows a user to see the post editing screen for a non-public post type.",johnbillion
21795,Menu collapse option not saved correctly,,Administration,3.5,normal,normal,3.6,defect (bug),reopened,reporter-feedback,2012-09-04T23:39:17Z,2013-04-08T01:00:54Z,"The menu collapse option is not saving correctly when at a resolution > 900px. When collapsing and them re-expanding the menu, the menu auto collapses on each new page load. It's caused by the script deleting the folded setting but not actually setting the unfolded setting as far as I can tell.

The attached patch works for me.",griffinjt
21015,Months dropdown should not show if only posts are 'auto-draft' status,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-18T19:16:54Z,2012-09-28T14:42:09Z,"The months dropdown at the top of edit.php should only show if there are actually posts in the list.

Right now, if you click 'Add new' an auto draft post will be saved. Leave the post edit screen without saving the post (so no draft will be created) and go back to the edit.php screen. There is no post in the list, but the month drop down will be shown because the auto draft is counted.",CoenJacobs
21770,Multiple New Feature Pop-ups mess UI,,Administration,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-09-02T11:09:51Z,2013-01-22T03:06:39Z,"WordPress admin and plugins [[Image(http://dl.dropbox.com/u/184353/wordpress-admin-pop-ups.png)]] New Feature Pop-up messages appear on the admin simultaneously, blocking each other messages and functionality. The UI gets seriously messed up.

User attention focuses on how to get rid the overlaping pop-ups rather than reading the messages and understand and start using the new features.",titanas
16696,"No synchronisation between ""most used"" and ""all categories"" in link edit",,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-28T07:14:37Z,2011-03-04T14:02:26Z,"There are issues with the ""all categories"" and ""most used"" tabs when editing links:

- Go to edit a link

- Click on ""Most used"" in the category section. All the listed categories are unchecked - including the ones that are checked in the ""All Categories"" tab. There is no sync between the two.

- Now check a category in the ""most used"" tab. Go to the ""all categories"" tab and you will find that the same category is now checked (as expected). Now uncheck it from the ""all categories"" tab. Go to ""most used"" and it is still checked there. The sync only works one way ( ""most used"" -> ""all categories"" ).

The first issue is because `wp_popular_terms_checklist()` assumes that you're using it in the context of a particular post, and sets checkedness based on whether the `$post` global has that term. If the `$post` global is empty (as when editing links), nothing is checked. I don't think we should be using `wp_popular_terms_checklist()` as it's context is for individual posts.

The second issue is because the IDs on the most used elements are wrong compared to what the Javascript is looking for.

Patch to follow. 

",solarissmoke
22509,No-JS fallback for default color in color picker,,Administration,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-19T19:42:19Z,2012-12-19T20:48:22Z,"The no-JS fallback for the color picker is just a plain input. Since the color picker implementation now includes the ability to reset to a specified default, it seems to make sense to include a no-JS fallback for the default, even just as a little bit of hidden descriptive text.

See #22461 for discussion stemming from the custom header screen.",helen
18724,Non functioning 'paged' input on theme/plugin search,,Administration,3.1,normal,minor,Future Release,defect (bug),new,has-patch,2011-09-20T13:09:04Z,2011-11-08T20:56:31Z,"In the WordPress Admin -> Install Themes -> Search ... The page number input is not functional.

Same for plugin search.",kurtpayne
16683,"Nonce failure error message causes a warning, and also ugly error.",,Administration,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-27T04:05:15Z,2011-02-27T07:25:36Z,"{{{
( ! ) Notice: Undefined offset: 4 in C:\www\wordpress-commit\wp-includes\functions.php on line 2624
Call Stack
#	Time	Memory	Function	Location
1	0.1991	455408	{main}( )	..\options-permalink.php:0
2	15.8632	23506944	check_admin_referer( )	..\options-permalink.php:69
3	15.8637	23507168	wp_nonce_ays( )	..\pluggable.php:839
4	15.8638	23507240	wp_explain_nonce( )	..\functions.php:2657


Your attempt to change your permalink structure to: has failed.
}}}

I left the permalink page open for a few hours, and just went to update it. Upon clicking update, I was given the above error (see attached jpeg). It feels pretty clunky and average to have a simple text like that.

The warning looks to be caused by the nonce error not being set possibly..",dd32
16162,Pagination and sorting reset after bulk media deletion,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,,2011-01-09T11:43:33Z,2011-10-27T06:23:48Z,"When doing Bulk Deletes on paginated Media Library, after performing the delete, I'm back on page 1 regardless on which page I've been before.",hakre
18974,Plugin table IDs can collide with core IDs,,Administration,3.3,low,minor,Future Release,defect (bug),new,,2011-10-17T23:14:04Z,2012-01-05T05:33:52Z,"Go to Plugins > Add New and install my ""Local Time"" plugin.

Go to Plugins > Installed Plugins. My plugin's details will show up in italics. This is because the table row is given the ID `local-time` (my plugin's slug) and core has this CSS:

{{{
#utc-time, #local-time {
	padding-left: 25px;
	font-style: italic;
	font-family: sans-serif;
}
}}}

https://core.trac.wordpress.org/browser/tags/3.2.1/wp-admin/css/wp-admin.dev.css#L4287

Targeting this in `options-general.php`:

{{{
<span id=""local-time""><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span>
}}}

https://core.trac.wordpress.org/browser/tags/3.2.1/wp-admin/options-general.php#L167

I'm not quite sure why core is using an ID instead of a class. I'm also not quite sure why the plugins table isn't using a prefix of say `plugin-` since the slug can literally be pretty much anything.

Probably better to change the former than the latter for backwards compatibility reasons though.",Viper007Bond
17115,Publishing an empty post results in success,,Administration,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-04-12T11:32:50Z,2012-11-17T00:15:31Z,"'''Steps to reproduce:'''
1. Go to Add New post screen
1. Publish post
1. Success message is displayed with link to initial auto-draft of post

The issue can be traced back to the `editpost` switch case in `post.php` (line 204), which calls `edit_post()` and `redirect_post()`.

`edit_post()` saves any meta values passed with the post to the auto-draft, which isn't necessarily desirable, and returns the auto-draft post ID.

`redirect_post()` then defaults to status message code 6 which incorrectly reports success in publishing.",kawauso
14188,Quick Edit Parentage,filosofo,Administration,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-03T19:55:37Z,2012-10-19T22:06:25Z,"If you change a page's page via quick edit, the page item stays below its current parent.

It seems to me that it ought to move underneath the new parent or disappear if that parent is not on the current page.",filosofo
15981,Quick edit (and other actions) need to cancel AJAX actions,garyc40,Administration,3.1,low,normal,Future Release,defect (bug),assigned,has-patch,2010-12-26T05:17:36Z,2010-12-26T21:03:24Z,"Right after you click to paginate, sort or try to search something, you may be inclined to click another link on the page. This happens often when I'm browsing, and on a server with a relatively slow AJAX round trip, it can happen quite commonly.

Problem: If you open Quick Edit, then the ajax results should noop. There might be other actions, but this one in particular does not lead to another page (which obviously would kill the ajax).

The reverse is also an issue. You can search, paginate, or sort when Quick Edit is open, and you lose your edit. This might be bad when quick editing a comment, as you could be losing actual content. Searching and paginating might be explicit actions, but it's not difficult to accidentally click a th and trigger a sort, especially if the first row's quick edit (or bulk edit) is open.

I'm not sure what to do here, other than a JS popup for any time a Quick/Bulk Edit is open, asking you if you want to lose your changes.

So again, two things:

 - Kill the AJAX action if Quick Edit is opened. I would consider this lower priority.

 - 'Lose your changes' confirmation for quick edit and bulk edit before an AJAX action. (We can probably fire the AJAX action and trigger the alert simultaneously, but delay processing the results until the confirm() is true.)",nacin
6342,"Rapidly spamming/deleting comments can break ""infinite river"" feature on comment moderation pages",mdawaffe,Administration,2.5,normal,normal,Future Release,defect (bug),new,,2008-03-21T22:05:16Z,2011-12-14T13:18:06Z,"Comment moderation pages have an ""infinite river"" feature whereby when you remove one comment (spam/delete), it'll load a new one at the bottom.  Unfortunately, it doesn't seem to catch up if you click more rapidly than about once every 2 or 3 seconds, and you'll ""lose"" comments.  At the end, you may just have one comment that, when dealt with, will be replaced by only one comment.  This may have to do with doubleclicking the ""spam"" link, or maybe clicking the ""spam"" link of the next comment before the river action has finished.",markjaquith
24104,Remove duplicated separators in admin menu,,Administration,2.7,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-16T17:26:37Z,2013-04-17T02:37:08Z,"I'm working on WordPress admin menu, and I found that the code to remove duplicated separators in admin menu in `wp-admin/includes/menu.php` doesn't work correctly.

Assuming we have these items in the `$menu`:


{{{
$menu = array(
	100 => array(
		0 => 'Admin Style',
		2 => 'wp-admin-style.php',
		1 => 'read',
		4 => 'menu-top menu-icon-generic toplevel_page_wp-admin-style menu-top-first menu-top-last',
		6 => 'none',
	),
	110 => array(
		0 => '',
		1 => 'read',
		2 => 'separator1',
		3 => '',
		4 => 'wp-menu-separator',
	),
	130 => array(
		0 => '',
		1 => 'read',
		2 => 'separator2',
		3 => '',
		4 => 'wp-menu-separator',
	),
	140 => array(
		0 => '',
		1 => 'read',
		2 => 'separator-last',
		3 => '',
		4 => 'wp-menu-separator',
	),
	150 => array(
		0 => 'Hide Menu',
		1 => 'manage_options',
		2 => 'hide-admin-menu',
		3 => 'Hide Admin Menu',
		4 => 'menu-top toplevel_page_hide-admin-menu',
		5 => 'toplevel_page_hide-admin-menu',
		6 => 'http://localhost:8080/wp/wp-content/plugins/hide-admin-menu/img/icon.png',
	),
);
}}}

WordPress will remove only the 1st duplicated separator (130) and still keeps the 2nd one (140).

Another problem with current code is if separator menu item has classes like `'wp-menu-separator woocommerce'` (WooCommerce does this), it won't be recognized as a separator, because the function to check separator uses `strcmp`.

",rilwis
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
15414,Rework admin searches and make them compatible with no-js again,ocean90*,Administration,3.1,normal,normal,Future Release,defect (bug),accepted,,2010-11-13T13:53:19Z,2010-12-10T19:36:56Z,"I'm working on #15355 and found some problems with the searches. I will use this ticket to add the patches, one patch for each problem which I have found.

A list with what it not working:
 - ~~Comments search doesn't work without JS~~ fixed
 - ~~Users search doesn't work with and without JS~~ fixed
 - http://grab.by/7nC2 I like the idea with the new tab ""Search Results (1)"", but you will see it only in no-js version and only for themes and plugins search. We should add it for all searches, AJAX search and with no grey bgcolor to be consistent. '''Or''' we must respect the active tab like we did it on comments search, so if 'Sticky' tab is active search only through sticky posts and not all as it is yet. Consistent is the word here.
- Behaviour after a search without any results: With JS it's an empty table and with no-js we have the message ""No xxx found.""",ocean90
21421,Sanitize/remove admin page slug  from admin menu CSS classes,,Administration,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-30T11:26:15Z,2013-03-02T21:00:41Z,"As I discovered when testing #21307, browsers won't parse a CSS class name with both underscores and hyphens. Instead, they handle it ''really'' badly.

For example: `.toplevel_page_link-manager` will affect `body` in both Firefox and Chrome.

Plugin page menu items have both an ID and class generated as such, which seems rather redundant. I propose either dropping the redundant and only partly functional CSS class or standardising the menu slug to produce a valid class name.",kawauso
22003,Saving custom fields goes to post-new.php rather than post.php,,Administration,2.5,normal,normal,Awaiting Review,defect (bug),reopened,,2012-09-26T15:57:01Z,2012-09-26T19:19:54Z,"Create a new post or page.
Add a title and message.
Add a custom field (click ""Add Custom Field"")

The post is saved, but as you are taken to post-new.php rather than post.php, it looks as if your post has disappeared! All is well - it is actually saved - but it's confusing.

Tested on 3.5-alpha-21989",curiousdannii
17636,Search subtitles are handled inconsistently across admin,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T12:15:48Z,2011-07-09T11:44:29Z,"Try the following strings in the Comments admin screen and any other:

`\'""\fs""\\\""` 

`imareallylongstringlookatmegoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgoandgo`

The Comments screen uses `strip_slashes()` and `wp_html_excerpt()` to limit search strings to 50 characters, while other screens do not.",kawauso
24149,Set RTL body class for iframes,,Administration,,normal,minor,Future Release,defect (bug),new,commit,2013-04-21T03:57:06Z,2013-04-22T06:36:02Z,"iframe_header() sets the current locale string in the body class, but not the RTL flag. Please add this.

This came up in MP6 development, where MP6 does not (at this moment) rely on a separate rtl stylesheet like in the current admin CSS, but instead relies more on the body having .rtl set.",mitchoyoshitaka
9296,Settings API & Permalink Settings Page Bug,jfarthing84,Administration,2.7.1,normal,major,Future Release,defect (bug),reopened,has-patch,2009-03-07T05:33:55Z,2013-04-22T20:58:19Z,"Although there is a hook in the options-permalink.php to insert custom settings, it does not actually save any custom setting which is added to that page.  Instead of posting to options.php like all the other options pages, it posts to itself and only handles the form data which is built into the wordpress core.  It should be implemented on that page to also store custom settings that may be hooked onto that page.",jfarthing84
18307,Settings mixed with WP installations sharing same database,,Administration,3.2.1,normal,major,Awaiting Review,defect (bug),new,,2011-07-31T21:22:09Z,2012-02-20T20:27:18Z,"I have WP website installed on main domain, and another WP installation on subdomain. These two share users tables.

When I rearrange admin dashboard widgets, or post editor widgets in one installation, other one uses same settings making the mess due to differences in available elements (different plugins installed).

All WP settings cookies are saved without proper setting of the cookie path/domain, and all sub-domains use same cookies as the main domain does. Cookies have to have full domain set to avoid mix-up like it happens now.

Same issue happens with Opera, Chrome and Firefox.

Milan ",GDragoN
16345,Some submit buttons shouldn't have names,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-01-22T18:24:30Z,2011-02-13T14:38:59Z,"Technically a regression due to the submit_button implementation. What happens instead is the URL gets polluted.

Noticed especially after we moved back to GET on a bunch of screens.

In these cases, we just need the form to be sent. Don't need the context info.",nacin
15993,Sort arrows improperly wrap on narrow columns,,Administration,3.1,normal,normal,Future Release,defect (bug),reopened,,2010-12-27T06:14:21Z,2012-11-01T06:22:32Z,"Specifically, I noticed the 'Posts' column on a taxonomy screen (or 'Links' for link categories, etc).",nacin
15861,Sorting users by post count,,Administration,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-17T10:21:24Z,2012-01-18T22:48:06Z,"Currently, to enable sorting by post count, there's a JOIN made between the users table and the posts table.

This is bad, because users is a global table, which might be stored in a separate database.

Short-term solution for 3.1 is to disable sorting.

Long-term solution is to avoid the JOIN somehow. ",scribu
23397,Taxonomy Parent Dropdown Concealed,,Administration,,normal,normal,3.6,defect (bug),new,has-patch,2013-02-05T18:21:58Z,2013-02-05T19:11:15Z,"When a taxonomy has a really long term, the parent select drop down in the Add New form can be concealed behind the list table.

Normal
[https://dl.dropbox.com/u/2200339/WordPress%20Tickets/TaxSelects/normal.png]

Really Long Taxonomy Item
[https://dl.dropbox.com/u/2200339/WordPress%20Tickets/TaxSelects/really-long-title.png]

Fix
[https://dl.dropbox.com/u/2200339/WordPress%20Tickets/TaxSelects/fixed.png]",desrosj
17036,Theme editor shouldn't override root directory files with same names in child directories,,Administration,3.1,normal,normal,Future Release,defect (bug),new,,2011-04-03T19:11:33Z,2012-06-27T10:23:07Z,"'''Steps to reproduce:'''
1. Create subdirectory: blogs
1. Create file in subdirectory: index.php
1. Try selecting Main Index Template in Theme Editor

Example is taken from BuddyPress' theme structure. `get_file_description()` doesn't account in any way for the presence of subdirectories since it uses `basename()`.",kawauso
17635,Themes page should have search subtitle,,Administration,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-06-01T12:15:05Z,2011-06-01T14:26:16Z,"Most admin pages display the term that the user has searched for when displaying search results, but the Themes page (under site admin) doesn't.

[16525] seems to have excluded it in the AJAXified list tables, but gives no reasoning.",kawauso
22839,Toggle spinners by adding/removing a class instead of show()/hide(),,Administration,3.4.2,normal,normal,3.6,defect (bug),new,has-patch,2012-12-09T18:17:02Z,2013-01-24T22:13:37Z,"I've noticed a bug with the spinner while updating a previous submission (ticket:19159). It worked in 3.4 when .ajax-feedback was used instead of .spinner.

Elements with class .spinner don't show up in any .sidebar-name (e.g. Main Sidebar, Inactive Widgets etc.) when an action is in progress (e.g. clearing inactive widgets).",cdog
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
21249,WP_List_Table::single_row_columns() needs to do an exact comparison,,Administration,,lowest,trivial,Future Release,defect (bug),new,has-patch,2012-07-13T01:20:28Z,2012-11-07T22:05:29Z,"If for whatever reason you pass a column ID of `0` when dealing with a list table, !WordPress thinks it's a checkbox column because of the loose comparison, i.e. `==` instead of `===`.

Since I don't see why passing a number instead of a string shouldn'r be allowed, attached is a patch.",Viper007Bond
16864,WP_Terms_List_Table doesn't call sanitize_term() on display,,Administration,2.9,normal,minor,Awaiting Review,defect (bug),new,has-patch,2011-03-16T12:54:07Z,2011-06-22T17:05:26Z,"Steps to reproduce:

Add this filter:

{{{
add_filter( 'category_slug', function() {
  return 'filtered';
} );
}}}

and go to {{{edit-tags.php?taxonomy=category}}}",scribu
22700,Walker_Category_Checklist should sometimes set the value as the term name,,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-12-03T19:45:57Z,2013-02-19T05:12:08Z,"The `Walker_Category_Checklist` class has been partially adapted to work with taxonomies other than `category`, but it does not seem to cope with non-hierachical taxonomies.

For non-hierachical taxonomies, the HTML form elements (checkboxes, radios, dropdowns, whatever) need to set the term **name** as the value, not the ID… otherwise WordPress will cast the ID to a string and create a new term with that string as a name.

To see the problem:

* Use `Walker_Category_Checklist` to create a checkbox in a metabox on the post edit screen for a non-hierarchical taxonomy
* Add some terms to the taxonomy
* Check the box for the taxonomy and update the post
* Watch a new term appear with its name set to the ID of the term you checked


",simonwheatley
24297,WordPress 3.6 UI - Post Visibility Buttons Jumps User to Bottom of Page and Does Not Open Option,,Administration,trunk,normal,major,Awaiting Review,defect (bug),new,close,2013-05-09T17:40:52Z,2013-05-10T21:22:30Z,"Using the WordPress.com 3.6 UI test version, in Firefox older than version 19 (tested on 17-19 across multiple Windows computers in my college class) clicking Post Edit > Publish > Visibility jumps the user to the bottom of the web page and the Visibility option does not open to reveal the Public, Private, and Password Protection options. 

Works in Chrome, so the students all switch to Chrome for that exercise. 

This has been in play for almost three weeks. 

These tickets might be associated with the issue: #23817, #23684.

Thanks!


",Lorelle
11207,WordPress may display incorrect message when post is saved/published/etc,bsamrajni*,Administration,2.9,normal,normal,Future Release,defect (bug),accepted,has-patch,2009-11-20T20:23:23Z,2011-06-25T20:35:42Z,"When post is saved, WP calls `wp_insert_post_data` filter. Plugin can use it to change post status. But even post status has been changed via plugin, WP still displays message basing on action originally executed by user. Need to change this and take into account final post status too.",sirzooro
19531,Wrong error message after correcting an error in username,,Administration,,normal,normal,Awaiting Review,defect (bug),reopened,dev-feedback,2011-12-13T10:07:56Z,2012-12-17T16:11:17Z,"After entering an illegal username (fe. ""Wim (wim@go2people.nl)""), WordPress gives an error message saying:
""ERROR: This username is invalid because it uses illegal characters. Please enter a valid username.""
So far so good.

Now, when I correct the issue and click ""Add new user"" again, the above error message remains in the screen, while the illegal characters are no longer there and the actual error I am facing is that I forgot my password. Which is confusing for me.

The same occurs, when I enter an e-mail which has already been registered. I get the error message:
""ERROR: This email is already registered, please choose another one.""
When I correct, the error message remains, while this particular problem has been solved.

WP v: 3.3
Browser: Google Chrome 14.0 on Ubuntu 11.10
",wimfeijen
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
11311,"kses converts ampersands to &amp; in post titles, post content, and more",,Administration,2.9,normal,normal,Future Release,defect (bug),new,,2009-12-03T01:49:32Z,2013-05-17T10:03:16Z,"Make a test user that has the ""author"" role (i.e. no `unfiltered_html`) and write a post with a title that has `&` in it. After saving, it will becomes `&amp;` due to `wp_filter_kses()`. It gets saved in the database this way too.

It's confusing to the user.",Viper007Bond
13416,media for install.css missing (patch),,Administration,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-05-16T18:48:17Z,2013-01-22T07:40:13Z,In /core-root/wp-includes/general_template.php the function wp_admin_css is missing the @media definition. See patch.,F J Kaiser
16258,nav menus dont save the right type of menu items,,Administration,3.0.4,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2011-01-16T12:57:50Z,2011-01-20T20:47:27Z,"the new Navigation menus when the flag is set ""Automatically add new top-level pages"" when adding a new page to the menu and saves the new menuitem will change from ""page"" to ""userdefined"" as type.

It is always only the last item in the menu there is changeing. ",J0rDZ
24345,preview link for published posts does not apply the preview_post_link filter,,Administration,3.5.1,normal,normal,3.6,defect (bug),new,has-patch,2013-05-15T15:59:25Z,2013-05-15T16:09:01Z,"The ""Preview Changes"" button in the admin section (as created in wp-admin/includes/meta-boxes.php lines 40-49) does not apply the preview_post_link filter if the post has already been published (line 41).

The patch from #19378 ensures that the javascript that is called to open the preview link in a new tab/window DOES apply the preview_post_link filter, so if you click the link normally it will use the correct URL. However, hovering over the ""Preview Changes"" button shows the incorrect URL, and right-clicking the button and opening in a new tab/window opens the incorrect URL as well.

I have attached a patch that applies the preview_post_link filter to the link created for published posts.",joeybvi
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
23684,wp-admin CSS style conflicts with jQuery-UI breaking form elements in Firefox,,Administration,3.5,normal,normal,3.6,defect (bug),new,has-patch,2013-03-04T07:10:22Z,2013-05-10T02:09:17Z,"A default CSS style in the wordpress admin interface, which is loaded through load-styles.php either under the name wp-admin or buttons (both of which are inaccessible for removal as they are not listed in the WP_Styles object) interferes with jQuery-ui in such a way that any radio buttons (and possibly other form elements) that are styled with jQuery-ui in the admin interface (such as with a plugin) cause the browser window to jump to the top of the page when clicked. This behavious occurs with the current Wordpress version 3.5.1 using the latest Firefox 19.0 on linux (haven't tested in windows yet). After spending a few hours tracking down the offending code I narrowed it down to this statement in the admin CSS:
{{{
.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible {
position:absolute;
left:-1000em;
top:-1000em;
height:1px;
width:1px;
overflow:hidden;
}
}}}

The .ui-helper-hidden-accessible class is what is causing the conflict, specifically the ""top:-1000em;"" statement; due to the negative positioning values when a button is clicked the browser tries to focus on something styled with the ui-helper-hidden-accessible class, which is of course way outside the limits of the browser window. In order to correct the error I had to override it with the following in another stylesheet declared after load-styles.php:
{{{
.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible {
position:fixed;
left:1em;
top:1em;
height:1px;
width:1px;
overflow:hidden;
display:none;
}
}}}

We should not have to override default styles like this when making plugins, especially when we are using a js library (jQuery-ui) that is included with wordpress. Either the ui-helper-hidden-accessible class needs to be renamed or the negative values removed and replaced with a display:none; statement to fix this bug.",Colin84
22857,'Header Image' state isn't removed from images previously used as header image,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-11T18:54:08Z,2012-12-11T23:04:31Z,"Steps to reproduce:

 1. Set your site's header image from Appearance -> Header by uploading an image or choosing one from your media library.
 2. Repeat step 1.
 3. Visit the Media Library and note that your previous header image still says 'Header Image' next to it.

Not a 3.5 regression as it happens in 3.4.2 too.

",johnbillion
22030,"After ""clear background-color"" in design options, still css is added to html-output",,Appearance,3.4.2,normal,normal,3.6,defect (bug),reopened,commit,2012-09-28T08:45:20Z,2013-04-22T19:12:19Z,"After you select ""clear background-color"" in design options, the default color still is added as inline css to html-output of frontend.

Tested with 3.4.2 and Twenty Twelve 1.0 theme

Steps to reproduce:

1. Look at default html-output, no inline css for background-color
2. Design -> Background -> Color, select e.g. color #123456, save
3. Look at html-output, this is added:

{{{
<style type=""text/css"" id=""custom-background-css"">
body.custom-background { background-color: #123456; }
</style>
}}}

4. Design -> Background -> Color -> Click ""clear"" option, save
5. Look at html-output, this is added with default value:

{{{
<style type=""text/css"" id=""custom-background-css"">
body.custom-background { background-color: #e6e6e6; }
</style>
}}}


Expected behaviour: After ""clear"" option is used and default value #e6e6e6 (or only a #) is shown in backend, no inline css should be included in html output of frontend.
",Ov3rfly
24032,An issue with the theme customize function and jQuery tabs,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-10T15:07:04Z,2013-04-10T18:31:50Z,"WP 3.5.1 ( same happens in the 3.6 beta-1 )
No plugins installed ( vanilla WP )
TwentyTwelve Theme ( happens with TwentyThirteen as well )

So when you have or using jQuery Tabs in a page and you go to the theme customize page, the customizer panel will become sluggish and not very responsive when you hover your mouse over the accordion panel and if you look at the preview, the content is jumbled and also very sluggish.  It seems something is executing in a loop over and over again making it sluggish but I did not see anything in the error console for some reason.  Perhaps this is because it is on an iFrame.

Please note that the page in the frontend loads just fine with the jQuery Tabs and works normally.  It is only when you use the backend theme customize page is where this issue starts.

I have tried this in both 3.5.1 and 3.6 beta-1 and same results.

Here are the steps to reproduce this.

In functions.php load up:

{{{
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-tabs' );
}}}

In the homepage (any page) put in:

{{{
<div class=""test"">
<ul>
<li><a href=""#abc"">abc</a></li>
<li><a href=""#xyz"">xyz</a></li>
</ul>
<div id=""abc"">
	some content here
</div>
<div id=""xyz"">
	some other content
</div>
</div>
}}}

In theme js, put in:

{{{
$('.test').tabs();
}}}

Then go to your homepage in the frontend to confirm the tabs are working and normal.  Now go to the backend theme customize and you will see the issue I am trying to describe.",splashingpixels.com
23554,Change Header Delete Behavior,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-20T07:11:27Z,2013-02-20T08:57:30Z,"When clicking the Remove header button, it should remove the header image from the list of images for rotation as well as remove from the currently selected image.  Currently you must delete the image from the media library (which may be several hundred or thousand images deep) to remove it from the list.",tribuseric
22148,Customizer Uploader doesn't handle large files properly,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-10-10T05:07:34Z,2012-11-11T18:14:45Z,"Both of these tests were with image files larger than the max file size - 3MB images with a 2MB max file size:

Dragging the file onto the upload area, the browser window redirects to the location of the local file, the same as if the file were dragged to a non-dropzone area.

When using the file browser to select the file, the upload fails silently.

In both cases, an error similar the Media Uploader would be preferable.
",pento
23225,Customizer is Incompatible with jQuery UI Tabs.,,Appearance,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-01-17T09:34:21Z,2013-05-10T03:39:09Z,"Steps to reproduce:

 1. Install the attached mfields-test-jquery-ui-tabs.php plugin.
 2. Open the Chrome console.
 3. Open the customizer and watch the console.

At this point you should see that a slew of XHR requests are triggered. If you reach a certain type of javascript error then the XHR requests will stop and the preview frame in the customizer will go blank.

It seems like jQuery UI Tabs and the customizer are currently incompatible. This will affect any theme or plugin that is using this library including the popular [http://wordpress.org/extend/plugins/genesis-tabs/ Genesis Tabs] plugin.",mfields
21890,Customizer spinner breaks button alignment with longer strings,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,,2012-09-14T10:57:02Z,2012-11-08T22:01:23Z,See the screenshot.,SergeyBiryukov
22037,Customizer: Live preview fetches page but does not display,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-09-28T15:14:54Z,2012-11-14T17:29:37Z,"I just set-up a plain installation of 3.4.2. Configured it for multisite use. Set-up two sites, both working fine.

When going into a sites Appearance settings to customize the theme (TwentyEleven), the Customizer shows the control panel on the left, but the preview remains blank.

Firebug shows no Javascript errors.

'''It also shows, that a POST request is sent to fetch the front page and that the page is actually returned in the response. It appears the response is just not added to the right-hand preview area.'''",marcoliverteschke
21241,Default value for background_image_thumb fails when background_image URL includes a percent sign,,Appearance,3.4.1,normal,minor,3.6,defect (bug),reopened,has-patch,2012-07-12T16:49:14Z,2013-01-17T04:14:38Z,"If the background_image theme mod is set to a URL that includes a percent sign, and if background_image_thumb is not set, the code that uses background_image as the default setting for background_image_thumb fails due to get_theme_mod interpreting the percent signs in the background_image URL as sprintf conversion specifications.

I don't think that this situation can occur in a vanilla WordPress install (but that might be host-specific), but it's entirely possible that a plugin would set background_image to a URL including a percent sign.",cfinke
22498,Disabling Header Text should not reset Header Text Color to default,,Appearance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-18T22:31:17Z,2012-11-18T22:31:17Z,"In Appearance > Header, if you uncheck the 'Show header text with your image' option and Save, the Text Color option is reset to whatever the default is.

With JS enabled, the Text Color option is hidden when the checkbox is unchecked, but in no-js both options are displayed all the time. It's odd to set a header text color and uncheck the option only to have it reset your choice to the default.

Related: #22461",DrewAPicture
23761,Empty header color after enabling header text via Customizer,,Appearance,3.4,normal,normal,3.6,defect (bug),new,reporter-feedback,2013-03-13T19:59:14Z,2013-04-10T21:51:25Z,"Background: #23722

1. Go to Appearance > Header, disable header text.
2. Go to Customizer, enable header text.
3. Go to Appearance > Header again. `get_header_textcolor()` will return an empty value.

Bundled themes handle this situation differently:
* Twenty Thirteen shows the header with a wrong color (see the screenshot). 
* Twenty Twelve also has an empty color in the style attribute (as in the screenshot), but it still shows the correct color due to the declaration in `twentytwelve_admin_header_style()`:
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/twentytwelve/inc/custom-header.php#L109
* Twenty Eleven doesn't display the header on Appearance > Header screen at all after those steps, because it specifically checks that `get_header_textcolor()` is not empty:
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-content/themes/twentyeleven/functions.php#L313

If you disable and re-enable header text on Appearance > Header screen, the correct color will be restored.",SergeyBiryukov
20729,Improve Admin Colors CSS enqueuing,,Appearance,3.1,normal,normal,Future Release,defect (bug),new,early,2012-05-22T17:19:58Z,2012-05-22T17:20:17Z,"The hacky way in which we enqueue the admin colors css means that you get different ordering of the CSS between the development version of the scripts and the script-loader sourced version of the scripts.

This can cause CSS bugs which don't show when developing but do when running with the script loader - e.g. #16827

It also makes it harder to implement a custom css concatenator.

We should do something like - http://core.trac.wordpress.org/attachment/ticket/16827/colors-hacked-fixed.diff

To make this properly enqueue the styles.

We should also make this kind of call fire a {{{_doing_it_wrong()}}} as {{{true}}} is not a url :)

{{{
$styles->add( 'colors', true, array('wp-admin') );
}}}

This code harks back from [7976]",westi
23449,Refactor customizer accordion to work anywhere in admin,markjaquith,Appearance,,normal,normal,3.6,defect (bug),reopened,has-patch,2013-02-11T14:23:41Z,2013-04-02T01:39:54Z,"We'll plan to use the default styles/structure from the customizer accordion for menu item selection options on nav-menus.php.  Currently the code is very customizer specific.  

- The class names should be made more generic.  
- The CSS should be extracted and placed in wp-admin.css
- The JS, should be moved so that you don't have to include the customizer JS elsewhere in the admin to re-use the accordion code.",lessbloat
23969,"Sometimes when opening the theme customizer, then closing it, the URL gets 'stuck' at /wp-admin/customize.php",,Appearance,trunk,normal,normal,3.6,defect (bug),new,,2013-04-06T23:58:26Z,2013-04-16T09:06:40Z,"Just what I said.

If I open the customizer, scroll down a bit, then back up, then click to close it, the URL doesn't change back as it should.

I can then click through to any other page on the admin or front-end, and the URL will still stay as /wp-admin/customize.php

View the bug in action here: http://youtu.be/RbdkudX6yGw",georgestephanis
23455,Theme Customizer does not load when static Front Page is moved to Trash,,Appearance,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-12T12:27:37Z,2013-04-23T22:33:32Z,"Steps to reproduce:

1. Go to Pages > Add New, and publish a new page
2. Go to Appearance > Themes > Customize
3. Under Static Front Page, set this new Page as your Front Page. Save changes
4. Go to Pages > All Pages, and trash the page
5. Go back to the customizer
    * The sidebar loads, but not the preview
    * I see the following error in the console: http://i.wpne.ws/MpDR

When commenting out {{{$this->handle_404();}}} in [http://core.trac.wordpress.org/browser/trunk/wp-includes/class-wp.php#L550 wp-includes/class-wp.php#L550], the Preview appears again, but generates quite a lot of notices.

Tested with WordPress Trunk (Version 3.6-alpha-23400)",jeherve
20859,Theme Installer: Preview should be scrollable on iPad and Kindle Fire,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,,2012-06-06T21:51:09Z,2012-06-08T21:10:27Z,"Related to #20805. We've added techniques for smoothly scrolling iframes when they're the only frame on the page, but the theme installer still uses the overlay technique.

We may be able to iron this out in a similar fashion. Given that the old installer also used an overlay technique, this is not a regression.",koopersmith
21492,Theme customizer > Static front page: missing error message when front page and posts pages are similar,,Appearance,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-06T00:15:25Z,2012-08-06T01:11:40Z,"Steps to reproduce:

1. Activate Twenty Eleven
2. Open the Customizer
3. In ""Static Front page"", choose the same page as your front page and Posts page:
  * You do not receive any warning 
  * http://i.wpne.ws/IYAO
  * In Reading Settings, you do actually receive a warning: http://i.wpne.ws/IY2S (see http://core.trac.wordpress.org/browser/trunk/wp-admin/options-reading.php#L99 )

Would it be possible to display the same warning in the Customizer, to avoid any confusion for the users?

Related: #19627 and #16379",hd-J
20733,Theme customizer doesn't order sections based on order added,,Appearance,3.4,normal,normal,Future Release,defect (bug),new,early,2012-05-22T23:36:48Z,2013-01-21T15:16:04Z,"When adding sections to the theme customizer, sections with the same priority are given seemingly random order. From the [http://core.trac.wordpress.org/ticket/19910 original customizer ticket]:

> Settings and sections both contain priority parameters (you can specify these in the constructor or alter them afterwards) which serve as the primary means of sorting sections before they're rendered. The order settings/sections are added serves as a secondary sorting mechanism (tiebreaker) when multiple items share the same priority.

I was under the impression that if the priority was the same, the sections would appear in the order they were added. However, if you add sections A, B, and C (in that order) it seems to display them in order B, C, A.

To replicate, add this code to your theme:

{{{
add_action( 'customize_register', 'theme_customize_register' );

function theme_customize_register( $wp_customize ) {
	// Register Section A
	$wp_customize->add_section( 'theme_section_a', array(
		'title'    => 'Section A',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_a', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_a', array(
		'section'    => 'theme_section_a',
		'type'       => 'text',
	) );

	// Register Section B
	$wp_customize->add_section( 'theme_section_b', array(
		'title'    => 'Section B',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_b', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_b', array(
		'section'    => 'theme_section_b',
		'type'       => 'text',
	) );

	// Register Section C
	$wp_customize->add_section( 'theme_section_c', array(
		'title'    => 'Section C',
		'priority' => 35,
	) );
	$wp_customize->add_setting( 'theme_option_c', array(
		'type'              => 'option',
	) );
	$wp_customize->add_control( 'theme_option_c', array(
		'section'    => 'theme_section_c',
		'type'       => 'text',
	) );
}
}}}

'''Expected result:''' Sections show up in order A, B, C

'''Actual result:''' Sections show up in order B, C, A

Sorry if I'm doing something stupid, or if this isn't the intended functionality. I'm running trunk without any plugins.",andyadams
14979,custom background view shows cropped image and not original upload,,Appearance,3.0.1,normal,normal,3.6,defect (bug),new,dev-feedback,2010-09-27T19:59:12Z,2013-02-06T11:53:18Z,"trying to upload a very tall image to the custom background area (for example 100*1100px width*height) works but the image that is then shown in the view-pane is the cropped/thumbnail version of the upload and not the original image the user added.

it is possible a site would have a repeat-x on a really tall image.",obvio
23956,jQuery UI Datepicker adds empty but visible div at bottom of page,,Appearance,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-06T01:52:12Z,2013-04-06T08:19:52Z,"This bug seems to be related to the [http://bugs.jqueryui.com/ticket/4111 this] jQuery UI bug, which has been fixed, but the following WordPress stylesheet seems to be making the bug re-appear:

wp-includes/css/jquery-ui-dialog.min.css

As far as I can tell, removing the following rule seems to fix it:


{{{
.ui-helper-clearfix:after {
    content:""."";
}
}}}
",julianm
17557,"AtomPub service sends duplicate status headers, breaking FastCGI",,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-05-25T20:33:33Z,2011-08-08T01:00:38Z,"The AtomPub service (wp-app.php) sends duplicate Status headers when authorization is not provided, which breaks on FastCGI setups. This is seen when you attempt to connect to the service using e.g. [https://github.com/calavera/Ape Ape], resulting in the following error message in the Apache logs:

{{{
[Wed May 25 16:09:21 2011] [error] [client 10.5.62.176] FastCGI: comm with server ""/tmp/webadmin_test"" aborted: error parsing headers: duplicate header 'Status'
}}}

This results in a 500 Internal Server Error from Apache:

{{{
HTTP/1.1 500 Internal Server Error 
Date: Wed, 25 May 2011 20:09:21 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.6RC4-pl0-gentoo 
Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Last-Modified: Wed, 25 May 2011 20:09:21 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
WWW-Authenticate: Basic realm=""WordPress Atom Protocol"" 
Content-Length: 735 
Connection: close 
Content-Type: text/html; charset=iso-8859-1 

<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML 2.0//EN""> 
<html><head> 
<title>401 Credentials required.</title> 
</head><body> 
<h1>Credentials required.</h1> 
<p>The server encountered an internal error or 
misconfiguration and was unable to complete 
your request.</p> 
<p>Please contact the server administrator, 
webmaster@ufl.edu and inform them of the time the error occurred, 
and anything you might have done that may have 
caused the error.</p> 
<p>More information about this error may be available 
in the server error log.</p> 
<p>Additionally, a 500 Internal Server Error 
error was encountered while trying to use an ErrorDocument to handle the request.</p> 
<hr> 
<address>Apache Server at test.news.ufl.edu Port 80</address> 
</body></html>
}}}

Patch attached to refactor Status headers in wp-app.php to use the {{{status_header}}} function like most of the code uses.  There's also a function that handles which I have refactored to use {{{wp_redirect}}}. Affects all versions back to 2.9.2, including trunk.

Examples of this issue (and corresponding fixes) include:
* #2628
* http://trac.symfony-project.org/ticket/3191",dwc
7361,Fixes for wp-app with PHP-CGI,markjaquith,AtomPub,2.9,normal,normal,Future Release,defect (bug),assigned,dev-feedback,2008-07-20T18:10:03Z,2012-10-17T18:10:44Z,"I was trying to use Atom Publishing Protocol with my blog I a have found some quirks and bugs.

My blog is hosted at Dreamhost, and, as far as I know, is using Apache 2.0.61 and PHP 5.2.6 as CGI. My first problem was, obviously, the authentication, but neither the solutions from [http://codex.wordpress.org/AtomPub the Codex] or [http://joseph.randomnetworks.com/archives/2007/09/19/http-basic-authentication-a-tale-of-atompub-wordpress-php-apache-cgi-and-ssltls/ this other blog post] worked. Reserching seems like PHP5 as CGI doesn't forward HTTP_AUTHORIZATION header, and nothing seems to change its mind. But it seems to forward REMOTE_USER as REDIRECT_REMOTE_USER. With my patch and this code in the .htaccess the authorization seems to work:

{{{
RewriteCond %{HTTP:Authorization} !^$
RewriteRule wp-app.php wp-app.php [E=REMOTE_USER:%{HTTP:Authorization},QSA,L]
}}}

The other patch is to fix a bug in the wp-app.php code. It seems that when working with PHP as CGI, the ""Status:"" header needs to follow a specific format, with the number, and then the reason. The actual code (from Subversion, but it's there at least from version 2.5.1) do not send the number, making CGI/PHP/Apache to return with a ""500 Internal Server Error"" instead the ""401 Credentials Requiered"", confusing Atom clients. My other patch fixes this.",yonosoytu
18060,image upload handling between atompub and xmlrpc different,,AtomPub,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-07-10T12:33:27Z,2012-06-17T12:58:30Z,"Uploading images via XMLRPC generates different image sizes in addition to the original image. Uploading the same image through AtomPub will only create a single original file in the uploads/year/month/ directory, the thumbnail and different formats normally generated on upload are missing. It is probably because wp_handle_upload is missing from the wp-app.php create_attachment definiition - it only uploads the bits and creates an attachment, but neither handles metadata updates nor image thumbnail generation.",rfc1437
15069,Autosave function assumes that there is only on tinyMCE on the page,,Autosave,3.0.1,normal,normal,Future Release,defect (bug),new,early,2010-10-08T10:28:12Z,2011-01-14T09:35:22Z,"Autosave javascript assumes there is only one tinyMCE instance on the post editor page, thus breaking autosave feature under the next circumstances:
1. Content editor is in HTML mode
2. Some custom tinyMCE instances are added to the page by some plugin or theme.

A patch that fixes that problem is attached.",karevn
7392,Don't create new autosave revision if nothing has changed yet,westi,Autosave,2.6,normal,minor,3.6,defect (bug),reopened,has-patch,2008-07-23T22:03:39Z,2013-05-09T15:22:06Z,"I noticed that simply loading and saving a post creates a new revision. This seems rather dumb to me. Could we not load the post up, compare it with the revision, and not create a whole new revision if nothing changed (ignoring post save time, of course)?

Discuss.",Otto42
11049,Page Preview does not autosave page template,nacin*,Autosave,2.8.4,normal,normal,Future Release,defect (bug),accepted,dev-feedback,2009-10-30T21:19:34Z,2012-10-12T17:57:32Z,"When editing a published page, if you change the page template and then click Preview, the preview does not show the new template choice. ",janeforshort
23960,Trigger local autosave when full save is initiated,,Autosave,trunk,high,major,3.6,defect (bug),new,,2013-04-06T13:44:18Z,2013-04-11T02:51:53Z,"It appears that a fresh local autosave isn't triggered when you initiate a real update. So if something goes wrong, the version you'll be offered to restore may not be the version you had when you clicked the save/publish version.",markjaquith
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
4337,Blog by Email: No content is assumed,westi*,Blog by Email,2.2,high,major,Future Release,defect (bug),accepted,,2007-05-25T18:59:09Z,2013-02-05T03:14:40Z,"It seems, the Blog by Email functions is broken in WP 2.2.
Mails are recognized, but only the title/subject is assumed - no content. Content is empty :(
No matter if text email or html email.


{{{
Author = bla@example.org 
 
Content-type: text/plain, Content-Transfer-Encoding: 8bit, boundary: 
 
Raw content:
 
Author: 1
 
Posted title: Test
Posted content:
 
Mission complete, message 1 deleted.
}}}
",jottlieb
4965,Blog by Email: any images and attachments in your email are not being posted inline,westi,Blog by Email,2.3,normal,normal,Future Release,defect (bug),new,,2007-09-12T18:15:29Z,2009-10-11T21:07:33Z,"Blog by Email: any images and attachments in your email are not being posted inline

Remaining issue from #4829.",foolswisdom
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
5915,Same problem as in #252: apop broken if zero occurs in banner in 2.3.3 class-pop3.php,westi*,Blog by Email,2.3.3,normal,normal,Future Release,defect (bug),accepted,has-patch,2008-02-19T05:21:02Z,2009-10-11T21:08:22Z,"While extracting the banner (function parse_banner) in preparation for apop, the empty method is called on $digit which when zero returns false and hence doesn't get put into the resultant $banner.

Example parse_banner reply with <14649.123343777@code-werk.net> but the string was ""+OK ready <14649.1203343777@code-werk.net>""
or another example
""+OK ready <14649.1203343777@code-werk.net>"" and $pop3->parse_banner give back <14419.12334323@code-werk.net>

then a md5($AuthString) must fail, because the 0 is significant by apop.

I put a workaround at http://www.babsi.de/silentapop/, that does it for me, but this touch also wp-main.php

",ASonno
5252,base64-encoded post-by-email post garbled.,westi*,Blog by Email,2.3,normal,normal,Future Release,defect (bug),accepted,,2007-10-24T08:58:20Z,2009-10-11T21:07:58Z,"When posting-by-email, my cellphone submits code using ""content-transfer-encoding: base64"". The message appears (output from wp-mail.php) like so:

Author = [my email] <p><p><b>Content-type:</b> text/plain, <b>Content-Transfer-Encoding:</b> base64, <b>boundary:</b> </p>
<p><b>Raw content:</b><br /><pre>SnVzdCB0ZXN0aW5nIHBvc3RpbmcgZnJvbSBteSBjZWxsLiBTdHJ1Y2sgbWUgd2hpbGUgcmVh
ZGluZyAgUmFwaCBLb3N0ZXIncyBwb3N0cyBhYm91dCB0aGUgZmlyZXMgaW4gQ2FsIHRoYXQg
YmVpbmcgYWJsZSB0byBwb3N0IHRvIHlvdXIgYmxvZyBmcm9tIGEgY2VsbHBob25lIGlzIGEg
dXNlZnVsIGZlYXR1cmUuIA==</pre></p>
<p><b>Author:</b> 1</p>
<p><b>Posted title:</b> =?utf-8?B?Q2VsbHBob25lIHBvc3RpbmcgaW4gV1A=?=<br />
<b>Posted content:</b><br /><pre>SnVzdCB0ZXN0aW5nIHBvc3RpbmcgZnJvbSBteSBjZWxsLiBTdHJ1Y2sgbWUgd2hpbGUgcmVh
ZGluZyAgUmFwaCBLb3N0ZXIncyBwb3N0cyBhYm91dCB0aGUgZmlyZXMgaW4gQ2FsIHRoYXQg
YmVpbmcgYWJsZSB0byBwb3N0IHRvIHlvdXIgYmxvZyBmcm9tIGEgY2VsbHBob25lIGlzIGEg
dXNlZnVsIGZlYXR1cmUuIA==</pre></p><p>Mission complete, message <strong>1</strong> deleted.</p>

The provided patch detects base64-encoded content transfers and base64_decodes them. For some reason (I'm no utf8-expert) the TITLE of the post has ""=?utf-8?B?"" prepended to the actual base64 content (see above), which means a check for this string + a cropping is needed or base64_decode will not decode the post title properly.",kallewoof
16993,wp-mail.php doesn't account for half-hour and quarter-hour timezones.,,Blog by Email,3.1,normal,trivial,Future Release,defect (bug),new,has-patch,2011-03-29T06:55:06Z,2012-11-07T22:14:58Z,"To reproduce the problem, install Wordpress and set it to post by email. Send a post from an email address which is configured to use a half-hour or quarter-hour timezone (like Afghanistan, +0430).

wp-mail.php calculates the timezone by multiplying the timezone offset by 36. This works fine for whole-hour timezones (Pacific Time -0800, -800 * 36 = -28800 seconds). For half-hour and quarter-hour time zones this does not work (Afghanistan +0430, 430 * 36 = 15480, should be 16200). The reason this happens is because an hour has 60 minutes as opposed to 100  minutes. 430 / 100 = 4.3 hours, not 4.5 hours. 450 * 36 result in 16200 minutes, but timezones are represented as hours and minutes, not fractional hours.

This results in posts that are posted via email from a half-hour or quarter-hour timezone to be posted in the future or in the past from when it was actually posted.",neoscrib
14798,Twenty Ten Theme - adding an extra skip link,,Bundled Theme,,normal,normal,WordPress.org,defect (bug),new,,2010-09-07T12:07:33Z,2012-08-09T20:12:48Z,"Being able to skip to content is good, but currently there is no easy way to jump to the sidebar menu. 

In order to add this extra skip (jump to menu) link I've changed the div to ul. CSS changes are similar to #14795 but tweaked to allow for the new markup.

",elfin
24329,Twenty Thirteen: Comment Name to length stretches into comment,,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-13T16:58:36Z,2013-05-20T22:43:04Z,"I finally moved twenty thirteen to my actual website (yeah!) and I found an issue in a comment author area. 

His nickname is CambridgeBayWeather which is 20 characters long and all one word. This make his nickname stretch into the actual comment field.
See Screenshot: http://cl.ly/image/1C313Z0Q1N1O

And Direct Link:  http://robertdall.com/2013/04/29/expo-86-lies-and-wikipedia/#comment-18 
",rdall
24298,Twenty Thirteen: RTL for editor styles,,Bundled Theme,,normal,normal,3.6,defect (bug),new,has-patch,2013-05-09T20:11:15Z,2013-05-20T22:35:09Z,TODO,lancewillett
24306,Twenty Thirteen: border-box box sizing will break many plugins,,Bundled Theme,trunk,normal,normal,3.6,defect (bug),new,,2013-05-10T17:14:19Z,2013-05-17T17:48:25Z,"WordPress 3.6-beta2-24227

/wp-content/themes/twentythirteen/style.css
{{{
* {
    -moz-box-sizing: border-box;
}
}}}

The setting of box-sizing to border-box for all elements rather than the default content-box (as used for twentyten, twentyeleven, and twentytwelve themes) will break the styling of many plugins for Firefox.

Strange that this is only done for firefox and the default setting of content-box is used for other browsers.

Suggest this css property be only used only the elements that need it in conjunction with the CSS3 box-sizing property and other browser equivalents.

Andy Bruin


",professor99
24307,Twenty Thirteen: display issues if gallery images are smaller than 300x300,,Bundled Theme,trunk,high,normal,3.6,defect (bug),new,has-patch,2013-05-10T18:02:53Z,2013-05-20T22:54:02Z,"WordPress 3.6-beta2-24227

Browser: Only tested on Firefox 20
 
Gallery excerpts on the home page are magnified.

Also missing captions on both excerpt and gallery page.
This may be addressed by  #23584 ""closed defect (bug) (fixed)
Twenty Thirteen: Gallery captions are hidden"" but I'm not sure if captions were still meant to be hidden or displayed.

On the gallery page the centered images look out of place. Much better to displayed them from the left side as done for 2012.

See attached files for screenshots.

Also attached 2012 gallery screenshot for comparison which is the same on both the excerpt and the gallery page.

Andy Bruin",professor99
24143,"When define('WP_CONTENT_DIR', 'your-dir') twentythirteen - The theme directory does not exist.",,Bundled Theme,3.4,normal,normal,Awaiting Review,defect (bug),reopened,reporter-feedback,2013-04-20T10:08:16Z,2013-05-06T22:57:39Z,"If you use either of following in you wp-config.php you'd automatically get a Broken Themes.

{{{
define('WP_CONTENT_DIR', 'your-dir');
define('WP_CONTENT_URL', 'your-url');
}}}

The following themes are installed but incomplete. Themes must have a stylesheet and a template.

Name 	Description

twentythirteen 	The theme directory does not exist.",azizur
23330,"Allow autoloading all options, not just autoload = yes options",,Cache,3.5.1,normal,normal,Future Release,defect (bug),new,,2013-01-30T21:12:57Z,2013-02-21T04:26:41Z,"For 5 years on wordpress.com we have ignored the autoload field for options. In wp_load_alloptions(), autoload = yes is not part of the query. Why? Because wordpress.com has a persistent cache. Thus, the transients that constitute the bulk of autoload = no options are stored in cache, never in the options table. Querying autoload=yes makes the query slower for no reason.

Having autoload = no options also complicates notoptions caching. Core has a notoptions cache that would be unnecessary if you can assume that wp_load_alloptions() loads every option. If an option is not in alloptions, then it does not exist.

Other large sites that use a persistent cache might also like to ignore the autoload flag. Core could automatically switch to ignoring autoload when an external object cache is being used, but administrators might want to control this so they can clean out old transients from options tables and do whatever other housekeeping is desired. So, let's add a filter that allows toggling this. When autoload is being ignored the wp_load_alloptions() query does not include autoload=yes and notoptions is not used.",ryan
22661,Allow object caches to degrade gracefully,,Cache,,normal,normal,Awaiting Review,defect (bug),new,,2012-11-30T20:53:57Z,2013-01-10T00:08:36Z,"Because of the way object caches are loaded, if a custom object cache can't run (say, Memcached or APC is not actually installed), it cannot gracefully degrade to the built-in object cache.

Witness this code in {{{wp_start_object_cache()}}}:

{{{
 	if ( ! function_exists( 'wp_cache_init' ) ) {
		if ( file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
			require_once ( WP_CONTENT_DIR . '/object-cache.php' );
			$_wp_using_ext_object_cache = true;
		} else {
			require_once ( ABSPATH . WPINC . '/cache.php' );
			$_wp_using_ext_object_cache = false;
		}
		$first_init = true;
	} else if ( !$_wp_using_ext_object_cache && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
		// Sometimes advanced-cache.php can load object-cache.php before it is loaded here.
		// This breaks the function_exists check above and can result in $_wp_using_ext_object_cache
		// being set incorrectly. Double check if an external cache exists.
		$_wp_using_ext_object_cache = true;
	}
}}}

So a custom object cache is loaded. If it wants to bail and defer to the built in object caching, it can do that by doing the include itself. But then WordPress sets {{{$_wp_using_ext_object_cache = true;}}} '''after''' that require. So WordPress thinks it is using an external object cache when it's actually not. This leads to oddness.

This can sometimes be hacked around by adding a callback to the very first WP action available that sets {{{$_wp_using_ext_object_cache = false;}}}, but that has issues: calls to the object cache might be made before that code can run, and {{{add_action()}}} is not always available at that point (because some {{{advanced-cache.php}}} drop-ins load the object cache really early. See Batcache.

Proposed solution: change the order of the {{{require_once()}}} and the setting of {{{$_wp_using_ext_object_cache}}}. That way, the external object cache can override the variable.",markjaquith
22526,Changing category doesn't invalidate cache,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-21T11:55:37Z,2012-11-21T11:55:37Z,"Hi,

I am using object-cache.php Memcached v2.0.2 (Dropins) with the current WordPress version, but I don't think this has anything to do with the dropin.

I noticed that category changes don't invalidate/update the cache.

For example:
1. Create a category ""Foo"".

2. Assign some postings to ""Foo"".

3. View your postings in backend and frontend, so that results get cached.

4. Rename ""Foo"" category to ""Bar"".

5. Reload some postings, which are in that category. But they still display the old ""Foo"" category instead the new ""Bar"" category name.

Flushing memcached would ""solve"" this problem, that's why I think renaming categories don't invalidate/update the cache.",Whissi
24244,Clean post cache when post was moved to trash,,Cache,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-05-02T00:36:22Z,2013-05-02T00:36:22Z,Clean post cache when post was moved to trash,m_uysl
22683,Don't load advanced-cache.php when running via CLI,,Cache,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-12-02T18:46:48Z,2012-12-03T20:05:29Z,"When you're loading WP via a command-line program, it doesn't make much sense for a plugin like WP Super Cache to take over. It's not like you have thousands of CLI users hammering the install.

Example issue in wp-cli: https://github.com/wp-cli/wp-cli/issues/164",scribu
21267,Kill the serialization of $wp_filter in get_terms(),,Cache,,normal,normal,Future Release,defect (bug),new,has-patch,2012-07-13T21:35:11Z,2013-01-22T19:35:23Z,"We use this as part of a persistent cache key:

{{{
serialize($GLOBALS['wp_filter']['list_terms_exclusions'])
}}}

See [8225].

This is not good for two reasons. First, well, it's a not fun to reach into our internal API like that. But worse, it's broken whenever an object method is used, because spl_object_hash() will be unique to that object, thus rendering the cache invalidated on the next pageload.

As an aside, we should probably have _wp_filter_build_unique_id() create a delimiter when dealing with a static class method — `$function[0].$function[1]` can conflict with a legitimate function name.

I'm not sure how this should be fixed.",nacin
22478,Remove $force argument from WP_Object_Cache::delete(),,Cache,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-11-16T19:02:07Z,2012-11-16T19:02:07Z,This was introduced way back in [3086] and hasn't been needed for years.,ryan
11531,Some taxonomy names should be disallowed,ryan,Cache,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-12-20T14:30:46Z,2013-05-16T15:05:44Z,"I haven't tested, but can't we can get all sorts of weird bugs (some of which could have potential side effects in the security department) if a term taxonomy is called users, userlogins, posts, etc.?

the reason are lines such as:

{{{
wp_cache_add($term->term_id, $term, $term->taxonomy);
}}}
",Denis-de-Bernardy
14485,Taxonomy hierarchy cache isn't properly refreshed,,Cache,3.0,high,normal,Future Release,defect (bug),new,needs-unit-tests,2010-07-31T03:11:13Z,2013-04-30T20:46:25Z,"I've developed a plugin that can create parent and children categories at the same time. It works well at 2.8.6 but it doesn't work as what I expect at 3.0.

When I create new parent and children categories at the same time, it only shows parent category in the Categories dashboard, but the children category is actually created. If I create another category or delete one category, the children category shows up. I think it should be a problem of wordpress cache, but I have no idea where to start tracing.

I use wp_create_category at wp-admin/includes/taxonomy.php to create categories. Besides, I have tried clean_term_cache but it didn't help. And I didn't activate other plugins when I tested this plugin.

It happened exactly when creating NEW parent and children categories.",thealien
23290,"When using switch_to_blog() with a persistent object cache that lacks wp_cache_switch_to_blog() support, non-persistent groups are not maintained",,Cache,3.0,normal,normal,3.6,defect (bug),new,has-patch,2013-01-25T05:28:44Z,2013-03-02T22:00:54Z,"If you're using a persistent object cache that lacks the new `wp_cache_switch_to_blog()` support, WordPress core `else`s into a complete cache clobbering branch. It is smart about grabbing the global groups and re-adding those after `wp_cache_init()` is called, but it doesn't do the same for non-persistent groups. Those are a hardcoded array. So if you call `switch_to_blog()`, you would lose any custom-added non-persistent groups.",markjaquith
22174,"_get_non_cached_ids() should use wp_cache_get_multi(), if available.",,Cache,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-10-12T14:12:40Z,2013-01-10T00:10:20Z,Add wp_cache_get_multi() to all cache backends and conditionally use it in _get_non_cached_ids() so that post objects can be fetched from cache in parallel.,ryan
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
23381,update_option() stores unserialized value in object cache,,Cache,3.0,normal,normal,3.6,defect (bug),new,has-patch,2013-02-04T15:03:53Z,2013-02-22T12:11:37Z,"`update_option()` and `add_option()` have inconsistent behaviour when storing items in the cache. `add_option()` stores the serialized version, whereas `update_option()` stores the raw data. When using APC for object caching, this can result in objects being loaded in `wp_load_alloptions()` before the class for it is defined in a plugin.

In `update_option()` (storing raw data):
{{{
	$_newvalue = $newvalue;
	$newvalue = maybe_serialize( $newvalue );

	// ...
			$alloptions[$option] = $_newvalue;
			wp_cache_set( 'alloptions', $alloptions, 'options' );
	}
}}}

Whereas in `add_option()` (storing serialized data):
{{{
	$_value = $value;
	$value = maybe_serialize( $value );

	// ...
			$alloptions[$option] = $value;
			wp_cache_set( 'alloptions', $alloptions, 'options' );
}}}

Example plugin included, breaks horribly when using the APC cache, as that doesn't enforce serialization internally. This only occurs when using `update_option()` on an existing option.

Looks like this was introduced in r13673.

= Steps to reproduce =
  1. Install markjaquith's APC object caching plugin
  2. Activate my plugin. Each refresh will append an object to the array
  3. Note output is:
{{{
array(0) {
}
}}}
  4. Refresh. Note new output is:
{{{
array(1) {
  [0]=>
  object(rmccue_Test_Object)#275 (0) {
  }
}
}}}
  5. Refresh again. Output should be:
{{{
array(2) {
  [0]=>
  object(__PHP_Incomplete_Class)#5 (1) {
    [""__PHP_Incomplete_Class_Name""]=>
    string(18) ""rmccue_Test_Object""
  }
  [1]=>
  object(__PHP_Incomplete_Class)#6 (1) {
    [""__PHP_Incomplete_Class_Name""]=>
    string(18) ""rmccue_Test_Object""
  }
}
}}}",rmccue
21879,wp_count_posts() cache is not destroyed after post inserts and deletions,,Cache,3.4.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-09-13T01:23:38Z,2012-09-13T02:11:19Z,"`wp_count_posts()` caches its results, but that cache is not destroyed when posts are inserted, deleted, or transitioned. This can lead to incorrect counts.

The attached patch fixes that (although it doesn't destroy the cache set when `$perm='readable'` in `wp_count_posts()`, which would be more complex as we wouldn't know the name of the key(s), though it could be done with `preg_match`).

",mark8barnes
15256,?cat=## permalinks do not redirect when category is a parent,,Canonical,3.0.1,high,normal,Future Release,defect (bug),reopened,needs-unit-tests,2010-10-30T05:44:18Z,2013-02-25T13:08:53Z,"One of my plugin users reported this while using dropdowns to display his categories: http://wordpress.org/support/topic/plugin-my-category-order-multiple-widget-support-broken

I was able to duplicate it on my own site in 3.0.1. Any category that has children displayed in the dropdown will redirect to /?cat=## instead of the the friendly /category-name permalink when selected. Select any other category or one of the children and they redirect correctly.

Any thoughts?",froman118
20388,?cpage=N URLs do not have canonical redirection,,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T05:43:02Z,2012-05-22T01:07:50Z,?cpage=N URLs aren't redirected to their pretty URL counterparts. They should be.,markjaquith
17661,Appending date & author based query vars to a permalink overrides the permalink,,Canonical,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-02T11:05:05Z,2012-09-09T20:14:26Z,"Some canonical code branches are not properly accounting for extra query variables being specified via the url.

For example, these url's are not handled properly:
{{{
/2008/?author=1 redirects to /author/admin/
/author/admin/?year=2008 redirects to /year/2008/
/category/uncategorized/?year=2008 redirects to /2008/
}}}

This happens with most date based branches, as once a higher priority canonical rule is hit, the permalink component is ignored.

The canonical code includes a branch to add any ""forgotten"" `$_GET` variables back onto the url, however this doesn't help when it's the rewritten variables are being lost.",dd32
22879,Canonical Link Missing on Front Page,,Canonical,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-12T11:03:05Z,2012-12-30T19:54:30Z,"Canonical links are provided for posts, so if someone links to /2012/12/my-post/?whatever then Google will know it is a duplicate of /2012/12/my-post/

But if someone links to /?whatever there is no canonical address.",miqrogroove
14201,"Canonical redirect kicks in in case of category/tag base containing other chars then a-z, 0-9, _ and -",,Canonical,,high,major,Future Release,defect (bug),new,,2010-07-05T09:03:39Z,2011-09-22T09:49:50Z,"'''Expected behaviour'''

Whatever the category base is, if we go to a properly formed category pretty permalink, canonical redirects shouldn't kick in.

'''Actual behaviour'''

If the category base is non-ASCII (for example: баба), the canonical redirect tries to redirect to the same URL. The redirect sanitizer removes the category base from the URL, because it is non-ASCII and redirects to {{{<root>//category-name/}}}. This prevents endless redirects and usually results in 404.

'''Why does it happen?'''

Category base is always used verbatim. It can't be URL-encoded, because the percent signs will be interpreted as permalink variables. Because of that the generated urls will be always in the form: {{{<root>/баба/<url-encoded-category-name>/}}}.

The contents of {{{$_SERVER['REQUEST_URI']}}} are always URL-encoded, so the requested URI is: {{{<root>/%D0%B1%D0%B0%D0%B1%D0%B0/<url-encoded-category-name>/}}}.

Canonical redirect functionality assumes the requested URL would be the same as the generated term URL and since they are different tries to redirect.

'''Solutions'''

The easiest one is to assume that if we had come to the right category page without any get variables, we don't need the logic for redirecting to the canonical category page. This is valid statement, because that logic relies only on removing get arguments.

The only disadvantage with that solution is that doesn't solve the more general problem of discrepancies between generated and requested URLs.  But for now it will do a good job.",nbachiyski
13041,Canonical redirection will redirect a non-exitant page to a post.,markjaquith,Canonical,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-04-18T06:14:20Z,2010-11-13T07:53:23Z,"Following on from #12601

Canonical redirection will kick in for http://localhost/wordpress-commit/apage/something and redirect it to http://localhost/wordpress-commit/2010/02/13/something-else/

#12601 limited redirect_guess_404_permalink() to only searching in the same post_type if one was provided, for posts and pages however, which are builtin, these vars are not set. 

I'm attaching a patch which will prevent a Page -> Post redirection, but not the other way around. - this patch was originally added to the other ticket.",dd32
23074,Changing post's URL and then setting it back causes redirect loop,,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,close,2012-12-29T00:44:50Z,2012-12-30T06:59:34Z,"This morning, I changed the URL of one of my posts, but then changed my mind and set it back. When you change the URL of your post, WP automatically creates a redirect from the old page to the new page, which is good, but in this case it led to an unintended consequence: after I changed the link from A to B and then back to A, it set up a redirect from A to B and a redirect from B to A, causing anyone trying to access A or B to end up in a redirect loop between the two (or possibly it created a redirect loop from A to A; I'm not sure). It should check for such loops when you update the URL to avoid this problem.",vbuterin
17718,Don't redirect if user is already on port 80,,Canonical,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-07T11:31:40Z,2012-10-16T16:36:46Z,"If user is already using port 80 but {{{$original['port']}}} is set to 80 anyway, do not send a needless redirect.

wp-includes/canonical.php line 324

change from

{{{        if ( !empty( $original['port'] ) )}}}

change to

{{{        if ( !empty( $original['port'] ) && $original['port'] != 80 )}}}

Fixes, for example, Nagios's check_http getting sent a redirect rather than the page content.

-davidc",davidcx
14773,Error in slug parsing leads to unlimited URLs for the same article = duplicate content,,Canonical,,normal,normal,3.6,defect (bug),assigned,has-patch,2010-09-03T14:20:45Z,2013-04-11T03:30:30Z,"an example says more than 1000 words:

right url:

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not-hmong-and-i-dont-speak-spanish/

wrong urls:

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not------hmong-and-i-dont-speak-spanish/

http://ahmongwoman.wordpress.com/2010/09/02/i----am-not-hmong-and-i-dont-speak-spanish/

http://ahmongwoman.wordpress.com/2010/09/02/i-am-not-----hmong-and-i-------dont-speak---------spanish/

Problem:

Wordpress returns the article with HTTP status code 200 for the wrong URLs.

This is a serious issue for people regarding search engine optimization (duplicate content).

Expected results:

Wordpress returns HTTP Status code 301 with Location-Header and right URL to the client.",thermoman
8593,HTTP_HOST being manipulated improperly for redirects,markjaquith,Canonical,,normal,normal,Future Release,defect (bug),new,has-patch,2008-12-12T16:37:23Z,2011-03-22T14:49:41Z,"When redirecting a hit to the proper URL, WordPress makes some bad assumptions. Specifically, during redirects, any port information provided by the client is dropped. If I go to http://example.com:80/, I get redirected to http://example.com/. If I go to https://example.com:443/, I get redirected to https://example.com/.

Thus far, no problem has occurred because we are on on server that uses default ports. However, lets say my web server is running http on 8080 and https on 8443. Now when I go to http://example.com:8080/ and get redirected to http://example.com/, it fails. As a workaround, you can change the following settings:
WordPress address: http://example.com:8080/
Blog address: http://example.com:8080/

While this clears up the problem for http requests, you will not be able to use https becuse and attempt to go to https://example.com:8443/ now redirects to https://example.com:8080/ and it fails because the server does not speak ssl on 8080.

Additionally, when you have an https proxy in front of your web server such as pound (with http on port 80 and https on port 8443), you run into another problem caused by this same bug. In this situation if you attempt to go to https://example.com/, the proxy server accepts the request and then on the back end makes a none ssl connection to apache. Good so far, but in order to not make any assumptions, the proxy server tells apache that the request was for 'https://example.com:443/' and apache sets HTTP_HOST (very appropriately) to example.com:443. WordPress sees this request and redirects it to 'https://example.com/' by responding to the web browser with a 'Location:' header. Thus the browser sends another request for 'https://example.com/' and starts the whole process over again resulting in an infinite redirect.

As specifying a port is completely valid, this is a clear case of WordPress not handling things appropriately.",revmj
23602,"Incorrect canonical redirect if p=123 query argument present in ""paged"" archives",,Canonical,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-02-25T08:34:19Z,2013-02-25T08:34:19Z,"URLs that include `page/n` AND `p=n` query variable, such as:

http://example.com/page/3/?p=123

will issue a 301 redirect to the homepage. This is being reported as incorrect behaviour in Google Webmaster Tools, because:

  The target URL does not exist and your server is not returning a 404 (file not found) error. 

  Your server is redirecting requests for a non-existent page, instead of returning a 404 response code. This creates a poor experience for searchers and search engines.

A fix would be to strip the `p=` query variable and redirect to the paged archive. 

From: 

http://example.com/page/3/?p=123

to:

http://example.com/page/3/
",kasparsd
23408,Link to rss-feed in default installation causes redirect loop,,Canonical,,normal,major,Awaiting Review,defect (bug),new,,2013-02-06T21:20:04Z,2013-02-20T02:56:37Z,"I noticed, that google webmastertools complained about dead links in my blog.
Those links were hidden in the html-code and were links to rss-feeds of attachments. (e.g. ?attachment_id=1647&feed=rss2)
When i try to open the link, it returns a 301 error and if the new url is called, anoter 301 error is shown. After two or three times, the original url is shown again by a 301 error message.

I installed two clean installations on different servers, which show the behaviour either. If i use the link ""?attachment_id=1647&feed=rss""  the correct feed is loaded. (using rss instead of rss2 which is provided by the template)

It seems that the error is caused by the function get_post_comments_feed_link(...) in ""wp-include/link-template.php used wp-include/canonical.php.
When i add another line to the function to return a link with ""attachment_id="" and not ""p="" or ""page_id"", the comment feed is loaded without errors.
But the fact, that rss feeds do not cause an error and rss2 feeds create a loop makes me think, that another module may be defect and my workaround is not a solution.

Regards

Fabian",clusterone
16133,"Pagination issue with tag ""rss""",,Canonical,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-07T09:39:10Z,2012-09-04T21:50:34Z,"When posts use ""RSS"" as a tag, and the /tag/rss/ page has more posts than it is set to display on one single page, the link to page 2:

/tag/rss/page/2/

is redirected to:

/category/page/2/

Tested on Paolo Belcastro test WordPress.org :

http://test.belcastro.com/tag/rss/

Running 3.1-RC2-17229 with only Debug Bar plugin activated

This is not theme related, same behaviour with TwentyTen or Thematic on this install.",paolal
21700,Problem obtaining the Feed of an archive of tag “RSS”,,Canonical,3.4.1,normal,normal,3.6,defect (bug),new,needs-unit-tests,2012-08-27T10:40:33Z,2012-12-29T22:26:55Z,"I'm using RSS as a tag for some of my blog posts, and I was using them without any problem.

'''myblog.com/tag/rss/'''

But I've just realised that Google Webmaster Tools gives me some related errors.

The issue is this: when trying to retrieve the feed of this tag, from

'''myblog.com/tag/rss/feed/'''

it gets redirected to

'''myblog.com/tag/feed/'''

And this gives an error.",xavivars
20383,Strip trailing punctuation with canonical URLs,,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T03:59:49Z,2012-07-13T00:47:29Z,"A follow-up to #7537 where we removed %20 and "" "" from the end of URLs, we should try to remove all sorts of punctuation from the end of a URL, both URL-encoded and decoded.

Example bad URLs we should surely be able to resolve:

http://ma.tt/2012/03/productivity-per-square-inch/%7B

http://ma.tt/2012/03/productivity-per-square-inch/)

http://ma.tt/2012/03/productivity-per-square-inch/,

http://ma.tt/2012/03/productivity-per-square-inch/!

More difficult when there is no trailing slash in the permalink structure (or the link requested, regardless of permalink structure), but if is_404() is taken into account, it should be doable to trail various pieces of punctuation and see if we can get things to resolve.",nacin
18734,Subcategory archive does work with any name as parent category in URL,,Canonical,3.0.1,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2011-09-21T15:10:46Z,2012-10-22T23:10:00Z,"Parent category is ''parentcategory'' and his sub category is ''subcategory''.

The URL will be ''domain.com/category/parentcategory/subcategory''.

The problem is, that you will get the same page if you use any words as ''parentcategory''.

Examples:
- ''domain.com/category/xxx/subcategory''
- ''domain.com/category/subcategory''
- ''domain.com/category/foo/bar/subcategory''

IMO {{{redirect_canonical}}} should do his work here (and sometimes it does).

In 3.1 it does redirect.
In 3.1.4 it doesn't redirect; after r17549.
In 3.2.1 it doesn't redirect.
Duck_ found that it does redirect before r18079.
In current trunk it doesn't redirect.


",ocean90
11856,URL for 1st comments page is not canonical,markjaquith,Canonical,3.0,normal,major,Future Release,defect (bug),new,reporter-feedback,2010-01-10T19:17:42Z,2011-12-22T01:55:08Z,"When WP generates URL for comments, it always includes comments page number. It should not do this when URL is for 1st comments page - in this case post URL is sufficient.

WP should also redirect to canonical URL version when someone will try to load URL like site.com/some-post/comment-page-1.",sirzooro
10935,WP_Query and is_day() bug,ryan,Canonical,2.8.4,normal,normal,Future Release,defect (bug),new,commit,2009-10-09T05:05:24Z,2013-05-07T20:31:05Z,"When you configure Wordpress with permalinks such as /%year%/%month% and even /%year%/%month%/%day/ there is
a failure when you request URLs like /2009/10/58, because it's still generating the query to the database
(AND YEAR(wp_posts.post_date)='2009' AND MONTH(wp_posts.post_date)='10' AND DAYOFMONTH(wp_posts.post_date)='58').
Also, is_day() returns true, when it should be returning false.

As adding a post with that date is nearly impossible trough the wordpress admin or the database, no posts will be found, so
Wordpress will show ""No page found"", but with HTTP status 200 OK, not 404 Not Found.

I think it's important to validate the day on the applicacion side, so for some ideas to work correctly under WP
(like take advantage of sticky posts and show all post for the month in day requests), and most importantly to save
those wasted mysql queries.

Of course I could validate the day using a filter, but that is not the general idea!",raliste
10690,WordPress does not support  non-ascii characters in URLs,markjaquith,Canonical,2.8.4,normal,normal,Awaiting Review,defect (bug),reopened,,2009-08-26T18:26:13Z,2013-03-08T20:31:45Z,"WordPress' clean_url() strips out most characters, which are non-ascii for security reasons. This is causing problems, if you want to run a WordPress blog on a domain containing non-ascii-characters (e.g. müller.com), because WordPress generates wrong URLs on redirects.",paddya
20386,"Year permalinks ""win"" against category permalinks",,Canonical,,normal,normal,Future Release,defect (bug),new,,2012-04-07T05:20:55Z,2012-07-16T04:14:43Z,"We need to decide whether category permalinks should take priority over year permalinks.

e.g. /2008/?category_name=cat-a

Should that stay the same, or redirect to:

/category/cat-a/?year=2008

We have a unit test which is failing.",markjaquith
21602,redirect_canonical can lead to infinite loop on index navigation if site url is not all lower case,,Canonical,,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-08-15T21:31:17Z,2013-04-23T07:53:55Z,"The function redirect_canonical in wp-includes/canonical.php (WordPress 3.4.1) on line 406 and 422 makes the following check:


{{{
if ( !$redirect_url || $redirect_url == $requested_url )
		return false;
}}}


This ensures that it does not attempt to redirect you to the page you requested in the first place. However this function is not case sensitive so if the redirect URL is in a different case than the requested URL then the user can enter an infinite redirect loop. (For example if the Site Address (URL) of the site is set to be in all upper case.) 

This function should do a case-insensitive string comparison since domain names are case-insensitive.


The issue only appears to happen with certain plugins installed (ShareThis and PilotPress both led to this issue,) I haven't figured out yet why it's only an issue with certain plugins but it should still be fixed in WordPress to make the proper string comparison. ",sreedoap
20902,redirect_canonical() on using permalink: Not all $_GET being redirected,,Canonical,3.4,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-06-11T09:30:08Z,2012-11-01T04:54:03Z,"Using permalink, I suppose that all query_var entered manually on URL or using $_GET will be redirected to proper permalink. Apparently not all being redirected at all. AFAIC:

1. /?post_format=image : should be redirected to /type/image/
2. /?pagename=blog : should be redirected to /blog/
3. /?author_name=admin : should be redirected to /author/admin/

Unfortunately, they are not.

It can be done by filtering redirect_canonical() but it will be better  if it's being done by default as we can see that /?category_name=cat will be redirected to /category/cat/",arieputranto
19693,redirect_guess_404_permalink() can catch the wrong post types,nacin,Canonical,,normal,normal,Future Release,defect (bug),reopened,,2011-12-30T04:53:09Z,2012-05-24T16:19:12Z,"When I access /blah, and that 404s, redirect_guess_404_permalink() will try to find a matching post name.

If blah is the start of a post name for a random post type (perhaps one used as internal storage), it'll match it and redirect (and then end up 404ing, potentially). There's no constraint on the post type if the post_type query var isn't set, which is going to be common.

We need to come up with a stricter query. (And while we're at it, we should hook redirect_guess_404_permalink() into redirect_canonical() so it may be unhooked without removing all canonical support.)",nacin
17337,wp_old_slug_redirect() fails with multiple post_type query,,Canonical,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-05-06T10:36:19Z,2011-05-06T10:36:19Z,"If I have a query something like this:

{{{
[query_vars] => Array
        (
            [name] => panasonic-tv-review
            [post_type] => Array
                (
                    [0] => review
                    [1] => small_review
                )
        )
}}}

The new post slug is ""panasonic-250-tv-review"", and there is a `_wp_old_slug` meta key with the old slug. One would expect `wp_old_slug_redirect()` to kick in and do the redirect. However, `wp_old_slug_redirect()` will fail with a query with multiple post types, (looking at http://core.trac.wordpress.org/browser/trunk/wp-includes/query.php#L3494). This will knock the `$wpdb->prepare()` ass `$post_type` is now an array. 

I can write a patch for this if I can get the go ahead.",joehoyle
10543,Incorrect (non-UTF-8) character handling in tag's name and slug,westi*,Charset,2.8.2,normal,normal,Future Release,defect (bug),accepted,needs-unit-tests,2009-08-04T05:26:11Z,2010-11-13T01:15:40Z,"Incorrect (non-UTF-8) character tag's name and slug are handled in different way: name is truncated on 1st such character, and in slug they are just removed (no truncation). WP should handle both in the same way - drop invalid characters, instead of truncation.

I found this issue recently. One of the Polish programs for adding posts to the Wordpresses does not encode tags in UTF-8 - it left them in ISO-8859-2. I notified author of this bug. Unfortunately there are many copies around, so it may take a long time before everyone upgrade.",sirzooro
5998,Invalid Unicode characters,hakre,Charset,2.3.3,normal,major,Future Release,defect (bug),assigned,,2008-02-25T18:17:22Z,2011-02-10T23:09:25Z,"Wordpress does not check for invalid Unicode characters, such as the following:

U+FFFE
U+FFFF

When the pages are served up as XHTML, allowing these characters through generates an XML error. 

WordPress should filter out illegal Unicode code points.

Please see http://www.w3.org/TR/REC-xml/#NT-Char

Also, the regex
[http://www.w3.org/International/questions/qa-forms-utf-8 here] is
incorrect, see [http://intertwingly.net/blog/2008/01/02/Keeping-On-Your-Toes
this page].

",shelleyp
18007,is_serialized trouble for multibytes encoding,,Charset,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-07-06T16:51:52Z,2013-04-10T12:47:42Z,"Possible bug in the ''is_serialized'' function, in a multibytes environment :

== Context ==

* ''utf-8'' encoded database fields
* auto overlaoding singlebyte functions from conf (see http://www.php.net/manual/en/mbstring.overload.php)

Retrieving an option from the database, the ''get_option'' function try to deserialize it.

== Bug scenario ==
 * the ''strlen'' call is actually a ''mb_strlen'' one
 * the ''$length'' var is the number of characters (not bytes)
 * using {{{ $data[$length-1] }}} don't retrieve the last char but one before, it's actual position is undefined, depending on the other content of the string
 * this ''$lastc'' is not '';'' or ''}'' 
 * the string is understood has not serialized

== Patch proposal ==

here is a fix i made to make it work with multibytes string :
Not tested it for single bytes, but there is no reason for it to not work.
{{{
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -256,7 +256,7 @@ function is_serialized( $data ) {
                return false;
        if ( ':' !== $data[1] )
                return false;
-       $lastc = $data[$length-1];
+       $lastc = substr($data, -1);
        if ( ';' !== $lastc && '}' !== $lastc )
                return false;
        $token = $data[0];
}}}

",challet
11738,sanitize_text_field() issue with UTF-8 characters,hakre,Charset,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-06T07:39:11Z,2010-11-13T07:36:00Z,"See Description #11528

Suggested patch does not take UTF-8 properly into account. Function has been degraded in the commit(s) [12499], [12501] to not support shift-spaces any longer. Details about preg_replace and UTF-8 as well as a proper suggestion to fix w/o degration [https://core.trac.wordpress.org/ticket/11528#comment:10 here].",hakre
11175,wp_check_invalid_utf8() should drop invalid utf-8 chars only instead of truncating string,hakre,Charset,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-11-18T19:18:43Z,2011-07-13T09:46:51Z,"When you call wp_check_invalid_utf8() with 2nd param set to true, it tries to strip invalid utf-8. Now it removes 1st invalid utf-8 char and all chars after it, no matter if they are correct or not. Additionally it can print following notice:

Notice: iconv() [function.iconv]: Detected an illegal character in input string in .../wp-includes/formatting.php on line 437

Attached patch changes this, so function removes invalid chars only. Additionally it is less configuration-dependent, because it can use either mb_convert_encoding() or iconv().",sirzooro
20319,$page value not being defaulted to 1 in the absence of cpage query var in get_next_comments_link()/get_previous_comments_link(),,Comments,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-03-29T09:23:19Z,2012-05-24T07:27:29Z,"get_next_comments_link() generates incorrect comment pagination links on the first page when used alongside a user-made call to wp_list_comments().

Currently, get_next_comments_link() doesn't take into account instances where there is no 'cpage' query var (which is the case when a user-made call to wp_list_comments() is performed). The intval() of the empty $page variable returns 0, and at this point should then be defaulted to 1 in order for the correct link to page 2 to be generated. Instead, it's left as 0, and the resulting link is self-referencing to page 1.

In wp-includes/link-template.php:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage'); //RETURNS EMPTY IN ABSENCE OF A cpage VALUE ON PAGE 1 OF A USER-MADE CALL TO wp_list_comments()

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK SELF-REFERENCING PAGE 1, INSTEAD OF POINTING TO PAGE 2

    ...
}}}

Coincidentally, in paginate_comments_links() (wp-includes/link-template.php) this situation is handled correctly, and $page does get correctly defaulted to 1. The same conditional used in paginate_comments_links() can be applied to both get_next_comments_link() and get_previous_comments_link(). The code to properly account for it is:

{{{
function get_next_comments_link( $label = '', $max_page = 0 ) {
    global $wp_query;

    if ( !is_singular() || !get_option('page_comments') )
        return;

    $page = get_query_var('cpage');
    if ( !$page ) //******** ADDED
        $page = 1; //******** ADDED

    $nextpage = intval($page) + 1; //intval() RETURNS 0, 0+1=1, RESULTING IN THE ""Newer Comments"" LINK NOT POINTING TO PAGE 2

    ...
}}}

The same addition should be made to get_previous_comments_link() as well, although it's obviously unnoticeable on the first page.",MomDad
18547,"Add rel=""nofollow"" to reply to comments link",,Comments,3.2.1,normal,minor,Awaiting Review,defect (bug),reopened,close,2011-08-30T14:20:31Z,2011-09-01T14:56:00Z,"This is an easy problem to diagnose and fix. Basically, the reply to comment links all contain a query parameter—?replytocom—in the destination URL.

Google does a poor job of ""deciding"" whether or not these are unique URLs, and as a result, these URLs are often indexed. This leads to duplicate content issues, which leads to users bitching :D

Here's a sample of some search results where the ?replytocom query parameter resulted in a bunch of duplicate indexing:

[http://www.google.co.in/search?cx=c&sourceid=chrome&ie=UTF-8&q=site:callingallgeeks.org+replytocom+#q=site:callingallgeeks.org+replytocom&hl=en&prmd=ivns&filter=0&fp=1&biw=1366&bih=667&bav=on.2,or.r_gc.r_pw.&cad=b Google]

Thanks!",pearsonified
19930,Add tabindex to Comment Submit button,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-30T14:54:21Z,2012-05-03T15:40:22Z,"For accessibility reasons, it would be nice to be able to add tabindex to the comment form submit area.",wpsmith
22792,Cannot change name attribute of comment submit button,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-06T17:03:01Z,2012-12-06T17:20:24Z,"This prevents developers from using client-side validation, as the name attribute being set to ""submit"" interferes with the .submit() method.  I can change the id and the label of the submit button, but that is all.

The default WordPress server-side validation is unacceptable from a user-experience standpoint.

This would be the solution for me, which I find cumbersome (http://wordpress.stackexchange.com/questions/65001/error-when-posting-comment-form-the-error-is-typeerror-eh-is-not-a-function). 

The developer should be allowed to set the name attribute of the submit button (maybe through the use of comment_form()).",willi828
16134,Check capabilities/role before adding comment links to email,,Comments,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-07T10:23:06Z,2011-02-19T20:35:22Z,"Currently the Trash it, Delete it, Spam it are added to comment notifcation emails, which are sent to the author.

However, the author may have had their role changed down to a lower-role (or had capability removed) since they wrote the post, and no longer would have permissions to use the links added to the email. 

It may also be the case that a subscriber user was assigned as the Post Author (perhaps as a sort of Guest Author) for a post, and never had the permissions to use those links.

Can some sort of check be added, before these links be added to the email?",GaryJ
16430,"Comment 'Reply' button still present when comment max depth has been reached, just without text.",,Comments,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-01-31T22:12:56Z,2013-01-15T23:41:09Z,"With comment max depth set, in my case, to 5 on the admin panel, the div for the reply link would still appear even though the text that says 'Reply' would not. Basically, it was an empty div with class=""reply"". The fix is quite easy, which I implemented in test on one of my WP sites.

Around line 1372 of wp-includes/comment-template.php, there is the following is code:
{{{
<div class=""reply"">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
}}}

This can simply be enhanced to this:
{{{
<?php if ( $depth < $args['max_depth'] ) : ?>
<div class=""reply"">
<?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
<?php endif; ?>
}}}

I just added a quick check to make sure our current comment depth did not meet (or somehow exceed?) our set max depth.",TheGremlyn
10377,Comment fields should have max lengths,,Comments,2.8,normal,normal,Future Release,defect (bug),new,,2009-07-10T14:34:27Z,2012-07-13T01:05:25Z,"Hello, I don't know if exactly it's a bug or use javascript validation, but i think so there's no 	
treatment for this, or was fix in the new version.

In the section of comments(Wordpress 2.8), we can insert how many characheters we wants, generating an SQL Exception and breaking the all system.

The solution is simple, use the property maxlenght in the tag 
<input /> e limit the characters if will be send to database.



",muriloazevedo
23469,Comment meta query is parsed before the pre_get_comments filter,,Comments,3.5,normal,normal,3.6,defect (bug),new,has-patch,2013-02-13T12:21:26Z,2013-04-08T06:54:07Z,"Currently it is impossible to use the `pre_get_comments` filter to adjust the meta_query, because `parse_query_vars( $this->query_vars )` is run before the filter is applied http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/comment.php#L243:

{{{
// Parse meta query
$this->meta_query = new WP_Meta_Query();
$this->meta_query->parse_query_vars( $this->query_vars );

do_action_ref_array( 'pre_get_comments', array( &$this ) );
}}}

Comment meta query should be parsed '''after''' the `pre_get_comments` filter has been applied.",kasparsd
12363,Comment permalink wrong when only listing one comment type,,Comments,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-24T14:31:51Z,2010-11-13T07:46:50Z,"If you pass the `type` parameter to `wp_list_comments()` (for example, to show comments only and no pings), then comment permalinks can easily use the wrong page number as they expect there to be pings included. This is apparent after leaving a comment and WordPress attempts to redirect back to your new comment.

At first I was thinking you could tell WordPress that you're filtering to a type and it could compensate when determining the page number, but then I realized perhaps it'd just be better for `wp_list_comments()` to check if there were 0 comments returned for the query and if so, see if there are any of that type of comment available. If so, then we know we're on too high of a page number and can instead display the highest existing page. Then again this introduces SEO issues.

Ideas on what to do are welcome.",Viper007Bond
17714,Comment/pingback handlers don't check whether the post type supports comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-06-07T06:09:02Z,2011-06-07T06:17:45Z,"wp-comments-post and XML-RPC don't check post type support for comments before accepting them - I think they should. We can't rely solely on `$post->comment_status` because that may not always be set to ""closed"" even if the post type doesn't support comments (see also #13473)

Maybe we could add a check to `comments_open()`?",solarissmoke
18603,Comments on pages which exceed paginate settings create erroneous permalinks,Mike Sagman http://www.dogfoodadvisor.com,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-09-06T17:32:14Z,2013-02-07T17:09:36Z,"On my website, clicking on any of the Recent Comments that possess large numbers of comments exceeding paginate settings (50 comments) present erroneous permalinks. Only the posts containing enough comments on page 3 or higher present these improperly constructed links that take users to the wrong page (a page that does not contain the comment in question). The problem does not occur on pages containing a limited number of comments. So far, we have removed our Thesis theme and changed to the standard WP default theme. And we've deactivated all plugins. Yet neither solution appears to resolve the issue. Thanks for your consideration. You may view this issue live at http://www.dogfoodadvisor.com",msagman
22380,Consolidate the API hooks comment,,Comments,3.4,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-11-07T17:00:16Z,2012-11-13T01:09:24Z,"Many functions of API comments have hooks unusable because they do not provide parameters that provides the function. 

In general, these functions provides a $comment_ID argument, but it's not present in the hook...

Sample 
{{{
function comment_author( $comment_ID = 0 ) {
	$author = apply_filters('comment_author', get_comment_author( $comment_ID ) );
	echo $author;
}
}}}

Fixed sample :

{{{
function comment_author( $comment_ID = 0 ) {
	$author = apply_filters('comment_author', get_comment_author( $comment_ID ), $comment_ID  );
	echo $author;
}
}}}
",momo360modena
16976,Don't use photo as avatar class in comments,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-27T00:54:44Z,2011-03-27T01:07:30Z,"If you use an image in your post with class 'photo' to show it in Google's search results as a rich snippet is not possible if you make use of avatars in your comments. Google will pick the last class 'photo' image on the page to show as the search result.

Suggestion is to change the avatar class in comments to from 'photo' to 'comment-photo'. A post image is more important than a comment avatar to use for rich snippets.",Okoth1
8973,Function get_page_of_comment() returns incorrect page numbers,,Comments,2.7,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2009-01-27T16:54:40Z,2012-06-17T22:37:09Z,"The function get_page_of_comment(), defined in /wp-includes/comment.php for WordPress 2.7, returns wildly incorrect results in cases where the database includes spam trackbacks or pingbacks. The reason is that the DB query on line 595 does not include ""comment_approved = 1"" and therefore incorrectly counts unapproved trackback and pingback spam (not to mention non-spam comments in moderation). As far as I can tell from browsing my DB, although spam comments have their comment_type changed to 'spam' in the database, trackbacks and pingbacks still retain their original comment_type.

As a newbie to the WordPress Trac, I'm afraid I don't know how to provide a diff, but the full correct query is as follows:

$oldercoms = $wpdb->get_var( $wpdb->prepare( ""SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 1 AND comment_post_ID = %d AND comment_parent = 0 AND comment_date_gmt < '%s'"" . $comtypewhere, $comment->comment_post_ID, $comment->comment_date_gmt ) );

The upshot is that without the above fix, comment URLs in several places (e.g., RSS feeds) may point to non-existent pages.

All the best,
Greg

",GregMulhauser
24383,Improper moderation_notify check with comment moderation,,Comments,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-21T21:06:31Z,2013-05-21T21:06:31Z,"When comments are held for moderation, there are no options to allow the admin only to receive such comment. 
Checking the ""Email me whenever: A comment is held for moderation"" actually enables the moderation_notify setting, allowing the admin to receive the email, but the post author (and anyone with edit access it seems) will receive the email too.

moderation_notify should be split into moderation_notify_author and moderation_notify_admin",TeckniX
14711,Indexes for comment_author_email and user_id,,Comments,3.0,normal,normal,Future Release,defect (bug),new,early,2010-08-27T07:18:30Z,2011-01-08T19:36:17Z,"There are currently no indexes on any of the author columns in wp_comments.  That means there's no efficient way to count the comments written by a given commenter, for example.

The enclosed patch adds two separate non-unique indexes, one each for comment_author_email and user_id.
",tellyworth
13792,Invalid reply link from comment admin when comment nested level > max,,Comments,2.9.2,normal,normal,Future Release,defect (bug),reopened,,2010-06-09T07:05:56Z,2010-11-13T17:53:57Z,"I have a blog with nested comments enabled, max depth of 4. When the last level comment is posted, it no longer contains a Reply link.

However, in the Comment admin, the Reply link is still present. If used, this new reply will show up at the very bottom of the comment list once posted (even if other newer regular comments are entered, this new reply will still show up at the very bottom).

The bug is, basically, that Comment admin doesn't respect the max nested value.",archon810
21845,Losing comment reply by accidentally clicking on another comment,,Comments,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-08T13:17:20Z,2012-09-17T22:31:50Z,"This is a usability bug.

When replying to a comment in the Edit Comments (wp-admin/edit-comments.php) page, double-clicking on another comment will open that comment for editing and wipe away the reply you were writing. 

If you want to highlight a word to copy from the comment that you are replying to this can be done by double-clicking the word. So completely by accident your reply is wiped out. This occurred on wordpress.com so I'm guessing their using the latest 3.4.2 version.",icc97
12480,Moderated comments don't show blank links,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-02T18:29:09Z,2010-11-13T07:48:54Z,"Comments caught in moderation won't show the blank links inserted into them unless you edit them.

A comment with html code like <a href='http://example.com/'></a> will not show that link on the moderation page.",donncha
10790,"No feedback given to commenter when ""Name"" field empty",,Comments,2.8.4,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-09-15T17:43:44Z,2011-01-21T05:44:40Z,"On my installation, name and email are not required to post a comment. I must approve every comment before it appears. If a user chooses to give their name anyway, then after they post their comment, they get a screen that says ""Blah says:"" and below that ""Your comment is awaiting moderation."" This is expected behavior.

However, if the user does not give their name, then they do not get any sort of confirmation that their comment was sent. It is sent successfully, but the user should have confirmation, otherwise they will likely try more than once before giving up in frustration.

I have tested this bug using Firefox 3.0, with and without JS enabled, and Internet Explorer 6.",WK1
11286,Normal User Input Causes Status 500,,Comments,2.8.4,normal,normal,Future Release,defect (bug),new,commit,2009-11-30T21:45:04Z,2012-11-26T22:20:40Z,"To reproduce:  Click the Submit Comment button on any post with no other input.

Expected Result:  Status 200 or 403 with feedback to user.

Actual Result:  Status 500 with feedback to user.

Status 500 means the server is at fault for an unexpected error condition, which is not the case here.  It is the incorrect response to send, and it is alarming to see it show up in a server log without an error message.

Patch should be ready shortly...",miqrogroove
11248,Paged wp_list_comments() should always output something,,Comments,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-11-24T06:00:23Z,2010-03-13T22:04:21Z,"Enable comment paging on your blog and visit `http://yourblog.com/a/single/post/comment-page-999999/`. Note no comments will be displayed.

There's situations where the comment form will redirect you back to the wrong page (for example if you mess with the type parameter and exclude pings). The Walker should detect if there's no comments to be displayed on the requested page and if that's the case, then display the latest page that actually has comments.",Viper007Bond
18762,Pagination does not work correctly on walker in reverse order.,,Comments,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-23T21:08:42Z,2012-05-02T17:26:33Z,"Steps to reproduce:
1. Go to Discussion and change Comments should be displayed with the  comments at the top of each page to ""newer"" (that is, set comment_order='desc'). 
2. Make sure your theme is paginating comments. Make sure you have more than the page limit of comments.
3. Note that the first page does not actually contain the newest comments (they're off by a page, or perhaps they're just sorted in one way for the pagination and a different way for the inner page sort).

If you check out the $start, $oldstart and $end variables, the way it was written before the patch, $start gets set to 11 (page limit + 1) on page = 1, the way it is written after the patch, start is 0, as it should be. 

All I've done is swapped the order of $start and $end being updated. This fixes the starting point. This needs to be tested in more detail before actually deploying it, but there is definitely a pretty serious bug here.",gburtini
13648,Post link?,ryan,Comments,3.0,normal,normal,Future Release,defect (bug),new,,2010-05-30T22:51:23Z,2010-05-31T20:50:17Z,Adding '''?comments_popup=1''' to the url go to that post id number but in comment view with the trackback to the post with the regular permalink. Found this via search engine that indexed it instead of post url.,giuseppex
20050,Proper Cap check in edit_comments.php,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-15T17:36:51Z,2012-02-15T17:56:25Z,"See #20025.
As in edit.php?post_type=custom_post_type
and edit-tags.php?taxonomy=custom_taxonomy

When filtering comments for a specific post type
The fix in cap is more appropriate",nprasath002
22261,Recent comments widget makes additional queries when pagination is enabled,,Comments,,normal,normal,Future Release,defect (bug),new,,2012-10-23T14:19:59Z,2012-10-23T14:19:59Z,A continuation of #15400.,nacin
16881,Remove all unwanted 'nofollow' attributes from 'reply to comment' links,,Comments,3.1,normal,minor,Future Release,defect (bug),new,commit,2011-03-17T20:27:43Z,2011-03-19T06:47:58Z,"This should be a trivial fix. r16230 removed the rel=""nofollow"" attribute from ""reply to comment"" links in the comments list, for reasons discussed in #10550. In brief, the reasons are that these are not external links that we want to tell search engines not to follow in the first place, and there is actually an SEO penalty from adding the ""nofollow"" to internal links.

Unfortunately, the ""nofollow"" was not removed from all of the ""reply to comment"" and ""reply to post"" links (for instance, in code branches when the site requires login/registration to comment). This patch corrects the rest of them.

It doesn't delete the ""nofollow"" attributes we want. For instance, in `get_comment_author_link()` which escapes links to the comment author's URL.

Additionally, the patch (see line 1110) fixes a minor inconsistency between the return values of `get_comment_reply_link()` and `get_post_reply_link()` when `get_option('comment_registration')` is TRUE.

The version in `get_post_reply_link()` is missing the `class=""comment-reply-login""` and `esc_url()` wrap. I've added them.",joelhardi
8755,Should be able to specify page order with wp_list_comments(),,Comments,2.7,normal,major,Future Release,defect (bug),new,,2008-12-30T02:50:53Z,2009-11-17T15:48:45Z,"Passing the parameters ''reverse_top_level'' and ''reverse_children'' into the ''wp_list_comments()'' function only reverses the order of the comments '''on each page''', and not the entire comment list overall. It is therefore impossible to display the newest comments first using this function, when comments are great enough to be paged. At least, not without globally changing the comment order for the entire site using the Discussion settings screen so that the ""last"" page is displayed first.

It should be possible to specify the page order in wp_list_comments() by, for example, passing a page_order parameter with 'asc' or 'desc' available.",marky
16770,"The comments field in the post table gets set to 'closed' for all posts, and commenting options change from those set",,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-06T00:48:21Z,2011-03-06T17:25:27Z,"these problems are documented in this forum topic. http://wordpress.org/support/topic/why-is-my-comments-closed-in-all-posts-open-in-all-pages?replies=13#post-1768692 

It has happened to me twice",linusinutah
15905,Using wp_list_comments using both the type and callback arguments causes the first comment to be repeated,,Comments,,normal,normal,Future Release,defect (bug),new,close,2010-12-20T03:12:18Z,2011-01-27T07:01:44Z,"I'm using wp_list_comments like so: 

{{{
	<ol class=""commentlist"">
	<?php wp_list_comments('callback=comment_callback&type=comment'); ?>
	</ol>
}}}

When including the comments on a page listing many posts (like the home index page), the callback function is always passed the first comment that is encountered.  Trying get_comments before wp_list_comments shows the proper comments that should be displayed, but the callback always receives the same comment as it's argument.

Removing '&type=comment' yields the expected output.  My current workaround is to remove '&type=comment' and only respond to comments with an empty string for the comment_type in my comment callback function.
",benschell
23369,WP_Comment_Query meta query 'count' conflicts with 'group by',,Comments,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-02T13:39:20Z,2013-02-02T14:52:54Z,"This problem relates to {{{/wp-includes/comment.php}}}, both 3.5.1 and trunk are affected. The following line number refers to the 3.5.1 version. 

At line 195, definition of class {{{WP_Comment_Query}}} , a typical meta query will generate such SQL:

{{{SELECT * FROM wp_comments INNER JOIN wp_commentmeta ON (wp_comments.comment_ID = wp_commentmeta.comment_id) WHERE ( comment_approved = '0' OR comment_approved = '1' ) AND comment_post_ID = 22 AND ( (wp_commentmeta.meta_key = 'my_flag' AND CAST(wp_commentmeta.meta_value AS CHAR) = 'my_value') ) GROUP BY wp_comments.comment_ID ORDER BY comment_date_gmt DESC }}}

Note that at line 357, a meta query will always generate a {{{GROUP BY}}} clause. This works for comment rows. Say that I've got 3 comments matching this query, I'll see each of them in a row:

{{{
comment row 1, data
comment row 2, data
comment row 3, data
}}}

However, this query doesn't work well then {{{$count = true}}}. Note that by specifying {{{$count = true}}}, the function only changes {{{'SELECT *'}}} into {{{'SELECT COUNT(*)'}}}. For 3 comment result, I'm seeing something like this:

{{{
1
1
1
}}}

And you can see, because there's a {{{'GROUP BY'}}} clause. And each comment has a unique ID. The result is 3 'grouped row' of comments, and each will always have count of 1.

Therefore, the result of {{{$wpdb->get_var()}}} will be either 1, or NULL (when nothing is matched). I believe this behavior is not by intention.

To get count working, {{{'GROUP BY'}}} clause must be removed when $count is true.",heshiming
20262,"When ""Automatically close comments on articles older than X days"" is enabled, comments appear closed on draft posts",,Comments,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-03-20T15:14:21Z,2012-09-05T17:12:08Z,"If the setting to ""Automatically close comments on articles older than X days"" is enabled via Settings -> Discussion, comments automatically appear as closed on draft posts until the post is published. This is regardless of the Discussion settings configured on the Post Edit page for the draft post.

To replicate:

1. Via Settings -> Discussion, click on ""Automatically close comments on articles older than X days."" 

2. Create a new post and save it as a draft. Make sure comments are enabled in your Discussion module.

3. When previewing the draft post, it will say ""Comments closed"" regardless of the Discussion settings.

The post will show comments as being allowed once it's published, they only show up as closed when in the draft format. ",evarlese
15644,"When deleting a user, corresponding comment user IDs aren't reset",,Comments,,lowest,minor,Future Release,defect (bug),new,dev-feedback,2010-12-02T11:19:18Z,2012-08-04T09:55:22Z,"Delete a user with a comment.

The user ID stays.

Potential for clashes later.

We should run this: `$wpdb->update( $wpdb->comments, array( 'user_id' => 0 ), array( 'user_id' => $user_id ) );` in wp_delete_user.

Alternative is to do a full query then manually run wp_insert_comment() on each, so all hooks get fired, which is fine too and is more in line with what we do elsewhere.",nacin
23939,Wrong capability check in wp_ajax_replyto_comment,,Comments,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-04-04T18:39:21Z,2013-04-05T01:06:32Z,"The wp_ajax_replyto_comment function in the wp-admin/includes/ajax-actions.php checks the ""edit-post"" capability instead of the ""edit-comment"" capability.

Attached a tested patch. ",fgauthier
11566,clean_comment_cache() does not clean $GLOBALS['comment'],,Comments,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-22T21:18:23Z,2011-04-28T22:55:15Z,"I am trying to add links to comment list, which will allow to delete comments directly without need to move them to trash first (and with trash enabled). For posts/pages I found working workaround: hook `trashed_post` and `call wp_delete_post()` again from. 

Unfortunately similar approach for comments does work. As I checked, `wp_trash_comment()` calls `get_comment()`. The latter function implements simple comments cache using `$GLOBALS['comment']`. When you change comment status to `trash`, `wp_set_comment_status()` clears cache by calling `clean_comment_cache()`, but it leaves that global set. As a result my workaround does not work. 

I think that `clean_comment_cache()` should clear that global too.",sirzooro
13473,comment_status should be set to default_comment_status when commentstatusdiv is removed,westi,Comments,,normal,normal,Future Release,defect (bug),reopened,,2010-05-20T23:36:24Z,2011-11-24T16:13:29Z,"When the Comment Status box is removed from the Add/Edit Post screens, posts should be created with the comment_status set to the value of the default_comment_status option.

-----

I had hidden the Comment Status box via:
remove_meta_box('commentstatusdiv','post','normal');

and made sure that default_comment_status was set to open:
update_option('default_comment_status', 'open');

After adding a new post it displayed ""Comments Off"" when I was assuming that it should have honored the value of default_comment_status.",jimmcq
4916,comment_type function doesn't return the comment type string,,Comments,2.3,normal,normal,Future Release,defect (bug),assigned,,2007-09-06T07:41:30Z,2012-03-12T11:37:16Z,"The comment_type function in comment-template.php only echoes string that explain the comment type. Sometimes we need the string to be returned instead of echoed, e.g. for i18n purposes.",hudatoriq
22635,comments made on iPad get the comment_author_url removed in the pre_comment_author_url filter,,Comments,3.4.2,normal,major,Awaiting Review,defect (bug),new,,2012-11-29T14:21:04Z,2012-11-29T22:18:48Z,"I have tested this on version (3.5-RC1-22909) nightly build too.

if I submit a comment with a valid author url using the iPad then the URL gets removed by the pre_comment_author_url filter in wp-includes/comment.php 

'''works'''
* windows 7 works fine
* windows xp works fine
* debian box works fine
* macbook pro works fine

'''Not working'''
* iphone ios 5.1.1
* ipad ios 5.1.1

duplicable on local, live and someone elses site.

I can see the POST vars show all the proper data.

in wp-includes/comment.php the wp_filter_comment function the `$commentdata['comment_author_url']` exists before 

{{{
$commentdata['comment_author_url']   = apply_filters('pre_comment_author_url', $commentdata['comment_author_url']);
}}}

(line 1291 of wp-includes/comment.php (3.4.2)

but is gone after the filter has been applied,

this happens only if using an ipad or iphone.


",commentluv
14809,comments_by_type doesn't always get reset,,Comments,3.0.1,normal,minor,Future Release,defect (bug),new,reporter-feedback,2010-09-08T01:18:20Z,2011-07-09T17:40:40Z,"in wp-includes/comment-template.php , in function comments_template(), it is possible for $wp_query->comments to be set but for $wp_query->comments_by_type NOT to get reset when it should be reset to array().  We ran into a bug because:[[BR]]
- on a single page (actually inside of a widget), we were pulling comments from multiple posts[[BR]]
- for each post, we were requesting get_comments(array('type' => 'comment'))[[BR]]
- in wp-includes/comment-template.php , in function wp_list_comments(), code says:
{{{
		if ( 'all' != $r['type'] ) {
			if ( empty($wp_query->comments_by_type) )
				$wp_query->comments_by_type = &separate_comments($wp_query->comments);
			if ( empty($wp_query->comments_by_type[$r['type']]) )
				return;
			$_comments = $wp_query->comments_by_type[$r['type']];

}}}
unfortunately, since we were running that again and again, it would not recalculate $wp_query->comments_by_type each time.

I think that the function comments_template() in wp-includes/comment-template.php should have the following line added:
{{{
     $wp_query->comments_by_type = array();
}}}
right after the line where $wp_query->comments is set.",nmassey
13091,edit_post action on wp_update_comment_count_now should not be fired if the comment count hasn't changed,,Comments,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-04-23T06:43:15Z,2010-10-02T00:13:54Z,"wp_update_comment_count_now() is called whenever a comment status is transitioned (or a comment is deleted). However, if the comment transition is not from/to the 'approved' status (e.g., if the comment is transitioned from 'spam' to 'trash' or from 'unapproved' to 'trash'), then the associated post is not actually affected. Therefore in such cases the edit_post action shouldn't be fired, because the post has not been edited/modified in any way. I would argue that the 'wp_update_comment_count' action also should not be fired.

One solution is to check whether the comment count has changed before firing the action.  Another possible option is to call wp_update_comment_count only when a comment has transitioned in/out of the ""approved"" status. I'm inclined to prefer the former because it involves less change.

Proposed patch to follow.",solarissmoke
17778,get_comment_pages_count() returns > 1 when pagination is disabled,,Comments,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-13T05:01:58Z,2011-07-09T11:10:47Z,"If pagination is disabled, get_comment_pages_count() will still return the number of pages possible if pagination was enabled.

As a workaround, themes & TwentyEleven are having to get to see if pagination is enabled first:
{{{
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : // are there comments to navigate through ?>
}}}

I'd suggest that if comment pagination is not enabled, this function should return 0 or 1 (0 = no comments, 1 = 1 page).

The addition of an extra block after the [http://core.trac.wordpress.org/browser/trunk/wp-includes/comment.php#L740 empty comments check] would be:
{{{
if ( ! get_option('page_comments') )
	return 1;
}}}",dd32
20006,get_comments (and WP_Comment_Query) does not accept multiple post_type,,Comments,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-10T05:46:52Z,2012-08-14T08:34:53Z,"Although get_comments was recently improved to support post_types, it does not seem to properly handle MULTIPLE post_types.

Suppose you need to get the most recent comments for posts, pages, and attachments (attachments don't seem to be included by default).  The following doesn't work, as it only returns comments on attachments (or whichever status is listed first):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type'=>array('attachment','post','page')));
}}}

The following doesn't work either, only returning the default post/page comments (taken from the example for multiple category handling at http://codex.wordpress.org/Class_Reference/WP_Query):
 {{{
get_comments(array('number'=>20, 'status'=>'approve', 'post_type__in'=>array('attachment','post','page')));
}}}

A quick look at wp-includes/comment.php, line 327 (WP v3.3.1) shows that the 2nd option will be array_filter'ed away.  Immediately below, all of the WHERE clauses are hardcoded as ""="", which is why there's no way to specify more than one.  As a result, it seems like the only way to get recent comments on posts,pages,and attachments (or any other subset of >1 post_type) is to do multiple calls to get_comments (i.e. one with default params and one for attachments) then merge the results together...effectively requiring twice the work.",Justin_K
16010,get_comments()  returns as result (by default) comments that were not approved.,,Comments,3.0.3,normal,normal,Future Release,defect (bug),new,,2010-12-28T16:41:11Z,2011-01-13T04:00:49Z,"I see two problems in behavior of ""get_comments()"" function (wp-includes/comments.php: 180).

1. The function returns as result (by default) comments that were approved and also comments that were not approved. 
I think that this does not fit the standard of all functions in WP that by default return only posts/comments that have been published/approved.

2. I think that there is no support of cookies of current responder. In other words, a parameter that allows the following functionality does not exist.
comment_approved = '1 'OR (comment_author =% s AND comment_author_email =% s AND comment_approved = '0')
( wp-includes/comments-template.php: 852)",mati1000
13939,get_page_of_comment returns wrong page number when changing threading level,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-17T07:58:01Z,2010-11-13T10:04:51Z,"Initial discussion settings:
 * Enable threaded comments 2 levels deep
 * 5 top-level comments per page, first page by default
 * Older comments at top of each page

If I have comments on a post like:

'''cpage 1'''
 * comment-1
 * comment-2
 * comment-3
 * comment-4
 * comment-5
  * comment-6

{{{
$page = get_page_of_comment(6); // returns 1 which is the correct page
}}}

If I modify the initial discussion settings by disabling threading (e.g. changing the threading level to 1), the comments change to:

'''cpage 1'''
 * comment-1
 * comment-2
 * comment-3
 * comment-4
 * comment-5
'''cpage 2'''
 * comment-6

{{{
$page = get_page_of_comment(6); // returns 1 which is incorrect
}}}

This function doesn't follow the same algorithm as what is used to display the comments

This can potentially happen whenever you decrease the threading level from x to x-n",laceous
23231,preprocess_comment should get the normalised comment data,,Comments,3.5,low,minor,Awaiting Review,defect (bug),new,,2013-01-18T11:38:02Z,2013-01-18T11:39:30Z,"In '''wp_new_comment''' we normalise some data like user_ID/user_id so that we support people providing both versions but we fire the filter to preprocess the comment first.

This means if someone writes a filter they have to re-implement this normalisation if they want to filter the comment data properly.

An example of where this currently goes wrong is when Akismet tries to fetch the roles of the user submitting the comment - http://plugins.trac.wordpress.org/browser/akismet/tags/2.5.7/akismet.php#L332

This only works if the comment comes via a route that supplies the data correctly and not one that doesn't.",westi
21448,unfiltered HTML comments from a frame js fix breaks js in windowed comments,,Comments,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-01T21:58:53Z,2012-08-02T17:56:36Z,"Noticed this today.

We have comments loading up in a jquery colorbox on a site being developed and it loads the comment form via ajax.  When it's loaded, the fix in #20812 breaks javascript because the property ""name"" is null.

Attaching a patch after posting this for only executing when `document.getElementById(""_wp_unfiltered_html_comment_disabled"")` != null.",nerrad
23931,wp_insert_comment should require comment_post_ID,,Comments,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-03T18:41:58Z,2013-04-03T19:06:08Z,"At this moment there is no check for example comment_post_ID. Not sure if there are more checks needed. Reason I asked are a few notices on the unit tests caused by WP_UnitTest_Factory_For_Comment. Those comments don't add a post ID what should change.

Currently, if a null comment_post_ID is passed, the comment isn't connected to a post. This can create confusion. Also Unit tests should run with WP_Debug on.",markoheijnen
10948,wp_list_comments() always assumes walker will echo.,,Comments,2.8.6,normal,normal,3.6,defect (bug),new,has-patch,2009-10-13T12:21:33Z,2013-05-04T10:33:03Z,"wp_list_comments() always assumes the walker called will echo it's constructed content (the default Walker does this).

However, if you want to use your own walker which doesn't echo, or you want to post process the output of the default walker in some way, you cannot.

The changes required are to wp_list_comments() which should check for an 'echo' arg and respond appropriately (like wp_list_pages does). The built in comment walker class Walker_Comment needs to write it's output to the passed $output reference. Finally the function edit_comment_link() needs to take an echo parameter.

The attached patch allows this functionality whilst preserving the status quo by adding a default echo => 1 argument to wp_list_comments and edit_comment_link.

",MikeLittle
14279,wp_new_comment ignores comment_date_gmt and comment_date,,Comments,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-12T14:07:06Z,2011-01-27T08:08:52Z,"wp_new_comment takes in a $comment array, but then ignores the comment_date and comment_date_gmt passed into it, instead replacing them with the current time. 

It should only set them if the data passed in is empty or not a date/time. ",johneckman
9959,wp_rel_nofollow_callback adds too many rel/nofollow attributes,junsuijin*,Comments,2.8,low,minor,Future Release,defect (bug),accepted,has-patch,2009-05-28T13:54:35Z,2011-04-13T20:57:31Z,"if you insert a link in a comment, like:


{{{
<a href=""foo"" rel=""bar nofollow"">
}}}

wp_rel_nofollow_callback() turns that into:

{{{
<a href=""foo"" rel=""bar nofollow"" rel=""nofollow"">
}}}

Here's a correct implementation of a strip_nofollow() function:

http://plugins.trac.wordpress.org/browser/sem-dofollow/trunk/sem-dofollow.php

We'd probably want to do the same in WP, and then reverse it: add rel=nofollow if no rel is present, and add a nofollow to the rel if it's not in there already.",Denis-de-Bernardy
24160,ALTERNATE_WP_CRON runs wp_cron() too early,,Cron,3.4,normal,normal,3.6,defect (bug),new,has-patch,2013-04-22T17:48:44Z,2013-05-08T18:47:13Z,"See #19818 for full details.

Then, [https://core.trac.wordpress.org/ticket/19818#comment:8 read my comment in that ticket].

Was advised to create a new ticket.",r-a-y
13158,Cron : some events may not be scheduled,westi,Cron,3.1,high,major,Future Release,defect (bug),new,,2010-04-27T23:29:46Z,2012-08-03T22:39:04Z,"the problem appears when two different events are scheduled at the same time

what happens in code is :

1st event : _get_cron_array();
2nd event : _get_cron_array();

1st event : _set_cron_array( $crons );
2nd event : _set_cron_array( $crons );


1st event is lost.",arena
19621,Cron not working in WP 3.3,,Cron,3.3,normal,major,Awaiting Review,defect (bug),new,reporter-feedback,2011-12-20T12:15:32Z,2012-04-23T21:15:31Z,"Hi,

I was working on wordpress cron and found that the cron doesn't synchronize the times even when the traffic is visiting site pages. The script works fine WP 3.2.1

Please check this. I believe wp-cron.php is not run in this latest release. ",hassanasad
20537,Don't spawn cron requests for suspended blogs,,Cron,3.3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2012-04-24T20:40:19Z,2012-09-17T06:54:10Z,"
{{{

}}}
For multisite, spawning cron requests is wasteful and unnecessary. wp_cron()/spawn_cron()/wp-cron.php should check the blog's status and bail if the blog is suspended.",ryan
12609,Enabling FORCE_SSL_ADMIN breaks wp-cron.php,westi,Cron,,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-03-15T16:02:29Z,2010-11-13T07:50:43Z,"I just completed a server migration and discovered that scheduled posting broke during the process. I tried a few things, including the suggestions from ticket #8923 with no luck. I realized that one change I made, on the new server, was a requirement that the admin uses SSL. After disabling FORCE_SSL_ADMIN I discovered that scheduled posts work again. It seems that I can leave FORCE_SSL_LOGIN turned on and it doesn't cause any problems. This is good enough for our security needs, but I'm sure others might want to have both enabled.",dphiffer
11826,Endless Cron Spawn,westi,Cron,2.9,normal,normal,Future Release,defect (bug),new,,2010-01-08T19:09:02Z,2010-12-14T10:00:23Z,"I somehow get it managed to keep such request in memory while they consume CPU all the time. I noticed that first a week ago or so and now I was able to find out some specifics:

{{{
REQUEST_URI /wordpress-trunk/wp-cron.php?doing_wp_cron
REQUEST_METHOD post
}}}

Maybe there is a condition for an endless loop in there?",hakre
8923,cron timeout is too short,,Cron,,normal,normal,Future Release,defect (bug),reopened,reporter-feedback,2009-01-22T23:50:57Z,2011-09-21T17:13:46Z,"Many users have reported  that 2.7 cron sometimes fails to publish future post. 
And it is further reported that it depends on the number of jobs on the cron queue - when the queue is too long, it will miss some. 

I believe this is because we set the timeout value too short: 

wp_remote_post($cron_url, array('timeout' => 0.01, 'blocking' => false));

When making a request to wp-cron.php, it won't return until all cron jobs are executed.  And 0.01 is just too short time span. It doesn't hurt to give it sufficent time, such as 10 minutes. It will return as long as the mature crons are fired up and executed (in most cases, it's going to be at most a few seconds ). 
",hailin
11800,doubled execution of cron jobs,westi,Cron,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-07T11:17:53Z,2011-06-02T07:18:50Z,"Hi,

as I've already mentioned in ticket #11505 , cron-jobs occasionally get executed twice (e.g. daily backup arrives two times).

I've changed the code according to the patch attachment:ticket:11505:ticket-11505-stop-gap.patch (which derives from [http://wpengineer.com/ping-problem/]) after my comment:ticket:11505:49 and had no doubles within this time period. This week I've upgraded to WP 2.9.1 and since then backups arrive two, sometimes three times, again.

Looking at the changes from 2.9 to 2.9.1, I have no other explanation for this behavior. - Maybe we should consider having a closer look again on this patch attachment:ticket:11505:ticket-11505-stop-gap.patch .

Greetz,
Berny",neoxx
13103,"""Unknown character set"" during install into database reports successful install.",barrykooij,Database,3.0,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-04-24T15:10:23Z,2012-11-07T23:30:23Z,"During editing of the wp-config.php, I changed 

{{{

define('DB_CHARSET', 'utf8');
}}}
to
{{{

define('DB_CHARSET', 'utf8_general_ci');
}}}
Which I thought was valid.

After clicking ""Install Wordpress"" I got a page full of:
{{{
WordPress database error: [Unknown character set: 'utf8_general_ci']
}}}
And at the bottom, ""Success"" with a login prompt, but nothing was actually created in the database.

I think WP shouldn't report a successful install if the user happened to accidentally change this value (or another) during install as it would cause confusion.

I used a svn checked out version of WP on 2010-04-24 on my local computer using PHP5 and apache2, but I think this is really a problem since 2.6 (or when the current install system was implemented).",MECU
21870,@ error control operator hides fatal error on mysql_fetch_object,,Database,1.5,normal,normal,Future Release,defect (bug),new,has-patch,2012-09-11T14:59:36Z,2012-11-07T19:49:19Z,"I ran a get_posts() query that took me a while to track down to the @ error control operator on the mysql_fetch_object call (see wp-db.php:1219 in trunk), therefore PHP was silently die'ing on me because of a memory limit error.

I'm curious as to what use cases there are for the error control operator to be used here. In my case, I want to see these errors and fix my code accordingly, or tailor my query to the memory constraints, or rethink my data relations in the database.

",ericlewis
23085,Calling $wpdb->query() when no connection exists causes mysql_error() to throw an error,,Database,3.5,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-12-30T10:30:49Z,2013-01-21T00:42:22Z,"In the query() method of wp-db.php, the mysql_error() expects that if a parameter is passed to it then it should be a valid link identifier.

*May need feedback or added testing* ...this error may be specific to transactions, which is why it hasn't been noticed before. Unit tests do use transations and I only get these errors when ROLLBACK is called during specific unit tests that don't modify the DB state. A simple transaction opened & rolled back in the Debug Bar Console is not triggering this for me.

Unit test failure examples:

'''Test: test_is_image_positive'''

{{{
mysql_error() expects parameter 1 to be resource, integer given
Execution time: 0.02507209777832s
Stack Trace:
Array
(
    [0] => Array
        (
            [file] => C:\xampp\htdocs\wpnew\wp-includes\wp-db.php
            [line] => 1202
            [function] => mysql_error
            [args] => Array
                (
                    [0] => 0
                )

        )

    [1] => Array
        (
            [file] => C:\xampp\htdocs\wp_test_svn\includes\testcase.php
            [line] => 25
            [function] => query
            [class] => wpdb
            [type] => ->
            [args] => Array
                (
                    [0] => ROLLBACK
                )

        )

)
}}}

'''Test: test_is_image_negative'''

{{{
mysql_error() expects parameter 1 to be resource, integer given
Execution time: 0.02237606048584s
Stack Trace:
Array
(
    [0] => Array
        (
            [file] => C:\xampp\htdocs\wpnew\wp-includes\wp-db.php
            [line] => 1202
            [function] => mysql_error
            [args] => Array
                (
                    [0] => 0
                )

        )

    [1] => Array
        (
            [file] => C:\xampp\htdocs\wp_test_svn\includes\testcase.php
            [line] => 25
            [function] => query
            [class] => wpdb
            [type] => ->
            [args] => Array
                (
                    [0] => ROLLBACK
                )

        )

)
}}}

I don't think we should attempt {{{if ( $this->last_error = mysql_error() )}}}. That is because when mysql_error() is called without a link identifier then the most recent connection to MySQL is referenced. On a busy server this may not be the same connection as our page or transaction originally used. See #3544 for history/details.",mbijon
11151,Common White Screen of Death in wpdb,,Database,2.8.5,normal,major,Future Release,defect (bug),assigned,,2009-11-16T15:07:53Z,2010-12-08T21:32:54Z,"I imported some 10.000 users into WP through a  custom script, using wp_insert_users().
Import successful, I could log in with new users.
Yet wp-admin/users.php page fails to load the users table; I got the admin header and menu but the page stopped loading when querying the DB for the users data.
I set WP-DEBUG to true, but still no error. NO errors in the server log also.
I eventually had to add 

define('WP_MEMORY_LIMIT', '64M');

to wp-config.php to get the users.php page working.
The problem here is that the page doesn't issue the usual PHP memory limit fatal error, I had to guess to sort it out.
",nutsmuggler
23383,High archive page numbers cause invalid database queries,,Database,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-02-04T20:36:30Z,2013-02-05T13:46:24Z,"Visiting `http://www.viper007bond.com/category/videos/page/6805063692754011230` on my site generates the following database query:

`SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (21) ) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 6.805063692754E+19, 10`

Note the scientific notation `LIMIT` value.


PHP: 5.3.15-pl0-gentoo[[BR]]
MySQL: 5.2.12[[BR]]
WordPress: r23386
",Viper007Bond
15004,Missing index on signups table,pento,Database,,normal,normal,Future Release,defect (bug),assigned,commit,2010-10-01T03:48:25Z,2013-05-07T17:36:17Z,"{{{
wp-includes/ms-functions.php:590:
$signup = $wpdb->get_row( $wpdb->prepare(""SELECT * FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
wp-includes/ms-functions.php:595:
$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->signups WHERE user_email = %s"", $user_email) );
}}}

But there is no index on user_email in the signups table.  Makes these queries perform a full table scan which is slow when you have lots of signups.

Attached patch adds the index but I can't figure out how schema upgrades on MS-specific tables ever get run after the initial activation of MS mode and table creation.

",barry
21504,Not checking if apply_filters exists before calling it in WP_DB,,Database,3.4.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-08-06T22:49:52Z,2012-10-25T21:17:48Z,"Prior to version 3.4, there was a check to verify that apply_filters existed before calling it in wp-includes/wp-db.php.  


{{{
// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
if ( function_exists( 'apply_filters' ) )
  $query = apply_filters( 'query', $query );
}}}


In version 3.4 and above, that check doesn't exist anymore, and can throw an error. There is still a comment indicating that a check should be made, but the actual code to perform the check is now gone. This is around line 1081


{{{
// some queries are made before the plugins have been loaded, and thus cannot be filtered with this method
                 $query = apply_filters( 'query', $query );
}}}




Here is the github blame view to show when the code was remove (I'm not sure how to find this same view in your svn):

https://github.com/WordPress/WordPress/commit/81ed9a7563e5ad4c0edccd059bc4ea7d9c1a4a10

There's no explanation about why the code was removed, so would it be possible to add it back in?

Thanks!

Julia
",jdkoelsch
21762,Storing a multidimensional array using register_setting double-serializes subarrays identified with a string,sekatsim,Database,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-31T22:43:16Z,2012-09-01T16:36:41Z,"Storing a multidimensional array, such as `$options['my-option'][$id] = ""value""`, into the database using register_setting results in the ""my-option"" string getting double serialized. The option_value is stored as:

`s:9:""'my-option'"";a:1:{s:9:""option-id"";s:5:""value"";}`

The my-option array is encased in both single and double quotes, so that `isset($options['option-id']` evaluates false, but `isset($options[""'option-id'""]` evaluates true.",sekatsim
22134,"Update Network causes ""WordPress database error Table 'wp_signups' already exists for query""",,Database,,normal,normal,3.6,defect (bug),new,has-patch,2012-10-08T20:58:37Z,2013-04-19T10:54:17Z,The CREATE TABLE statements in wp-admin/includes/schema.php don't use IF NOT EXISTS so they create lots of SQL errors every time you update the network.,tomdxw
18210,"Update_post_meta is case insensitive on meta_key, but get_post_meta is NOT",,Database,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-22T07:05:28Z,2013-02-28T16:06:54Z,"In WordPress 3.3-aortic-dissection and 3.2.1

get_post_meta is case sensitive on the meta-key

BUT

update_post_meta is NOT case sensitive

Thus If there is a pre-existing meta record with a key in say UPPERCASE, then one can issue an update for a lowercase key that one can not then fetch as it does not exist - only the uppercase key exists. 


Example Code

{{{

	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />got upper: '; var_dump($meta);
	}
	update_post_meta (21, '_allday','Tried to update lowercase');
	$meta = get_post_meta ($post->ID, '_allday');
	if ($meta ) { echo '<br />got lower: '; var_dump($meta);
	}
	else { echo '<br />Tried to get lower but no go';
	}
	$meta = get_post_meta ($post->ID, '_ALLDAY');
	if ($meta ) { echo '<br />Still have upper: '; var_dump($meta);
	}


}}}



Output of above:



got upper: array(1) { [0]=> string(14) ""tis the upper."" }
Tried to get lower but no go
Still have upper: array(1) { [0]=> string(25) ""Tried to update lowercase"" } ",anmari
16107,WordPress Database Error Logging Extravaganza,,Database,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-05T12:41:00Z,2011-01-05T14:33:05Z,"If PHP error logging is enabled, the wordpress database class will log errors to file by using the error_log() function. This is a PHP function.

While doing so, it does not reflect the PHP configuration setting for {{{log_errors_max_len}}} which defaults to 1024 (bytes).

While not doing so, the database class can log extremely long queries into the file creating multiple gigabytes quite quickly.",hakre
12302,add_metadata() Fails to Store Serialized Values as BINARY,ryan,Database,,high,critical,Future Release,defect (bug),new,,2010-02-20T10:52:15Z,2010-04-18T04:36:44Z,"Symptoms:

WordPress stores corrupt values in post_metadata if there are any non-UTF-8 bytes in the meta_value.

Steps to reproduce:

Call add_metadata() with non-UTF-8 values such as a latin-1 copyright char.

Even though the serialized string goes through prepare() before the query, MySQL is required to truncate the invalid value being assigned to the meta_value field.  The result is that the stored value can never be un-serialized.

This behavior can also be replicated by trying to inject CHAR(169) into any UTF-8 table query.",miqrogroove
14445,dbdelta do not handel FULLTEXT KEY correctly and generate MySQL errors,,Database,3.0,normal,minor,Future Release,defect (bug),new,has-patch,2010-07-28T17:36:36Z,2011-01-16T02:11:59Z,"When using dbdelta during the update of a plugin that a Fulltext index use, dbdelta generate a MYSQL error due to duplicate index.

This is due to the array_search return always false.

I attached a posible solution to address this issue. I added a key named 'index_type' to the $index_ary. This way, when 'index_type' == fulltext, I add to $index_string ""FULLTEXT"".",edirect24
21272,reporting typo in dbDelta,,Database,3.4.1,normal,minor,3.6,defect (bug),new,has-patch,2012-07-14T14:45:25Z,2013-01-08T07:05:05Z,"In dbDelta, there is the section:


{{{
                // For every remaining index specified for the table
                foreach ( (array) $indices as $index ) {
                        // Push a query line into $cqueries that adds the index to that table
                        $cqueries[] = ""ALTER TABLE {$table} ADD $index"";
                        $for_update[$table.'.'.$fieldname] = 'Added index '.$table.' '.$index;
                }
}}}

Note that $for_update is updated with the wrong array index.  This causes some updates not to be returned in $for_update.  Better would be:

{{{
                        $for_update[$table.'.'.$index] = 'Added index '.$table.' '.$index;
}}}

Even this is not really right, since indexes and columns may have the same names.  Given that the users of dbDelta don't even seem to care about the keys, it might be simpler just to change all the $for_update lines to

{{{
                        $for_update[] = ...
}}}

except for the first one that must be keyed on table name.",apimlott
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
12257,wpdb Scales Badly Due to Unnecessary Copies of All Query Results,ryan,Database,,normal,critical,Future Release,defect (bug),reopened,needs-refresh,2010-02-17T03:08:06Z,2013-03-19T05:19:44Z,"While working on #11726, I encountered a reproducible crash in wpdb::query()

The following code causes memory exhaustion on large result sets:

{{{
while ( $row = @mysql_fetch_object($this->result) ) {
	$this->last_result[$num_rows] = $row;
	$num_rows++;
}
}}}

The memory exhaustion message is error-controlled, causing a white screen of death even in debug mode.

I searched wp-db.php for references to $this->last_result, and I found no justification for these object reference copies.  $this->last_result '''should''' be maintained as a MySQL resource and properly optimized using the MySQL client layer instead of this PHP nonsense.

Tagging for dev-feedback to discuss which Milestone is appropriate.",miqrogroove
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
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
20328,get_date_from_gmt assumes current gmt_offset is appropriate,nacin,Date/Time,,normal,normal,Future Release,defect (bug),reopened,has-patch,2012-03-29T22:02:24Z,2013-05-14T13:22:54Z,"For locations that have daylight savings time, the gmt_offset changes over time. Yet get_date_from_gmt assumes the offset that is in effect now is always the right offset. But I might be trying to display date/times that are in a different timezone transition than the current one.

Proposed fix is to use timezone_transitions_get() as wp-admin/options-general.php does in order to translate those date/times accurately.",scottconnerly
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
17391,Alternative color schemes and theme settings in editor styles,azaozz,Editor,3.2,normal,trivial,Future Release,defect (bug),assigned,early,2011-05-12T13:14:56Z,2012-01-14T19:10:10Z,"Hello there. 

There is no support for links color change in editor-style.css. 
If you change it in Theme Options, you will see the same:

{{{
a {
	color: #1b8be0;
	text-decoration: none;
}
}}}

As we want the editor to be WYSIWYRG, maybe we should include this change in editor-style.css too. 

I have tried to do that with `add_editor_style()`, but it is only intended for .css archives. 
I have tried to add it as a filter extending `twentyeleven_print_link_color_style` in `mce_css` and `tiny_mce_before_init`, unsuccessfully.  

All ideas for what can I use to make tinyMCE read the options are welcome. ",bi0xid
19947,Copy paste behavior in Visual mode differs from HTML mode,,Editor,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-02-02T13:13:11Z,2012-02-02T13:13:11Z,"Copy a random html page from a random site including links and images and paste it into the WYSIWYG Editor Visual mode and it will include the images and links. Basically it (mostly) looks like the copied page. If you paste the same into the WYSIWYG Editor HTML tab and it will strip out _all_ HTML markup and just leaves the plain text, without the images or links.  

Expected: 
I would expect the Visual and HTML mode of the WYSIWYG editor to behave the same, either both use the code (displaying the results of the markup code in the Visual tab and the markup code itself in the HTML tab) or both strip out all html.   

",BjornW
19649,DFW Auto textarea lengthening is twitchy,koopersmith,Editor,,normal,normal,Future Release,defect (bug),assigned,,2011-12-22T21:52:36Z,2012-04-27T21:08:56Z,"The auto textarea lengthening is twitchy. It shoves the content up a line, then pulls it back down.

Best seen in a screencast: http://screencast.com/t/e5zIpkk9nY",markjaquith
23299,Definition List in Editor,,Editor,2.2,low,minor,3.6,defect (bug),new,has-patch,2013-01-26T18:38:12Z,2013-01-27T19:13:36Z,After switch from Text to Visual and then from Visual to Text the formatting of the definition list is lost.,gputignano
22185,Distraction Free Writing mode lacks any controls on touch devices,,Editor,3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-13T22:39:05Z,2013-01-10T00:30:44Z,"Distraction Free Writing mode on touch devices is pretty disastrous. All the controls disappear, meaning you can't apply any formatting and - more importantly - you can't save your content or exit fullscreen mode.

Not sure what would be best:
 1. Don't autohide the controls at all on touch devices.
 2. Autohide the controls but add a toggle button which shows up on touch devices to toggle the controls on again.
",johnbillion
18627,Google Chrome handles bulleted lists differently in Visual Editor than other browsers,,Editor,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-09-09T16:10:51Z,2011-09-09T16:10:51Z,"In Firefox (working functionality):

1. create brand new post or page
2. in the visual editor, click Bulleted List icon
3. In Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press Enter

Result: a new bullet, and we've lost the H1 style (just inside a ul >> li now)

Try this with Chrome 13.x

1. create a brand new post or page
2. in the visual editor hit the Bulleted List icon
3. in the Format menu choose H1
4. Type some text (it's inside a ul >> li >> h1)
5. Press enter

Result: no new bullet. We're inside a ul >> li >> div

Also tested in IE 7 and 8 (works fine). haven't tried other WebKit browsers.",tomauger
11986,HTML comments in post/page content get wrapped in P tags,,Editor,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-23T19:32:13Z,2010-06-14T01:39:31Z,"I don't know if someone already caught this i had mentioned it to someone in the #chat but

When you write a post or a page and include comment html tags

the comments end up being wrapped in <p> tags

<p><!-- comment --></p>

An older plugin i use makes use of comment tags to know where to insert content but comments may be used for other reasons inside posts.

the more comments you add
the more line breaks errr paragraph breaks 

additionally the plugin I was using could not pickup the comment tag and insert the content.


",NPSites
16116,Hide 'Move to Trash' for auto drafts,,Editor,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-06T05:54:59Z,2013-01-22T16:52:51Z,"The 'Move to Trash' link should not appear for auto-drafts. 

This was the original intent of what [13905] removed, which I want to say was designed to reflect additional scenarios.",nacin
22996,IE8 - Hierarchical Taxonomies with bulk terms cause massive slow-down / freeze,,Editor,,normal,minor,Awaiting Review,defect (bug),new,dev-feedback,2012-12-18T19:18:02Z,2013-01-06T08:07:28Z,"For a project, we have about 550+ terms in a single taxonomy, the other taxonomies have around 10-40 each themselves too. There appears to be an issue when IE8 comes across too many checkboxes on a page, and this recently was exacerbated by an upgrade to WP 3.5. The upgrade itself didn't cause it, but it coincided with the addition of a few new terms (don't know how many were added before the upgrade just yet, will post if I find out more info).

To reproduce, you've gotta have a large amount of terms for your taxonomies, then go into the post editor (for whatever post type you're testing on), and ensure your taxonomies have 'hierarchical' set to true in their definitions. I've seen the issue crop up on save (on subsequent load of the page w/ success message on it), and on open of the edit page itself.

The issue seems to be more severe for IE8 on Windows XP Service Pack <= 1, but I've seen it cause a massive slow-down for newer XP versions, just not freeze up entirely like it did on the XP SP 1 machine I was primarily testing on.

''I'm not really sure'' what the solution is going to have to be here, or if this will serve merely as a paper-trail for the folks searching for information about this.

I did a blanket forceful change for checkbox input to autocomplete on the meta boxes associated to hierarchical taxonomies using the following Gist to resolve the freezing for now:

https://gist.github.com/4330772

Here's the info you'll probably ask for, I went down to the basics to see exactly what the cause was:

1. No plugins activated (except a small plugin that had the Gist in it to resolve the issue for me)

2. Standard Twenty Twelve theme activated

3. Tested and found the issue happening on both WP 3.4.x and WP 3.5

4. Tested on XP SP 1 with IE8, saw the greatest degradation of performance here

5. Tested on XP SP 3 with IE8, saw a noticeable freeze and then slow-down of performance as the page loads here",sc0ttkclark
19645,Image caption gets removed when editing image dimensions.,,Editor,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-12-22T16:24:34Z,2011-12-23T18:25:53Z,"When editing an image placed into a post in a certain way, the caption of the image is removed.

Steps to reproduce:
1. Edit a post that contains an included image.
2. Click the edit options icon when selecting the image.
3. Go to the advanced image settings(make sure the image does have a caption).
4. Empty the width field.
5. Press the submit button.
-> The caption of the image is set empty.

Remarks,
In my case only leaving the width input field blank caused this issue.",JanJaapKempenaar
13942,Logged-out notice in post edit page is easily missed,,Editor,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-06-17T11:25:40Z,2012-09-27T15:42:48Z,"When a user gets logged out during post editing, a small warning appears bellow the post editor, next to the word count. This warning states that changes will not be saved until user logs in again - but it's a small notice and is very easily missed.

Since this can be potentially catastrophic for users writing long posts while relying on auto-save, a bigger and more prominent notice probably makes more sense.

=== Repro ===

ENV: WP 3.0

This bug can be reproduced in WordPress 3.0 by opening two tabs – one tab with a blog’s Dashboard, and another tab with the same blog’s New Post page. In the Dashboard, click Logout, then switch to the New Post tab. Here, enter any text in the post’s title, then hit Tab to switch to the editor. This will trigger the permalink preview, which will in turn trigger the notice about being logged out: “ALERT: You are logged out! Could not save draft. Please log in again.”

=== Additional Details ===

The notice comes from wp-admin/admin-ajax.php, in line 36.

Currently behavior was introduced by #7630, where it was already noted ""maybe something more obvious needed""",RanYanivHartstein
23103,Non image caption shortcode lost when switching from text to visual editor and back,,Editor,3.4,normal,normal,Awaiting Review,defect (bug),new,,2013-01-02T16:40:25Z,2013-02-13T05:56:05Z,"1. Add the line in text editor 
{{{
[caption caption=""test"" width=""300""]Checkuot this text[/caption]
}}}

2. switch to visual editor 

3. switch back to text and you get 
{{{
<dl class=""wp-caption alignnone"" id="""" style=""width: 310px;""><dt class=""wp-caption-dt"">Checkuot this text</dt><dd class=""wp-caption-dd"">test</dd></dl>
}}}
",mark-k
16077,Placement of link popup in full-size visual editor when browser window is resized,garyc40,Editor,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-01-02T19:47:30Z,2013-01-22T16:54:13Z,"To recreate: Writing a post in the full-window view of the visual editor, click the link popup. While popup open, resize browser window to be smaller. Link popup stays in original location, even if the window gets small enough to cut it off. 

You can move the link popup by dragging the top bar. If you do this, then the link popup will stay in the new place b/c our save state stuff, even when you're writing in the regular size visual editor.

Preferred UX: if browser window resizes, have link popup recenter itself in the overlay. ",jane
13327,Post editor puts content through wpautop() before displaying it to users without JS enabled,,Editor,3.0,low,normal,Future Release,defect (bug),new,,2010-05-10T21:42:50Z,2010-11-12T11:24:54Z,"'''Steps to reproduce:'''

 1. With JS on, change to the Visual Editor
 2. Disable JS
 3. Add a new post
 4. Save as draft
 5. Note that the content is wrapped in {{{<p>}}} tags in the textarea.

[[Image(http://img19.imageshack.us/img19/6363/screenshot20100510at524.png)]]

'''Expected:'''

No paragraph tags are added.",markjaquith
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
11082,Saving an empty draft dumps user out to edit.php,akhilasuram,Editor,2.7,low,minor,Future Release,defect (bug),assigned,needs-refresh,2009-11-05T15:16:46Z,2012-12-13T20:09:23Z,"ENV: wp trunk r12138 (2.9-rare)

When a user starts up the editor for a new post and attempts to save a post with no title and no content, WordPress dumps the user back out to the list of posts in edit.php with no message or indication as to why this happened. You can edit the publish information (date, status, etc.), tags, and categories, but as long as there is nothing for either the post title or the post content, the behavior is the same.

It's expected that a post with no content whatsoever wouldn't be saved (there's nothing there!), but would be nice if the behavior were easier to understand or explained why nothing was happening.",markel
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
21787,"While editing post, View Post link disappears if post status gets set to anything other than 'publish'",,Editor,,normal,normal,3.6,defect (bug),new,has-patch,2012-09-04T10:00:54Z,2013-01-14T11:11:27Z,"To reproduce, edit a post and change the Visibility to private. You'll notice the 'View Post' link next to the slug editor disappear. 

I would suggest that we match the interface here with the way the 'View Post' link works in the admin bar: check read_post cap for the user against the post, and display accordingly. ",ericlewis
9716,WordPress Theme/Plugin editor adds blank lines,,Editor,2.7.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-05-03T20:32:01Z,2012-04-20T16:29:42Z,"When I edit theme css in theme editor in WP admin
!WordPress reformats my CSS and adds a blank life between entrys in css.
it adds a cr and line break ....
In other words if you have a 100 line css
download with FTP look at in text editor
it is now 200 lines
as WP added blank lines to css
it should not be adding things to the CSS?

It may only do this when it wraps window but I think not it appears to add blank lines.

Imagine the damage to a 1000 line CSS it spaces every entry by 1 line!!!!!!!!!!!!!! It stiil works but it messes it up.

THAT IS COFIRMED ONE EDIT DOUBLE SPACE ENTIRE CSS... VERY BAD 

Here is part of the problem but not the double space in total.
When you down load the file in FTP and it is in windows encoding
the line endings.
So you ftp back and all is fine.
Now you are at the coffee shop and what a quick change, so you login to WP admin and theme editor edit CSS.
Now you get home and download in ftp to continue your work on CSS.
The file is now mac formatted (or thinks it is) so when you edit the line endings do not contain the right line breaks for windows OR WP theme editor as it ignores them. This explains the wierd spacing though not the double spacing .... why is it converting to mac and yet ignores mac?!
weird.. it adds a CR tag
must be bug
again though its still double spacing on edit IN windows line ending though if you down load cSS its tagged mac format...


Use notepad 2 or Note pad plus to see the error.
When ever you edit with !WordPress editor it adds cr and says css is now mac formatted.

FTP download the file and now see all the extra CR's it adds.

So it likes CR only so I convert to CR only and it beaks CSS it wants CR LF to work but if that is the case why does the online editor add CR only????????????????????????? 
",Vistronic
23382,WordPress admin panel lags,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-04T19:02:20Z,2013-05-20T00:01:32Z,"I'm using Windows 7, brand-new laptop with i7 processor, 8GB RAM and 1080p resolution.

I have created a post with 15 1920x1080 images in it and a lot of content (25000 characters). Results:

=== CHROME & CHROME CANARY ===
It's far from being usable at all. It lags that much that cursor doesn't even change from ""default"" to ""pointer"" when I hover over ""Publish"" button. Even switching to WordPress Admin Panel tab takes 5 seconds. Textareas are not resizable because lags prevent my mouse cursor from doing anything. Actually, entire Admin Panel lags, all these Drag&Drop widgets etc.

=== FIREFOX ===
A bit better than Chrome, everything lags but at least I can resize textareas and after 10 seconds it becomes usable. Nonetheless, it's not as smooth as other websites.

=== IE10 ===
Excellent. Not even a single slowdown!

=== SAFARI ===
Very close to IE10.

I think that WordPress Admin Panel is stuffed with heavy Javascript. Maybe it's worth taking a look at that. The module that seems to be the heaviest is TinyMCE - when this appears then lags appear as well. Chrome works fine everywhere except WP Admin Panel.

Good luck guys and thank you for your hard work during WordPress development :) My complaints are here only to make it better. I can live with these lags (since I can do it in IE10) but those are just my thoughts (many people use Chrome).",Looimaster
23332,iPad Can't Move Cursor in Visual Editor,,Editor,,normal,normal,Awaiting Review,defect (bug),new,,2013-01-30T23:13:50Z,2013-02-11T23:33:20Z,"I've been ramping up iPad usage with WordPress both for mobility as well as testing.

The more I use it, the more frustrated I become with the visual editor.  Due to what appears to be multiple bugs with both iOS and WordPress, I am often unable to move the cursor and must switch to the Text tab to do my editing.

When tapping into the Visual editor in a long post, the screen auto scrolls so that the cursor is sitting directly above the keyboard, and the admin bar moves to the middle of the page, covering most of the remaining editing area.  This blocks the view of any preceing or following text, and makes it very awkward to write sentences longer than the editor is wide.

To move the cursor to a different part of the post, I have to un-focus the editor and the tap into the editor on a different line.  The only place I can reliably land the cursor is at the end of a line, so to change anything in the middle of a paragraph, I have to use the text editor.",miqrogroove
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
23776,"A string of text starting with ""http://"" turned into a paragraph",,Embeds,2.9,normal,normal,Awaiting Review,defect (bug),new,,2013-03-14T21:11:00Z,2013-03-15T07:10:14Z,"
In either editor, if there's a line of text that starts with http:// wordpress will create a new paragraph.

This description box isn't working to show what I mean see this support post.

http://wordpress.org/support/topic/a-string-of-text-starting-with-http-turned-into-a-paragraph",winterstreet
17210,Massive duplication of oEmbed postmeta,Viper007Bond,Embeds,3.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2011-04-21T23:38:35Z,2013-02-15T19:56:22Z,"Hey guys,

Ever since my blog grew to a considerable size (a few million PVs a month) and started slowing down and exploding my server, I've been looking and implementing various optimizations. During one such passes through the data, I noticed this really weird oEmbed related behavior, which I've been observing for a number of WP version upgrades.

I use [embed] shortcodes a lot, and every new post after a few minutes ends up with a ton of oembed caches that don't belong to it at all - they're all from other posts. Posts that don't even have [embed]s at all still have over 100 oembed entries in wp_postmeta.

Here's an example of just a small subset of data residing in the table:

[[Image(http://farm6.static.flickr.com/5230/5641419581_0610c9e267_b.jpg)]]

There are now about 150,000 entries in the wp_postmeta table due to this, half of which are duplicated _oembed entries, which I think has heavy impact on server load. Not only that but I'm sure WP is filling the table up with values by redoing oEmbed queries, which may explain that load shoots up very high at times when publishing.
{{{
mysql> select count(*) from wp_postmeta where meta_key like '_oembed%';
+----------+
| count(*) |
+----------+
|    81499 |
+----------+
1 row in set

mysql> select count(*) from wp_postmeta;
+----------+
| count(*) |
+----------+
|   148451 |
+----------+
1 row in set
}}}

Just look at how many times this random video embed value shows up in the table. I'm sure it was used in only one actual post:
{{{
mysql> select count(*) from wp_postmeta where meta_value like '%p2oWELcd-lI%';
+----------+
| count(*) |
+----------+
|      815 |
+----------+
1 row in set
}}}

Just to clarify - I don't have 815 updates to a single post that may have explained this - these are completely unrelated, separate, published posts.

To put things in perspective, here are the top 20 offenders:
{{{
mysql> select distinct meta_key, count(*) as cnt from wp_postmeta where meta_key like '_oembed%' group by meta_key order by cnt desc limit 20;
+------------------------------------------+-----+
| meta_key                                 | cnt |
+------------------------------------------+-----+
| _oembed_5607e41abb700707540a854ae76182cf | 864 |
| _oembed_984bc07d3bc0f61b6b35230cd2fa7ced | 859 |
| _oembed_da8ae36275b4576cfcd92c0ed455be96 | 859 |
| _oembed_71dd4068a9a6911f50dbe57b3ff477c5 | 858 |
| _oembed_9f817e820c23ccbfac9b22b3474e5dd3 | 858 |
| _oembed_f3c1c03a81bc301b5f1a063f65119328 | 857 |
| _oembed_31bf10d95cb7c8e9f646d9d6e5728da0 | 857 |
| _oembed_25d0ebf59c994050cb604900cf04f53f | 856 |
| _oembed_6265dae657e38579c0a8ddb66132d526 | 852 |
| _oembed_562dd8c13888905cbd15dbd74e8699cc | 849 |
| _oembed_30ea17d1cc73acd925a74373d2be32ec | 848 |
| _oembed_87f16916b4da6571f454266bfbfaebe0 | 847 |
| _oembed_9f1f038d43e973bd60929201eee24f57 | 843 |
| _oembed_d46317d44fe11c0d90ef2cc3b45bce57 | 843 |
| _oembed_b1f8685ba405feee46baf9408eb632f7 | 841 |
| _oembed_1b56f492eba4c4ea698d816d0ecf2d51 | 840 |
| _oembed_fe597714de4081e6e7e78a88256c7db4 | 840 |
| _oembed_fb843e7b604cbc4e1ffa144d4eb300c8 | 839 |
| _oembed_97b12f2f1e59ee6eff95c61095aa5bef | 838 |
| _oembed_2b94d9f7c28ee37bfbead0a622c8be85 | 838 |
+------------------------------------------+-----+
20 rows in set
}}}

I'm quite at a loss here and would appreciate the next debugging steps. I haven't been able to determine where things are going wrong on my own.

Thank you.

P.S. The site in question is AndroidPolice.com",archon810
23715,Plugins/Themes that rely on get_option('embed_autourls') may fail in 3.5.x,,Embeds,3.5,normal,normal,3.5.2,defect (bug),new,commit,2013-03-07T17:43:17Z,2013-04-18T06:56:31Z,"After upgrading to WordPress 3.5. or greater from 3.4.x and below, the option ""embed_autourls"" will still exist in the database. Plugins or Themes that make assumptions based on this may fail as regardless of the answer, the actual behavior is that embed_autourls is always on per http://codex.wordpress.org/Embeds

  WordPress will automatically turn that into a YouTube embed when the post is viewed. As of 3.5, Auto-embeds are automatically enabled and there is no setting to turn them off in the WordPress admin pages. Prior to 3.5, there was an ""Auto-embeds"" checkbox in Administration > Settings > Media SubPanel.

Backwards compatibility could be preserved if this option would always return true from 3.5.x onward. Perhaps removing this option (from all sites if multisite) as an upgrade step could be another solution (though terrifying) to at least have a consistent (though not helpful) return value. These are just ideas that come to mind.

I did a quick scan through the options code I didn't see a history of forcing an option to a specific value for historical purposes. I assume this ticket will likely result in a ""won't fix"" but I wanted to make a record of it in the event others search the bug database.

Thank you for your time!",standardbanter
24296,"Viddler oembed has new endpoint, old one strips maxwidth",,Embeds,,normal,normal,Awaiting Review,defect (bug),new,,2013-05-09T17:34:41Z,2013-05-09T17:34:41Z,"Viddler changed their oembed endpoint:

http://developers.viddler.com/documentation/oembed/

Now it's ""http://www.viddler.com/oembed/"" instead of ""http://lab.viddler.com/services/oembed/"".

They have the old endpoint redirecting, but unfortunately, the redirection strips off the maxwidth (and possibly other) parameters, which can result in incorrectly sized videos when using oembed with Viddler.

Example:
http://lab.viddler.com/services/oembed/?url=http://www.viddler.com/v/bdce8c7&format=json&maxwidth=250

Redirects to:
http://www.viddler.com/oembed/?url=http://www.viddler.com/v/bdce8c7&format=json

We should change the endpoint in class-oembed.php to the new one. If the new endpoint is used directly, with no redirect, then it does correctly handle the maxwidth parameter.
",Otto42
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
20903,Exporter gets stuck in a loop a loop/break in the category hierarchy,westi,Export,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-06-11T11:26:07Z,2012-06-12T08:13:02Z,"Ideally it should be impossible for a loop/incorrect parentage in a category hierarchy to exist.

But sometimes they do.

If one does exist then {{{export_wp()}}} gets stuck :(

It gets stuck in this code:

{{{
		// put categories in order with no child going before its parent
		while ( $cat = array_shift( $categories ) ) {
			if ( $cat->parent == 0 || isset( $cats[$cat->parent] ) )
				$cats[$cat->term_id] = $cat;
			else
				$categories[] = $cat;
		}
}}}

Similar to #20635 but different.",westi
14584,HTML entities in category and tag elements,,Export,3.0.1,normal,normal,Awaiting Review,defect (bug),new,,2010-08-11T05:47:13Z,2010-08-11T05:47:13Z,"The script wp-admin/includes/export.php creates CDATA blocks for category and tag data which contain HTML entities. Normally, these characters should appear un-encoded in the CDATA blocks, see #4321.

I suspect this problem may have been considered at some point, but currently the line in question is commented out : http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/export.php?rev=9148#L102

The solution, I think, would be to replace that comment with html_entity_decode($str) ",lavamind
8470,Large exports break frequently,tott,Export,,normal,normal,Future Release,defect (bug),new,reporter-feedback,2008-12-03T13:51:37Z,2009-11-18T21:21:54Z,"For large wordpress exports frequently the download stops at some point.

This effect seems to be due to bad memory utilization on slow downloads where the content cannot be flushed fast enough to the browser.

Attached patch includes various improvements in content flushing, and for cleaning of variables in order to save some memory.",tott
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
7813,export function does not preserve encoding,tott,Export,2.7,normal,minor,Future Release,defect (bug),new,,2008-09-30T20:07:25Z,2009-11-24T15:54:10Z,"when exporting strings are always converted to utf-8 while header and encoding is set to encoding used in blog.

this causes trouble when importing later.",tott
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
22974,Media manager inaccessible when dragging several images on Safari,azaozz,External Libraries,3.5,normal,normal,3.6,defect (bug),assigned,reporter-feedback,2012-12-17T13:54:07Z,2013-01-04T22:00:49Z,"Browser: Version 6.0.2 (8536.26.17)

Target: The new media manager

Bug Description: After drag and dropping multiple images on the manager for upload, the manager becomes inaccessible.

Reason: In some cases the uploader-window fails to change display:block to display:none which makes everything on that page unclickable:

    <div class=""uploader-window"" style=""display: block; opacity: 0; "">     <div class=""uploader-window-content""> <h3>Drop files to upload</h3> </div> </div>

Since this is an external jQuery plugin used in Core and related to html5 structure, attached is the fix in the minified versions, as well as a standalone dev new version and the related code itself.

",mario-siteground
14888,PHPMailer class uses wrong/no sender for mail envelope,,External Libraries,3.0,normal,normal,Future Release,defect (bug),new,close,2010-09-17T07:50:38Z,2013-02-07T01:53:01Z,"As an result following SMTP envelope and ""Return-Path"" email address can occur:

{{{apache@localhost.localdomain}}}

This will lead some mail servers to reject mails because of the not valid fqdn ""localhost.localdomain"".

Correctly the defined FROM address should be used, usually:

{{{'wordpress@'.$_SERVER['SERVER_NAME']}}}

In PHPMailer::CreateHeader() it is checked for

{{{if($this->Sender == '')}}}

The following will set the ""Return-Path"" in the mail headers, but NOT the envelope email address used in the SMTP handshake:

{{{$result .= $this->HeaderLine('Return-Path', trim($this->From));}}}

I fixed it by adding the following line after the mentioned one, setting the ""Return-Path"" in the mail header:
{{{$this->Sender = $this->From;}}}

So my condition looks like:
{{{
    if($this->Sender == '') {
      $result .= $this->HeaderLine('Return-Path', trim($this->From));
      $this->Sender = $this->From;
    } else {
      $result .= $this->HeaderLine('Return-Path', trim($this->Sender));
    }
}}}",gkusardi
23364,Unstable sorting with jQuery UI 1.9.1 and above,,External Libraries,3.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2013-02-02T03:07:18Z,2013-02-02T03:09:35Z,"There seems to be an issue with jQuery UI (sortable) 1.9.1 and above that affects (rather severely) sorting of elements inside sortable source and target containers. I haven't seen this affect core, but since WP has been shipping with one of the affected versions (1.9.2) since 3.5, I'm worried about potential repercussions on WP theemes, plugins or projects relying on this script. For instance, Ultimate Tinymce, by Josh Lobe and myself (recently), has been affected by this.[[BR]]
[http://elblawg.com/jqueryui-test/ Here] is a testing platform I created on my server about the problem. Choosing any version of UI newer than 1.9.0 will result in said behavior.[[BR]]
[http://bugs.jqueryui.com/ticket/9041 Here] is the ticket I submitted to jquery UI Trac and [https://github.com/MarventusWP/jquery-ui/commits/master here] the Commits to their github project.[[BR]]
Finally, as recommended by Andrew Nacin on the wp-forums list, [http://jsfiddle.net/Marventus/THwqS/1/ here] is a JSFiddle that reproduces the problem.[[BR]]
I am not really sure what to do about this, but I thought I should leave it on record just in case.
Thanks!",Marventus
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
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
17767,Anonymous comments can break comments RSS feed,westi*,Feeds,3.2,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-06-11T11:30:34Z,2013-05-20T12:00:48Z,"dc:creator and description elements should not be parsed.

Author field that can break RSS:
{{{
&#1040;&#1079; &#1089;&#1077; &#1082;&#1072;&#1079;&#1074;&#1072;&#1084; &#1042;&#1077;&#1089;&#1077;&#1083;&#1080;&#1085; &#1053;&#1080;&#1082;&#1086;&#1083;&#1086;&#1074;, &#1090;&#1086;&#1074;&#1072; &#1077; &#1077;&#1076;&#1085;&#1086; &#1084;&#1085;&#1086;&#1075;&#1086; &#1076;&#1098;&#1083;&#1075;&#1086; &#1080;&#1084;&#1077;
}}}

Comment text that can break RSS:
{{{
&amp;ndash;
}}} 

(and most of the $allowedentitynames)",dzver
14363,Atom feed is broken when WordPress is served as application/xhtml+xml,,Feeds,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-07-20T14:57:52Z,2011-05-10T18:54:37Z,"Atom feed is broken when WordPress is served as application/xhtml+xml because of the difference in html_type_rss().

The patch attached also deprecates the_excerpt_rss() with a new function called 'the_excerpt_feed'.",peaceablewhale
22028,Comments feed,,Feeds,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-28T00:29:04Z,2012-09-28T08:04:24Z,"The problem I have noticed is with the comments feed however I think that this can happen with any of the other feeds.

When there are no comments accessing somedomain.com/comments/feed will cause a 404 error message in some browsers and in others just a blank screen, no errors whatsoever are generated which makes it very hard to figure out what the underlying cause is.

I would suggest providing a message that clearly states the lack of comments instead of a 404 error message or blank page, I think this same problem applies to all other feeds except it is clearly not noticeable as posts are the first things that are created after a clean install but comments can sometimes take longer or may not even happen however the comments feed url is added in the head of the document causing the site to have a broken link.",tlacaelelrl
15610,Comments on attachments don't appear in site-wide comments RSS feed,,Feeds,3.1,normal,minor,Future Release,defect (bug),new,,2010-11-29T21:05:37Z,2010-12-11T14:00:22Z,"Tested against r16950.

Comments that are entered against an attachment do not appear in the site-wide comments RSS feed (e.g., http://sitename.com/comments/feed/).

To test:

 1. Add an attachment of any kind (usually image), then View the attachment.
 2. Post a comment on the attachment page.
 3. Check the site's comments RSS feed - the comment will not appear.",markel
11060,Content-Type of XML feeds is misstated as 'text/html',dd32,Feeds,2.8.6,normal,normal,Future Release,defect (bug),new,has-patch,2009-11-02T01:56:40Z,2010-02-05T13:22:33Z,"I access blog XML feeds via a caching proxy (squid).  The Content-Type in the HTTP response headers is initially reported correctly as 'text/xml', but when a subsequent request is made and the object is stale, wordpress sometimes returns a '304 Not Modified', but also incorrectly re-characterizes the Content-Type as 'text/html'.  Example:

{{{
HTTP/1.0 304 Not Modified
X-Pingback: http://wordpress.org/development/xmlrpc.php
Last-Modified: Sat, 31 Oct 2009 21:28:00 GMT
ETag: ""a4aa82a49dbe294617210eb367fa0997""
Content-type: text/html
Date: Mon, 02 Nov 2009 01:25:17 GMT
Server: LiteSpeed
Connection: close
}}}
I've seen this on 'wordpress.org/development/feed' (LiteSpeed), on a wordpress.com hosted blog (nginx), and on an independent site running wordpress (Apache).
",celejar0
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
10511,Enclosure Custom Fields are automatically deleted,,Feeds,2.8,high,major,Future Release,defect (bug),reopened,has-patch,2009-07-29T14:20:16Z,2012-02-02T16:36:06Z,"This bug was introduced by Ticket [http://core.trac.wordpress.org/ticket/6840 6840].  I and many other people only wanted specific fields added as an enclosure (like media files for podcasting) and have added those enclosures as custom fields.  Now any time we edit those hundreds of posts, or create a new post, those custom fields are deleted by this ""bug fix"" and there is no way around it without changing code in the functions.php file and then having to redo it anytime an update comes out.

Was there no thought put into the great idea of ""let's delete any enclosure field that doesn't have a link in the body of a post""?  Wasn't the whole idea of custom fields originally for things like enclosures?",animepulse
21753,Feed excerpts are missing important filter formatting,,Feeds,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-31T14:20:56Z,2012-08-31T14:20:56Z,"Excerpts included in feeds are missing important formatting because the relevant filters are not applied (e.g. wpautop).

In file wp-includes/feed.php, function the_excerpt_rss() does not apply the same filters as the_excerpt() whilst results in lost formatting instructions.  By comparison, function the_content_feed() ensures that the same filters declared for the_content() are applied.

A suggested patch is attached. Note that for symmetry between the_excerpt_rss() and the_content_feed() this patch also removes the (unnecessary?) filter ent2ncr() from the_excerpt_rss() and retains the (controversial?) escaping for CDATA blocks (see #3670).

A few related issues are worth mentioning. Firstly, shortcodes are still not applied to excerpts (see #7093). Also, the (obsolete?) RDF feed does not make use of a CDATA block unlike those for RSS, RSS2 and Atom (see #20888). Finally, a similar problem occurs with comment text in feeds (see #16466).",mdgl
19885,Feed wfw Namespace no longer valid,,Feeds,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-01-24T16:00:06Z,2012-01-31T07:45:00Z,"Related to this post [http://wordpress.org/support/topic/rss-feed-wellformedweborg-offline?replies=2]

A broken link scan of our website revealed that the link in the feeds to http://wellformedweb.org/CommentAPI/ (for the wfw namespace) is invalid. Going to that website reveals that the site has been taken down by the hosting company.

I found 2 references to that namespace in /wp-includes/feed-rss2.php and /wp-admin/includes/export.php and removed them, and the instances to the wfw namespace within the feed content. This fixed my issue.

This begs the larger question: should this be removed/replaced in the core if the site that references the namespace is no longer available?

Verified here: [http://ww2.aaronwagner.net/feed/]",ajwagner777
19998,Feeds can contain characters that are not valid XML,,Feeds,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-09T16:28:47Z,2013-02-12T03:11:21Z,"It is possible for any of the feeds to contain control characters which are not valid in XML e.g. http://www.fileformat.info/info/unicode/char/1c/index.htm

When outputting user supplied content in an XML context we should strip these control characters - they are unprintable and just break feed parsers.

http://en.wikipedia.org/wiki/Valid_characters_in_XML has a good list of what is and isn't valid.

I guess we need a {{{strip_for_xml()}}} function or something.",westi
22101,"Gallery shortcode with link=""file"" is not linking the file in the RSS feed",,Feeds,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-04T16:14:16Z,2012-10-27T15:58:55Z,"Hi,
In a WordPress site I'm currently developing I want to use the stock gallery shortcode. I use [gallery link=""file""] to link directly the image URL which, should fix Flipboard, Currents et al. showing just a little thumbnail. 

In the page the code is displayed properly and the a tag links the image file, but, on the RSS feed, it links to the attachment page. 

I've tested this in the latest nightly version 3.5-beta1-22104 and on the stable 3.4.2. I attach the output of the page and the feed. ",ifrins
10984,If content uses the nextpage tag then only the first page is shown in feeds,,Feeds,2.8.4,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-10-20T11:03:11Z,2012-08-27T17:40:40Z,"If content uses the nextpage tag then only the first page is shown in feeds if the ""full text"" option is selected in ""Settings > Reading > Show Full Text (in feed)"". 

No links are displayed to read the full content and no indication is given in the feed that it isn't the full content.

I think the behaviour should be to ignore pagination in feeds which are set to ""full text"".

I have attached a patch which alters the behaviour of the_content() so that if it is used in the context of a feed it concatenates the pages to form the full content and returns that.",simonwheatley
13066,Last-Modified headers for individual comment feeds are incorrect,jgci*,Feeds,3.0,low,normal,Future Release,defect (bug),accepted,dev-feedback,2010-04-21T07:32:34Z,2010-11-28T16:18:31Z,"The WP::send_headers function currently uses get_lastcommentmodified() to set the Last-Modified header for all comment feeds. This is a problem when used for individual post comment feeds. The function gets the last modified comment across all blog posts. That means that every time a comment is posted anywhere, the Last-Modified header for ALL comment feeds is refreshed. Issues:

1. This is technically incorrect, since only the global comment feed and one specific post's comment feed have changed with the last comment (not all possible comment feeds); and 

2. It means that If-Modified-Since requests for other post comment feeds will not receive a 304 response when they should do (since their content hasn't changed). On blogs with many posts and many comment feeds, this will have a large impact on bandwidth because lots of requests will receive 200 responses where 304's would have done, just because a comment was posted on some other post.

If I've understood the flow correctly, $wp_query hasn't been fully set up at the time this function is called, so changing this behaviour would require some change in the flow of things (e.g., the handling of last modified headers for feeds moves into the do_feed() function). But doing so would mean that Last-Modified headers are correct/meaningful and that many more 304 responses can be served.

Any thoughts?",solarissmoke
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
10713,Output encoding not set in fetch_feed,,Feeds,2.8.4,low,normal,Future Release,defect (bug),new,dev-feedback,2009-09-01T15:56:15Z,2012-12-13T20:30:56Z,"If using WP Super Cache (or a similar plugin) on a blog with a non-UTF-8 charset that has an RSS widget then the charset is incorrectly changed to UTF-8 by SimplePie.

The fix is to explictly set the encoding in fetch_feed before SimplePie sends any headers (which it only does if WP Super Cache is being used, since it checks if any headers have already been sent).

{{{
*** live/wp-includes/feed.php      2009-05-25 11:13:48.000000000 +0200
--- dev/wp-includes/feed.php       2009-09-01 17:40:19.000000000 +0200
***************
*** 552,557 ****
--- 552,558 ----
        $feed->set_file_class('WP_SimplePie_File');
        $feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200));
        $feed->init();
+       $feed->set_output_encoding(get_option('blog_charset'));
        $feed->handle_content_type();
  
        if ( $feed->error() )
}}}

I've put this as low priority since I guess most blogs use UTF-8 and don't use WP Super Cache.",iansealy
17853,"Posts_per_page=-1 overwritten in query.php if is feed, (An ics feed needs all)",,Feeds,3.2,normal,normal,Awaiting Review,defect (bug),new,close,2011-06-20T03:58:29Z,2012-10-04T02:15:27Z,"Similar to [http://core.trac.wordpress.org/changeset/15852 15852], the posts_per_page argument to wp_query, is being overwritten in lines 1991 of query.php


{{{
if ( $this->is_feed ) {
    $q['posts_per_page'] = get_option('posts_per_rss');
}}}

In the case of an ics feed - ALL requested posts must be returned for a complete feed, so need to be able to pass posts_per_page=-1 as with other queries in the front end.

This is in wp 3.2 RC1 and earlier.

As far as I can make out, the only way around for now is to add a post_limits filter and remove the LIMIT in the query when it is a ics feed. (ie return empty string)

While the workaround works, it would make more sense of the post_per_page argument worked as in front end queries.

Possible workaround (use in custom feed function only)

{{{
...
	add_filter('post_limits', 'amr_remove_limits');
...
function amr_remove_limits () {
    return ('');   
// return an empty string so that NO limits are imposed in the query
}
}}}


",anmari
20888,RDF Feed validation problems.,,Feeds,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-08T11:05:19Z,2012-06-08T11:05:19Z,"The RDF feed produced by feed-rdf.php produced validation errors due to description either not encoded correctly or not wrapped in CDATA tags.

To reproduce view a RDF feed: http://en.blog.wordpress.com/feed/rdf/

To see the validation errors: http://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fen.blog.wordpress.com%2Ffeed%2Frdf%2F


Attached is a patch to fix this issue.

",hootbah
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
9993,Rss and atom feeds are dropping some characters,,Feeds,2.7.1,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2009-05-31T23:54:40Z,2012-10-17T19:40:12Z,"Blog post with title:

{{{
& > test <
}}}

has the less than ( < ) is stripped from the atom and rss feed.

",pm24601
22362,Titles of RSS feeds lacks spacing - words are run together,,Feeds,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-05T15:30:23Z,2012-11-05T16:40:58Z,"Line 24 of wp-includes/feed-rss2.php has:

<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>

There's no space between those two parts. In my (development) site, for the feed for a category ""News"" (which is the main one I'm offering up), that results in:

<title>SitenameNews</title>",DavidAnderson
19368,UTF-8 characters truncated mid-byte sequence in excerpt in RSS2 feed,,Feeds,,normal,normal,Awaiting Review,defect (bug),new,,2011-11-27T05:54:33Z,2011-11-27T15:08:14Z,"I received [https://code.google.com/p/feedparser/issues/detail?id=306 a bug report at a project I maintain] and discovered what appears to be a bug in Wordpress 3.2.1.

The trouble is that the `description` element is being truncated in the middle of a UTF-8 multibyte character, which is producing garbage binary data. An example can be found at:

http://www.arnaudmontebourg.fr/?feed=rss2

I downloaded [http://themocracy.com/2009/07/alibi3col-free-wordpress-theme/ the site's theme] but found nothing that would affect `post_excerpt` or `the_excerpt_rss`. I then downloaded Wordpress trunk and attempted to figure out where the problem might be, but I'm unfamiliar with the Wordpress source and couldn't find anything after tracing through multiple files using grep.

I did discover that `trackback_url_list()` in `wp-includes/post.php` appears to be using a simple `substr()` call that might cause problems with multibyte characters. However, I'm more concerned with the potential for malformed feeds.

I've included a copy of the feed XML in question for longevity.",kurtmckee
15110,Useless MIME type served for rss feeds,,Feeds,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-10-13T14:16:54Z,2012-06-05T08:37:39Z,"Both /feed/, /feed/rss2/, and /feed/rss/ are served using the very undescriptive and generally useless ""text/xml"" MIME type.  ATOM and RDF feeds are served with their proper MIME types.  It looks like the MIME types for RSS are in feed.php, but for some reason there is a special ""rss-http"" type that returns the useless type?  Changing the first line in feed-rss.php and feed-rss2.php to use the rss and rss2 type instead of rss-http fixed it on my site.",singpolyma
13049,Wordpress should not generate feeds for 404 pages,,Feeds,3.0,low,normal,Future Release,defect (bug),reopened,dev-feedback,2010-04-19T11:32:20Z,2010-12-05T22:04:49Z,"Say I try to visit: `http://my.blog.tld/non-existent-slug/`, (where non-existent-slug is not a valid slug) I get a the normal 404 template.

However, if I try to visit `http://my.blog.tld/non-existent-slug/feed/`, then the response is a bit weird. A 404 response header is sent but the content is nonetheless sent through the feed template. And so you get something like this:

{{{
<?xml version=""1.0"" encoding=""UTF-8""?><rss version=""0.92"">
<channel>
  <title>A Sandbox &#187; Page not found</title>
  <link>http://my.blog.tld</link>
  <description>Just another WordPress weblog</description>
  <lastBuildDate>Mon, 19 Apr 2010 11:17:05 +0000</lastBuildDate>
  <docs>http://backend.userland.com/rss092</docs>
  <language>en</language>
  <!-- generator=""WordPress/3.0-beta1"" -->
</channel>
</rss>
}}}

Assuming this isn't intentional (I can't think why it would be), this should be changed so that the content is the normal 404 template.",solarissmoke
3260,"XML output (rss, atom, rdf ...) should always use UTF-8 or CDATA for user input",,Feeds,2.8.2,normal,normal,Future Release,defect (bug),new,has-patch,2006-10-18T02:33:58Z,2009-11-20T15:32:29Z,"If none UTF-8 is used, user generated text like titles or categories may contain unallowed entities. The elements <title>, <tagline>, <dc:subject>, <category> (there may be more) are not protected width <![[CDATA ]]>.

The conversion can be done width the PHP MulitByte function. If MB is not available, the <![[CDATA should be used instead.

Please contact me for development help.",deremder
9134,cannot remove the link to comments in feeds,,Feeds,2.7,lowest,trivial,Future Release,defect (bug),new,has-patch,2009-02-15T03:24:36Z,2011-03-20T18:49:34Z,"In feed-rss2.php, '''etc.''' there is no easy to turn off the comments link, for blogs that
have no, and don't allow, comments. So the link
{{{
<comments><?php comments_link(); ?></comments>
}}}
is just a waste. Same with
{{{
<wfw:commentRss><?php echo get_post_comments_feed_link(); ?></wfw:commentRss>
}}}
Yes. I can turn off comments, and remove all comments, but I cannot
remove ''the link'' to comments (without hacking the core.)
",jidanni
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
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
10831,Autoupgrade: Synchronous FTP client fails while plugin upgrade/installation (on some systems),dd32,Filesystem,2.8.4,normal,normal,Future Release,defect (bug),reviewing,has-patch,2009-09-23T15:52:29Z,2011-03-22T00:46:45Z,"Decription here
http://wordpress.org/support/topic/288093

Apache/2.2.13 (Unix) DAV/2 mod_ssl/2.2.13 OpenSSL/0.9.8k configured

PHP 5.2.10 with Suhosin-Patch 0.9.7 (cli) (built: Jul 14 2009 11:56:54)

pure-ftpd-1.0.22-1

I solved by changing some lines of code in class-ftp-sockets.php 
(_exec and _readmsg)

Below the patch:
http://darkman.it/x/class-ftp-sockets.patch
",darkman82
23589,FS_CHMOD_FILE doesn't work for ssh,,Filesystem,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-02-22T21:34:44Z,2013-02-23T00:19:11Z,"Steps to reproduce:
1. set up ssh access for !WordPress (FTP_* constants).
2. `define('FS_CHMOD_FILE', 0664)`.
3. install some theme.

Expected result: files have 0664 permissions.

Actual result: files have default permissions (0644).

I believe this happens because filename is ltrimmed before sending over SSH, but not restored before changing permissions. See [http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/class-wp-filesystem-ssh2.php#L164 this].",x-yuri
23845,Install new theme via FTP failed,,Filesystem,3.5.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-03-22T12:19:03Z,2013-04-10T21:12:23Z,"New theme installation via FTP has failed when we specified custom FTP_BASE folder.  If we try this theme installation , wordpress shows error message: ""Unable to locate WordPress theme directory"". This was because search_for_folder method do not respect FTP_BASE setting and allows to walking on parent directories.  All solutions I found in google is ugly hacks who only mask the problem but does not resolved it
I attached patch  example who resolve this problem. I hope is useful and  will help to repair this bug.",Przemyslaw Plewa
16925,Move the WP_Filesystem_SSH2 class to a plugin,dd32*,Filesystem,,normal,normal,Future Release,defect (bug),accepted,,2011-03-22T00:16:08Z,2011-07-06T03:57:26Z,"I'd like to consider moving the WP_Filesystem_SSH2 class out of WordPress core and into a plugin.

The reasoning for this is simply due to the fact that the majority of users will not use it, It already requires the PHP extension to basically be custom-compiled (thanks to limited installations coming with the extension). 

In my opinion, This would be better served in a plugin, potentially with a PHP-based version as well: #10348",dd32
24107,Plugin/Theme installer asks for connection info when wp-content is writable but wp-admin is not,,Filesystem,,normal,normal,Awaiting Review,defect (bug),new,,2013-04-16T21:39:34Z,2013-04-17T01:08:42Z,"For background, please see [http://www.chrisabernethy.com/why-wordpress-asks-connection-info/]

When installing a new plugin or theme, WP first checks to see if it can directly write to the filesystem.  If so, it proceeds.  If not, it asks the user for FTP connection info.

The directory to which it NEEDS access is /wp-content

However, the directory it CHECKS is /wp-admin

get_filesystem_method() should be changed (or parameterized) to check only /wp-content in cases where /wp-admin access is not needed.  This will allow installations to have a higher filesystem-security setting for /wp-admin than for /wp-content, while still utilizing direct filesystem access.",peckjon
14049,Upgrade takes an hour to complete due to repeated 30-second FTP timeout,dd32*,Filesystem,3.1,normal,normal,Future Release,defect (bug),accepted,,2010-06-22T17:56:22Z,2011-05-02T06:54:32Z,"On my FreeBSD server (hosted by ISP pair.com), the built-in upgrade feature of WordPress takes at least an hour to complete.  I debugged the problem, and it turns out to be due to a mismatch between the FTP responses WordPress is expecting vs. the FTP responses FreeBSD is actually sending.

(Attached is a dump of phpinfo() from the machine on which I am seeing this problem.)

Steps to reproduce:
1. Clean WordPress installation on FreeBSD
2. Go to the Dashboard, then click Updates
3. Click ""Re-install Automatically""
4. Enter hostname, user name, and password; leave Connection Type as FTP; click Proceed

Actual result:
The update eventually completes successfully, but it takes an extraordinarily long time -- at least an hour.

Expected result:
Should finish much more quickly than that.

I debugged this, and here is what is happening:

- My PHP installation ends up using the ""ftpsockets"" filesystem to do the update.  (If necessary, you can force the use of that filesystem for testing purposes by adding ""define('FS_METHOD', 'ftpsockets')"" to your wp-config.php.)

- Every time anyone calls WP_Filesystem_ftpsockets->exists() to see if a file exists, that function calls ftp->is_exists(), which calls ftp->file_exists() in wp-admin/includes/class-ftp.php.

- That function tests for the existence of a file by sending the FTP command ""RNFR"" (rename from) across the FTP connection.  If the RNFR command succeeds, then the assumption is that the remote file exists; if it fails with an error message, then the assumption is that the remote file does not exist.

- Immediately after sending the RNFR command, if the RNFR succeeded, then is_exists() calls abort(), to send an ABOR -- I'm guessing this is intended to abort the rename.

- However, this is where things go bad.  FreeBSD replies to the ABOR command with ""426 Nothing to abort"".  WordPress's abort() function then attempts to read one more line, but there is nothing to read, so that read attempt times out after 30 seconds.

Here is the way the whole ""exists()"" conversation looks when it works correctly on my Mac:

{{{
PUT > RNFR /Users/mike/Sites/wordpress/ 
GET < 350 File exists, ready for destination name 
PUT > ABOR
GET < 225 ABOR command successful. 
Remote file /Users/mike/Sites/wordpress/ exists
}}}

And here is the way the conversation looks when it times out on my FreeBSD machine:

{{{
PUT > RNFR /usr/www/users/morearty/blog2/ 
GET < 350 You may attempt to rename /usr/www/users/morearty/blog2. 
PUT > ABOR 
GET < 426 Nothing to abort.
[... 30-second delay here, as abort() attempts to read one more line ... and then:]
abort: Read failed
}}}
",mmorearty
21452,When uploading media wp_unique_filename() treats capitalisation as being different.,,Filesystem,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-02T13:24:11Z,2012-08-02T13:24:11Z,"On most web servers ""Photo.jpg"" and ""photo.jpg"" can be treated as different files.

The problem is when backing up a local copy (to my Mac) it will not let both these files exist at the same time - it wants to replace one with the other as it treats lowercase and uppercase as the same.

I suggest that we should do the same with uploads so that if ""Photo.jpg"" exisits and you upload ""photo.jpg"" is is renamed to a unique name.

I guess this would require a fix in the wp_unique_filename() function.",husobj
10424,change get_filesystem_method()'s code for direct to reflect actual purpose,dd32,Filesystem,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-07-16T11:38:41Z,2010-11-13T01:37:42Z,"due to tickets such as #10205 and #10423 I propose we add some documentation, or change the code a bit to reflect to others the intended purpose of the code.

Eg, something such as this could potentially work:
{{{
if ( file_owner($temp_file) !== false && file_owner(__FILE__) === file_owner($temp_file) ) {
//use direct
}
}}}

Too many people assume its a typo, and just a complex is_writable() call..",dd32
24277,chgrp and chown don't work for Filesystem over SSH2,dd32,Filesystem,,normal,normal,3.6,defect (bug),assigned,has-patch,2013-05-07T16:04:11Z,2013-05-08T00:41:29Z,"As found using a static analyzer in #24210 (from rlerdorf).

Looks to be copy-pasted from the chmod method. Attaching a patch that I think does the trick.",nacin
23196,mkdir not recursive (in wp-includes/functions.php),,Filesystem,,normal,normal,Awaiting Review,defect (bug),new,,2013-01-14T08:35:51Z,2013-01-14T10:25:01Z,"This January, Wordpress tried to create a directory and a subdirectory in ""uploads"": ""2013"" and inside it ""01"".

`mkdir($target)` was used to create these two directories, but since the $recursive option (3rd argument) was not set, this operation failed.

I have just checked this path and it does exist, hence I suspect this procedure is being done somewhere else (and succeeding).

Still, this is a problem since:
1. It is showing up in our error logging system.
2. It is very easy to fix.
3. It potentially fixes more problems than it seems.

The solution is to change this line:

    1306:        if ( @mkdir( $target ) ) {

To the following:

    1306:        if ( @mkdir( $target, 0777, true ) ) {


On a sidenote, PHP's default directory creation mode is 0777 (so the above code is best for compatibility), but as you may know, it is not good in terms of security, so you may want to look for a more secure fix (eg, lowering the mode if it doesn't cause problems).",uuf6429
4539,Abbreviated year followed by punctuation or markup doesn't texturize,jmstacey,Formatting,2.5,low,normal,Future Release,defect (bug),reopened,has-patch,2007-06-26T03:36:36Z,2012-12-17T14:49:10Z,"An abbreviated year followed by punctuation or markup doesn't texturize properly.

e.g. (Bruce Sterling, '97) is texturized as (Bruce Sterling, &#8216;97) when the apostrophe should be texturized as &#8217;

e.g. <li>Casino Royale '06</li> is texturized as <li>Casino Royale, &#8216;06</li> when the apostrophe should be texturized as &#8217;",pah2
10823,Bad handling of ampersand in post titles,,Formatting,2.8.4,normal,minor,Future Release,defect (bug),new,has-patch,2009-09-21T10:59:50Z,2013-01-23T22:12:06Z,"Titles with ampersand (&amp;) are not correctly handled:[[BR]]

1/ the_title_attribute() doesn't transform & to &amp; causing XHTML validation errors[[BR]]

2/ titles with & followed by ; generate truncated post name (slug)
e.g. ""Test this & believe ; what ?"" => ""test-this-what""",Commeuneimage
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
3833,Extra </p> inside blockquote,Archibald Leaurees,Formatting,2.7,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2007-02-21T19:01:26Z,2012-09-10T22:08:20Z,"When using blockquote </p> is inserted directly in front of </blockquote>, making the code invalid XHTML.

Example:
{{{
<blockquote>This is a blockquote</blockquote>
}}}

Gives the following result:
{{{
<blockquote>This is a blockquote</p></blockquote>
}}}

Seems like [http://wordpress.org/support/topic/106474 this forum thread] adresses the same issue in the support forum.",audwan
18664,Formatting/Cleanup for wp-admin/includes/class-wp-posts-list-table.php,westi,Formatting,,lowest,trivial,Future Release,defect (bug),reviewing,has-patch,2011-09-14T20:57:51Z,2011-10-12T17:13:19Z,"wp-admin/includes/class-wp-posts-list-table.php is extremely hard to read.

Created this ticket to move conversation/patches for cleanup out of #17958",DH-Shredder
14674,HR destroys HTML,,Formatting,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-08-23T15:03:15Z,2012-09-14T22:57:46Z,"if you add <hr /> to the post (via HTML editor, or via enhanced TinyMCE editor) followed by normal text id do not add the <p> for that paragraph, but add the finishing </p>

so it than looks like

<p>some text</p>
<hr>some other text</p>

it can be solved by adding extra line break after <hr> but after reediting the post, the linebreak disapears and must be added again. ",thomask
17105,HTML 5.0 support,azaozz,Formatting,3.2,normal,normal,Future Release,defect (bug),new,,2011-04-10T19:11:46Z,2012-05-30T22:58:25Z,"All HTML 5.0 block tags have been added in both versions of wpautop(), even tags that aren't fully supported in any browser yet and as of [17625] TinyMCE recognizes all HTML 5.0 tags too.

This ticket is for correcting issues with the HTML 5.0 support in WordPress' general workflow (writing, editing, formatting) and writing testcases for it.",azaozz
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
15006,Invalid Content Markup,,Formatting,3.0,normal,minor,Future Release,defect (bug),new,,2010-10-01T13:48:12Z,2011-01-13T06:29:30Z,"I have a page post that starts like this:

{{{
<p style=""text-align: right;"">Text Here</p>
<p style=""text-align: right;""></p>
More Text Here
}}}

The HTML source saves correctly, but the page output omits the closing tag for the second P element, causing the rest of the page to be invalid.

If you have any trouble reproducing this I will be happy to debug it on my server.",miqrogroove
16495,Make iso8601_to_datetime a bit more compliant,,Formatting,3.0.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-02-08T19:37:09Z,2011-03-16T07:21:44Z,"With a valid ISO 8601 date string with dashes in the date or decimal fractions for seconds, this function will fail to parse it correctly. The attached patch updates the regex to optionally accept dashes and decimal fractions for seconds (which are ignored). It also uses a variable for the regex since it was duplicated.",chrisscott
4857,More issues with wpautop(),mdawaffe*,Formatting,2.3,low,normal,Future Release,defect (bug),accepted,needs-unit-tests,2007-08-29T06:47:01Z,2009-11-28T06:33:01Z,"''Not sure if this should slide into 2.3 or if it can wait for 2.4. Change as need be.''

`wpautop()` has issues with closing `</p>`'s when it comes to HTML.

For example:

{{{
Foo<div>Bar</div>
}}}

Results in:

{{{
<p>Foo
<div>Bar</div>
}}}",Viper007Bond
8775,Numbers in quotation marks get wrong smart quotes,,Formatting,2.8,normal,normal,Future Release,defect (bug),reopened,needs-unit-tests,2009-01-01T18:05:14Z,2013-05-01T15:41:31Z,"Have a number in quotation marks, such as {{{""12345""}}} or {{{'12345'}}} and {{{wptexturize}}} converts the right quotation mark to double-prime and prime marks, respectively.

Patch fixes.",filosofo
20342,Opening Double Quote after 3 hyphens converted to double closing quote,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-04-01T20:16:05Z,2012-04-01T20:16:05Z,"The string:

{{{
<p>I also remember the line in ""Casey at the Bat"" when he struck out---""There is no Joy in Mudville!!!""</p>
}}}

is converted to this in WordPress 3.3.1:

{{{
<p>I also remember the line in &#8220;Casey at the Bat&#8221; when he struck out&#8212;&#8221;There is no Joy in Mudville!!!&#8221;</p>
}}}


Seems to be what should be an opening quote that follows an Em dash is always converted into a closing quote.",PetesGuide
20943,Paragraphs get removed in table cells when Visual editor is refreshed,,Formatting,3.2,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2012-06-13T19:06:04Z,2013-04-18T16:14:03Z,"As far as I know, this issue has been around since 3.1.  It's not a bug in 3.0.4.  I even stopped upgrading at 3.0.4 for any sites where I knew the client would need to edit tabular data.  For security reasons, it's time to upgrade these and I'd REALLY like this issue to be fixed.

The problem happens when using paragraphs in a table cell.  When I hit enter to create a new paragraph within a table cell, it looks fine.  If I then hit Update/Publish, when the page refreshes, WordPress converts that paragraph break into a single line break.  If I then click Update again, WordPress removes that linebreak entirely and the paragraphs are essentially merged.

I can also reproduce this behaviour without even clicking Update.  If you just switch to HTML mode and then back to Visual mode, the same issue occurs.",JboyJW
14491,Quotation mark broken after ciphers,,Formatting,3.0.1,normal,normal,Future Release,defect (bug),new,,2010-07-31T09:26:39Z,2010-11-28T03:26:14Z,"As a default bug in Wordpress, quotation marks like the following ones don't work if they are positioned after ciphers/digits:
{{{
&#8242;
}}}
{{{
&#8217;
}}}
The problem is that after the digits the HTML special chars are actually '''not''' like the ones posted above. After ciphers/digits, the following source code shows us:


{{{
&#8220;2010&#8242;
}}}

{{{
&#8217;2011&#8242;
}}}

'''''Here's the solution like it should be in the source code:'''''

{{{
&#8220;2010&#8221;
}}}

{{{
&#8217;2011&#8217;
}}}",Dannny
22692,Quotes Are Messing Up,,Formatting,3.4.2,normal,normal,3.6,defect (bug),new,needs-unit-tests,2012-12-03T09:39:36Z,2013-04-21T18:57:27Z,"Paste this into the body of a new post:

{{{
A sentence.  ""A quote after 2 spaces.""
}}}

Preview that, and be amazed.  The first quote is backwards.  :(

Due to font differences, this is easiest to see on the Twenty Ten theme.",miqrogroove
20124,Smilies Fail Combinations,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-02-25T22:34:25Z,2012-02-26T12:37:54Z,"I have found that certain combinations of smilies break the monster of a regular expression that parses them.

{{{
8-O :-(]
8-) 8-O
8-) 8O[
8-) :-(
8-) :twisted:
8O :twisted: :( 8-( :(
}}}


...are some examples where the regular expression appears to be failing to match. Any smilie after a smilie with an 8 in it appears to be skipped. Will try to pinpoint the flaw in the regexp soon.",soulseekah
12690,Square brackets breaking links that contain square brackets,,Formatting,,normal,normal,Future Release,defect (bug),reviewing,dev-feedback,2010-03-24T19:16:50Z,2012-09-19T22:40:34Z,"In the editor, wrapping square brackets around an anchor with a URL that contains square brackets, like so

{{{
[photos by <a href=""http://www.etsy.com/view_listing.php?listing_id=42936748&amp;ref=sr_gallery_7&amp;&amp;ga_search_query=keep+calm+and+carry+on&amp;ga_search_type=handmade&amp;ga_page=13&amp;includes[]=tags&amp;includes[]=title"">KeepCalmPosters</a> ]
}}}

converts the last double prime in the href attribute to the character code for the right double quotation mark, like so

{{{
[photos by <a href=""http://www.etsy.com/view_listing.php?listing_id=42936748&amp;ref=sr_gallery_7&amp;&amp;ga_search_query=keep+calm+and+carry+on&amp;ga_search_type=handmade&amp;ga_page=13&amp;includes[]=tags&amp;includes[]=title&#8221;>KeepCalmPosters</a> ]
}}}",iandstewart
20304,Strikethrough does not work for multiple paragraphs in the post editor,,Formatting,3.4,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2012-03-25T20:13:00Z,2012-05-24T07:32:15Z,"'''Overview'''

If you have multiple paragraphs of text in the text editor and select all of them and push the strikethrough button, the text appears to be striked through; however, upon publishing/updating, only the first paragraph of text retains the strikethrough.

'''Steps to Reproduce'''

1) In a new post write screen add two paragraphs of text.

2) Select all of the text

3) Click the strikethrough button

4) Viewing the HTML of the rich text editor through web inspector (note that I am not toggling the visual/html tabs) shows:


{{{
<del>
	<p>text</p>
	<p>text</p>
</del>
}}}


5) Save post 

6) The text in the textarea only has strikeout for the first paragraph.

7) When viewing the source of the content on the front end, you get the following HTML:


{{{
<p>
	<del>text
</p>
<p>text</p>
<p>
	</del>
</p>
}}}


'''Other Information'''

I have tried these same steps on a clean install of 3.3.1. The strikethrough works as expected, and produces in all scenarios:


{{{
<p>
	<del>text</del>
</p>
<p>
	<del>text</del>
</p>
}}}

		
I first had this issue crop up for a .com client approximately 3-4 weeks ago, so this issue may have been introduced with a more recent patch.",tollmanz
22823,Texturize should handle apostrophes before primes,,Formatting,3.4.2,normal,minor,Future Release,defect (bug),new,has-patch,2012-12-08T04:48:06Z,2013-02-26T07:14:59Z,"Not sure if anyone else noticed this, but my recent post on make/core exhibited an odd bug in wptexturize() —

{{{
The new target for WordPress 3.5′s release is Monday
}}}

Note how that's a prime — `&#8242;` — rather than an apostrophe, `&#8217;`.

Switching the rules seems to work without breaking any unit tests.",nacin
21689,Unbalanced <p> tags are generated when shortcodes are followed by HTML tags and wpautop is enabled,,Formatting,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-26T06:58:21Z,2013-03-07T03:42:49Z,"This bug was encountered in separate plugins, but it seems that its source is in the core:

http://wordpress.stackexchange.com/questions/21414/wordpress-wpautop-shortcode-generating-invalid-markup

https://github.com/pods-framework/pods/issues/271",dandv
6297,Unbalanced tags across more and nextpage tags,,Formatting,2.5,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2008-03-19T09:55:50Z,2013-04-26T11:39:08Z,"It's easy to produce broken front page markup by including a --nextpage-- tag that breaks an enclosing bold or italic tag.  There's some code in get_the_content that fixes this for --more-- tags, but it doesn't handle --nextpage--, and it'd be more efficient to do it at post save time.

The enclosed patch fixes this by splitting the content into slices at those boundaries and separately balancing each slice.  Balancing happens in the content_save_pre action.  No filtering is needed on the output side for posts saved after this filter.

It was a bit of a struggle figuring out where to fit this but I think the solution is fairly clean.  It includes a new split_nextpage() function that can be used instead of ad-hoc regexps for splitting a post into pages.

",tellyworth
22230,WP adds <br /> before <select even where there is no line break in source code,,Formatting,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-10-19T21:49:26Z,2013-01-31T11:24:25Z,"My source code in the WP HTML editor:

{{{
<label for=""sellby"">How soon do you need to sell?</label><select id=""sellby"" name=""sellby"" required=""1"">
}}}

Note how there is *no line break* between </label> and <select

HTML generated by WP, however:

{{{
<label for=""sellby"">How soon do you need to sell?</label><br />
<select id=""sellby"" name=""sellby"" required=""1"">
}}}

Um, how (and why?) did that extra <br /> get in there?

This also happened when I was using the Visual editor; switched to the HTML editor to see if it was an error on my part but nope - there is no line break whatsoever in my HTML source code, so I have no idea why WP insists on adding one.

It's particularly vexing because I would like my text label to be next to (on the same line as) my select boxes, but WP is forcing it to be on the next line, which is making my form look awful.

AFAIK it's only happening with select boxes, but it's pretty consistent for me.

Since it's happening with the HTML editor as well as the Visual editor I left the Component as General so better minds than mine can categorize it appropriately.",chirael
18136,WordPress Adding Spurious </p>,,Formatting,,normal,normal,Awaiting Review,defect (bug),reopened,,2011-07-15T22:03:38Z,2012-11-14T02:06:32Z,If you look at this page: https://singpolyma.net/2011/06/dystoparx-part-12/ WordPress seems to be adding extra </p> tags before the </div>s  This causes major well-formedness problems on the page.,singpolyma
15367,WordPress strips multiple line breaks inside of <pre> tags,garyc40,Formatting,3.1,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-11-10T01:39:33Z,2012-09-12T19:49:52Z,"Write a post:

{{{
<pre>
This


is




a
test.
</pre>
}}}

You end up with this:

{{{
<pre>
This

is

a
test.
</pre>
}}}

Probably related to `wpautop()` I imagine.",Viper007Bond
10645,auto_p and forms,,Formatting,,low,normal,Future Release,defect (bug),new,,2009-08-18T16:53:40Z,2010-11-13T01:38:14Z,"auto_p will errantly injects paragraph and linebreak tags in certain circumstances within forms:

`<div>
<label for=""select_element"">This is a select box placed <select name=""select_element""><option value=""1"">inline</option</select> with the label.</label>
</div>`

becomes:

`<div>
<label for=""select_element"">This is a select box that is pla­ced<br />
<select name=""select_element""><option value=""1"">inline</option><option value=""2"">inside</option><option value=""3"">within</option></select>

<p>inline with the label.</label>
</div>`

linebreak and paragraph tags should never be inserted inside a label. In this case they are not even properly paired.  It would be nice if the surrounding div was identified and no tags were inserted, although if a paragraph tag wrapped the whole thing, it would not be the end of the world.
",kingjeffrey
11202,automatic line breaks in comments,,Formatting,2.8.5,low,normal,Future Release,defect (bug),new,,2009-11-20T18:47:50Z,2010-04-02T07:34:29Z,"WordPress 2.8.6 has got a Problem with the automatic line break. [[BR]]
Example:[[BR]]
Type the following comment in a WordPress Blog. 
{{{
Thank you for your comment!<blockquote>this is a small quote</blockquote> Next Text 
}}}
Then you have to save the comment. If you validate the your publish, you will see, that the sentence ""Thank you for your comment!"" will be put into the following absurd tags: [[BR]]

{{{
p>Thank you for your comment!<br />
}}}

If you write a comment with the following code (hit return after the word ''comment! ''),[[BR]]

{{{
Thank you for your comment! 
<blockquote>this is a small quote</blockquote> Next Text 
}}}
you will get the right codeform when you validate your comment:
{{{
<p>Thank you for your comment!</p> 
}}}

The same Problem exists when you type [[BR]]

{{{
test 2 <p> break </p> next text
}}}
After the word ''test 2'' you will miss the </p>. [[BR]]

WordPress has got this bug with every single elements like these one: 

{{{
<p>, <ul>, <ol>, <li>, <h1> bis <h6>, <div>, <blockquote> etc.
}}}

When you make manuell a new line in front of these elements, you won't find any problem, so WordPress must put an automatic line break in front of these elements and it doesen't do it. Please fix this nerved bug!!

regards, Dunkelangst from http://www.dunkelangst.org/ ",Dunkelangst
17571,bad double quote replacement  in wp_texturize,,Formatting,,normal,minor,Future Release,defect (bug),new,dev-feedback,2011-05-26T09:18:08Z,2012-04-30T12:49:51Z,"Bug seen in  Wordpress 3.1.2. with buddypress 1.2.8

Some database fields that contain a string like this 'a string with \""escaped double quotes\""' are displayed this way : 'a string with >>escaped double quotes>> ' instead of 'a string with <<escaped double quotes>>'

The bug come from wp_texturize function in wp-includes/formatting.php .

I join a patch to resolve this issue.


",csanquer
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
23688,"esc_textarea, wp_richedit_pre and wp_htmledit_pre eat post content under PHP 5.4",westi,Formatting,trunk,high,blocker,3.6,defect (bug),reopened,,2013-03-04T17:27:22Z,2013-04-25T09:51:24Z,"Because of a change in default behaviour in {{{htmlspecialchars}}} in PHP5.4 it is possible for these three functions to eat perfectly valid post content and make it impossible to edit existing posts.

Scenario:
 * blog_charset is ISO-8859-1
 * Post contains some 8bit characters

You try and edit the post and instead of the post content you are presented with a blank editor :(

On the front end the posts display fine.

The underlying cause it this change in {{{htmlspecialchars}}}

""5.4.0 	The default value for the encoding parameter was changed to UTF-8.""

Because the string is not a valid UTF-8 sequence an empty string is returned :(


Related to #20368",westi
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
21974,esc_url() doesn't allow protocol-relative URLs with colons,,Formatting,,normal,normal,3.6,defect (bug),new,has-patch,2012-09-23T00:58:25Z,2013-04-10T18:15:42Z,"This doesn't work:
{{{
wp_enqueue_style( 'twentytwelve-fonts', ""//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700"", array(), null );
}}}
The colon is the culprit. `wp_kses_bad_protocol()` reduces the URL to:
{{{
400italic,700italic,400,700
}}}
So `esc_url()` returns an empty string: [[BR]]
http://core.trac.wordpress.org/browser/tags/3.4.2/wp-includes/formatting.php#L2572",SergeyBiryukov
23605,esc_url() strips spaces instead of encoding them,,Formatting,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-25T17:41:21Z,2013-02-27T23:56:38Z,"If I pass a URL into `esc_url()` that contains a space, the space is stripped instead of encoded.

To reproduce:

{{{
$url = 'http://example.com/foo bar/';

echo '<pre>';
var_dump( $url );
var_dump( esc_url( $url ) );
echo '</pre>';
}}}

The resulting URL ends up as `http://example.com/foobar/` instead of the expected `http://example.com/foo%20bar/`",johnbillion
23975,force_balance_tags in get_the_content breaks non-HTML formats,,Formatting,2.8,normal,normal,Awaiting Review,defect (bug),new,,2013-04-07T10:05:44Z,2013-04-07T10:58:50Z,"The change in r11398 (to fix #9765) breaks Markdown formatted articles that use angle bracket links: `<http://example.com/>` turning it into `<http: //example.com></http:>`.

If we call force_balance_tags after adding the more link, we need to establish filter hooks for formatters. This should have happened before r11398 already, but because balancing tags wasn't forced, this issue has not affected sites that disable balancing tags in their preferences.

Typically formatters attach to the `the_content` filter (among others). This should probably change into a `get_the_content` filter (similar to `get_the_excerpt`) that is called early on the full content of the post.

I haven't yet decided where the best place for the new filter would, or if it would be better to undo the force_balance_tags call.

Thoughts? I could work on the change, but would rather prefer some input first.",ruckus
10041,like_escape() should escape backslashes too,,Formatting,2.8,high,normal,Future Release,defect (bug),reopened,has-patch,2009-06-05T11:18:16Z,2013-04-16T17:04:06Z,"The like_escape() function doesn't escape backslashes.

source:trunk/wp-includes/formatting.php@11518#L2260
{{{
	return str_replace(array(""%"", ""_""), array(""\\%"", ""\\_""), $text);
}}}
should be ...
{{{
	return str_replace(array(""\\"", ""%"", ""_""), array(""\\\\"", ""\\%"", ""\\_""), $text);
}}}
or simply ...
{{{
	return addcslashes($text, '%_');
}}}

Considering multi-byte characters ...
{{{
	if (function_exists('mb_ereg_replace')) {
		$text = mb_ereg_replace('\\\\', '\\\\', $text);
		$text = mb_ereg_replace('%', '\\%', $text);
		$text = mb_ereg_replace('_', '\\_', $text);
		return $text;
	} else {
		return addcslashes($text, '%_');
	}
}}}",miau_jp
17433,localhost is not accepted as email domain,,Formatting,3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-05-14T16:55:52Z,2013-02-28T11:52:59Z,"Hi. Tried to install WordPress on a Debian machine not connected to Internet, only for testing purposes, so when the setup procedure asked me for an email address, I used mylogin@localhost. The setup procedure, however, rejected this as ""invalid"".

I think the bug is exactly in wp-includes/formatting.php, where it says:

        // Assume the domain will have at least two subs
        if ( 2 > count( $subs ) ) {
                return apply_filters( 'is_email', false, $email, 'domain_no_periods' );
        }

So: Could you please special-case ""localhost"" in is_email() so that it's allowed as email domain?

I guess the probability of someone using @localhost for email ""by mistake"" is extremely low, so this change will unlikely harm the average user.

Thanks.",sanvila
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
14050,shortcode_unautop() should also remove the <br /> added after shortcodes,,Formatting,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-06-22T18:15:27Z,2013-01-19T08:38:00Z,"Currently `wpautop()` wraps a shortcode in `<p>` tags as well as adding a `<br />` tag after the shortcode. We then use `shortcode_unautop()` to remove the `<p>` tags, but the `<br />` stays.

To replicate, just drop a few caption shortcodes into a post and set them all to align left or right. You'll see that even though they all float (assuming that's how your theme handles them) they stair step down because of the extra `<br />`

I'm not a regex expert so someone should probably double check my patch, but it seems to work for me.",aaroncampbell
17039,the_excerpt() - <!--more--> handling,,Formatting,3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-04-03T22:15:48Z,2011-12-23T17:13:50Z,"If a post has a manually inserted <!--more--> ''before'' the default break at the excerpt length, then the_excerpt() fails to generate any [...] or call the ""excerpt_more"" filter. Thus, there is no indication that there is more content to the post.",wpweaver
17847,wp_kses_hair is too stringent,,Formatting,1.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-19T21:29:46Z,2011-11-17T20:38:47Z,"attributes from custom xml name spaces may use colons, but the regex used inside wp_kses_hair doesn't allow them through.  ",jorbin
19877,wp_kses_stripslashes() should account for single quotes too,,Formatting,3.3.1,normal,normal,Awaiting Review,defect (bug),new,close,2012-01-23T14:17:48Z,2012-10-12T20:36:43Z,"Right now, wp_kses_stripslashes() only removes slashes before double quotes, but should do the same for single quotes. 

For example, if wp_kses() is applied to the following string (assuming <script> tags are permitted), the <script> tag's attributes are removed:

<script type='text/javascript' src='foo.js'></script>


If the single quotes are switched to double quotes, the attributes are properly sanitized against the list of allowed tags passed to wp_kses(). Updating wp_kses_stripslashes() to account for both types of quotes eliminates the need to strip slashes before applying wp_kses().",ethitter
15657,wp_strip_all_tags causes paragraphs to run together,,Formatting,2.9,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2010-12-03T06:05:40Z,2011-12-27T20:49:30Z,"If a post contains HTML like ""foo<p>bar"", the RSS feed ends up with the text ""foobar"" instead of the more appropriate ""foo bar"" or even ""foo\n\nbar"".

Here is a simple patch to wp-includes/formatting.php that fixes this: basically, convert <p>, <br> and certain similar tags to newlines before calling the PHP-builtin strip_tags() function.
",jwz
18549,wp_texturize incorrectly curls closing quotes after inline HTML end tags,,Formatting,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-08-30T21:54:26Z,2013-03-22T13:39:47Z,"The following source HTML:
{{{
The word is ""<a href=""http://example.com/"">quoted</a>"".
The word is '<a href=""http://example.com/"">quoted</a>'
The word is '<a href=""http://example.com/"">quoted.</a>'
The word is '<a href=""http://example.com/"">quoted</a>'.
The word is '<a href=""http://example.com/"">quot</a>'d
}}}

Gets incorrectly transformed by wp_texturize() as:
{{{
The word is &#8220;<a href=""http://example.com/"">quoted</a>&#8220;.
The word is &#8216;<a href=""http://example.com/"">quoted</a>&#8216;
The word is &#8216;<a href=""http://example.com/"">quoted.</a>&#8216;
The word is &#8216;<a href=""http://example.com/"">quoted</a>&#8216;.
The word is &#8216;<a href=""http://example.com/"">quot</a>&#8216;d
}}}
'''Note:''' all the double/single quotes in the above examples that should be closing are instead opening)

This renders in the browser like this:
{{{
The word is “quoted“.
The word is ‘quoted‘
The word is ‘quoted.‘
The word is ‘quoted‘.
The word is ‘quot‘d
}}}

The problem here is that wp_texturize splits the text on all start/end tags, which makes sense for block-level tags, but not inline-tags like {{{<em>}}} and {{{<a href="""">}}}.

formatting.php line 67:
{{{
$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
}}}

However if you change it to only split the content on block-level tags, you'll need something more sophisticated/complex than a regular expression to avoid curling quotes within html.",justincwatt
4116,wp_texturize to defect certain links in comments and on page,Nazgul,Formatting,2.2.1,normal,normal,Future Release,defect (bug),reopened,needs-unit-tests,2007-04-09T13:29:33Z,2010-11-23T04:53:07Z,"the wp_texturize() function in formatting.php (includes) of wordpress breaks links of the domain format (number)x(number). 

For example, a comment left by a domain such as www.h4x3d.com, which includes the (4)x(3) in the domain name, renders to www.xn--h43d-rma.com. This breaks the link.

It does occur on the page, but also with in the page comments. 
It does also occur when the text with the special combination is not a link, but plain text.",h4x3d
20444,wpautop acts on a single line of text,,Formatting,,normal,normal,Awaiting Review,defect (bug),new,,2012-04-15T03:02:06Z,2012-10-10T14:11:40Z,"HTML markup on a single line wrapped in a block element is interpreted and changed by wpautop. The wpautop function is described as replacing ""double line-breaks with paragraph elements"" which led me to expect the single line would not become many lines.

{{{
echo wpautop( '<div><p>Hello world</p><span>WordPress</span></div>' );
}}}

{{{
<div>
<p>Hello world</p>
<p><span>WordPress</span></div>
}}}

Extra <p> before the <span>.

I expected wpautop would find no newlines and return the original string.

The same string placed inside a HTML5 or XHTML 1 Strict document <body> is parsed as valid by W3C Validator.

Plugins acting on the_content with a priority less than 10 may have their single-line markup reinterpreted by wpautop.",niallkennedy
2833,wpautop breaks style and script tags,,Formatting,2.0.3,low,normal,Future Release,defect (bug),reopened,needs-unit-tests,2006-06-17T20:36:00Z,2012-09-09T21:01:21Z,"When I create a post in which I want to include Javascript or some styles, WordPress 'breaks'when showing those posts, because all newlines in the SCRIPT and STYLE tag are converted into BR tags.

Example:
{{{
<style type=""text/css>
.matt { color: #FFFFFF; }
</style>
}}}
Becomes:
{{{
<style type=""text/css><br />
.matt { color: #FFFFFF; }<br />
</style><br />
}}}

And:
{{{
<script type=""text/javascript""><!--
google_ad_client = ""xxxxxxxx"";
google_ad_width = 120;
google_ad_height = 60;
google_ad_format = ""120x60_as_rimg"";
google_cpa_choice = ""CAAQ2eOZzgEaCD4zuVkdzt_CKI-293M"";
//--></script>
}}}
Becomes
{{{
<script type=""text/javascript""><!--<br />
google_ad_client = ""xxxxxxxx"";<br />
google_ad_width = 120;<br />
google_ad_height = 60;<br />
google_ad_format = ""120x60_as_rimg"";<br />
google_cpa_choice = ""CAAQ2eOZzgEaCD4zuVkdzt_CKI-293M"";<br />
//--></script><br />
}}}

This happens because wpautop adds those BR tags to the post. (As it should, just not within STYLE or SCRIPT tags.)

I've made a (temporary?) workaround for this by creating a pre and post event for wpautop, which substitute the necessary newlines by a temporary value in the pre event and placing them back in the post event. Although I think this should be incorporated in wpautop itself.

See also: http://wordpress.org/support/topic/76433 and http://wordpress.org/support/topic/76297

While searching trac I also found ticket #2346, which is about the same problem, but which was for 2.0 and self-closed by the submitter?

P.S. I have TinyMCE turned of.",Nazgul
4298,wpautop bugs,markjaquith*,Formatting,2.7,low,minor,Future Release,defect (bug),accepted,dev-feedback,2007-05-19T22:14:10Z,2010-04-04T06:42:21Z,"wpautop should at least ignore multiline html tags, and possibly ignore any area enclosed within html.

{{{
<table
 style=""width: 120px; height: 92px; text-align: left; margin-left: auto; margin-right: auto;""
 border=""1"" cellpadding=""7"" cellspacing=""2"">
  <tbody>
    <tr>
      <td><small><small style=""font-family: Arial;"">Once
I saw it here, I instantly knew what I wanted. I love my new woven wood
shades.</small></small><br>
      <small><small>- Ginny Good</small></small></td>
    </tr>
  </tbody>
</table>
}}}

gets formatted as:

{{{
<table<br />
 style=""width: 120px; height: 92px; text-align: left; margin-left: auto; margin-right: auto;""<br />
 border=""1"" cellpadding=""7"" cellspacing=""2""><br />
<tbody>
<tr>
<td><small><small style=""font-family: Arial;"">Once<br />
I saw it here, I instantly knew what I wanted. I love my new woven wood<br />
shades.</small></small><br /><br />
      <small><small>- Ginny Good</small></small></td>

</tr>
</tbody>
</table>
}}}

",Denis-de-Bernardy
15918,wpautop() breaks inline tags on the same line as block tags,dunno,Formatting,3.0.3,normal,major,Future Release,defect (bug),new,early,2010-12-20T16:01:31Z,2012-04-11T15:22:31Z,"Hi guys! I've got latest WP installation (3.0.3) and found strange bug in posts parser.

Create article with following HTML:

{{{
<div class=""wassup""><a href=""#"">WP IZ ASSUM</a></div>
}}}

Browser will get: 

{{{
<div class=""wassup""><a href=""#"">WP IZ ASSUM</a></div>
}}}

All seems to be fine! Now get rid of unnecessary div.

Create article with following HTML:

{{{
<a href=""#"">WP IZ ASSUM</a>
}}}

Browser will get: 

{{{
<p><a href=""#"">WP IZ ASSUM</a></p>
}}}

Dunno why there is extra <p> but who cares. All seems to be OK.

Create article with following HTML:

{{{
<figure><a href=""#"">WP IZ ASSUM</a>
</figure>
}}}

Browser will get:

{{{
<figure><a href=""#"">WP IZ ASSUM</a><br />
</figure>
}}}

Now isn't that cool? But check what is even cooler!

Create article with following HTML:

{{{
<figure><a href=""#"">WP IZ ASSUM</a>
<figcaption>NO IT'S BUGGY AS HELL</figcaption>
</figure>
}}}

Browser will get:
{{{
<figure><a href=""#"">WP IZ ASSUM</a></p>
<figcaption>NO IT’S BUGGY AS HELL</figcaption>
</figure>
}}}

Wow! Say hello to invalid markup and rendering problems! Auto-closing of tags turned off. No matter of the settings I still get this nice messed up html. WYSIWYG turned off also.",retrib
6984,wpautop() formats the the contents of shortcodes,,Formatting,2.6,low,trivial,Future Release,defect (bug),new,,2008-05-17T10:34:02Z,2009-11-28T07:20:24Z,"`wpautop()`, the bane of my existence as a plugin developer, is at it again.

Here's an example of some PHP wrapped in a valid shortcode in a post of mine:

{{{
[code lang=""php""]$text = str_replace( array('<p><p>', '</p></p>'), array('<p>', '</p>'), $text);[/code]
}}}

The content that gets passed to my shortcode function is this:

{{{
$text = str_replace( array('
<p>', '</p>

</p>
<p>'), array('
<p>', '</p>
<p>'), $text);
}}}

Expected result: it shouldn't touch the insides of valid shortcodes (like adding line breaks or anything as it is doing now).",Viper007Bond
5250,wpautop() issue with lists,,Formatting,2.3,normal,normal,Future Release,defect (bug),new,,2007-10-24T00:32:38Z,2011-07-30T15:34:50Z,"First of all, my sincere apologies if this is a duplicate.


The problem, in short: WordPress inserted a number of unclosed `<p>` tags into my post. It should either insert correctly closed tags, or none at all. I honestly would prefer the former.


In detail: I had HTML code very similar to this:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul>more text</li>
</ul>


This was automatically converted to:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul><p>more text</li>
</ul>

Note the extra `<p>` tag in the above, which is unclosed (making the W3C validator choke on my website).

Also note, I was not using the WYSIWYG editor (turning it off was the first thing I did), so it's unlikely to be due to that.


As a workaround, manually inserting properly closed `<p>` tags works just fine:

<ul>
  <li>text<ul>
    <li>subtext</li>
  </ul><p>more text</p></li>
</ul>

Since this workaround exists, the bug is not very prioritary, but it should also (hopefully) be easy to fix.",Narc0tiq
10033,wptexturize and wpautop problems with html comments and object tags,,Formatting,2.8,normal,minor,Future Release,defect (bug),new,,2009-06-04T12:06:35Z,2010-11-23T05:43:55Z,"Bumped into this one when upgrading my mediacaster plugin to use swfobject 2.1 (which is not 1.5 compatible), as documented here:

http://code.google.com/p/swfobject/wiki/documentation

I take it I'm not the only one who is going to need to upgrade a plugin. It's minor, since I'll just move the filter further down in the queue, but it's still worth reporting:

{{{
<object id=""m544cf9700db147f751dc34ea1241d8bd"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" width=""320"" height=""260"">
<param name=""movie"" value=""http://www.youtube.com/v/_nkZ3eHeXlc"" />
<!--[if !IE]>-->

<object type=""application/x-shockwave-flash"" data=""http://www.youtube.com/v/_nkZ3eHeXlc"" width=""320"" height=""260"">
<!--<![endif]-->
<p><a href=""http://www.macromedia.com/go/getflashplayer"">Get Flash 9.0</a> to see this player.</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
<script type=""text/javascript"">
//swfobject.registerObject(""m544cf9700db147f751dc34ea1241d8bd"", ""9.0.0"");
</script>

}}}

Gets turned into the following mess:

{{{
<object id=""m544cf9700db147f751dc34ea1241d8bd"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" width=""320"" height=""260""><param name=""movie"" value=""http://www.youtube.com/v/_nkZ3eHeXlc"" /><!--[if !IE]>&#8211;><br />
<object type=""application/x-shockwave-flash"" data=""http://www.youtube.com/v/_nkZ3eHeXlc"" width=""320"" height=""260""><br />
<!--<![endif]--></p>
<p><a href=""http://www.macromedia.com/go/getflashplayer"">Get Flash 9.0</a> to see this player.</p>
<p><!--[if !IE]>&#8211;><br />
</object><br />

<!--<![endif]--><br />
</object><br />
<script type=""text/javascript"">
//swfobject.registerObject(""m544cf9700db147f751dc34ea1241d8bd"", ""9.0.0"");
</script>
}}}

So, two/three issues:

 - wpautop should also ignore double object tags, and html comments
 - wptexturize should ignore html comments",Denis-de-Bernardy
8912,wptexturize malforms HTML comments that contain HTML tags,,Formatting,2.7,normal,normal,Future Release,defect (bug),reopened,needs-unit-tests,2009-01-21T20:16:08Z,2013-03-18T15:01:17Z,"Because it's replacing -- with #8211, a comment like <!-- whatever --> put into the HTML part of a post gets broken.

This makes it difficult for people writing special HTML in posts (like people putting in object tags, or javascript, or whatever) to do that sort of thing.

What is needed is to recognize --> as different from -- and not replace it with the en dash in that case.
",Otto42
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
10269,wysiwyg bug with shortcodes,,Formatting,2.8,low,minor,Future Release,defect (bug),reopened,close,2009-06-25T11:29:42Z,2012-10-01T17:40:41Z,"When inserting two consecutive shortcodes on separate lines, the wysiwyg editor will change the post's contents on save.

{{{
[caption /]

[caption /]
}}}

gets turned into:

{{{
[caption /] [caption /]
}}}

the odd thing is that only genuine shortcodes get changed, too. the following is left alone:

{{{
[notashortcode /]

[notashortcode /]
}}}

",Denis-de-Bernardy
24309,Add filters for get_post_galleries() and get_post_gallery(),,Gallery,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-05-10T21:47:26Z,2013-05-10T21:48:23Z,"As post format implementations were not tightly defined in the past, there are a variety of gallery implementations in the wild. For example, not all implementations included the use of the [gallery] shortcode.

Adding in a couple of hooks will likely allow for backward compatibility to those implementations.",alexkingorg
8177,Comments disabled in post but not in media gallery,,Gallery,2.7,normal,normal,3.6,defect (bug),new,has-patch,2008-11-12T16:08:33Z,2013-04-22T12:46:10Z,"The options to ""allow comments on this post"" and ""allow trackbacks and pingbacks on this post"" have been deselected.  The post will then return the expected message ""Both comments and pings are currently closed"".  (ie. http://localhost/wordpress/?p=42)  However, when selecting an image from an embedded native Gallery of that post, the image redirects to an attachment_id (ie. http://localhost/wordpress/?attachment_id=38)and still has a comments field.  There is no decipherable means to disable comments on attachments through the native gallery.  

If this is the expected behavior, I would believe that if a post may disable comments, then all of its content should be disabled.

Related: #9839 Enable/Disable comments on a per item bases (some attachments don't have parents)",canon2k5
11023,Gallery Category Doesn't change with article,,Gallery,,normal,normal,Future Release,defect (bug),new,,2009-10-24T01:49:09Z,2009-12-08T00:56:23Z,"Lets say I have a default category setup called Drafts that all articles go into at first by default. Then on completing the article before posting it live, I movie it to another category called News (no longer having the draft category ticked also). If I've added an image with that article that I click to view a bigger picture of in the gallery page (image.php). It still shows it as being listed under the Drafts category, while the article itself is listed under just News category.",mrgtb
23787,Gallery displayed even when the gallery shortcode is inside an HTML comment,,Gallery,3.4,normal,normal,3.6,defect (bug),new,has-patch,2013-03-15T14:05:12Z,2013-03-21T13:41:54Z,"The gallery shortcode emits HTML comment which cause HTML to break when the shortcode is inside a comment as HTML doesn't support nested comments

Adding the following in the text editor

<!-- [gallery ids=""423,424,202,155,148,150""]  --> 

generates the following HTML


{{{
<!-- 
		<style type='text/css'>
			#gallery-1 {
				margin: auto;
			}
			#gallery-1 .gallery-item {
				float: right;
				margin-top: 10px;
				text-align: center;
				width: 33%;
			}
			#gallery-1 img {
				border: 2px solid #cfcfcf;
			}
			#gallery-1 .gallery-caption {
				margin-left: 0;
			}
		</style>
		<!-- see gallery_shortcode() in wp-includes/media.php -->
...
-->
}}}

related #23786",mark-k
23873,Gallery shortcode orderby does not support multiple column sorting,,Gallery,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-27T21:13:53Z,2013-04-05T12:42:03Z,"In wp-includes/media.php, function gallery_shortcode, lines 689-694 are:

{{{
// We're trusting author input, so let's at least make sure it looks like a valid orderby statement
if ( isset( $attr['orderby'] ) ) {
	$attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
	if ( !$attr['orderby'] )
		unset( $attr['orderby'] );
}
}}}

The sanitize_sql_orderby function requires commas between multiple column names. If you enter, for example orderby=""menu_order ID"", the lack of a comma causes the parameter to be deleted from the query.

Just after this test, on line 698, a multi-column sort without the comma delimiter is used as the default value.

If you enter commas to get past the sanitize_sql_orderby test, logic in wp-includes/query.php, function get_posts will not accept the commas (lines 2358 - 2361) and all but the last of the columns are ignored.

This issue should be considered along with those raised in #17065 and #16584. Thank you.",dglingren
14819,Gallery shortcode output does not validate.,,Gallery,3.0.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-09T14:17:28Z,2012-09-17T05:30:04Z,"I was validating a sites markup when I realized that the gallery shortcode output does not validate where know ""caption"" exists due to the lack of an associated value. Basically a <dt> must be followed by at least one <dd>.

Not sure if dl is the best tag to use for outputting galleries since I imagine lot's of people exclude captions from their galleries. Not sure what the best solution is at the moment.

Thoughts?

This is my first submission so be gentle.",jameslaws
23041,Images Don't Become Attached When Inserting a Gallery,,Gallery,3.5,normal,normal,3.6,defect (bug),new,has-patch,2012-12-21T20:15:21Z,2013-04-02T13:32:45Z,"Steps to Reproduce:

1. Go to the ""Upload New Media"" page (wp-admin/media-new.php)
1. Upload an image.
1. Create a new post.
1. Create an image gallery that includes the newly-uploaded image.
1. Insert the gallery into the post.
1. Publish the post.

Expected result:  Any ""(Unattached)"" image(s) should get attached.

Actual result:  Images remain ""(Unattached)"".",miqrogroove
21082,"The Gallery shortcode relies on #gallery-instance to hook the CSS, but the id sometimes isn't specific enough",,Gallery,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-26T18:43:28Z,2013-01-24T09:14:02Z,"The Gallery CSS selector uses the id attribute, which is of the form #gallery-{instance}. On some scenarios (like infinite scroll) a follow up gallery on a another post can have the same #gallery-x selector, thus over-writing the previous gallery style.

Proposed solution: make the #id more unique by including the postid number. (Attached patch.)

(It could potentially impact some themes that used #gallery-1 to style galleries, but theme's shouldn't be using that in the first place, I believe.)

Furthermore, it may be good to change the whole style block to use classes instead of the id so that it's easier for themes to deal with CSS specificity—and helps them not fall back to the #id.",matveb
13429,Updating Link URL on image within Admin with Gallery,,Gallery,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-05-18T01:43:42Z,2013-01-02T13:11:27Z,"Image insertion no longer allows url to off site resource within Gallery.

When inserting a gallery you are unable to specify the Link URL. It keep reverting back to the default.",vshoward
16164,"""You are not allowed to delete this post."" - While Deleting a Media Library Item",,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-09T13:39:10Z,2012-06-30T20:14:21Z,"While deleteing 999 media library items, the request timed out. Resending the same request triggered an error message:

> You are not allowed to delete this post.

For me as a programmer, I know that those library items are technically a post, but for communicating with the user, the error message is misleading.",hakre
18701,"""hierarchical"" argument for get_pages() does nothing",,General,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-09-19T06:48:32Z,2011-11-16T00:17:33Z,"The `hierarchical` argument for `get_pages()` is never actually used. It is in an `if` statement, but one that requires `child_of` to also be set:

{{{
if ( $child_of || $hierarchical )
	$pages = & get_page_children($child_of, $pages);
}}}

Props Vynce Montgomery for pointing this out to me.",Viper007Bond
18703,'pre_get_posts'-filter without effect when modifying 'tax_query'. Wrong parameters passed to 'parse_tax_query() ??; WP 3.2.1.,info@…,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-09-19T13:10:12Z,2012-05-31T16:27:52Z,"When modifying the 'tax_query' array directly with 'pre_get_posts' filter (e.g. setting 'include_children' to false), then it will firstly  be modified in 'wp-includes/query.php' -> get_posts() after running the filter in line 1911.

But after line 2195 and running 'parse_tax_query' the 'tax_query' 'include_children'-parameter is unwanted reset/changed to the default value.

I think the bug is the following:
 
parse_tax_query() uses and needs values from the 'tax_query'-array but gets passed over only the 'query_vars'-array. so it resets the 'tax_query'-array-parameters in query.php line 1678 and hereby also the previously and individually set 'tax_query' values.

as far as i understand the core, i assume that any changes to the 'tax_query'-array with 'pre_get_posts'-filter will get lost and only changes to the 'query_vars'-array will take effect.",xitromedia
24023,3.5/wp-includes/functions.php : missing break statement,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),reopened,,2013-04-10T02:44:54Z,2013-04-10T18:59:20Z,"Line 263:

{{{
switch ( $token ) {
case 's' :
if ( '""' !== $data[$length-2] )
return false;
case 'a' :
}}}

Need ""break"" after ""return false"", because return happens only if condition met. Otherwise - falls to case 'a'
",tivnet
2877,A Slash too much @ get_pagenum_link(),,General,2.0.3,normal,normal,Future Release,defect (bug),reopened,has-patch,2006-06-29T17:47:30Z,2011-11-05T17:38:23Z," * File: template-functions-links.php
 * Function: get_pagenum_link()

The following code is at the end of the function:

{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

If you work with the mod_rewrite style, you will get this URL for the first page:

http://www.example.com/wordpress/index.php/
This wont work (/ at the end).

Correx:
{{{
	// showing /page/1/ or ?paged=1 is redundant
	if ( 1 === $pagenum ) {
		$qstr = str_replace('/page/1/', '', $qstr); // for mod_rewrite style
		$qstr = remove_query_arg('paged', $qstr); // for query style
	}
}}}

Notes:

 * sry for my bad english...
 * i've downloaded a german translation of wordpress 2.0.3, so maybe its just in this version... ?!
",dave@…
24030,Add an action for when nonce verification fails,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2013-04-10T10:21:37Z,2013-04-10T10:21:37Z,"Currently when a plugin (or core) calls `check_admin_referer()` there is no way for auditing (or debugging) plugins to hook in and record an event that the nonce check failed.

Previously it was possible to use the `explain_nonce_$nonce` filter to do this, but that was removed in [21133].

If a plugin wants to record an event for a failing nonce, it'll need to call wp_verify_nonce() manually itself, and die afterwards, or call `check_admin_referer()` after verifying the nonce itself for logging purposes.

I'd suggest either resurrecting the previous filter as an action (for back compat) or adding a new nonce failure hook.",dd32
21581,Add orderby meta_value to WP_User_Query,,General,,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-14T21:24:05Z,2012-08-14T21:40:10Z,"For some reason, we cannot easily order the WP_User_Query() by last_name without directly editing the SQL statements. However, there is an easy way to add this that would work parallel to WP_Query().

{{{
// prepare arguments
$args  = array(
	'orderby' => 'meta_value',
	'meta_key' => 'last_name',
);
$user_query = new WP_User_Query( $args );
}}}",wpsmith
23905,Add_post_meta strips slashes,,General,2.5,normal,normal,Awaiting Review,defect (bug),new,,2013-03-30T00:20:29Z,2013-03-30T05:32:01Z,"Let's assume that JS generated an object that I want to store in custom field. Everything goes smooth when I convert it back and forth from JS to PHP and from PHP to JS (using json_encode() and json_decode()) and it even works when I do update_post_meta() manually in my file but this stops working as soon as WordPress Importer tries to load it from XML file (in XML it's still valid object) using add_post_meta().

This is the code from importer from the bottom of process_posts() function:

{{{
if ( $key ) {
	// export gets meta straight from the DB so could have a serialized string
	if ( ! $value )
		$value = maybe_unserialize( $meta['value'] );
		$value = '{""0"":{""type"":""text"",""text"":""""},""1"":{""type"":""html"",""html"":""<div class=\""cssclass\"" style=\""margin-top: 3em;\""><p>here goes html</p></div>"",""css_class"":""""}}'; // I added this for test purposes

	add_post_meta( $post_id, $key, $value );
	do_action( 'import_post_meta', $post_id, $key, $value );
}}}


This is an object:

{{{
{""0"":{""type"":""text"",""text"":""""},""1"":{""type"":""html"",""html"":""<div class=\""cssclass\"" style=\""margin-top: 3em;\""><p>here goes html</p></div>"",""css_class"":""""}}
}}}


It strips slashes from HTML tags (before each double quote sign) from objects that are stored as strings. I bet it shouldn't happen. Why would add_post_meta strip slashes or anything if XML explicitly says:


{{{
<wp:meta_value><![CDATA[{""0"":{""type"":""text"",""text"":""""},""1"":{""type"":""html"",""html"":""<div class=\""cssclass\"" style=\""margin-top: 3em;\""><p>here goes html</p></div>"",""css_class"":""""}}]]></wp:meta_value>
}}}

which in XML language is considered ""use as is. Do not modify"". I think that it might be a bug.",Looimaster
13926,Adding 'page-attributes' to a custom post type slows down edit screen in the admin,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-06-16T20:01:17Z,2010-10-28T01:52:55Z,"When I add 'page-attributes' to a custom post type it takes roughly 1.5 to 2 min for the edit screen to load...  When I remove 'page-attributes' edit screen load is extremely fast.

Under the post type i created I have 5000+ entries.",granulr
16672,Admin Bar and param href = FALSE,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-26T00:21:52Z,2011-02-27T11:21:37Z,"Current i dont find an solution to add an element in the admin bar with a a-tag inside the li-tag. But the function add_menu has an param href and is also possible to add the value false, but the a-tag ist always visible


maybe a fix on wp-includes/class-wp-admin-bar.php

{{{
	/* Helpers */
	function recursive_render( $id, &$menu_item ) { ?>
		<?php
		$is_parent =  ! empty( $menu_item['children'] );

		$menuclass = $is_parent ? 'menupop' : '';
		if ( ! empty( $menu_item['meta']['class'] ) )
			$menuclass .= ' ' . $menu_item['meta']['class'];
		?>

		<li id=""<?php echo esc_attr( ""wp-admin-bar-$id"" ); ?>"" class=""<?php echo esc_attr( $menuclass ); ?>""><?php
			if ( ! empty( $menu_item['href'] ) ) : ?>
				<a href=""<?php echo esc_url( $menu_item['href'] ) ?>""<?php
					if ( ! empty( $menu_item['meta']['onclick'] ) ) :
						?> onclick=""<?php echo esc_js( $menu_item['meta']['onclick'] ); ?>""<?php
					endif;
				
				if ( ! empty( $menu_item['meta']['target'] ) ) :
					?> target=""<?php echo esc_attr( $menu_item['meta']['target'] ); ?>""<?php
				endif;
				if ( ! empty( $menu_item['meta']['title'] ) ) :
					?> title=""<?php echo esc_attr( $menu_item['meta']['title'] ); ?>""<?php
				endif;
				
				?>><?php
			endif;
			
			if ( $is_parent ) :
				?><span><?php
			endif;

			echo $menu_item['title'];

			if ( $is_parent ) :
				?></span><?php
			endif;

			if ( ! empty( $menu_item['href'] ) ) : ?></a><?php endif; ?>

			<?php if ( $is_parent ) : ?>
			<ul>
				<?php foreach ( $menu_item['children'] as $child_id => $child_menu_item ) : ?>
					<?php $this->recursive_render( $child_id, $child_menu_item ); ?>
				<?php endforeach; ?>
			</ul>
			<?php endif; ?>

			<?php if ( ! empty( $menu_item['meta']['html'] ) ) : ?>
				<?php echo $menu_item['meta']['html']; ?>
			<?php endif; ?>
		</li><?php
	}
}}}
",Bueltge
20927,Ampersand inside HTML comment causes wp_insert_post to loop infinitely,,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-06-12T19:54:46Z,2012-06-14T13:09:40Z,"I'm encountering an issue with wp_insert_post where, when the post_content contains an HTML comment containing an ampersand (ie, ""<!-- & -->""), wp_insert_post seems to be getting stuck in an infinite loop. As far as I can tell, it is endless escaping the & into &amp; over and over.

I've attached a small script that reproduces this error; you need to replace the HTTP_HOST and the path to wp-load.php to reflect your own machine for it to run. I've reproduced this issue on two different machines, both running Ubuntu 12.04, one on Wordpress 3.3.1 and the other on Wordpress 3.3.2.

The most bizarre thing about this issue, to me, is if you move the contents of the includeFiles() function out of the function and into the main body of the script, the issue no longer occurs. Somehow, including wp-load.php from a function is causing the infinite loop.",jpayette
17170,Attachment slugs are not unique,,General,2.8,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-04-18T21:02:52Z,2011-04-18T21:02:52Z,"From wp_unique_post_slug() and #9726:

{{{
Attachment slugs must be unique across all types.
}}}

It's true that attachment slugs are checked for uniqueness against all other object types, however, when inserting an object of another type any uniqueness checks do not include attachments. This means that #9539 isn't actually fixed if you attempt the steps in the order described (insert attachment first followed by conflicting page).

Fix would be to add 'attachment' to the `post_type IN` clause for hierarchical types. See attachments-hierarchically-unique.diff.

Still puzzling out why/if attachments need to be unique against non-hierarchical types since there shouldn't be collisions as attachment URLs are subpage style. However, if attachment slugs do need to be globally unique then see attachments-globally-unique.diff (not tested so much).

Related: #9726, #9539, #6437, [11467]",duck_
21729,Better logic for comments email notification,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-08-29T15:26:37Z,2012-11-22T03:49:45Z,"Please see attached patch.

- If comment_author_email is known, it can be used in ""From"" email header.

- Also in ""Reply-To"" header we can use comment_author.

I am not sure if there is any reason for current logic, but my friend noticed it and he thought that this way it would be better...",pavelevap
16487,Bug wp_new_user_notification() when using it in multisite mode,,General,3.0.5,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-02-08T09:04:08Z,2011-02-08T12:07:48Z,"In the file ""wp-includes/pluggable.php""
into the function named ""wp_new_user_notification""

$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

This is correct but, in mutisite mode,

that one return the site name where you are logged into, not the blogname you are going to create.
$message .= wp_login_url() . ""\r\n"";

for example, i try to create test1.mynamesite.com
i'm logged on primarysite.mynamesite.com with my super admin account.

Into the mail i recieved, with ""Your Username and password""
the url is ""http://primarysite.mynamesite.com/wp_login.php""

it had to be ""http://test1.mynamesite.com/wp_login.php"".

In the other mail recieved with the complete message, acces code and url, all is perfect, just in the mail when adding the user to the new site.",wp_user59
17442,CSS selector #wpadminbar * overwrites accessibility generic selectors like screen-reader-text,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T10:42:59Z,2011-05-15T12:52:23Z,"I just was looking to update one of my plugins for 3.1/3.2 making use of the new admin bar.

My plugin makes use of the `.screen-reader-text` CSS class but it is overwritten in the admin-bar by `#wpadminbar *`",hakre
17157,Cannot preview changes to published multi-page posts,,General,3.0.4,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-04-17T17:41:50Z,2012-05-09T17:10:23Z,"Use Case: After publishing a post, an editor needs to make changes/update the post.  Editor would like to preview changes before publishing.  (Permalinks are turned on in this case)

To Reproduce:
1. Write a post. Make it paged by putting <!--nextpage--> somewhere in the post.
2. Publish the post 
3. Make changes to the post, somewhere on page 2
4. Click ""Preview Changes"" button

Browser will open a new page for the post: http://[domain]/yyyy/mm/dd/[post title]/?preview=true&preview_id=126507&preview_nonce=f0a2ecd9ae

5. Next page link will point to http://[domain]/yyyy/mm/dd/[post title]/   (Note: that preview, preview_id and preview_nonce are missing from the url)

Suggested fix is attached.
",akoyfman
16230,Category slugs not cut at 200 characters as it should under some conditions,,General,3.1,normal,normal,Future Release,defect (bug),new,,2011-01-14T14:10:23Z,2011-07-17T02:21:27Z,"When a category name is longer than 200 characters, it is cut to 200 and so is the slug automatically created upon category creation.

Now, if you edit the category name or slug afterwards, again trying to set a name longer than 200 characters it is cut again.

But, if you edit the name or slug and use a very long string like this one:

%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8/%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0/%d1%81%d0%bb%d0%b0%d0%b4%d0%ba%d0%b8%d1%88%d0%b8-%d0%b4%d0%b5%d1%81%d0%b5%d1%80%d1%82%d0%b8-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%82%d0%b8-%d1%85%d1%80%d0%b0%d0%bd%d0%b0-%d1%80%d0%b5%d1%86%d0%b5%d0%bf%d1%/

Then the slug ends up being longer than the 200 chars limit.

Now if on the Categories list dashboard page you have more categories than visible on one page, and the category you edited above is not on page 1, the page it is on will appear empty (while successive pages will be all right if they contain regular categories)

This has been reproduced on 3.1-RC2-17283",paolal
13821,Changing visibility to password-protected without entering a password does not warn user,kapeels*,General,,normal,normal,Future Release,defect (bug),accepted,has-patch,2010-06-10T13:48:48Z,2012-10-01T17:42:25Z,"Tested on r15182.

If the status of a post is set to Password Protected, and a password is not specified before the user clicks the OK button in visibility and then either publishes, saves, or updates the post, no warning is given to the user that not setting a password forces the post or page to remain Public.

In fact, if updating a post, and this is the only change made, the success message (1) for updating the post appears instead, even though no change was made to the post.

If the post was previously published as Private, and switched to Password Protected without entering a password, then saved, the post switches to Public on save instead of remaining Private.

Either a failure message upon updating or a warning to the user before saving should be displayed to the user to remind them that they didn't properly set a password.

To reproduce the last case above:

1. Create a post. Publish it as Private.
2. Edit the post. Change the visibility to Password Protected, but do not enter a password. Click OK.
3. Update the post.
4. The post visibility will be changed to Public.",markel
23862,Clean up old WP->public_query_vars and WP->private_query_vars,,General,,normal,trivial,Future Release,defect (bug),new,has-patch,2013-03-25T19:20:07Z,2013-05-20T12:03:20Z,"There are some old non-working public_query_vars still in the WP class that should be cleaned up.

* posts - broken 10 years ago http://core.trac.wordpress.org/changeset/182/trunk/blog.header.php
* search - hasn’t done anything since wp_query was created
* calendar - don’t see support since ‘b2’
* pb - don’t see support since ‘b2’
* static - only used in determining if is_page, though it no longer works correctly, added http://core.trac.wordpress.org/changeset/1527/trunk, but functionality was partially changed the next commit

Also, since 'post_type' is now a public_query_var, it can be removed from the private_query_vars.
",prettyboymp
16934,Commented code in /wp-includes/canonical.php,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-03-22T14:00:26Z,2011-06-25T18:57:57Z,"Timestamp: 10/16/08 19:17:04 (2 years) - Safe to remove this by now?

[9203]",hakre
14268,Comments editor HTML tag,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-07-10T19:16:16Z,2010-11-22T18:22:42Z,"With a vanilla (2.8.4 -> 3.0) installation, if you go and edit the comment from Mr Wordpress, you will see that in the editor you can find the HTML code of the apostrophe for ""post's"".

{{{
Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.
}}}

The problem comes with a production env with European languages where comments are full of accented letters that make the reading almost impossible.",pkirk
12945,Constrain wp_page_menu(),technosailor*,General,,normal,normal,Future Release,defect (bug),accepted,,2010-04-09T19:39:51Z,2010-05-02T18:49:39Z,"The wp_page_menu() function is the default callback for wp_nav_menu(). IOW, when a user is not using the new menu system, it defaults to this function. While that is good, any number of pages over, say 10, will make a theme puke in many cases.

As a workaround, I suggest we make a default of wp_page_menu() to exclude all pages() except home. It's a stupid idea, I think, but something needs to be done to make this manageable so I'm looking for feedback.

The Pro of taking this approach is that it encourages customization of menus via the WP menu system. It also does not lock theme devs into a particular approach because this stuff can be overidden via arguments and filters.

The con is that the default callback becomes pretty benign and useless. Almost pointless.

Ideas?",technosailor
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
16949,Custom post types: error on page if query contains multiple post types,,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-23T17:19:22Z,2011-10-18T19:53:06Z,"I'm using custom post types, and I modified the $query to include multiple post types. This works quite well, until I enter a URL to a non-existant post (modifying the last part, i.e. the post's slug).

{{{

// some HOWTO linked from the Codex suggests this,
// can't find the link right now

function add_posttypes_to_query($query)
{
	if (!is_admin() && !$query->query_vars['suppress_filters'])
	{
		if (!is_home())
			$post_type = array('video', 'post');

		$query->set('post_type', $post_type);
	}

	return $query;
}

add_filter('pre_get_posts', 'add_posttypes_to_query');
}}}

The error I get is: “Warning: Illegal offset type in isset or empty in /home/lxg/www/shops.supreme.de/supremeshops/branches/private_wp3/wp-includes/post.php on line 811”.

It appears that the function {{{get_post_type_object}}} gets the array passed if no posts were found.

Also, I realized that custom post single pages don't issue a HTTP 404 status on errors. But this may be due to local modifications. I am currently not able to set up an environment where I isolate this problem.",mastermind
16009,Define z-index on the new admin bar,,General,3.1,normal,normal,Future Release,defect (bug),reopened,,2010-12-28T15:41:24Z,2011-01-06T12:08:20Z,"Proposal for z-index to be defined on the new admin bar (so that it will work in harmony with browser toolbar --> Web Develoepr Toolbar's ""Display Element Information"" Feature)

When the new admin toolbar is showing,
crucial information from the Web Developer Toolbar's 
""Display Element Information"" balloon becomes hidden.

Specifying a z-index for the admin toolbar seems to resolve this problem.

ie.
I changed line 92 of class-wp-admin-bar.php, 
FROM:

{{{
<div id=""wpadminbar"">
}}}

TO:

{{{
<div id=""wpadminbar"" style=""z-index:1000;"">
}}}


It seems that the z-index value is somewhat arbitrary to getting these two toolbars to work in harmony... as I've tried values ranging from 0 to 1000, and they all worked.",BlueKachina
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
21432,Deprecate *_blog_option(),ryan,General,3.4.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2012-07-31T21:53:06Z,2012-10-24T17:44:45Z,"Deprecate get_blog_option(), add_blog_option(), update_blog_option(), and delete_blog_option(). The regular *_option() functions wrapped with switch_to_blog() and restore_current_blog() should be used instead.

Previous discussion:

http://core.trac.wordpress.org/ticket/21270#comment:11",ryan
19555,Deprecate url_is_accessable_via_ssl(),,General,,normal,normal,Future Release,defect (bug),new,has-patch,2011-12-14T22:56:31Z,2012-04-27T16:10:44Z,"We can convert it to use wp_remote_get() when we do, or just stub it.",nacin
10902,Display problem with exclude option in wp_list_pages,,General,2.8.4,normal,normal,Future Release,defect (bug),new,reporter-feedback,2009-10-04T19:45:38Z,2011-04-02T11:50:55Z,"Create pages A,B,C and D, A parent of B, B of C and C of D[[BR]]
A[[BR]]
-B[[BR]]
--C[[BR]]
---D[[BR]]

call in a template 
<?php wp_list_pages(""exclude=6""); ?>
(6 is the ID of page B)

I get this display :[[BR]]
* A[[BR]]
* C[[BR]]
* D[[BR]]

when I expect :[[BR]]
* A[[BR]]
* C[[BR]]
-* D[[BR]]",toutantic
18190,Don't redirect to 404 page on empty post archives,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-21T09:05:41Z,2011-07-22T13:55:20Z,"""../archive/2010/09/29"" redirects to a 404 Error because there are no posts that day.

If there are no posts, it shouldn't redirect to a 404 page. It should let the user perform the loop and show a message like this:

""Sorry, there are no posts for that date""",gazpachu
14296,Don't show previous post link on orphaned attachments,,General,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-07-13T12:52:51Z,2010-07-14T04:43:32Z,"In function adjacent_post_link(), add check if post parent not empty.",zeo
15963,Don't try to add orphaned pages' parents' slugs to the page URL,,General,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-23T11:08:55Z,2012-09-19T22:31:20Z,"If a page becomes orphaned---in other words, if a page points to a parent object that doesn't exist any more---`get_page_uri()` doesn't sanity check that the parent object actually exists.

Patch does the check without any extra work, by moving stuff around.",filosofo
21537,Email address sanitisation mangles valid email addresses,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-08-10T11:24:50Z,2013-01-22T09:00:07Z,"If you change your email address to one including an ampersand then we mangle the address with html entities.

For example:
 * This - peter&paul@sitting.in.a.tree.com
 * Becomes - peter&amp;paul@sitting.in.a.tree.com

This is due to the call to {{{wp_filter_kses}}} on {{{pre_user_email'}}} in {{{default-filters.php}}}.

The was added in [5906] for #4546.

I'm not sure if we need kses filtering for emails - if we do which should probably revert this conversion of the & => &amp; afterwards.",westi
21204,Encoding problem with errors and warnings,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-09T16:31:04Z,2012-07-09T22:01:05Z,"There are several functions for debugging and their messages are also localized. For example _deprecated_argument(), _doing_it_wrong(), etc. But when these functions are fired, encoding of the whole administration (not only error messages) is damaged (see attached screenshot).

It is not very good because even if debugging is turned off, some errors can be still triggered - for example trigger_error() in ms_subdomain_constants() function, etc.",pavelevap
18002,Entering page number for spam comments takes you to page 1,,General,3.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-07-06T11:27:25Z,2011-11-22T17:17:15Z,"When browsing through spam comments, I attempt to view pages in the middle of the set (e.g. page 9 of 13) using the number-entry feature (at the top right) introduced in WP 3.1. Unfortunately, in WP 3.2 this feature has been broken, and when I press Enter, it substitutes '1' for the page number I enter, and then takes me to page 1. I have tried this when browsing posts or normal comments, and it doesn't happen; it only happens when viewing spam comments. I have tried it on Chrome in Linux and Safari on Mac OS X and the same thing happens.",IndigoJo
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
12760,Escaping shortcode conditionally,markjaquith,General,3.0,low,normal,Future Release,defect (bug),assigned,dev-feedback,2010-03-29T12:21:55Z,2011-04-07T00:11:32Z,"Using additional brackets is the official way to ""escape"" a shortcode. e.g. {{{[[escaped]]}}}

Using additional brackets {{{[[shortcode]]}}} in a post works only when the plugin (function) for this shortcode is active. When deactivated, additional brackets are shown in the post. It is annoying for many users, because editors sometimes test a plugin, write about it in a post with shortcode example and after some months this plugin is deactivated. Now there will be additional brackets, breaking their example code.

Input:

{{{[[shortcode_that_does_not_exist]]}}}

Expected output, regardless of whether that plugin is active:

{{{[shortcode_that_does_not_exist]}}}

Actual output, if plugin is not active:

{{{[[shortcode_that_does_not_exist]}}}

[edited by Mark Jaquith]",pavelevap
19268,"Even if .htaccess isn't writable, WP shouldn't prompt if there are no changes.",,General,,normal,normal,Future Release,defect (bug),new,reporter-feedback,2011-11-16T21:36:20Z,2011-11-17T16:39:33Z,"When you visit the permalinks settings screen, and .htaccess isn't writable, it prompts you to manually update. But it does that even if the current rules it is suggesting are already present. It should only prompt if the rules it is suggesting are different from what you have.",markjaquith
16167,FORCE_ADMIN_SSL broken if site runs on port different from 80,,General,3.0.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-09T15:49:44Z,2011-10-17T23:37:51Z,"I'm running a wordpress site (http://yoush.homelinux.org:8079/) hosted at my home server. Unfortunately mu ISP blocks incoming connections on port 80, so I have to use non-standard port.

With unmodified wordpress 3.0.4, I was unable to use FORCE_ADMIN_SSL, because it caused URLs starting with

http://yoush.homelinux.org:8079/

to be converted to

https://yoush.homelinux.org:8079/

Which is definitly broken since it is impossible to serve both http and https on the same port.

To fix this, I propose removing ':port' from URL when converting http url to https.
I've created a patch for this, that seems to work for me on my site.",yoush
18685,GET Requests with hostname in them causes wrong redirect,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-09-16T14:34:54Z,2011-10-07T08:49:01Z,"Hi!

I have noticed that my Android phone when using Cyanogenmod with default browser does some ""special"" things when on 3G. (It does not happend via WiFi)

It appears that the hostname is sent with every GET-request. Its common to only send the path in a GET-request but the HTTP secification also allows for the use of hostname within a GET-request.

My test page ( http://h3x.no/dump/test.php ) shows the hostname in the REQUEST_URI via 3G, and skips the hostname when on WiFi.

This causes Wordpress(i suspect) to redirect me to the wrong page.

Example:

I want the page:
http://h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line

My phone sends me to:
http://h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line/http/h3x.no/2011/09/12/getting-windows-2008-server-uptime-via-the-command-line",Ueland
15619,General Settings Tab Not Allowing trailing URL slash to be stored in Site & WordPress address (URL),,General,3.0.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2010-12-01T02:35:11Z,2011-01-21T10:15:11Z,"**Thank you for all of the efforts you've made regarding plugins easier to maintain - I deeply appreciate it.** 

When WordPress is installed in a subfolder, attempts to add the trailing slash currently will not save properly. From this URL:
http://www.domain.com/wordpressinstalledinfolder/wp-admin/options-general.php

The General Settings Tab - WordPress address (URL)
The General Settings Tab - Site address (URL)

Want to enter ""http://www.domain.com/wordpressinstalledinfolder/""
***it won't let me enter a trailing slash on the end like it will in other URL fields on the site.***

Request: Please tweak this field to allow storage of folder trailing slash.




",dsquared
17445,Give a speed kick to combined is_serialized() + is_serialized_string() + maybe_unserialize() usage,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-15T14:13:18Z,2011-05-15T21:14:14Z,"In #17129 is_serialized_string() has been speed up by 23%. That was for the function itself.

However, that function is used in contexts that make the call to is_serialized() directly or indirectly via maybe_unserialize().

Most often these calls are redundant and must not be done at all.

If preconditions are already met, is_serialized_string() can be replaced with a simple check for the 's' or 'S' format and maybe_unserialize() can be replaced with @unserialize($data) as that's the code executed in maybe_unserialize() when is_serialze() had returned true on $data;",hakre
17632,HTML 5 Validation issues (theme independent),,General,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-01T07:52:09Z,2013-04-17T01:37:23Z,"Wordpress often adds the rel attribute to links.

For example rel=""category"" or rel=""attachment"" etc...

Apparently these keywords are not allowed in html 5 :

http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#linkTypes

So the validation fails :-/

These attributes are a bit hardcoded. You can use regex in filters or javascript solutions to remove them, but this is not a good solution.

I think this problem is now a bug, if you consider the importance of code validation.",amirhabibi
2691,HTML comments in posts aren't handled properly.,,General,2.8.5,normal,normal,Future Release,defect (bug),reopened,,2006-04-25T03:16:37Z,2011-02-28T06:45:22Z,"When an HTML comment is added in a post, autop adds paragraph ( <p> ) tags around the comment and for multi-line comments line breaks ( <br /> ) are added after every line.  This should not happen in HTML comments.

This ticket is similar to #712 which was closed with wontfix.  I would like to know why this isn't seen as an issue?  It prevents the addition of RDF and other metadata, not to mention just plain old HTML comments in posts.",gord
19383,Hide post formats next to post titles if the active blog theme does not support post formats,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-11-28T18:16:12Z,2011-11-29T18:47:55Z,"If I'm using a theme that supports post formats—e.g. Twenty Eleven—then next to each title on `wp-admin/edit.php` I'm able to see not only the title name but also the post format that corresponds to its respective post.

If I switch to a theme that does not support post formats at all I am still able to see post formats associated with their respective posts.

This is not good for a few reasons:

* Showing a post format next to a title while a theme that doesn't support post formats is active is confusing. ""Why does my post have the word Image/Link/Status/Quote by it? What does that mean?""
* There is no way to edit or remove a post format associated with a post when a theme that does not support post formats is active, so the labels are useless.

When a theme that does not support post formats is active those format labels should be hidden. The posts can of course still retain their formats in case a user switches back to a theme that supports theme, but otherwise they should be hidden.",philiparthurmoore
18102,IE8 and wp_tiny_mce has broken Link button,,General,3.2,normal,normal,Awaiting Review,defect (bug),new,,2011-07-13T14:07:43Z,2011-07-13T17:57:57Z,"With IE8 and custom-generated WYSIWYG editors created with wp_tiny_mce, the link button doesn't work correctly.  What happens is quite interesting:

On the first click, the Add/Edit dialog link box appears full sized, but empty.

Dismissing the box and clicking the link button again will give you just the Add/Edit link dialog box's title, but not even a box.

Dismissing that box and clicking on it a third time will finally generate an Add/Edit link form in the dialog box, but it won't be functional.

As far as I can tell, there are no JavaScript errors displayed.

This works correctly in Chrome, FireFox, and IE9. The problem only exists in IE8 as far as I can tell.  I tested on 3.2 and 3.2.1

The issue occurs with a default theme, but not with all plugins disabled (because plugins are required to create such a WYSIWYG box).  The issue does NOT exist on the default post/page add/edit screens.  Examples of plugins affected are WYSIWYG Widgets (http://wordpress.org/extend/plugins/wysiwyg-widgets/) and Rich Text Tags (http://wordpress.org/extend/plugins/rich-text-tags/), although I discovered the issue while developing my own plugin.

I also put together a bare-bones plugin to help verify the issue in case that helps (see the new menu item in Settings):
http://dl.dropbox.com/u/5148765/lems_wysiwyg_test.php  (requires WP 3.2+)

While it's possible that the real problem is how we're calling wp_tiny_mce (and I certainly apologize if that's the case), all 3 of us developers have run into this issue independently.

Let me know if you need any more info!",MadtownLems
23478,"Impossible to view posts titled ""WP Content"" or ""WP Includes"" with some forms of permalinks",,General,,normal,normal,Awaiting Review,defect (bug),new,close,2013-02-15T06:33:05Z,2013-02-15T09:35:07Z,"Posts titled ""WP Content"" or ""WP Includes"" (without quotes) are impossible to view when using the following forms of permalinks:

1. /%postname%
2. /%postname%/

A post titled ""WP Content"" will have a permalink of either http://example.com/wp-content or http://example.com/wp-content/, '''both will show a blank page'''.

A post titled ""WP Includes"" will have a permalink of either http://example.com/wp-includes or http://example.com/wp-includes/, '''both will show the directory index of the wp-includes directory'''.

WordPress should either:

a) make it possible to view both posts normally

b) warn the user or make it not possible to have a combination of some post titles and some certain forms of permalink.",kjasdu
14789,Inconsistency in 'all' hook invocation,,General,3.0.1,normal,normal,Awaiting Review,defect (bug),reviewing,has-patch,2010-09-07T01:41:33Z,2011-03-21T11:36:19Z,"The 'all' hook (catchall hook for any hook name) is getting inconsistently called depending on how the concrete hook is being invoked: by apply_filters, apply_filters_ref_array, do_action or do_action_ref_array.

In the simple cases (apply_filters, do_action), the hook will get all parameters passed, in the ..._ref_array cases, the hook will get only two parameters passed in which the first parameter is the name of the hook (a.k.a. tag) and the second parameter is an array of all other parameters.

Every 'all' hook-function-callbacks should be called in the same way regardless whether which of the four invocation functions have been used on that pointcut.

Additionally all four routines share a lot of the same code which could benefit of a refactoring.",hakre
7267,Infinite recursion in get_category_parents() and _children(),,General,,normal,normal,Future Release,defect (bug),reopened,has-patch,2008-07-09T04:54:21Z,2010-12-07T18:41:17Z,"These two functions can get stuck in a recursion loop if there's an indirect category hierarchy loop like A -> B -> C -> A.

The patch keeps track of traversed IDs and prevents repetition - there's a name for the algorithm but it escapes me.  It increases memory usage but probably not too much - certainly less than infinite recursion does.


",tellyworth
19120,Interim login needs some work,azaozz,General,,normal,normal,Future Release,defect (bug),assigned,early,2011-11-02T22:46:42Z,2012-05-02T19:43:33Z,"A CSS style causes a white 20px stripe at the top of the otherwise gray interim login screen.

That should go, and azaozz thinks the popup should as well.

3.3 for now, but the rest may be punted by azaozz.",nacin
24210,Issues found using a static analysis tool,nacin*,General,,normal,normal,3.6,defect (bug),accepted,,2013-04-28T06:16:09Z,2013-05-07T16:35:03Z,"These all look like valid, but minor, issues:
{{{
--------------------------------
File       : wp-includes/class-json.php:495
Reason     : UnknownFunction
Snippet    : class_name($var)
Line       : : new Services_JSON_Error(class_name($var).

--------------------------------
File       : wp-includes/SimplePie/Locator.php:94
Reason     : RequiredAfterOptionalParam
Snippet    : $type = SIMPLEPIE_LOCATOR_ALL
Line       : public function find($type = SIMPLEPIE_LOCATOR_ALL, &$working)

--------------------------------
File       : wp-includes/ID3/module.tag.id3v2.php:433
Reason     : TooFewArgument
Snippet    : substr($footer[5])
Line       : $id3_flags = ord(substr($footer{5}));

--------------------------------
File       : wp-includes/ID3/module.tag.id3v2.php:1586
Reason     : StatementHasNoEffect
Snippet    : $frame_ownerid == '';
Line       : $frame_ownerid == '';

--------------------------------
File       : wp-includes/ID3/module.audio.mp3.php:37
Reason     : TooManyArgument
Snippet    : $this->getOnlyMPEGaudioInfoBruteForce($this->getid3->fp, $info)
Line       : $this->getOnlyMPEGaudioInfoBruteForce($this->getid3->fp, $info);

--------------------------------
File       : wp-includes/SimplePie/Misc.php:127
Reason     : TooManyArgument
Snippet    : SimplePie_Misc::entities_decode(end($attribs[$j]), 'UTF-8')
Line       : $return[$i]['attribs'][strtolower($attribs[$j][1])]['data'] = SimplePie_Misc::entities_decode(end($attribs[$j]), 
'UTF-8');
}}}

Resolved:
{{{
--------------------------------
File       : wp-includes/class-wp-walker.php:118
Reason     : RequiredAfterOptionalParam
Snippet    : $depth = 0
Line       : function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) {

--------------------------------
File       : wp-includes/comment-template.php:1298
Reason     : RequiredAfterOptionalParam
Snippet    : $depth = 0
Line       : function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) {

--------------------------------
File       : wp-includes/deprecated.php:802
Reason     : RequiredAfterOptionalParam
Snippet    : $echo = false
Line       : function get_author_link($echo = false, $author_id, $author_nicename = '') {

--------------------------------
File       : wp-includes/deprecated.php:1709
Reason     : TooManyArgument
Snippet    : get_the_content($more_link_text, $stripteaser, $more_file)
Line       : $content = get_the_content($more_link_text, $stripteaser, $more_file);

--------------------------------
File       : wp-signup.php:493
Reason     : RequiredAfterOptionalParam
Snippet    : $user_name = ''
Line       : function confirm_blog_signup($domain, $path, $blog_title, $user_name = '', $user_email = '', $meta) {

--------------------------------
File       : wp-signup.php:493
Reason     : RequiredAfterOptionalParam
Snippet    : $user_email = ''
Line       : function confirm_blog_signup($domain, $path, $blog_title, $user_name = '', $user_email = '', $meta) {

--------------------------------
File       : wp-includes/widgets.php:76
Reason     : RequiredAfterOptionalParam
Snippet    : $id_base = false
Line       : function WP_Widget( $id_base = false, $name, $widget_options = array(), $control_options = array() ) {

--------------------------------
File       : wp-includes/widgets.php:93
Reason     : RequiredAfterOptionalParam
Snippet    : $id_base = false
Line       : function __construct( $id_base = false, $name, $widget_options = array(), $control_options = array() ) {

--------------------------------
File       : wp-includes/post.php:4789
Reason     : RequiredAfterOptionalParam
Snippet    : $deprecated = ''
Line       : function _future_post_hook( $deprecated = '', $post ) {

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:173
Reason     : RequiredAfterOptionalParam
Snippet    : $start = 0
Line       : function _rows( $taxonomy, $terms, &$children, $start = 0, $per_page = 20, &$count, $parent = 0, $level = 0 ) {

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:173
Reason     : RequiredAfterOptionalParam
Snippet    : $per_page = 20
Line       : function _rows( $taxonomy, $terms, &$children, $start = 0, $per_page = 20, &$count, $parent = 0, $level = 0 ) {

--------------------------------
File       : wp-includes/rewrite.php:92
Reason     : TooManyArgument
Snippet    : remove_action($hook, $hook, 10, 1)
Line       : remove_action($hook, $hook, 10, 1);

--------------------------------
File       : wp-admin/includes/user.php:350
Reason     : TooManyArgument
Snippet    : delete_user_setting('default_password_nag', $user_ID)
Line       : delete_user_setting('default_password_nag', $user_ID);

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:159
Reason     : TooManyArgument
Snippet    : $this->single_row($term, 0, $taxonomy)
Line       : $out .= $this->single_row( $term, 0, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:202
Reason     : TooManyArgument
Snippet    : $this->single_row($my_parent, $level - $num_parents, $taxonomy)
Line       : $output .=  ""\t"" . $this->single_row( $my_parent, $level - $num_parents, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:208
Reason     : TooManyArgument
Snippet    : $this->single_row($term, $level, $taxonomy)
Line       : $output .= ""\t"" . $this->single_row( $term, $level, $taxonomy );

--------------------------------
File       : wp-includes/media.php:2453
Reason     : UnknownFunction
Snippet    : sprint($link_fmt, $image)
Line       : $image = sprint( $link_fmt, $image );

--------------------------------
File       : wp-includes/media.php:1040
Reason     : TooManyArgument
Snippet    : wp_mediaelement_fallback($fileurl, $width, $height)
Line       : $html .= wp_mediaelement_fallback( $fileurl, $width, $height );

--------------------------------
File       : wp-includes/Text/Diff/Engine/xdiff.php:30
Reason     : UnknownFunction
Snippet    : xdiff_string_diff($from_string, $to_string, count($to_lines))
Line       : $diff = xdiff_string_diff($from_string, $to_string, count($to_lines));

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:159
Reason     : UseVoidReturn
Snippet    : $this->single_row($term, 0, $taxonomy)
Line       : $out .= $this->single_row( $term, 0, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:202
Reason     : UseVoidReturn
Snippet    : $this->single_row($my_parent, $level - $num_parents, $taxonomy)
Line       : $output .=  ""\t"" . $this->single_row( $my_parent, $level - $num_parents, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:208
Reason     : UseVoidReturn
Snippet    : $this->single_row($term, $level, $taxonomy)
Line       : $output .= ""\t"" . $this->single_row( $term, $level, $taxonomy );

--------------------------------
File       : wp-admin/includes/class-wp-terms-list-table.php:228
Reason     : UseVoidReturn
Snippet    : $this->single_row_columns($tag)
Line       : echo $this->single_row_columns( $tag );

--------------------------------
File       : wp-includes/wp-db.php:648
Reason     : TooManyArgument
Snippet    : $this->has_cap('collation', $dbh)
Line       : if ( $this->has_cap( 'collation', $dbh ) && !empty( $charset ) ) {

--------------------------------
File       : wp-includes/wp-db.php:649
Reason     : TooManyArgument
Snippet    : $this->has_cap('set_charset', $dbh)
Line       : if ( function_exists( 'mysql_set_charset' ) && $this->has_cap( 'set_charset', $dbh ) ) {

--------------------------------
File       : wp-admin/network/site-settings.php:63
Reason     : TooManyArgument
Snippet    : update_option($key, $val, false)
Line       : update_option( $key, $val, false ); // no need to refresh blog details yet

--------------------------------
File       : wp-admin/network/site-settings.php:126
Reason     : TooManyArgument
Snippet    : esc_html(maybe_unserialize($option->option_value), 'single')
Line       : $option->option_value = esc_html( maybe_unserialize( $option->option_value ), 'single' );

--------------------------------
File       : wp-admin/includes/class-wp-comments-list-table.php:318
Reason     : UseVoidReturn
Snippet    : $this->single_row_columns($comment)
Line       : echo $this->single_row_columns( $comment );

--------------------------------
File       : wp-admin/includes/class-wp-list-table.php:829
Reason     : UseVoidReturn
Snippet    : $this->single_row_columns($item)
Line       : echo $this->single_row_columns( $item );

--------------------------------
File       : wp-admin/includes/class-wp-upgrader.php:1132
Reason     : UseVoidReturn
Snippet    : screen_icon()
Line       : echo screen_icon();

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:386
Reason     : UseVoidReturn
Snippet    : $this->single_row($page, $level)
Line       : echo ""\t"" . $this->single_row( $page, $level );

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:401
Reason     : UseVoidReturn
Snippet    : $this->single_row($op, 0)
Line       : echo ""\t"" . $this->single_row( $op, 0 );

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:447
Reason     : UseVoidReturn
Snippet    : $this->single_row($my_parent, $level - $num_parents)
Line       : echo ""\t"" . $this->single_row( $my_parent, $level - $num_parents );

--------------------------------
File       : wp-admin/includes/class-wp-posts-list-table.php:453
Reason     : UseVoidReturn
Snippet    : $this->single_row($page, $level)
Line       : echo ""\t"" . $this->single_row( $page, $level );
}}}",rlerdorf
11697,Keep private posts in the admin area / Was: Make private posts a canonical plugin,,General,2.9,normal,normal,Future Release,defect (bug),assigned,has-patch,2010-01-02T21:33:21Z,2011-04-11T23:15:01Z,"Said Matt:
> Also, a lot of the complexity of private posts could be avoided by a relatively simple change: saying they're only viewable in the dashboard. (Which I think is close to how people use them already.)

----

There are quite a few tickets related to private posts that can be viewed by users who should, and even more tickets related to private comments that can be viewed by users who aren't authorized to view the post.

There also is at least one ticket that highlights a performance issue related to private posts.

http://core.trac.wordpress.org/search?q=private

Would it be an option to turn this into a canonical plugin and begone with the problems?",Denis-de-Bernardy
17296,Link Descriptions Are Truncated Without Notification,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-05-01T03:04:09Z,2011-07-03T07:48:46Z,"When creating new links, or editing existing links, using the WordPress admin interface, link descriptions are truncated to 255 characters. This is because there is a 255 character limit defined in the link_description column in the wp_links database table.

Steps to reproduce:

1) Go to WP dashboard

2) Select Links > Add New from the menu.

3) Create a link with a description longer than 255 characters.

4) Go back to the link in the links interface; the description has been truncated.

Expected behavior:

1) The field should have a larger limit (perhaps 1024 characters?).

2) Even if we keep the limit at 255, the UI should prevent users from entering more than the limit, or notify them that the description they have entered will be truncated to the limit.

Thanks for your time!",achmafooma
22625,Lone less than (<) characters foul up balanceTags(),,General,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-11-28T22:47:23Z,2012-12-11T20:34:57Z,"1. Turn on tag balancing.
2. Try this text:
{{{
This is < That.

<blockquote>foo</blockquote>

Text <a href=""#"">link</a>. Post-link text.
}}}
3. On save, the ending blockquote tag is stripped, and the subsequent text is blockquoted.

We should recognize lone {{{<}}} characters and entity encode them like we do for {{{<3}}}.",markjaquith
17491,Make is_email() compliant with RFC2822,,General,3.1.2,normal,minor,Future Release,defect (bug),reopened,dev-feedback,2011-05-18T14:48:52Z,2013-01-10T11:02:05Z,is_email('toto.@toto.com') returns true,arena
15029,Make it possible to determine resource in get_ancestors(),filosofo,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-10-04T10:59:12Z,2010-12-17T15:43:54Z,"In case there exists a conflict between taxonomy and post_type names, allow it to be resolved explicitly when calling `get_ancestors()`.",filosofo
13078,Make wp_register_style and wp_enqueue_style consistent,,General,3.0,normal,minor,Future Release,defect (bug),new,has-patch,2010-04-22T01:08:39Z,2013-03-31T05:06:56Z,"When fixing #13056, I noticed that wp_register_style and wp_enqueue_style had a few odd differences.

1. Enqueue truncates the $handle variable after the first '?' while register (and all other wp_style functions) accept any string.

2. Register set the default for $media to 'all', while enqueue set it to false. (fixed in the #13056 patch).

Moreover, since the two functions are practically the same, I've grouped them together in a private _wp_register_style function with an additional $enqueue boolean. Both enqueue and register call _wp_register_style.

I've omitted the truncate behavior mentioned above. If there's any reason for it in one, and not the other, or in both, feel free to correct me.

We could also just remove the truncate behavior from enqueue. It's a minor patch, and comes down to coding style.",koopersmith
21658,Meaningless adjacent post links for pages,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-22T12:34:26Z,2012-08-22T12:34:26Z,"In WP 3.3 we removed a number of obsolete <link> elements from the page header leaving just those with rel=""next"" and rel=""prev"" generated by function adjacent_post_rel_link_wp_head() in file wp-includes/link-template.php [see #18128].

This change brings the function of these links into sharper relief and raises several concerns. Presently, they are generated only for singular pages/posts that are not attachments.

Such links make some kind of sense for ordinary posts, because these can be considered to be part of an ordered collection where the next/previous relationship is meaningful. It may also make sense for custom post types, depending on the use to which they are being put.

For pages, however the links generated refer to the next/previous pages as they happen to be stored in the WP database and these are unlikely to have any meaningful relation to the originating page.

Others have reported performance and other problems with browsers such as Firefox that use these links to prefetch content [see #12603, #14382 and #19018].

You can see their point! If I'm viewing page ""about"" what are the chances that I will next want to view the page ""contact"" just because this happens to have the next sequential ID in the WordPress database?

At the very least, I believe that these links should not be generated for pages.  Better still would be to follow Google's advice [see #18672] and use these just for paginated content (i.e. individual posts/pages [with <!--nextpage-->] or archives [including blog home]). Some potential patch code is available against #18660 which raised a similar issue. Links between adjacent posts can be left to the usual navigation elements within the page body.",mdgl
16584,Media Gallery sorts images by two columns despite get_posts not supporting this properly,,General,2.6,normal,normal,Future Release,defect (bug),new,,2011-02-17T22:25:55Z,2011-02-20T17:08:05Z,"In the get_media_items function in wp-admin/includes/media.php, attachments are sorted first by menu order, then by post ID by the following line:

{{{
$attachments = get_children( array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC') );
}}}

However, the get_posts in wp-admin/includes/query.php function does not properly support this. It splits up orderby by spaces, and then throws out 'ASC,' as it does not match a valid value. Due to a lucky coincidence, it turns into ORDER BY menu_order, ID DESC which still works in the same way.

I often want to display the first x uploaded images to a post, but allow changing which images are considered the first x via menu_order. If I solely order by ID ASC, that won't work. If I solely order by menu_order ASC, that won't work either, since the ones at the top of the list (latest uploaded) become first in the menu order. The only way to get it to work is to sort by menu_order DESC, ID ASC - but using 

{{'orderby' => 'menu_order DESC, ID', 'order' => 'ASC'}}

doesn't not work since the 'DESC,' gets ignored.

There are two possible interpretations of this bug:

a) Remove 'ASC,' in the line I mentioned since it's not valid according to the current rules for get_posts

b) Make get_posts properly support the above method by not having it throw out the extra order condition.
",smerriman
15732,Media Settings page description is unclear,,General,,normal,trivial,Future Release,defect (bug),new,has-patch,2010-12-08T15:26:37Z,2010-12-11T13:41:51Z,"This is pretty trivial, but it's an easy fix, so I thought I'd throw it out there.

Currently the Media Settings page reads, ""The sizes listed below determine the maximum dimensions in pixels to use when inserting an image into the body of a post.""

That isn't true, it should probably read ""The sizes listed below determine the maximum dimensions in pixels to use when adding an image to the Media Library.""

The only reason this came up, is a client of mine was confused when she changed the large dimensions to ""434x434"" and the image she had uploaded previously w/ the dimensions of 800x732 did not give her the ""Large"" option.

I'm not sure anyone else in the world has ever had this problem. So the severity is definitely trivial.",layotte
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
14581,No magic numbers,,General,,normal,normal,Future Release,defect (bug),new,,2010-08-10T15:57:59Z,2010-11-26T21:54:49Z,Add defines for the numeric user_status and comment_status values.,ryan
16845,Notice: Undefined index: post_id  in wp-admin/media-upload.php,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-13T08:09:22Z,2011-03-15T11:34:06Z,"Installed 3.1 on my server. when i edit a post and trying to insert a image from another site using: /wp-admin/media-upload.php?tab=type_url . im missing post_id in that url. then i dont get the ""insert into post"" button. 
error msg:
Notice: Undefined index: post_id in /var/www/blog/htdocs/wp-admin/includes/media.php on line 1639 
Notice: Undefined index: post_id in /var/www/blog/htdocs/wp-admin/includes/media.php on line 2223 ",spaam
19188,Only one dashboard widget can't be moved into second column unless Screen Options is expanded,,General,2.9,normal,normal,Awaiting Review,defect (bug),new,,2011-11-06T22:02:54Z,2011-11-07T21:01:20Z,"A crazy weird issue. Since 2.9, a single dashboard widget can't be dragged (easily) into the second column unless the Screen Options are expanded. 

Screencast: http://cl.ly/3y0j1o2f3A2f3l06120R",ryanimel
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
11235,"Pages whose ancestors are not all ""published"" cannot be used as parents for other pages.",,General,2.9,normal,normal,Future Release,defect (bug),new,,2009-11-23T01:04:01Z,2009-11-23T15:27:55Z,Pages with trashed parents cannot be used as parents for other pages (they do not appear on the list).,caesarsgrunt
23412,Password protected pages - redirect after login,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-02-07T10:32:30Z,2013-03-02T16:03:02Z,"Hi,

I am using WP 3.5.1 and I have found out that after a successful login to a password protected page, WP won't redirect back.

This is because referrer is empty.

So I have modified page login script to have hidden ""_wp_http_referer"" field in form.

After that, login redirects back to page normally.

Here is my script:
{{{
	function my_password_form() {
	    global $post;
	    $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID );
	    $o = '<form class=""protected-post-form"" action=""' . get_option( 'siteurl' ) . '/wp-login.php?action=postpass"" method=""post"">
	    <p>' . __( ""To view this protected post, enter the password below:"" ) . '</p>
	    <label for=""' . $label . '"">' . __( ""Password:"" ) . ' </label><input name=""post_password"" id=""' . $label . '"" type=""password"" size=""20"" /><input type=""submit"" name=""Submit"" value=""' . esc_attr__( ""Submit"" ) . '"" />
	    <input type=""hidden"" name=""_wp_http_referer"" value=""'.get_permalink().'"" />
	    </form>
	    ';
	    return $o;
	}
	add_filter( 'the_password_form', 'my_password_form' );
}}}


This functions returns empty URL to wp-login.php script:
{{{
function wp_get_referer() {
	$ref = false;
	if ( ! empty( $_REQUEST['_wp_http_referer'] ) )
		$ref = $_REQUEST['_wp_http_referer'];
	else if ( ! empty( $_SERVER['HTTP_REFERER'] ) )
		$ref = $_SERVER['HTTP_REFERER'];

	if ( $ref && $ref !== $_SERVER['REQUEST_URI'] )
		return $ref;
	return false;
}
}}}
I hope this helps.

I have tried this with all plugins disabled, and also on 20-12 theme, same error occurs.

Bye,
Dubravko

",dood_cro
18824,Password protected pages don't work if site address is different from wordpress address,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-09-30T13:15:08Z,2011-11-09T21:44:28Z,"Hi,

On a 3.2.1 wordpress site, we notices that password protected pages didn't work.

Site address is in another domain (x.com) than wordpress address (y.com).

If we set the same domain for both of them, protected pages work again.

I think I understood what was going on:

1. the browser gets the form for the password via siteurl.
2. however the forms posts data to wordpress address (wp-pass.php), and the browser gets the cookie within this domain (and not siteurl domain)
3. the browser is redirected to siteurl, but the cookie doesn't work (domain mismatch).

I corrected wp-pass.php, by replacing get_option('siteurl') by get_option('home'), and it worked.",3singes
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
19065,Please provide original javascript files (.dev.js) for all minified files,nacin,General,,normal,normal,WordPress.org,defect (bug),reopened,,2011-10-27T10:18:57Z,2012-06-15T09:01:46Z,"Please provide original javascript files (.dev.js) for all minified files. This is not only useful for debugging, it's also a requirement of some free software distributions like Debian (cf the bug report that prompted all this: http://bugs.debian.org/646729).

Missing files that I noted are (relative to wp-includes/js):
{{{
crop/cropper.dev.js
jquery/jquery.dev.js
jquery/jquery.query.dev.js
jquery/jquery.schedule.dev.js
jquery/jquery.serialize-object.dev.js 
jquery/ui/*.dev.js (all *.js files are minified)
plupload/plupload.*.dev.js (all plupload.*.js files are minified)
swfupload/swfupload-all.dev.js
tinymce/tiny_mce.dev.js
tinymce/tiny_mce_popup.dev.js 
tinymce/plugins/*/editor_plugin.dev.js (all plugins except the WP ones)
tinymce/themes/advanced/editor_template.js
tinymce/wp-tinymce.dev.js.gz
swfobject.dev.js
}}}

I'm not really sure about swfupload/swfupload-all.js, if it's swfupload.js + the 4 plugins minified, then it's ok I guess. But it would be nice to have it documented.

tinymce/wp-tinymce.dev.js.gz is probably also generated from something else but I could not figure out what. It would be nice to document how and when to regenerate it.

I can help to dig out the required files if it helps. Ideally the build process of wordpress would include a way to regenerate automatically the minified files from the corresponding .dev.js file.",rhertzog
20260,Post by email posting same message multiple times,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-19T15:40:57Z,2012-03-20T08:45:04Z,"I am using the Post by email feature for a Wordpress.org blog. I post by mail once a day and daily to the blog, usually around midnight. There are usually between 2 and 6 messages posting on any given day (sent as individual emails).

I have set up a secret POP email address to which I send emails, and these emails are picked up by Wordpress as Posts on my blog.

However, I am seeing the messages post multiple times; sometimes twice, sometimes up to 10 times in a row on the blog.

It usually happens for all messages on certain days, but some days this does not happen at all. I have not been able to identify a pattern of which days have this problem or if it is related to the number of messages posting on a particular day.

This issue began happening around October 2011; previously, I didn't notice this problem.

Environment:
Wordpress.org 3.3.1
Thunderbird 7.1 email client; publish messages sent in text mode, with word wrap off
Google Apps account used as secret email. Account set to POP. All forwarding, etc. is turned off.

Steps: 1) wp-mail.php modified to post regardless of author, per bug 18923 which keeps messages stuck in Pending status 2) User from which posts sent is registered as Editor or Admin in Wordpress site. 3) Theme footer modified to include automatic checking for incoming messages 4) Email account is setup in mail client that matches the Admin/Editor email in Wordpress 5) Message to post is sent to the secret address by user

Result: 1) Wordpress on certain days posts the messages with no problem; other days, it posts multiple copies of the message. Usually, either all messages post multiple times or all post one time for a given day; I have not noticed that if one message on a particular day posts multiple times that another will post only once. 2) There can be anywhere from 2 to 10 copies of the same message posted. 3) I have tried to modify my POP account settings so that messages get Archived when read, rather than staying in the Inbox; however, this did not fix the problem.

Note: I use Google Apps as the email server for both the From: mail and the secret address mail. 

I have not been able to find other discussions on this topic, nor track down any possible root cause of it.

Message of one of the posts that posted multiple times is attached.",bloggertype
16555,Post format metabox shows duplicate 'standard' format,,General,3.1,low,normal,Future Release,defect (bug),new,has-patch,2011-02-13T23:01:55Z,2011-02-20T17:38:15Z,"Having 'standard' within add_theme_support makes the standard option show up twice within the post format metabox on the write/edit screen.

{{{add_theme_support( 'post-formats', array( 'standard', 'aside', 'chat', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio' ) );}}}

Patch fixes this by skiping over standard since it's hardcoded in the metabox.",ptahdunbar
20185,Postname Permalink with no title yields 404 error,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),reopened,close,2012-03-06T19:16:44Z,2012-04-27T19:30:20Z,"When I change the permalink structure to %postname%, I get a 404 for all posts that don't have titles. The URL for each of these posts appears to be correct - it includes the ID instead of the title, but the post being served is listed as not found. If I change the generated permalink so that it is 3 digits rather than 4 or so that it has some alphabetic characters in it, all is OK.",ikemarrus
21520,Prevent recursive script dependencies in wp_enqueue_script,,General,,normal,normal,Future Release,defect (bug),new,,2012-08-08T17:21:43Z,2012-10-23T20:32:51Z,"If a script sets itself as a dependency, we should catch that, strip out the dependency, and throw a {{{_doing_it_wrong}}}:

{{{wp_enqueue_script( 'my-script', '/path/to/file.js', array( 'my-script' ) );}}}

This may need to be done at the lowest level possible, i.e. {{{_WP_Dependency}}}",batmoo
13779,Preview doesn’t work - WP installed in its own directory,,General,2.9.2,normal,normal,Awaiting Review,defect (bug),reopened,,2010-06-08T01:32:04Z,2013-02-02T23:02:43Z,"1.  Wordpress is installed on /wp/ subdirectory.

2. Then it was set up to be visible from the site root according to http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory  

3. Site works fine

4. [BUG] Preview for posts & pages isn’t working.  

When I press preview it goes to url like:  
http://example.com/?preview=true&preview_id=235&preview_nonce=aa28f04
and says ""You do not have permission to preview drafts."".

5. If I type subdirectory name “/wp/” in that url by hands, it shows correct preview:  http://example.com/wp/?preview=true&preview_id=235&preview_nonce=aa28f04

6. The situation is getting worse if i'm using permalinks. In that case - there is nothing i can do to see preview. 

ps: I’ve tested that on clean install. ",antares19
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
15424,Refresh post count when a post is deleted,,General,3.1,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-11-14T16:02:47Z,2012-03-24T14:15:48Z,"Hi Guys,

I am reporting a bug in the system. I have various users in WPMU. They have their posts and i am tracking their no of posts.

Now if i delete a post from users account post count isnt getting updated. It remains at what it was previously.

eg. If a user has 4 posts in his account and he deleted his one post still the ""post_count"" field in ""wp_options"" table remains 4 only. Its not getting updated to 3.

Is there any patch for this ??

Awaiting eagerly for response.

Samir",chouxpastry2002
21134,Registering and enqueueing on the same action can cause enqueueing to happen before registering,,General,3.4,normal,normal,Awaiting Review,defect (bug),new,,2012-07-02T11:00:17Z,2012-07-03T01:42:10Z,"We have two plugins, plugin1 and plugin2. Plugin1 registers a script, Plugin2 wants to enqueue this script. Both of these routines are executed on the [http://wpdevel.wordpress.com/2011/12/12/use-wp_enqueue_scripts-not-wp_print_styles-to-enqueue-scripts-and-styles-for-the-frontend/ _enqueue_scripts] action.

There is a chance that enqueueing in Plugin2 will happen before registering in Plugin1 and therefore fail.

Possible fixes:

* Every time we enqueue a script, registered in another plugin, we use a higher priority. I am not a fan of this approach, because it is opaque – we need to document each enqueue like this, because the next developer might not know why did we use higher priority.
* Every time we register a script, we use a lower priority. I am not a fan of this either, because we will have to do this for almost every register, because we can't know if another plugin won't try to enqueue our scripts.
* Violate core recommendation and register the script on an earlier hook. I am not a fan of  approach for obvious reasons.
* Add {{{_register_scripts}}} hooks and recommend plugin authors to register their scripts at this time.

I would prefer if we added another set of hooks, because it both makes sense to register on a register hook (as opposed to enqueue hook) and it separates the two actions, so that we can execute them at different times.

When we agree on a solution, I would be happy to write the patch.
",nbachiyski
19487,Remove useless calls to set_time_limit(),westi,General,1.5,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-12-09T14:53:08Z,2012-11-23T10:13:52Z,"Calls to set_time_limit() were introduced in http://core.trac.wordpress.org/changeset/1812 and have remained in core ever since. The call occurs in code that makes network connections and is designed to allow time for the network calls to complete before the script execution stops.

But set_time_limit() won't take network time into account, so it actually will not do what it seems designed to do. From php docs:

  The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.

Further, calls to set_time_limit() can cause unexpected results in code that relies on any functions that call set_time_limit(). For example, if some code (in a cron job, say) sets the time limit to 0 (unlimited) because it knows it needs some time complete, then a subsequent call to a function that resets the time limit will halt the long-running execution once the new limit has been reached. Also from php docs:

  When called, set_time_limit() restarts the timeout counter from zero. In other words, if the timeout is the default 30 seconds, and 25 seconds into script execution a call such as set_time_limit(20) is made, the script will run for a total of 45 seconds before timing out.

Since the call to set_time_limit() does not here do anything useful, it should be removed.",dllh
14745,Renaming a Link-Category Resets Link Widget Options of that Category,,General,,low,normal,Future Release,defect (bug),new,,2010-08-31T13:21:50Z,2010-12-27T17:42:30Z,"When renaming the name of a Link Category that is used as well in a Link Widget, the Link Widget stops working.

Step to Reproduce:

 1. Create a Link Category ""Test Start"".
 2. Add 10 Links into the Category ""Test Start"".
 3. Go to the Widgets Screen and add a new Link Widget to a sidebar.
 4. Select that Link-Widget and set it from ""All-Links"" to the Category ""Test Start"".
 5. Visit your Frontpage so proof that the Widget displays.
 6. Go to the Link Cagegory Editor and quick-edit the ""Test Start"" Category.
 7. Rename it to ""Test End"".
 8. Save Changes.
 9. Visit your Frontpage.

''=>>'' The Widget has disappeared.

'''Expected behavior:''' Widget displaying with the (renamed) link category.

",hakre
15833,Script concatenation fails to take external dependencies into account.,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-12-15T17:35:17Z,2011-01-16T02:19:59Z,"Script concatenation places the concatenated script include first, before any scripts loaded separately.  If one of the scripts in the concatenation relies on a script outside the concatenation the dependency order is ignored.

When the dependencies are all internal to the concatenation things work fine (for example script4 relies on script3):

* concat=script1,script2,script3,script4,script5

But when script3 is loaded externally, script4 will break:

* concat=script1,script2,script4,script5
* external-script3

This becomes apparent if jQuery is loaded from a non-standard location (via a plugin or the [http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_a_default_WordPress_script_from_a_non-default_location code from the Codex]) in that the visual editor fails to function correctly because source:/trunk/wp-admin/js/editor.js uses jQuery (which it fails to register as a dependency, see ticket:15830, but when I fixed that locally the results were the same).

I'm working around this in [http://wordpress.org/extend/plugins/use-google-libraries/ Use Google Libraries] by globally disabling concatenation, but it would be nice if this was fixed.


If possible, it would be nice if the loader was smart enough to do something like:

* concat=script1,script2
* external-script3
* concat=script4,script5

Or at least flagged the script with the dependency as unsafe for concatenation:

* concat=script1,script2,script5
* external-script3
* script4
  


",jczorkmid
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
17375,Serialzed option values broken for classes and strings on unserialize for C and S,markjaquith,General,3.1,normal,normal,3.6,defect (bug),reviewing,has-patch,2011-05-11T11:42:09Z,2013-01-14T01:06:27Z,"Wordpress has a feature build in to store arrays and objects into option values.

This is done by transparently serializing on storing and unserialize on retrieving.

The implementation is broken.

Wordpress is unable to unserialize serialized option values if they contain a serialized representation of classes implementing the [http://www.php.net/manual/en/class.serializable.php PHP serializeable interface] (C instead of O).

This is because the is_serialized() does not recorgnize that type of value.",hakre
11414,Sidebar Calendar Widget broken,,General,2.9,normal,normal,Future Release,defect (bug),new,reporter-feedback,2009-12-12T22:33:24Z,2010-11-13T07:31:07Z,"I'm giving 2.9 beta a test drive for theme development purposes. On my test installation, I currently have the two default themes and a very simple theme of my own that I developed via a tutorial.

After I upgraded to 2.9 beta, the sidebar calendar started displaying rather oddly. It looks okay when the main page first loads, but when I click the <<Nov link, the calendar rows are way out of whack. When click on <<Oct, it's not as bad, but still incorrect. Then, when I go forward again and hit December, even that is a little bit off.

This happens whether I use the Calendar widget or just the theme's own sidebar, and it happens in all three installed themes.

My test site is at http://bleeder.faltarego.com
or http://faltarego.com/bleeder

Many thanks.",faltarego
14169,Slashes not removed when $_SERVER in process_conditionals(),,General,3.0,normal,normal,Future Release,defect (bug),new,commit,2010-07-01T20:40:28Z,2011-01-06T23:42:37Z,"Since [1964] (now after [12732] in {{{wp-includes/load.php}}}) slashes are added to all values of {{{$_SERVER}}}. If then {{{$_SERVER}}} is accessed, slashes must be removed again otherwise things might not work as intended, e.g. comparing and parsing strings.",hakre
20338,Slugs and special chars,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-03-31T16:18:03Z,2012-03-31T16:18:03Z,"When Wordpress generates a slug, the apostrophe mark is stripped.

Examples :

""I'm open"" > im-open[[BR]]
""L'équipe"" > lequipe[[BR]]
""Suzy's Place"" > suzys-place[[BR]]

If the apostrophe is changed to ""-"" the auto generated slug will be more ""readable"" (and better for seo) :

""I'm open"" > i-m-open[[BR]]
""L'équipe"" > l-equipe[[BR]]
""Suzy's Place"" > suzy-s-place[[BR]]

Maybe a constant to define what strategy to adopt ? ",amirhabibi
13418,Smaller Bits of Code Improvement,,General,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-17T02:44:52Z,2012-12-07T21:18:42Z,"This ticket is for smaller bits of code-improvements all over trunk whenever something pops into sight.

Descriptions are put in the Description field of the attachment. Feel free to add your own so this won't clutter up tac too much.

Discussion in IRC and/or wp-hackers.",hakre
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
15965,Streamline exit call syntax,,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-23T13:20:09Z,2010-12-23T14:45:11Z,"After review of patches in #15518 it came to my attention that {{{exit}}} is sometimes called with and sometime w/o paranthesis.

As #15518 makes use of the {{{exit;}}} variant, all occurences of {{{exit();}}} can be replaced with it.",hakre
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
18322,The Road to Magic Quotes Sanity,,General,3.2.1,normal,normal,Future Release,defect (bug),new,,2011-08-03T20:26:25Z,2013-04-22T01:18:34Z,"For back compat reasons, wp_magic_quotes() performs addslashes() on GPCS data.  This is a pain, especially given that some core API expects slashes and some doesn't.  In hopes of someday losing the automatic GPCS slashing, let's introduce a flag to turn off the slashing as well as slash and unslash functions that consult the flag.  If slashing is on, these functions add and strip slashes.  If slashing is off, they return data unchanged.  Plugin authors can start using these functions and testing their code with GPCS slashing turned off and on.  Eventually, GPCS slashing would default to off and all calls to the slash and unslash functions could be removed from core.",ryan
22746,The metadata_exists() function should return the correct value if the get_$meta_type_metadata filter returns a non null value,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-12-05T00:04:20Z,2012-12-05T00:04:20Z,"The line [http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php?rev=23043#L324 324] should return $check instead of true, otherwise the filter doesn't normally work when someone wants to always return false for a given meta key.

Here's a quick way to reproduce it
{{{
> add_filter('get_user_metadata', '__return_false'); return metadata_exists('user', 1, 1)
TRUE
}}}",xknown
23729,"Ticket #11289, IE bug fix: always pad the error page with enough characters",,General,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-03-09T06:25:21Z,2013-03-20T15:59:02Z,Is it really such a good idea to put the padding where it is currently in the error pages? This causes all sorts of problems with Dom parsers... it should be placed somewhere after the html tag or better yet in the body... almost looks like someone is very proud of their fix and wants the world to see it lol,wp4j
15349,TinyMCE Internal Links Not Extendable,filosofo,General,3.1,normal,normal,Future Release,defect (bug),new,,2010-11-09T05:06:05Z,2010-12-07T19:04:58Z,It needs a couple filters and an action hook so we can modify and extend the content.,filosofo
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
15030,Unserialize deep when returning arrays of metadata,,General,,normal,normal,Future Release,defect (bug),new,,2010-10-04T11:05:52Z,2010-12-08T19:34:06Z,"Currently when retrieving an array of metadata values for an object (no meta key specialized), they are retrieved as serialized. Only when meta key is specified do we unserialize.

We should array_map( 'maybe_unserialize' ) on what we plan to return instead of forcing plugins to call that themselves.",nacin
22807,Updating a non-expiring transient with a new expiry date does not make it expire,,General,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-07T11:38:18Z,2012-12-07T11:38:18Z,"Consider this:
set_transient( 'Bug', 'v1');
set_transient( 'Bug', 'v2', 10 );

The second line will update 'Bug' with 'v2', but will not set autoload to 'no'. Hence, 'Bug' does never expire, and you can get its value 'v2' infinitely using

echo get_transient( 'Bug' );",bersbers
21185,Upload/insert popup not scrollable on iPad,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-07-07T20:58:36Z,2012-07-07T20:58:36Z,"When using iPad (testing with a v1 iPad) the upload/insert popup is not scrollable so if you expand an image by clicking ""show"" you cannot scroll down to the"" insert into post"" link.",husobj
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
20569,We need addslashes_deep(),,General,3.4,normal,major,Future Release,defect (bug),new,has-patch,2012-04-29T08:08:28Z,2012-09-02T03:15:55Z,"
I don't imagine anyone still feels that having `update_metadata()` call `stripslashes_deep()` is still the Right Thing to do, but I understand why removing it is basically impossible for backward compatibility reasons.

That said, !WordPress as a platform does not currently provide a way for this data to be stored accurately as a meta value:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', $data);
}}}

I'm not saying that this is a great deal better from a code purity standpoint:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', addslashes_deep($data));
}}}

but it's at least explainable.

Telling people they have to do something like this:

{{{
$data = array(
	'Check me out, I have backslashes \\'
);
$slashed_data = array();
foreach ($data as $item) {
	$slashed_data[] = addslashes($item);
}
update_post_meta($post->ID, 'my_key', $slashed_data);
}}}

or this:

{{{
if (!function_exists('addslashes_deep')) {
/**
 * Navigates through an array and adds slashes to the values.
 *
 * If an array is passed, the array_map() function causes a callback to pass the
 * value back to the function. Slashes will be added to this value.
 *
 * @since 3.4.0? (oh please, oh please, oh please)
 *
 * @param array|string $value The array or string to be slashed.
 * @return array|string Slashed array (or string in the callback).
 */
function addslashes_deep($value) {
	if ( is_array($value) ) {
		$value = array_map('addslashes_deep', $value);
	} elseif ( is_object($value) ) {
		$vars = get_object_vars( $value );
		foreach ($vars as $key=>$data) {
			$value->{$key} = addslashes_deep( $data );
		}
	} else {
		$value = addslashes($value);
	}

	return $value;
}
}

$data = array(
	'Check me out, I have backslashes \\'
);
update_post_meta($post->ID, 'my_key', addslashes_deep($data));
}}}

is just indefensible.

FWIW, @rboren created this function as [http://core.trac.wordpress.org/attachment/ticket/12402/12402.2.diff part of a patch] a couple of years back (#12402), but it hasn't landed yet. Pretty please can we get just this bit in for 3.4?",alexkingorg
23995,Weird Error After Post Published Successfully,,General,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-08T20:46:26Z,2013-04-09T23:20:59Z,"I didn't get the exact message, but I was stuck on the New Post screen after clicking Publish with something to the effect of: The server connection has been lost.  This message will go away once you get reconnected.

I ended up clicking on Visit Site and I could see that the post was already published.

My server has been acting up a bit today, so I figured this is a good time to test out the new post saving logic.  I'm not sure if this was the intended experience though?

Tested on 3.6-beta1.  Only happened once so far.",miqrogroove
20326,Widget dropped in sidebar with name=sidebar-two shows up in sidebar with id=sidebar-two (and different name: some-other-name),,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-03-29T12:53:15Z,2012-03-29T13:57:28Z,"Hi,

reproducing steps:
register 2 sidebars:

sidebar 1: 
id   = 'sidebar-one'
name = 'sidebar-two'

sidebar 2: 
id   = 'sidebar-two'
name = 'some-other-name'

drop a widget in sidebar 1, and it will also after reloading the widget page show up in sidebar 2...

Also: widgets dropped in sidebar 2 disappear.

OK, OK, i shouldn't be mixing up sidebar names and ids like i did (sorry), am going to change that in my setup now, I just wanted to point out that I thought that assigning a widget to a sidebar was related to its id only. This current behavior strikes me a little strange :)







",ruud@…
23092,"Word count, Edit Post > Publish > Visibility, Published Date & Status ""Edit"" links don't work",,General,3.5,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-12-31T02:38:48Z,2012-12-31T23:03:22Z,"hosting platform:

Apache 2.2.23
PHP 5.4.10
FreeBSD 8.3
WordPress 3.5 (no modifications to codebase & themes, no plugins)

- client:
Mac OS X
Firefox and Safari

prior to upgrading to 3.5, Edit Post > Publish > Visibility, Published Date & Status ""Edit"" links worked as expected. I can make changes then hit Update.

after upgrade to 3.5, these Edit links no longer work. Tons of load-styles.php errors. Word count is always set to 0 - Quick Edit works just fine.

tw2113 (from #wordpress Freenode) suggested I enable script_debug in wp-config.php and that resolve the issues I was having. Word count now works also.

As tw2113 have mentioned, I shouldn't need to have script_debug enabled just to get your post editor working.

Any thoughts?

Please advise, thank you!",scaturan
18266,WordPress does not signal DB errors when adding/updating post,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,,2011-07-27T05:56:18Z,2011-07-27T05:56:18Z,"WordPress does not signal DB errors when adding/updating post. As I checked, `edit_post()` (defined in wp-admin/includes/post.php) calls `wp_update_post()` but does not check if it returned error. Therefore end user never gets any error message.

I found this when I tried to replace valid SQL query with some invalid one, in order to stop insert operation when custom validation done in `wp_insert_post_data` hook failed.",sirzooro
15769,"WordPress ships with copyrighted ""Hello, Dolly!"" lyrics which could potentially terminate the GNU GPL of the package",,General,3.0.2,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-12-11T02:35:59Z,2012-02-15T22:27:02Z,"It is an industry standard practice to show licensing details when using someone else's copyrighted content. I can't find anything substantiating that WordPress has been granted a license to use the copyright Hello, Dolly! lyrics, so the ''prima facie'' appearance is that WordPress is infringing copyright of Jerry Herman, the song's composer.

Unless WordPress indemnifies users, Hello Dolly plugin users may be vulnerable to legal problems due to unauthorized use of Jerry Herman's intellectual property.

Please clarify WordPress's license of this copyrighted material in the module's source code or at wordpress.org.",novasource
23251,WordPress tries to unnecessarily set the memory limit,,General,2.5,normal,normal,3.6,defect (bug),new,has-patch,2013-01-21T15:25:01Z,2013-04-11T17:10:33Z,"Fixed bug where !WordPress tries to unnecessarily set the memory limit when a value like '2G' is used instead of '2048M'.

See bad code & good code over at Github, which is what you should be using for stuff like this; https://github.com/WordPress/WordPress/pull/26

Discovered by @willem_o and @PeterJaap",peterjaap
20712,"Wrong data type returned from get_option for ""page_on_front"" after update_option",,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-05-20T08:29:35Z,2012-10-15T10:22:59Z,"
{{{
echo gettype(get_option(""page_on_front"")); // return string
update_option(""page_on_front"", ""123"");
echo gettype(get_option(""page_on_front"")); // return integer
}}}


You can repeat the steps and it give consistent result, so `get_option` return the wrong data type ONLY when it is after `update_option`",tszming
23284,Wrong parameter order for stripos in wp-includes/functions.php,,General,3.5,normal,normal,3.5.2,defect (bug),new,has-patch,2013-01-24T14:07:22Z,2013-03-03T20:18:42Z,"In wp-includes/functions.php lines 658 and 661 stripos is used two times with parameters in the wrong order.

This would be correct:
{{{
if ( 0 === stripos( $uri, 'http://' ) ) {
}}}


{{{
} elseif ( 0 === stripos( $uri, 'http://' ) ) {
}}}",Kalindor
19192,Wrong term count for private posts,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2011-11-07T09:00:15Z,2011-11-14T21:22:33Z,"The term manager page (wp-admin/edit-tags.php) shows wrong counts when the terms contain private posts. 

Steps to reproduce:
 - Create a private post and assign it to a category or a tag.
 - Visit the wp-admin/edit-tags.php

The term count does not change. However, when you click on the posts column, the edit posts screen will correctly show the private post.",xknown
21268,_wp_page_template is getting 'stuck' to a page,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-07-13T22:21:42Z,2012-07-13T22:21:42Z,"Unmodified WP 3.4.1 / Ummodified TwentyEleven theme

Create a page (id=2).  Manually add a postmeta entry for 

{{{
post_id=2, 
meta_key = _wp_page_template, 
meta_value = pagefull.php
}}}


The page now opens with margin: 0 7.6%;  (correct!)

Now try to change it back to default, either by removing the _wp_page_template postmeta record or by editing the page -> Page Attribute / Template.  The page will not revert back to Default.  It continually displays as Full Width, and a postmeta item telling post_id 2 to use _wp_page_template = pagefull.php is added.

http://wp34.roveridx.com/?page_id=2

This behavior does not happen in 3.3.2.",shawmutsteve
20690,add_post_meta/update_post_meta and cache,,General,3.3.2,normal,normal,Awaiting Review,defect (bug),new,,2012-05-16T14:33:30Z,2012-05-16T14:33:30Z,"I have a custom post type with 2 fields for price, second one has 5% discount and I want to populate it automatically by hooking to 'save_post'. 

I have a working logic that calls update_post_meta() (or add_post_meta() ) for the second field but it doesn't get executed even with several post updates. However, if I end my function call with a var_dump that outputs the values from the function, everything goes smooth.

It looks like some caching issue to me that gets flushed per var_dump call, anyone able to reproduce?",nofearinc
14754,add_query_arg() refactoring,,General,,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2010-09-01T16:32:20Z,2011-03-23T19:34:24Z,"The function add_query_arg() looks like that it could benefit from a refactoring. Especially the handling of optional parameters (did introduce PHP 4 that language feature?) can benefit by a sligh touch-up.

Attached patch reflects only the first few lines of the function.",hakre
17923,add_query_arg() should encode values,,General,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-28T22:55:50Z,2013-02-26T14:08:52Z,"One (or me at least) would expect that the result of

{{{
add_query_arg( 'foobar', 'this&that', 'index.php' )
}}}

would be

{{{
index.php?foobar=this%26that
}}}

since the whole purpose of the function is to build a URL. However the actual result is

{{{
index.php?foobar=this&that
}}}

You're asking to the function to create a URL in which `foobar` is `this&that` but instead it creates a URL in which `foobar` is set to only `this`. You shouldn't have to pre-encode values -- the function should take care of it for you.

The function to ""blame"" for this is our `build_query()` which for some reason does not encode by default.

Semi-related: #16943",Viper007Bond
16221,admin bar hover class toggle adds whitespace,koopersmith*,General,3.1,low,normal,Future Release,defect (bug),accepted,close,2011-01-13T22:32:25Z,2012-12-13T19:52:17Z,"Every time I mouseover and mouseout an admin bar item, its class attribute gets longer.

Seen in Chrome while inspecting elements in the admin bar.",andy
19921,"always use require_once for wp-load.php (fixes ""ABSPATH defined multiple times"")",,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-01-29T18:09:46Z,2012-02-10T17:53:45Z,"The `wp-load.php` file should always be included via `require_once`.  This allows developers to include files when necessary with having to run into the ""ABSPATH defined multiple times"" notice (let alone waste time processing the file).

In trunk, require_once is already used in the majority of cases for `wp-load.php`:
    * 24 require_once
    * 8 require
    * 1 include

This has come up because of a situation in a plugin where it is necessary to manually include the `wp-login.php`.  But then `wp-login.php` calls `require wp-load.php` and the constant re-declaration notice arises.

In two cases, the patch changes relative paths (eg `./` to `dirname(__FILE__)`) to avoid safe mode problems and improve the ability to run files from anywhere(1), which is helpful for testing from the command line.

(1) Paths in PHP are relative to the present working directory, not the directory the file is in.",convissor
20415,big tags formatted incorrectly in rss,,General,,normal,normal,Awaiting Review,defect (bug),new,,2012-04-11T06:45:13Z,2012-04-11T06:45:13Z,"several (doubled, tripled) big tags formatted incorrectly in rss, may be single big tags behave same way

what is formatted


{{{
<blockquote><p><big><big>123</big></big></p>
<p><big><big>123</big></big></p></blockquote>

}}}

in normal view is formatted


{{{
<blockquote><p><big><big>123</big></big></p>
<p>123</p></blockquote>

}}}

in rss.


( and it is just

{{{
<blockquote><big><big>123
123</big></big></blockquote>

}}}
in editor)",qdinar
19130,current wp-login.php call to wp_admin_css() bypasses its own filter,F J Kaiser,General,2.6,normal,normal,Awaiting Review,defect (bug),assigned,close,2011-11-03T13:54:07Z,2012-04-25T17:31:20Z,"The current situation in wp-login.php looks like the following:

{{{
	wp_admin_css( 'login', true );
	wp_admin_css( 'colors-fresh', true );
}}}

Looking at /wp-includes/general-template.php and {{{wp_admin_css( $file = 'wp-admin', $force_echo = false );}}} tells that this bypasses the filter calls as the function returns if {{{$force_echo}}} is true. The filters are called after that. This doesn't make sense as the filter will never work this way. Changing {{{wp_admin_css()}}} is no option, so I suggest to change the calls to it in login_head.",F J Kaiser
11465,custom field duplicated,westi*,General,2.8.4,normal,minor,Future Release,defect (bug),accepted,,2009-12-16T21:09:23Z,2012-04-02T21:14:22Z,"When I enter the information for a custom field and click on Preview without first clicking Add Custom Field, the custom field is saved. But then when I click Publish, it is saved again, appearing in the post twice.

If I click Add Custom Field before Preview, subsequent Publish does not duplicate the custom field. But it is very convenient and efficient to be able to avoid a separate save of the custom field.
",ericr23
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
12016,get_calendar can output a calendar when there are no posts,,General,3.0,normal,normal,Future Release,defect (bug),reviewing,dev-feedback,2010-01-25T17:54:31Z,2010-11-13T09:06:16Z,"If a site doesn't have any posts, get_calendar isn't supposed to display a calendar. You can visit a page or have a static home page, and a calendar is displayed. The get_calendar function is looking at global $posts to determine if the site has posts but this variable can contain data from other post_types.

r12821",mtdewvirus
15838,get_home_path() mixes PHP and server paths,,General,3.0.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2010-12-15T23:40:27Z,2011-12-16T03:15:52Z,"FYI: I've looked through the other get_home_path() tickets and believe this to be a different issue.

If the home and site urls are the same then you get a '''PHP relative''' path returned. i.e. it uses {{{ ABSPATH }}}, which is calculated using the PHP constant {{{__FILE__}}}
.

If the home and site urls are different you get a '''server relative''' path returned. i.e. one calculated via 
{{{$_SERVER[""SCRIPT_FILENAME""] }}}.


With web hosts who have the server and PHP paths configured consistently this is no problem.

But on 1and1 it could be if you are comparing the return value of this function against another path. If the function can either return a PHP or a server path then your code may not always work.

The server path (Apache) on 1and1 has an extra '/kunden' at the start. This means that PHP and Apache retrieve paths slightly differently.

Example.
Blog with same home and site urls

{{{
get_home_path =         /homepages/xx/dxxxxxxxx/htdocs/site1
}}}


Blog with different home and site urls

{{{
get_home_path = /kunden/homepages/xx/dxxxxxxxx/htdocs/site1
}}}


I'd suggest that as this is PHP the right thing to do is to always calculate the path using PHP relative paths - i.e. using 
{{{ __FILE__ }}} / {{{ ABSPATH }}} . Don't use the server relative paths at all as you can't rely on them being the same as the PHP ones. 

Certainly having a function returning a path that can be calculated from two different base paths is a bad idea.

For reference here's the current function:

{{{
function get_home_path() {
	$home = get_option( 'home' );
	$siteurl = get_option( 'siteurl' );
	if ( $home != '' && $home != $siteurl ) {
	        $wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */
	        $pos = strpos($_SERVER[""SCRIPT_FILENAME""], $wp_path_rel_to_home);
	        $home_path = substr($_SERVER[""SCRIPT_FILENAME""], 0, $pos);
		$home_path = trailingslashit( $home_path );
	} else {
		$home_path = ABSPATH;
	}

	return $home_path;
}
}}}
",reviewmylife
17374,get_pages() with child_of forgets sort,,General,3.1.2,normal,normal,Awaiting Review,defect (bug),new,,2011-05-11T10:06:17Z,2011-05-11T10:06:17Z,"If you call {{{get_pages()}}} with both the {{{child_of}}} and {{{sort_column}}}, the sorting is not applied.

{{{child_of}}} makes it select all pages (sorted) and later applies a subselect via {{{get_page_children()}}}. This subselect can mess up the sort order.

An example was reported on http://wordpress.stackexchange.com/questions/16921/get-pages-not-ordering-as-it-should

Related: #12821",janfabry
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
23881,get_transient() could delete transient timeout options in an unexpected way,,General,2.8,normal,minor,Future Release,defect (bug),new,needs-unit-tests,2013-03-28T11:02:07Z,2013-04-22T21:17:24Z,"get_transient() could delete transient timeout options if a given transient name has the ""timeout_"" prefix.

To reproduce:
{{{
set_transient( 'test', 'test', 60*60 );
get_transient( 'timeout_test' ); // will delete the _transient_timeout_test option
}}}

Solution:

Check if get_option( $transient_timeout ) is not returning false.
{{{
if ( false !== get_option( $transient_timeout ) && get_option( $transient_timeout ) < time() ) {
}}}
",tenpura
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
9930,is_serialized() returns false on serialized doubles,westi,General,,normal,minor,Future Release,defect (bug),reopened,has-patch,2009-05-24T17:23:43Z,2011-05-12T13:32:36Z,"Test case:

{{{
<?php
    require_once('wp-load.php');
    print var_export(is_serialized(serialize(1.2E+150)));
?>
}}}

Expected: true
Got: false

serialize(1.2E+150) returns something like 'd:1.200000000000000013344651621705194036153934411236609269391465806550823148718924258603522328009361549E+150;', the plus sign after 'E' is not taken into account by the regexp",vladimir_kolesnikov
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
10458,lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php,,General,2.8,normal,normal,Future Release,defect (bug),reopened,has-patch,2009-07-21T14:10:36Z,2010-05-10T08:50:09Z,"lighttpd/1.4.22 does not populate _REQUEST['action'] for wp-login.php, this in turn disabled any action in the switch statement breaking the ability to logout.

Symtoms of this bug are: clicking logout in wordpress 2.8 and going to the login page but not really logging out.  Clicking logout in wordpress 2.3 and being redirected right back to the /wp-admin page.

adding this code to wp-login.php, fixes the behavior and re-enables all features in wp-login.php.

I don't know the wordpress code but if there is a section which deals with idiosyncrasies of web servers that lighttpd be detected and this code be run to deal with it. 

//
// Main
//


if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false)
{
$_lighty_url = $base_url.$_SERVER['REQUEST_URI'];
$_lighty_url = @parse_url($_lighty_url);
$_SERVER['QUERY_STRING'] = $_lighty_url['query'];
parse_str($_lighty_url['query'], $_lighty_query);
foreach ($_lighty_query as $key => $val)
$_GET[$key] = $_REQUEST[$key] = $val;
}
",myrond
12264,links truncated: link_url column in wp_links table -- datatype too small,,General,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-02-17T20:27:25Z,2011-08-03T19:55:37Z,"Here is my original post about the issue:  [http://wordpress.org/support/topic/365540?replies=3]

In short, the link_url column in the wp_links table has a datatype of VARCHAR(255).  As far as I know, there is no pre-defined limit to the length of a URL.  However, browsers typically enforce their own practical limits, the shortest of which is much larger than the 255 character limit that WP is enforcing.  Entering urls longer than 255 characters causes them to be truncated.

I tried altering the table so that link_url has a datatype of VARCHAR(1024).  This allowed me to use much larger links without them being cut off.  Therefore, I believe that the limiting factor is the DB and not some other code within WP.
",goto10
16916,make_clickable() and URI in context,,General,3.1,normal,normal,Awaiting Review,defect (bug),new,,2011-03-21T15:56:00Z,2011-03-21T15:56:00Z,"I just stumbled over [http://tools.ietf.org/html/rfc3986#appendix-C Appendix C.  Delimiting a URI in Context] and was wondering if this has been taken into account for the make_clickable() routine so far.

Looks like <> angle brackets are  especially recommended as a delimitier.

IIRC we ingore it so far, would be nice to support the RFC.",hakre
21109,maybe_unserialized fails to unserialize multibyte strings (contains solution),,General,3.4,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-06-29T06:09:19Z,2013-04-24T22:31:38Z,"I've came across a bug trying to fetch a custom theme (http://themeforest.net/item/rebirth-the-wordpress-theme-for-churches/1167055) option (see addendum #1). The value was UTF8 value and unserialization failed. DB values were imported by the means of SQL query.

I applied the following fix:
instead of:

{{{
function maybe_unserialize( $original ) {
	if ( is_serialized( $original ) )  // don't attempt to unserialize data that wasn't serialized going in
            return @unserialize( $original );
    
	return $original;
}
}}}


I had:

{{{
function maybe_unserialize( $original ) {
	if ( is_serialized( $original ) ) { // don't attempt to unserialize data that wasn't serialized going in
        // fix from: http://www.php.net/manual/en/function.unserialize.php#76012
        $out = preg_replace('!s:(\d+):""(.*?)"";!se', ""'s:'.strlen('$2').':\""$2\"";'"", $original );
        return @unserialize( $original );
    }
	return $original;
}
}}}


and it worked like a charm.

I also think that it may have some connection to mbstring settings in php.ini on the server.

'''addendum #1'''

{{{
(wp_options, option_id='rebirth' option_value='a:47:{s:18:""js_highlight_color"";s:7:""#DB2A07"";s:7:""js_logo"";s:0:"""";s:14:""js_logo_height"";s:2:""70"";s:19:""js_background_color"";s:7:""#a8a3a3"";s:19:""js_background_image"";s:64:""http://hasulam.dev/wp-content/uploads/2011/12/bg-tile-dkgray.png"";s:29:""js_background_image_alignment"";s:8:""top left"";s:26:""js_background_image_repeat"";s:6:""repeat"";s:20:""js_footer_text_style"";s:4:""dark"";s:25:""js_background_image_fixed"";s:1:""0"";s:10:""js_favicon"";s:0:"""";s:14:""js_custom_font"";s:10:""FBBeeSerif"";s:24:""js_disable_page_comments"";s:0:"""";s:24:""js_disable_post_comments"";s:0:"""";s:25:""js_disable_event_comments"";s:0:"""";s:27:""js_disable_gallery_comments"";s:0:"""";s:25:""js_disable_video_comments"";s:0:"""";s:25:""js_disable_audio_comments"";s:0:"""";s:24:""js_homepage_page_display"";s:0:"""";s:18:""js_homepage_blocks"";a:5:{s:18:""js_homepage_slider"";s:1:""0"";s:22:""js_homepage_introblock"";s:1:""0"";s:12:""widget_block"";s:1:""0"";s:18:""js_event_countdown"";s:1:""1"";s:18:""js_footer_mapblock"";s:1:""0"";}s:23:""js_homepage_block_order"";s:33:""slider,introblock,block,countdown"";s:24:""js_homepage_slider_cycle"";s:3:""yes"";s:24:""js_homepage_slider_speed"";s:4:""6000"";s:35:""js_homepage_slider_transition_speed"";s:3:""500"";s:22:""js_homepage_intro_text"";s:224:""קהילת הסולם — היא קהילה דתית עם לימוד העמוק והמדויק ביותר של חכמת הקבלה ופנימיות התורה על פי דרכו של בעל הסולם והרב""ש זצוק""ל"";s:23:""js_social_icon_facebook"";s:32:""http://www.facebook.com/hasulams"";s:22:""js_social_icon_twitter"";s:30:""https://twitter.com/#!/hasulam"";s:21:""js_social_icon_flickr"";s:42:""http://www.flickr.com/people/80922930@N07/"";s:22:""js_social_icon_youtube"";s:40:""http://www.youtube.com/user/hasulammedia"";s:20:""js_social_icon_vimeo"";s:0:"""";s:25:""js_social_icon_foursquare"";s:36:""https://foursquare.com/user/30915399"";s:14:""js_time_format"";s:3:""24h"";s:21:""js_countdown_language"";s:7:""english"";s:21:""js_contactblock_title"";s:18:""בואו לבקר!"";s:20:""js_contactblock_text"";s:295:""אנו מזמינים אתכם לבא ולבקר אותנו בבית מדרשנו ברמת גן. כאן מתפללים, לומדים שיעורי ם עם הרב ובחברותות, קורסים וסמינרים בשבת. נשמח לראותכם או לשמוע מכם דרך המשוב באתר."";s:23:""js_contactblock_address"";s:33:""128 Jabotinsky, Ramat Gan, Israel"";s:26:""js_contactblock_buttontext"";s:17:""יצירת קשר"";s:26:""js_contactblock_buttonlink"";s:15:""/about/contact/"";s:14:""js_footer_text"";s:26:""Copyright ©[year] Hasulam"";s:12:""js_gmap_zoom"";s:2:""14"";s:14:""js_hide_social"";s:1:""0"";s:22:""js_disable_breadcrumbs"";s:1:""1"";s:13:""js_audio_link"";s:1:""0"";s:13:""js_video_link"";s:1:""0"";s:18:""js_hide_contactmap"";s:1:""0"";s:21:""js_contact_form_email"";s:22:""hasulam.site@gmail.com"";s:14:""js_404_content"";s:34:""צטערת, לא מצאתי הדף"";s:19:""js_google_analytics"";s:0:"""";}')
}}}
",veedeezee
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
15946,post_date_gmt ignored in wp_insert_post(),,General,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-22T00:41:40Z,2010-12-26T22:46:25Z,"If a post is inserted with `post_date_gmt` set and `post_date` not, `post_date` defaults to the current date/time, rather than being generated from `post_date_gmt`",kawauso
23402,remove_query_arg messing up some URLs,,General,,normal,normal,Awaiting Review,defect (bug),new,,2013-02-06T01:00:41Z,2013-02-06T15:15:02Z,"I'm using remove_query_arg to strip utm campaign parameters from user-submitted URLs, but for some URLs it is replacing dots with underscores.

E.g. if you pass http://www.nanowerk.com/news2/newsid=28843.php into this:


{{{
$url = remove_query_arg( array(
	'utm_source'
	'utm_medium',
	'utm_campaign',
	'utm_term',
	'utm_content'
	), $url );

}}}

it returns http://www_nanowerk_com/news2/newsid=28843.php



",lumpysimon
22781,setUserSetting cannot handle hyphens,,General,2.7,normal,normal,Future Release,defect (bug),new,early,2012-12-06T06:18:39Z,2012-12-06T18:25:43Z,"sanitize_key() can, setUserSetting should be able to as well. It's not that sanitize_key() plays a role, but it sets expectations for what is allowed in keys across core. Both keys and values should be able to accept a hyphen.

The post-thumbnail image size cannot be remembered, for example, if it is added to image_size_names_choose.",nacin
16472,set_query_var() / get_query_var() does not work for NULL values,,General,,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-06T16:08:06Z,2011-02-09T16:54:38Z,"Setting a query var to NULL will convert it into an empty string:

{{{
$name = 'test';
$value = NULL;
set_query_var($name, $value);
$get = get_query_var($name);
echo $value === $get ? 'same' : 'different';
var_dump($get);
}}}

This will output ""different"" and showing that the query var now is an empty string.",hakre
13208,shared code in get_mu_plugins() and get_dropins(),,General,,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-02T03:22:40Z,2010-11-13T07:56:26Z,"Aka code buplication.


FYI closedir() is not necessary in PHP. It only consumes runtime and memory if you use it especially with the @ operator.",hakre
20077,shortcode_parse_atts should not force arguments to be lowercase,,General,,normal,normal,Awaiting Review,defect (bug),new,close,2012-02-19T19:21:33Z,2012-02-20T17:42:42Z,"Inside wp-includes/shortcodes.php, the shortcode_parse_atts() function forces shortcode arguments to be lowercase.  So if your shotcode had something like [my_shortcode MyVar=123], then your code that uses something like ""print $MyVar;"" fails... you have to use ""$myvar"" instead.  This is counter-intuitive.  I understand that there needs to be some restrictions on what is a valid parameter name (see http://core.trac.wordpress.org/ticket/9405), but I think it makes the most sense that the parameter names can correspond to any valid PHP variable name;  PHP variables ARE case-sensitive, so this arbitrary restriction of forcing lower-case parameters seems like the incorrect approach.",fireproofsocks
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
12056,"target=""_blank"" being stripped from Profile Bio and Category Description",,General,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-01-27T16:50:00Z,2011-05-31T19:32:07Z,"Many apologies if this is a duplicate. I have searched but did not find it yet posted.

I noticed that target=""_blank"" is being stripped from my ""a href"" tags my profile ""Biographical Info"" field even though the ""a href"" with the URL and closing tag still remain. It happens every time I save my profile. 

This was independently verified.

It is a regular wordpress install running 2.9.1 (not wordpressmu, etc.).

My original thread can be found here:
http://wordpress.org/support/topic/355388?replies=1",lovewpmu
14938,title of add_settings_section and add_settings_field,,General,,normal,normal,Future Release,defect (bug),new,,2010-09-22T16:44:40Z,2011-01-16T17:10:15Z,"When the title of both these functions is left blank, they echo 
<h3></h3> and <table><th>.... on to the page. 

When the title is left blank, they shouldn't add the blank tags.",gandham
11734,trackback_rdf() for IDN (xn--) Domains produces invalid HTML,,General,3.1,normal,normal,Future Release,defect (bug),new,close,2010-01-06T01:10:55Z,2012-02-20T12:22:02Z,"Hello

The trackback_rdf() function from wp-includes/comment-template.php wraps the ""<rdf:RDF>...</rdf:RDF>"" output inside ""<!-- ... -->"" HTML comments, probably to be safe as not all Browsers understand them.

When using Wordpress 2.9.1 on a site with an international domain name [1] that contains special characters like German ""Umlauts"" like äöü, this domain name is written as e.g. xn--tst-qla.de for täst.de.

Now the output of trackback_rdf() suddenly gets a ""--"" which is the SGML/HTML comment separator mark [2]. Firefox 3.5.6 e.g. sees this as the end of the comment and therefore shows the final ""-->"" as text to the user.

As the whole RDF tag is supposed to be invisible for the user, it's a bug in Wordpress :-(

Here is an real world example output:

{{{
                     <p class=""post-tags"">

                      </p>
				  <p class=""post-info"">
					  				  </p>
				  <!--
				    <rdf:RDF xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#""
				xmlns:dc=""http://purl.org/dc/elements/1.1/""
				xmlns:trackback=""http://madskills.com/public/xml/rss/module/trackback/"">
			<rdf:Description rdf:about=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/""
    dc:identifier=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/""
    dc:title=""Wortlieblinge""
    trackback:ping=""http://xn--bcher-entdecken-zvb.de/wordpress/index.php/wortlieblinge/trackback/"" />
</rdf:RDF>				  -->
			  </div>
}}}


Sadly I have not yet come up with a solution. PHPs urlencode() does not escape a double dash - which is ok as its usually perfectly valid. Maybe someone with RDF experience has a good idea.

bye,

-christian-


[1] http://en.wikipedia.org/wiki/Internationalized_domain_name#Example_of_IDNA_encoding

[2] http://htmlhelp.com/reference/wilbur/misc/comment.html



",lathspell
23429,undefined tinyMCE: no ?> at the end of load-scripts.php,,General,3.5.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-02-08T22:01:36Z,2013-02-14T03:47:40Z,"I noticed a theme throwing an error in console today. I noticed ""Uncaught ReferenceError: tinyMCE""

In particular, switchEditors.switchto() and a few others like .do - where undefined. I thought that was strange. I googled the error and eventually found this thread: http://wordpress.org/support/topic/javascript-error-in-admin-panel-with-load-scriptsphp?replies=2

Adding ?> to the end of load-scripts.php fixed the issue.

Very strange bug. I have seen it on 2 installations now (4 referencing the two in the support forum thread) - but I am unable to recreate it anywhere else.",chaos1
11683,update_metadata() passes only the first meta_id,,General,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2010-01-01T18:04:39Z,2013-05-14T13:18:38Z,"Code to reproduce:

{{{
function update_metadata_action_test($meta_id) {
	var_dump($meta_id);
}
add_action('update_post_meta', 'update_metadata_action_test');

add_metadata('post', 1, 'mykey', 'value1');
add_metadata('post', 1, 'mykey', 'value2');

update_metadata('post', 1, 'mykey', 'new value');
}}}

Expected result:

{{{
Array ( [0] => 101 [1] => 102 )
}}}

Actual result:

{{{
string(3) ""101""
}}}
",scribu
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
10770,wp-cron uses excesive CPU cycles,,General,2.9,normal,critical,Future Release,defect (bug),new,reporter-feedback,2009-09-12T11:49:09Z,2010-02-20T18:37:21Z,"Users are suddenly finding their accounts suspended because of excessive CPU cycles. However after investigating it appears the web hosting companies are properly configured and no hacks have occured. It seems that wp-cron is looping and consuming huge amounts of cpu cycles.

'''Versions:'''
This occurs across the past several versions on fully updated versions.

'''The effect:'''
Excessive CPU cycles with resulting suspension of a users account.

'''Plugins and Theme:'''
I detect no relationship to plugins and themes. I am presently running only 8 plugins.

'''Frequency:'''
Sadly, this is an intermittent issue. But a check of the Wordpress.org forum will show regular questions about this problem.

'''Server Environment:'''
Host is [http://www.inmotionhosting.com]. Fully updated and seemingly well maintained.

'''Additional:'''
There is a link from a 2.6 problem at [http://trinity777.wordpress.com/2008/10/28/wordpress-26-the-issue-of-wp-cronphp/]. Although it refers to an old version I think the issue is still unresolved and his work might prove useful to you.

Thanks
",jbevans
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
14488,wp_enqueue_script in_footer doesn't work on WP known scripts,sorich87*,General,3.0.1,normal,minor,Future Release,defect (bug),accepted,has-patch,2010-07-31T05:18:30Z,2012-10-11T17:52:33Z,"I changed some plugin code from:
wp_enqueue_script('jquery-ui-sortable');

To:
wp_enqueue_script('jquery-ui-sortable',false,array(),false,true);

However, the script was not moved to the footer. 

When I looked at the source for wp_enqueue_script, I can see that it's because the check for $in_footer is inside the condition for $src being defined. But built-in scripts don't require a source. ",mcr2582
19892,wp_fix_server_vars() mangles REQUEST_URI on some servers,,General,3.3.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-25T00:58:47Z,2012-01-25T06:53:04Z,"== Bug manifestation: ==

On some server setups, saving settings on any settings page which uses options.php - including the twentyeleven theme options pages - results in a ''You do not have sufficient permissions to access this page.''-error page, even if you are the (super-)admin of the website.[[BR]]

The changed settings *are* however saved, but the bug obviously causes a usability issue.[[BR]]
[[BR]]



== The cause of the issue: ==

The issue is ultimately caused by (shared-)hosting companies which - for security reasons - set the {{{$_SERVER['SERVER_SOFTWARE']}}} variable to MS IIS when in reality the server runs on a Linux variant.[[BR]]
[[BR]]

The {{{$_SERVER['SERVER_SOFTWARE']}}} variable being MS IIS causes ''wp_fix_server_vars()'' to double the query vars resulting in a mangled {{{$_SERVER['REQUEST_URI']}}}.[[BR]]

I.e.: ''""/wp-admin/themes.php?page=theme_options""'' becomes ''""/wp-admin/themes.php?page=theme_options?page=theme_options""''[[BR]]
[[BR]]


As the {{{$_SERVER['REQUEST_URI']}}} variable is used by the ''settings_fields()'' function to generate the hidden form fields for the option pages, this then in turn results in a mangled ''_wp_http_referer'' form value.[[BR]]

I.e.: {{{<input type=""hidden"" name=""_wp_http_referer"" value=""/wp-admin/themes.php?page=theme_options?page=theme_options"" />}}}[[BR]]
[[BR]]


As the '''''options.php''''' file, after saving the changed settings, uses the ''_wp_http_referer'' field value to redirect the page - which it then can't - , the user ends up on the ''You do not have sufficient permissions to access this page.''-error page.[[BR]]
[[BR]]



== Patch/fix for the issue: ==

In file '''''wp-includes/load.php''''' change '''''line 75''''' from:

{{{
if ( ! empty( $_SERVER['QUERY_STRING'] ) ) {
}}}
to
{{{
if ( ! empty( $_SERVER['QUERY_STRING'] ) && strpos ( $_SERVER['REQUEST_URI'], '?' ) === false ) {
}}}

N.B.: line number based on WP 3.3.1. trunk[[BR]]
[[BR]]




== Additional info: ==

This bug has been in the WP code base for a while. It might be useful to add this issue to the FAQ in the documentation for those users/webmasters who do not always upgrade to the latest & greatest WP version.[[BR]]


A user/webmaster who encounters this issue should probably get advice along the following lines:[[BR]]

a. Determine that the problem is really caused by this issue by verifying that they really run on Linux and by checking that the {{{$_SERVER['SERVER_SOFTWARE']}}} is a MS IIS variant - they can use ''phpinfo()'' to do so.[[BR]]

b. Upgrade to a WP version which includes the above patch once it has been released.[[BR]]

c. Contact their webhost to see if they are willing to change the {{{$_SERVER['SERVER_SOFTWARE']}}} variable to reflect reality.[[BR]]

d. If neither of the above is possible/works and they are sure that this bug is the cause of their problems, they can apply the following quick & dirty fix to solve it without touching the core files:[[BR]]


Add the following code to their wp-config.php file anywhere above the ''/* That's all, stop editing! Happy blogging. */'' line.
{{{
/**
 * Quick fix for server software bug
 */
$_SERVER['SERVER_SOFTWARE'] = 'Apache';
}}}
[[BR]]


== Related bug reports found: ==

* #15209 {{{$_SERVER['REQUEST_URI']}}} Doesn't always work correctly
* #12346 Saving settings in multiple plugins results in You do not have sufficient permissions to access this page.


This ticket has been opened as the previous two bug reports where too old to reopen.
",jrf
19856,wp_get_referer() doesn't return false when the referer URL is the same as the current URL,,General,3.3.1,normal,normal,3.6,defect (bug),new,has-patch,2012-01-19T08:08:53Z,2013-05-10T03:59:27Z,"Inside wp_get_referer(), there's this conditional statement:

`if ( $ref && $ref !== $_SERVER['REQUEST_URI'] )`

It is there to ensure that wp_get_referer() doesn't return the same page I'm on. This is useful when redirecting because I can detect and avoid infinite redirection.

According to PHP documentation, `$_SERVER['REQUEST_URI']` is only the URI on the host. As a result, the conditional statement above fails in this case:

Let's say I was redirected from http://example.com/sample-uri to itself (either by clicking a link or a form submission). Then:

{{{
$ref = 'http://example.com/sample-uri';
$_SERVER['REQUEST_URI'] = '/sample-uri';
}}}

So technically, the referrer is the same page, but wp_get_referer() doesn't return false as expected, because `$ref !== $_SERVER['REQUEST_URI']`.

A better conditional statement would be:

`if ( $ref && parse_url( $ref, PHP_URL_PATH ) !== $_SERVER['REQUEST_URI']  )`

Patch attached.

I'm using PHP 5.3.6, Apache 2.2.20.",garyc40
16059,"wp_kses_split2() is private, no need to create a function with the sole purpose to call a function.",,General,3.1,lowest,normal,Future Release,defect (bug),new,dev-feedback,2011-01-01T17:06:19Z,2011-01-01T21:41:01Z,"In the effort to remove create_function() constructs from the file (#10623, #7363) the last one was removed in 16313 / #14424.

While the analysis in the last ticket was right that create_function() is not needed, the resolution to introduce a named function was not.

Infact the anonymous callback function has been replaced with a named callback function without taking into account, that a named callback function already exists. So a function whith its sole purpose to call another function has been introduced by the google summer of code student.

The existing functions name is wp_kses_split2(), having the needed properties. The function is marked as private and not used anywhere else in the file kses.php nor the whole core php code.

It can be safely adopted to fulfill the requirements of the callback function signature.

This saves the overhead of a function call per callback call.

Additionally passing the data needs only one entry in the symbol table by using an array.",hakre
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
15667,"wp_list_pages, if it finds no pages to display, shows random child pages instead because of a bug in get_pages()",,General,3.0.2,normal,critical,Future Release,defect (bug),new,,2010-12-03T19:12:46Z,2011-01-16T05:09:28Z,"How to reproduce:[[BR]]
- About page is published
- additionally, there is a number of parent pages[[BR]]
- these each have a number of children[[BR]]
- when calling wp_list_pages(), the ""exclude"" attr excludes all parent pages, and display only the About page.

This works as long as there is at least 1 other page published that is not in the list of excluded IDs. In this example, as soon as the About page is set to ""draft"", wp_list_pages stops working correctly.

So... with no other pages besides the excluded ones published, we do this:

1) wp_list_pages('title_li=&depth=1&exclude=3,5,7');
=> wp_list_pages SHOULD return nothing, but instead it displays all child pages of the first parent page ID in the ""exclude"" attr (here: 3).

Now we now add the ""exclude_tree"" attr just for fun:

2) wp_list_pages('title_li=&depth=1&exclude=3,5,7&exclude_tree=3,5,7');
=> should again return nothing, but instead, it displays the first-ever published child page globally (here: a child page of 5).

It looked like random behavior at first but I've been able to identify the above pattern. I'm guessing it's a failing condition somewhere in the function.",bobsoap
24197,wp_localize_script() doesn't work for jquery handle,,General,trunk,normal,major,3.6,defect (bug),new,dev-feedback,2013-04-25T20:23:59Z,2013-05-08T20:43:40Z,"Here's another odd bug introduced by WP 3.6 latest development version.

I'm using the following code: [http://snippi.com/s/s058ms7]

In WP 3.5.1 everything worked as it should, and wp_localize_script returned the ""icy_ajax"".

Now, in 3.6-beta1-24067 , I get the following error in my console: ReferenceError: icy_ajax is not defined 

Just try and test it and let me know of any solution :-)

",IcyPixels
19847,wp_mail $from_name field is removing an extra character from the name,,General,3.3.1,normal,normal,3.6,defect (bug),new,dev-feedback,2012-01-17T05:13:18Z,2013-05-05T09:21:28Z,"If the headers are sent as a string to wp_mail, parsing of $from_name field removes one required character at the end of the name. Hence causing a name field of ""Hakan"" to show up as ""Haka"" in the received email.

Line 257 of pluggable.php is causing this error.

$from_name = substr( $content, 0, strpos( $content, '<' ) - 1 );

Removing ""-1"" from substr function call solves the problem.

$from_name = substr( $content, 0, strpos( $content, '<' ));

",hakanca
21659,wp_mail() problem with Reply-To header,,General,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2012-08-22T14:43:43Z,2012-08-22T14:43:43Z,"I am using in email headers also Reply-To:

{{{
$headers .= ""Reply-To: \""$name\"" <$email>\r\n"";
}}}

But there is a problem when name contains special non-English characters.

Example (from email headers):

Name: Žlutý kůň

{{{
Reply-To: =?UTF-8?Q? ""=C5=BDlut=C3=BD_k=C5=AF=C5=88"" _ <my@email.com>,
  ?=@example.com
}}}

I think that it is somehow related to wp_mail() function, because I also tried to use SMTP plugin and it worked well:

{{{
Reply-To: =?UTF-8?Q?""=C5=BDlut=C3=BD_k=C5=AF=C5=88""_<my@email.com>?=
}}}

Also when I use simply mail() instead of wp_mail() then everything works well. Problem can be seen only for Reply-To header, all others work well (for example From).

I am using WP 3.4.1.",pavelevap
13575,wp_max_upload_size() is not taking memory limit into account,,General,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-05-27T12:38:41Z,2011-03-08T15:14:43Z,"wp_max_upload_size() is not taking a memory limit into account while checking for the maximum upload size.

according to the official php documentation the memory limit is limiting file uploads as well (and post form operations).


> post_max_size - integer [[BR]][[BR]]
> Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize. If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.

[http://www.php.net/manual/en/ini.core.php#ini.post-max-size Source]",hakre
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
12657,wp_signon() adds one filter per call,,General,3.0,normal,normal,Future Release,defect (bug),new,,2010-03-20T11:52:10Z,2010-10-02T00:35:56Z,"If wp_signon() is called multiple times, the filter will be added multiple times. Next to this a lot of the function seems to be just typed in in the wish that it does work instead of doing things properly. See quote: ""ugly hack to pass this to wp_authenticate_cookie"" or leftover TODO markings and the like.

Should be put in order prior to next release.",hakre
18944,wrong url in sortable column headers when behind a reverse proxy,,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2011-10-14T11:50:57Z,2012-08-09T18:33:29Z,"Hi, I have a wordpress site behind a reverse proxy. All works fine but for the urls used in the headers of sortable columns.

For instance, the links of ""Title"", ""Author"", etc. of the table of posts in wp-admin/edit.php --> Posts report something like ""http://backend/backend-dir/..."" while they should be ""http://frontend/frontend-dir/..."".

I don't think this is a proxy configuration problem because, AFAICS, the rest of the site is working: I can make posts, pages, media, install themes and plugins.

I tried to play with $current_url al line 649 of
wp-admin/includes/class-wp-list-table.php 
but with no luck.

I suppose that pagination may have the same problem.

",gamboz
18525,"zlib.output_compression ""on"" in server conflicts with autoupdate",,General,3.2.1,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-08-26T20:11:45Z,2012-11-13T05:12:06Z,"If zlib.output_compression is ""on"" in server (my vps server), then auto-update works, but without verbose output or any indication that install has succeeded.

This error is consistent for all auto-updates WordPress Application and all plugins.

It is NOT a plugin conflict. Occurs on different servers.

Testing has confirmed that when zlib.output_compression is returned to ""off"", then updates work as expected.

In my opinion this is a minor bug and probably a note in the readme file will suffice.

Thank You,

Neil Miller
zx@avidre.net",avidre
16158,"3.0.4 Upgrade failed on localhost testbed, successful on public site",,HTTP,3.0.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-01-08T21:03:55Z,2011-01-09T14:15:17Z,"Running: 3.0.1, Ubuntu, Apache

I'm still looking at this but wanted to report it while I have a break.

I got the holiday notice to upgrade to 3.0.4.  When I did an auto-upgrade on my local testbed (http://localhost:9090/wp/wp-admin/update-core.php), WP reported that I have latest version.  Plugin upgrades work fine.  The auto upgrade was successful on my public sites.  I have WP_DEBUG, etc. on for my local testbed and no errors were reported.  I have upgraded my local testbed this way in the past, definitely for 3.0.1.

Below is a debug dump I hack in the WP_HTTP->request call coming from wp_version_check.  I pasted the URL use into the browser bar it returned the correct information.  Called from wordpress localhost, api.wordpress.com returns a HTML document with the <title>Page not found</title> and a bunch of info about wordpress.


{{{
[08-Jan-2011 20:42:48] URL='http://api.wordpress.org/core/version-check/1.5/?version=3.0.1&php=5.3.2-1ubuntu4.5&locale=en_US&mysql=5.0.83&local_package=&blogs=1&users=2&multisite_enabled=0'
[08-Jan-2011 20:42:48] r=array (
  'method' => 'GET',
  'timeout' => 3,
  'redirection' => 5,
  'httpversion' => '1.0',
  'user-agent' => 'WordPress/3.0.1; http://localhost:9090/wp/',
  'blocking' => true,
  'headers' => 
  array (
    'wp_install' => 'http://localhost:9090/wp/',
    'wp_blog' => 'http://localhost:9090/wp/',
    'Accept-Encoding' => 'deflate;q=1.0, compress;q=0.5',
  ),
  'cookies' => 
  array (
  ),
  'body' => NULL,
  'compress' => false,
  'decompress' => true,
  'sslverify' => true,
  'ssl' => false,
  'local' => false,
)
}}}


So two problems:

1) If the local site core check fails, it assumes what it is running is the most current.  There is no indication that the core check failed.  It seems like the ""Page Not Found"" page returned from api.wordpress.org should be displayed. See #16156, #16094 for similar issues.

2) What in the request is causing the HTTP get to fail?  I think it must something in the header information.  BUT, it USED to work.  Is the server behaving differently?",dturvene
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
13909,HTTP redirect should return a hypertext fragment,,HTTP,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-15T19:15:36Z,2010-06-26T02:55:59Z,"When !WordPress redirects via the API ({{{wp_redirect}}}), a useragent which does not automatically redirect (e.g. configuration because of usability or security considerations), get's a blank page delivered (which is of no use for the user). This is because only HTTP headers are set for the redirect, but not a HTTP body. Normally Webservers and Webapplications deliver a body as well.

'''Example: Redirect on the google.com domain'''

Command: {{{curl -i http://google.com/}}}

Output:
{{{
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Tue, 15 Jun 2010 18:11:12 GMT
Expires: Thu, 15 Jul 2010 18:11:12 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block

<HTML><HEAD><meta http-equiv=""content-type"" content=""text/html;charset=utf-8"">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF=""http://www.google.com/"">here</A>.
</BODY></HTML>
}}}

Redirect of google.com to www.google.com; next to the headers a body is returned (some simple HTML containing the link to the redirected page).

This method is often used as a fall-back for automatic methods — if the visitor's browser does not support the automatic redirect method, the visitor can still reach the target document by following the link. [http://en.wikipedia.org/wiki/URL_redirection#Manual_redirect URL redirection (From Wikipedia, the free encyclopedia)]

'''Example: Redirect on a wordpress domain'''

This is against a trunk version wordpress setup. I made a setup with a domain www.webroot.loc and webroot.loc. The blog is w/o the www. so www.webroot.loc get's redirected to webroot.loc:

Command: {{{curl -i http://www.webroot.loc/wordpress/}}}

Output:
{{{
HTTP/1.1 301 Moved Permanently
Date: Tue, 15 Jun 2010 18:12:38 GMT
Server: Apache
X-Pingback: http://webroot.loc/wordpress/xmlrpc.php
Location: http://webroot.loc/wordpress/
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
}}}

There is no http body in the response.

To increase the overall usability of wordpress a body should returned as well.",hakre
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
13841,Some HTTP Transports do not respect transfer timeouts,,HTTP,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2010-06-11T04:48:30Z,2012-08-03T01:30:39Z,"While doing some testing I found that fopen, fsockopen and streams do not respect transfer timeouts.

Out fopen transport cannot support a transfer timeout properly because we do not pass the 3rd optional parameter to fopen for stream context.  We don't do this on purpose because the 3rd parameter was not added until php 5, and that is partially what the streams transport is designed to cover.  So in short, unless we want to conditionally use the streams context here for php versions > 5, we cannot reliably use transfer timeouts.

The streams timeout was missing the context for timeout, which does support ""microtime"".  However, unsure at this point why, but the timeout needs to be divided by 2, so that the timeout happens requested timeout.

With fsockopen, we need to actually test for the timeout during the while loop, because the stream_set_timeout applies to each pass of fread and not the total process.",sivel
11888,The streams & fopen HTTP transport arn't sending headers that are passed to it,,HTTP,2.9.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-01-13T20:01:41Z,2012-06-05T13:09:20Z,"In particular, cookie headers. Related php bugs:

http://bugs.php.net/bug.php?id=41051

http://bugs.php.net/bug.php?id=45092

Based on the second PHP ticket, this would affect systems up to PHP 5.2.9.

I tried to replace $strHeaders with an $arrHeaders array based on the discussions in the second ticket, but it didn't make the slightest difference.

I'm running out of ideas, too...",Denis-de-Bernardy
23463,WP_HTTP  HTTP/1.1 needs to send Connection Close + support Transfer-encoding better,,HTTP,,normal,normal,Future Release,defect (bug),new,has-patch,2013-02-13T06:15:45Z,2013-02-13T06:15:45Z,"WP_HTTP accepts a 'httpversion' argument, and supports some functions of it (such as Transfer-encoding).

However, there are 2 things which are rather broken
1. It doesn't send a `Connection: close` header, so the connection is held open and WP_HTTP never returns
1. Transfer-Encoding: chunked appears to be rather broken, causing it to returning the end of the document rather than the decoded document.

The attached patch goes some of the way towards making that work better, but is mostly untested, and could do with a unit test or two.",dd32
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
16606,WP_Http_Streams::test doesn't check enough to confirm if it can do HTTPS,,HTTP,3.0.5,high,major,Future Release,defect (bug),new,has-patch,2011-02-21T08:16:44Z,2013-01-20T20:44:55Z,"The WP_Http_Streams doesn't check for all it's prerequisites before saying it can process HTTPS request.

It seems to be common for the openssl extension to no be loaded.

Example Warnings:

{{{
[21-Feb-2011 08:06:48] PHP Warning:  fopen() [<a href='function.fopen'>function.fopen</a>]: Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP? in .../wp-includes/class-http.php on line 1063
[21-Feb-2011 08:06:48] PHP Warning:  fopen(https://example.com/feed/) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in .../wp-includes/class-http.php on line 1063
}}}

We need to at least check: {{{extension_loaded( 'openssl' )}}}
",westi
17588,fsockopen performs a POST request to a redirected location,,HTTP,3.2,normal,normal,3.6,defect (bug),new,has-patch,2011-05-27T08:56:34Z,2013-03-21T12:16:35Z,"Continuing off #17490.

Some background first: When you make a POST request, If you recieve a 3xx w/ Location in response, The correct thing to do next, is to perform a GET request to the new url, which is not what most people expect (Expecting the class to follow the Location with a new POST).

fsockopen doesn't follow this spec, cURL and Streams do, Upon receiving the redirection, fsockopen performs the exact same request against the new location, whereas, it should disregard the post fields (and the Content-length header) and perform a GET instead.",dd32
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
16271,Better handling of translating comments notification,,I18N,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-17T17:26:03Z,2011-02-16T06:22:49Z,"Comments...


{{{
Author :
E-mail :
URL    :
Whois  :
Excerpt:
}}}

Pingback...


{{{
Website:
URL    :
}}}

It is not possible to manage translation with the same length of ""Excerpt"" and ""Website"" to have ""URL"" with the same number of spaces (required for ""URL"" which is the same for both types)...

BTW, Why it is ""Excerpt"" when there is the whole text of every comment in notification email?",pavelevap
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
23433,Custom background select needs a contextualized label,,I18N,3.5,normal,minor,3.6,defect (bug),new,has-patch,2013-02-09T16:55:23Z,2013-02-20T01:11:46Z,"In /themes.php?page=custom-background, the fixed/scroll selector uses the 'Attachment' label.

Problem is, that label name is also used for another type of attachment: files.

Ergo, translators might find themselves with an incorrect wording. In effect, the French translation displays ""Fichier attaché"" (attached file) instead of a more appropriate term.

I suggest turning the string into a contextualized one.

Another solution would be to change the wording altogether, for instance: ""Behaviour when scrolling"", with ""Scroll along"" and ""Keep in place"" as its options.

Hence, I submit both (hopefully correct) patches -- built against trunk for now, but the issue obviously exists in 3.5.",xibe
15677,It is not possible to install multiple variants of the same language,,I18N,3.1,normal,normal,Future Release,defect (bug),new,,2010-12-04T15:07:28Z,2011-06-04T10:21:10Z,"Because of the way {{{mu_dropdown_languages()}}} and {{{format_code_lang()}}} work, it is impossible to have multiple variants of the same language installed. The list of languages returned by {{{mu_dropdown_languages()}}} only includes one variant of each language (the one with the country code which comes last when sorted alphabetically).

For example, if .mo files for es_ES and es_PE are both installed, then only es_PE will be shown.

Furthermore, whatever variant of the language is installed, the name will be the same, not indicating the correct language variant. In the example above, the language name will be ""Spanish; Castillian"", even for the es_PE localisation. This is highly misleading.

A final problem is that the langauge names are not localised themselves, with the exception of ""English"".

The cause of these problems is the fact that {{{format_code_lang()}}} ignores the country code and only considers the language code when choosing the name to return. Furthermore, it returns hardcoded language names rather than translated names.

Since {{{mu_dropdown_languages()}}} uses the return value of {{{format_code_lang()}}} as the key for its internal {{{$output}}} array, this means that later language variants overwrite earlier ones.",caesarsgrunt
7837,Localization of numbers should be supported,,I18N,,low,minor,Future Release,defect (bug),new,,2008-10-06T16:46:16Z,2009-11-23T15:21:12Z,"I'm new to WordPress so please bear with me: I believe localization of numbers should be added to WordPress features. This means that, if you install WordPress and use (for example) Arabic language packs, numbers should be shown using Arabic digits, not English digits.",huji
19980,Localized oEmbed providers,,I18N,,normal,normal,Future Release,defect (bug),new,,2012-02-06T23:27:32Z,2012-05-02T19:26:03Z,"Follow-up from #19601.

Some localizations might want to add their own oEmbed provider, perhaps a service widely used by users in their country or those who speak their language, despite us never hearing of it.

Right now, Bulgarian and Chinese add some, and Russian would consider it. [http://core.trac.wordpress.org/ticket/19601#comment:11 ref] Others, if shown the opportunity, will also likely want to add some.

We need to come up with a decent solution for handling these. Perhaps it is a switch() on get_locale() in WP_oEmbed.",nacin
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
24183,MediaElement.js i18n issues,,I18N,trunk,high,normal,3.6,defect (bug),new,has-patch,2013-04-24T22:54:17Z,2013-04-25T03:18:34Z,"As reported by dimadin in #23282:

> MedaElement.js has very poor i18n support that isn't compatible with one we use in !WordPress since it relies on browser's language to determine locale, and strings are hardcoded in it (see [https://github.com/johndyer/mediaelement/pull/627 pull] that introduced this).
> 
> I looked how to improve this and have it backward compatible and attached patch contains my proposal. Note that this shouldn't go straight to !WordPress since it contains changes to MedaElement.js too. I wanted to hear thoughts from others before submitting pull to MedaElement.js. When they add compatible support, we can patch !WordPress.",SergeyBiryukov
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
22302,Multisite administration - default date format,,I18N,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-10-29T15:11:58Z,2012-11-07T18:17:39Z,"1) There is default non-translatable format for dates in multisite administration:

Sites - All sites (columns Last Updated and Registered)

Users - All users (column Registered)

Please see attached patch, I used existing localization format.

2) Sites - All sites - Edit any site. There are also Registered and Last Updated values in default date format, but I am not sure how to solve this issue...",pavelevap
23503,Post Formats: i18n issues,,I18N,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-02-18T21:09:13Z,2013-05-19T15:34:02Z,"1. Most of the time, we refer to the ""Standard"" post format with the appropriate context: [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/class-wp-posts-list-table.php#L1013 [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/press-this.php#L480 [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/post.php#L5325

 In a couple of places, however, the context is missing: [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/includes/meta-boxes.php#L318 [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/options-writing.php#L90

2. ~~[23449] introduced Edit screen UI for post formats. There's now a ""Standard"" tab above the post title. In Russian, ""post"" is feminine and ""format"" is masculine, so seeing ""Standard"" adjective without the ""format"" word next to it is confusing. I guess the tab needs a separate context.~~ Fixed in [23843].

3. [23843] introduced a couple of issues:
 1. `ucfirst( sprintf( __( '%s Post' ), $slug ) )`: [[BR]]
  http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php?rev=23868#L186
  1. `'%s Post'` is not localizable, see [comment:ticket:17609:3 dd32's comment] in #17609.
  2. `ucfirst()` doesn't always work correctly for UTF-8 characters, it depends on PHP locale.
 We should use actual labels instead of just putting post format slugs into a generic string.
 1. i18n is missing in line 397: [[BR]]
 http://core.trac.wordpress.org/browser/trunk/wp-admin/edit-form-advanced.php?rev=23868#L397",SergeyBiryukov
13651,Problem with plural form in comments_number,nbachiyski,I18N,3.0,high,major,Future Release,defect (bug),new,has-patch,2010-05-31T07:55:14Z,2013-04-10T16:06:03Z,"Hi, there is problem with comments_number in WordPress (and also Twentyten theme). There is possibility to use 0, 1 or more comments. But for Czech there are also two plural forms: 0 (žádný komentář), 1 (1 komentář), 2-4 (komentáře) and 5 and more (komentářů).

Function comments_number does not support it, also in Twentyten it is not possible...",pavelevap
15576,Proper l10n of items per page in the screen options,,I18N,3.1,normal,normal,3.6,defect (bug),new,commit,2010-11-25T02:57:13Z,2013-05-11T16:29:49Z,"Sites, Users, Comments, Media items and Plugins have their own translation context on the screen options tab, e.g. “sites per page (screen options)”.

To use the right grammatical case, Posts, Pages, Categories and Tags should have that context too. ",SergeyBiryukov
10373,Proper number formatting related to i18n,westi,I18N,2.8.1,normal,normal,Future Release,defect (bug),reopened,reporter-feedback,2009-07-10T08:09:14Z,2012-05-13T08:33:30Z,"Hi there,

Technical description of the situation: WordPress function number_format_i18n() uses native PHP function number_format() for formatting numbers. Unfortunately this PHP function is not able to handle separators (both decimal and thousands separators) that fall into one of the following categories:
- separator would contain more than one char, e.g. ""&nbsp;""; in this case only the first char from the supplied string is used, in the example given above it would be ""&"".
- separator is ASCII > 128, e.g. ASCII 160; 

Impact: Although this is not a native bug to WordPress, the problem source is in PHP, the impact is caused also in WordPress. This situation is problematic for users in Eastern Europe (Czech Republic, Russia, etc.) where the standard thousands separator is "" "" (space). The users in these countries usually don't want to use real space (ASCII 32) as thousands separator, as it could be word wrapped and the number would be saparated into two lines. Unfortunatelly supplying both variants of non-breakable space (i.e. ""&nbsp;"" or ASCII 160) fails.

Proposed solution: unforunatelly this bug is reported in PHP for years and nothing happens there. Because of this situation I suggest fixing such problem in the next level, i.e. in WordPress. This means to create a custom function for formatting numbers, with identical input params as number_format(), just that this one would be able to  handle separator types mentioned above.

I have such change already deployed on my WordPress blog for several months, so I am going to attach a diff file for the latest SVN state dealing with this issue.

Honza",honza.skypala
20974,Remove obsolete locale-specific files on upgrade,dd32,I18N,3.4,low,normal,Future Release,defect (bug),assigned,has-patch,2012-06-15T14:06:43Z,2012-11-07T20:20:44Z,"We used to have `wp-content/languages/ru_RU.css` file in ru_RU package.

Since #19603, it's no longer needed, but is still left over on upgrade. We should probably include it in `$_old_files`.

I suppose the same applies to zh_CN and he_IL packages ([19825]).",SergeyBiryukov
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
18249,Rosetta needs a facelift,ryanimel*,I18N,,normal,normal,WordPress.org,defect (bug),accepted,has-patch,2011-07-25T20:47:35Z,2013-04-09T19:21:07Z,This is a Trac ticket for http://make.wordpress.org/ui/2011/07/25/small-design-project-rosetta/.,nacin
23907,Scandinavian ligatures transcribed wrong in remove_accents(),,I18N,trunk,normal,minor,3.6,defect (bug),new,has-patch,2013-03-30T08:52:56Z,2013-03-30T16:32:08Z,"remove_accents() is transcribing old scandinavian ligatures wrong: ÆØÅøå should be transcribed as 'Ae', 'Oe', 'Aa', 'oe' and 'aa' respectively.

Transcribation rules are the same in swedish, danish and norwegian. In trunk they are transcribed as 'AE', 'O', 'A', 'o', 'a'.

See #4739, #9591 for history.",dnusim
20881,Show code references in inherited localization files,,I18N,,normal,normal,WordPress.org,defect (bug),new,,2012-06-07T20:01:31Z,2012-06-07T20:10:16Z,"For example string ""Invalid post type"" is used several times - on frontend and also in admin. But this string is only in frontend localization file, because this file is also loaded on admin side. That is correct, no need to duplicate strings in different files. But translators do not see code references related to admin file and it can leads to context problems during translation.

It could be very helpfull to modify makepot.php to add related code references to generated .pot files.

Related example: #20809",pavelevap
22623,"Some string tweaks - duplicity, context, mistake",,I18N,3.0,normal,normal,3.6,defect (bug),new,,2012-11-28T20:56:41Z,2013-01-16T00:03:41Z,"1) String ""Path"" has a little different meaning for TinyMCE (HTML position) and Multisite list sites column (subdirectory address). Can we have a context?

2) When you click ""Deactivate"" action link bellow any site (in Multisite admin), site is marked as ""Deleted"" instead of ""Deactivated""? You can ""Activate"" deleted site? Strange...

3) We have strings ""No results found."" (twice) and ""No matches found."" One string would be better instead of three similar strings?

4) String ""Show header text with your image."" is not accurate. You can show header text without header image.",pavelevap
11740,Sorting tags and towns does not work well for utf-8,nbachiyski,I18N,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-01-06T12:42:24Z,2012-09-02T14:25:29Z,"There are problems with sorting special Czech characters:

1) Options - General - Timezone selection.

Evropa (Europe)
First item should be Amsterdam, but instead of it there is ""Řím"" (Rome in Czech). And this is not right, character Ř should be between R and S.

2) Editing posts - Select from most used tags.

You can create tags ""Rome"", ""Amsterdam"" and ""Řím"".
Tags are also sorted in a bad way, first is ""Řím"".
It is very problematic for Czech users when there are many tags, because it does not help them...",pavelevap
23341,Spell checker in the editor shows languages not supported by google spellchecker like hebrew,,I18N,3.5,normal,normal,3.6,defect (bug),reopened,,2013-01-31T13:56:06Z,2013-02-01T05:52:57Z,"The spell checker in the editor uses via tinymce code the google translate service. Problem is that WordPress code assumes that the service supports all languages

{{{
/*
translators: These languages show up in the spellchecker drop-down menu, in the order specified, and with the first
language listed being the default language. They must be comma-separated and take the format of name=code, where name
is the language name (which you may internationalize), and code is a valid ISO 639 language code. Please test the
spellchecker with your values.
*/

$mce_spellchecker_languages = __( 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv' );

/*
The following filter allows localization scripts to change the languages displayed in the spellchecker's drop-down menu.
By default it uses Google's spellchecker API, but can be configured to use PSpell/ASpell if installed on the server.
The + sign marks the default language. More: http://www.tinymce.com/wiki.php/Plugin:spellchecker.
*/
$mce_spellchecker_languages = apply_filters( 'mce_spellchecker_languages', '+' . $mce_spellchecker_languages );
}}}

But google insist that they support only 12 languages http://support.google.com/toolbar/bin/answer.py?hl=en&answer=32703, therefor not any localization can localize it (ok it can, but it is pointless). The end result for hebrew is that any gibberish text thrown at the spell checker returns as good text.

",mark-k
19950,Support the Uyghur translation,,I18N,,lowest,normal,Future Release,defect (bug),new,,2012-02-02T23:23:02Z,2012-06-15T04:17:25Z,"The Uyghur translation (ug_CN) bends over backwards to be compatible with WordPress. Because there is so much going on here, I need to pull it out into its own ticket.

Given the complexities here (I will post a diff shortly), and because they compose about 1/10th of one percent of non-English downloads, I don't see this happening for 3.4.",nacin
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
22812,Tweak the media modal styles for longer strings in ru_RU,,I18N,3.5,normal,normal,3.6,defect (bug),new,has-patch,2012-12-07T15:38:16Z,2012-12-29T06:53:57Z,"1. In Attachment Display Settings, the Alignment dropdown is a bit off.
2. In Gallery settings, the Random checkbox is misaligned.

See the screenshots.",SergeyBiryukov
14981,Two i18n misses,,I18N,3.3.1,normal,normal,Future Release,defect (bug),new,,2010-09-27T23:21:29Z,2012-02-07T22:40:08Z,"1) /wp-admin/nav-menus.php: the ""Most Recent"" string (/wp-admin/includes/nav-menu.php:645) should be separated between the Pages context and the Articles context, since they can take different forms according to the language (i.e.: in French, ""Articles"" is masculine, ""Pages"" is feminine.

2) /wp-admin/edit.php: Same contextual need for ""All"", ""Published"", ""Scheduled"" and the rest of the per-status selector, for posts and articles (and others...). ",xibe
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
13069,Use GlotPress list of locales instead of the one in ms.php,nbachiyski,I18N,3.0,high,minor,Future Release,defect (bug),new,,2010-04-21T11:45:41Z,2010-10-28T07:18:48Z,GlotPress keeps track of all languages and locales with some information about them. The list there is also well maintained.,nbachiyski
20813,_get_plugin_data_markup_translate fails to load plugin translations,,I18N,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2012-06-01T21:22:17Z,2013-05-08T00:49:29Z,"Example Plugin:

{{{
Plugin Name: XYZ
Text Domain: zzz
Domain Path: /lang
}}}

For showing the translated description, _get_plugin_data_markup_translate() will be called.


{{{
function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) {

  // Translate fields
  if ( $translate ) {
    if ( $textdomain = $plugin_data['TextDomain'] ) {
      if ( $plugin_data['DomainPath'] )
        load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) . $plugin_data['DomainPath'] );
}}}

This will call (replaced vars with values):
{{{
load_plugin_textdomain( 'zzz', false, ""/full/path/to/plugin/dir/"" . ""lang"" );
}}}

But load_plugin_textdomain only accepts the subdirectory ""lang"" as the third argument, leading to an incorrect path since WP_PLUGIN_DIR will be put in front.

The fix is to use basename(dirname()) to only get the plugin directory  instead of the full path.",arnee
21616,add-textdomain doesn't conform to WP coding standards,,I18N,,normal,normal,WordPress.org,defect (bug),reopened,,2012-08-17T03:07:19Z,2012-08-17T21:37:50Z,"I used add-textdomain.php from http://i18n.svn.wordpress.org/tools/trunk on my plugin code, but it does not include a space before the closing parenthesis of the gettext function call it alters, which violates http://codex.wordpress.org/WordPress_Coding_Standards#Space_Usage",groovecoder
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
21319,is_textdomain_loaded() returns true even if there are no translations for the domain,nbachiyski*,I18N,3.0,normal,normal,Future Release,defect (bug),accepted,dev-feedback,2012-07-20T03:48:56Z,2012-11-06T23:15:36Z,"#10527 introduced is_textdomain_loaded(). It returns true if load_textdomain() has been called, even if no translations were loaded for that domain. I think it should return false if no translations were loaded. As the documentation says, ""@return bool Whether there are translations"". In this case, no, there are not translations.

Attached patch also does the following:
 * Does not store instances of NOOP_Translations inside the $l10n global. Previously, we instantiated NOOP_Translations once for each domain that was missing translations; since we are no longer storing NOOP_Translations instances inside $l10n, we need to avoid instantiating it for every call to get_translations_for_domain(). Thus, NOOP_Translations is now instantiated only once, using a static variable.
 * Removes by-references for get_translations_for_domain(), which are no longer needed in PHP5.",nacin
14207,"streams.php, POMO_FileReader $length parameter of fread",nbachiyski,I18N,3.0,normal,major,Future Release,defect (bug),assigned,reporter-feedback,2010-07-06T09:30:48Z,2012-01-29T23:08:41Z,"the fread function run with an error, when you have the length-paramter ist 0. This is possible on use WP in local engines and intranet.
Small changes on the function: read in class POMO_FileReader

	function read($bytes) {
		if ( isset($bytes) && ( 0 > $bytes ) )
			return fread($this->_f, $bytes);
		else
			return;
	}",bueltge
12905,the_title_attribute() is hard to internationalize,nbachiyski,I18N,3.0,normal,normal,Future Release,defect (bug),new,,2010-04-07T19:47:17Z,2010-10-01T23:29:44Z,"To internationalize the output of the_title_attribute, you have to go through some hoops.

{{{
printf( esc_attr__( 'Permanent link to %s' ), the_title_attribute( 'echo=0' ) );
}}}

Adding a 'formatted' argument to the args array would clean it up a little.

{{{
the_title_attribute( array( 'formatted' => __( 'Permanent link to %s' ) ) );
}}}

Even better would be if we could auto detect what the first parameter was.

{{{
the_title_attribute( __( 'Permanent link to %s' ) );
}}}

It'd require the function to try and detect if it's first argument were a sprintf format.  Maybe: look for %, if found, does sprintf return a string, if so, go for it.

Attached is one way to implement.",mdawaffe
21444,update msgid-bugs-address for plugins in makepot.php,,I18N,,normal,normal,WordPress.org,defect (bug),new,,2012-08-01T20:09:09Z,2012-08-01T20:16:12Z,"The msgid-bugs-address for plugins in makepot.php is outdated.  References ""/tag/"" instead of ""/support/plugin/"".",convissor
23567,Duplicate entries in IIS tbex.xml,,IIS,3.4,normal,normal,3.6,defect (bug),new,has-patch,2013-02-20T17:39:15Z,2013-02-22T02:40:16Z,There are duplicate entries in the CodeComplete section of the IIS tbex.xml file. This duplicate code causes an assertion error in WebMatrix when new files are opened.,msopentech
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
23533,WordPress doesn't recognize IIS 8.0 (Windows Server 2012) properly,,IIS,3.4,normal,major,3.6,defect (bug),new,has-patch,2013-02-19T16:24:46Z,2013-03-02T20:40:50Z,"WordPress 3.5.1 doesn't recognize IIS 8.0 due to an invalid check in wp-includes/vars.php.

line 99:

{{{
$is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false);
}}}


Now WordPress, hosted on IIS 8.0, can't write a web.config for rewrites.

The check should be extended to include IIS 8.0, and preferably future verions. One more extended check to include IIS 8.0 only, and to patch this bug is:


{{{
$is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') || strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/8.') !== false);
}}}
 
Kind regards,
Jan",JanR
12322,Blog import fails to generate reduced-size images,,Import,,normal,normal,WordPress.org,defect (bug),new,close,2010-02-21T17:14:59Z,2012-02-14T16:25:41Z,"I just imported from http://daveabrahams.wordpress.com (go ahead, try it yourself if you like) and chose to ""Import Attachments.""  The only images from the original site that show up in the result are those that were originally displayed with size-full.  The others need to be regenerated by inserting them freshly. ",daveabrahams
21023,Blogger Importer Draft Status not processed correctly,,Import,3.4,normal,normal,WordPress.org,defect (bug),new,has-patch,2012-06-20T09:48:55Z,2012-06-20T14:57:20Z,"The blogger importer is loading all drafts posts as published and/or scheduled.

This is caused by an incorrect schema used in blogger-importer-blogitem.php.

The correct schema is as follows

{{{
define('SIMPLEPIE_NAMESPACE_ATOMPUB', 'http://purl.org/atom/app#');
}}}

Ref:
* http://wordpress.org/support/topic/plugin-blogger-importer-blogger-draft-status-changed-to-published-in-wp
* https://developers.google.com/blogger/docs/1.0/reference#DraftEntries",Workshopshed
21163,Blogger Importer Invalid Tokens,,Import,,normal,normal,WordPress.org,defect (bug),new,,2012-07-05T11:53:00Z,2012-10-13T19:30:04Z,"When the users clicks on the authorise button google responds with an invalid token error. This is obviously a bit puzzling for the users.

See http://wordpress.org/support/topic/plugin-blogger-importer-invalid-token

The problem seems to be that the form with the authorise button is actually passing blank tokens.

I can't reproduce the problem but I've reproduced their symptoms by switching the URL in get_oauth_link to a non existant one. This returns blank tokens to the form. If you then submit that form you get the invalid token error.

Although this following patch is not actually a fix, we can report the error properly with a change to get_oauth_link and greet and hence it will be easier to diagnose issues.

{{{
       // Shows the welcome screen and the magic auth link.
        function greet()
        {
            $next_url = get_option('siteurl') . '/wp-admin/index.php?import=blogger&amp;noheader=true';
            $auth_url = $this->get_oauth_link();
            $title = __('Import Blogger', 'blogger-importer');
            $welcome = __('Howdy! This importer allows you to import posts and comments from your Blogger account into your WordPress site.', 'blogger-importer');
            $prereqs = __('To use this importer, you must have a Google account and an upgraded (New, was Beta) blog hosted on blogspot.com or a custom domain (not FTP).', 'blogger-importer');
            $stepone = __('The first thing you need to do is tell Blogger to let WordPress access your account. You will be sent back here after providing authorization.', 'blogger-importer');
            $auth = esc_attr__('Authorize', 'blogger-importer');
            $errormsg = __('Error occurred getting OAuth tokens from Google', 'blogger-importer')

            echo ""
		<div class='wrap'>
		"" . screen_icon() . ""
		<h2>$title</h2>
		<p>$welcome</p><p>$prereqs</p><p>$stepone</p>"";
        
            if (!is_wp_error($auth_url)) {
		    echo ""<form action='{$auth_url['url']}' method='get'>
				<p class='submit' style='text-align:left;'>
					<input type='submit' class='button' value='$auth' />
					<input type='hidden' name='oauth_token' value='{$auth_url['oauth_token']}' />
					<input type='hidden' name='oauth_callback' value='{$auth_url['oauth_callback']}' />
				</p>
			</form>
		</div>\n"";
            }
            else {
                    echo $errormsg;
                    echo '<pre>
                    '.$auth_url->get_error_message().'
                    </pre>' ;
            }
        }

        function get_oauth_link()
        {
            // Establish an Blogger_OAuth consumer
            $base_url = get_option('siteurl') . '/wp-admin';
            $request_token_endpoint = 'https://www.google.com/accounts/OAuthGetRequestToken';
            $authorize_endpoint = 'https://www.google.com/accounts/OAuthAuthorizeToken';

            $test_consumer = new Blogger_OAuthConsumer('anonymous', 'anonymous', null); // anonymous is a google thing to allow non-registered apps to work

            //prepare to get request token
            $sig_method = new Blogger_OAuthSignatureMethod_HMAC_SHA1();
            $parsed = parse_url($request_token_endpoint);
            $params = array('callback' => $base_url, 'scope' => 'http://www.blogger.com/feeds/', 'xoauth_displayname' => 'WordPress');

            $req_req = Blogger_OAuthRequest::from_consumer_and_token($test_consumer, null, ""GET"", $request_token_endpoint, $params);
            $req_req->sign_request($sig_method, $test_consumer, null);

            // go get the request tokens from Google
            $req_response = wp_remote_get($req_req->to_url(), array('sslverify' => false));
            if (is_wp_error($req_response))
            {
                return $req_response;
            }
            $req_token = wp_remote_retrieve_body($req_response);

            // parse the tokens
            parse_str($req_token, $tokens);

            $oauth_token = $tokens['oauth_token'];
            $oauth_token_secret = $tokens['oauth_token_secret'];

            $callback_url = ""$base_url/index.php?import=blogger&noheader=true&token=$oauth_token&token_secret=$oauth_token_secret"";

            return array('url' => $authorize_endpoint, 'oauth_token' => $oauth_token, 'oauth_callback' => $callback_url);
        }
}}}

p.s. Sorry I've still not mastered DIFF!",Workshopshed
8578,Blogger import incorrectly reports saved user information,,Import,,normal,normal,WordPress.org,defect (bug),new,,2008-12-11T16:53:52Z,2011-09-16T03:52:31Z,"I installed a fresh copy of WordPress 2.7 and was importing content from a Blogger site.  Before beginning to import, the page claimed that Blogger account information was saved in the database and that I could restart the process.  Even after pressing the ""Clear account information"" button, the message still appeared.",covert215
6369,Blogger importer inefficient handling of data,,Import,,normal,normal,WordPress.org,defect (bug),new,,2008-03-24T03:58:47Z,2013-04-08T17:04:48Z,"If the import dataset is large, the Blogger importer can store huge amounts of data in the blogger_importer option.  It then updates this data over and over throughout the import. If MySQL logging (binary or query) is enabled, this can result in a large amount of data being written to disk, potentially filling up the partition rather quickly.  On WordPress.com, I have seen an import write 100MB of binary logs every 2 min.  Andy's suggestion is that we split up the data from the import rather than store it in one option.  This would allow us to manipulate it more granularly and prevent the huge updates from happening.",barry
17120,Class WP_Importer references STDIN which is not available in Web Environments,,Import,3.0,low,minor,Future Release,defect (bug),new,,2011-04-13T09:58:12Z,2011-04-13T09:58:12Z,"STDERR is not defined in web environments (only certain CLI environments), you can call fopen('php://stderr'); directly, however this is not delivered to browsers.

Since this is in the Multisite code, CLI imports might be more common, but it's not a given that multisite imports will not be run from the web either.

Code ref:
http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/class-wp-importer.php#L128
{{{
126	                        $blog = 'http://' . preg_replace( '#^https?://#', '', $blog_id );
127	                        if ( ( !$parsed = parse_url( $blog ) ) || empty( $parsed['host'] ) ) {
128	                                fwrite( STDERR, ""Error: can not determine blog_id from $blog_id\n"" );
129	                                exit();
130	                        }
131	                        if ( empty( $parsed['path'] ) )
132	                                $parsed['path'] = '/';
133	                        $blog = get_blog_details( array( 'domain' => $parsed['host'], 'path' => $parsed['path'] ) );
134	                        if ( !$blog ) {
135	                                fwrite( STDERR, ""Error: Could not find blog\n"" );
136	                                exit();
137	                        }
}}}

I'm unsure of the best way to tackle this, Ideally in a CLI environment we want the error outputs going to STDERR, but since that's not available or visible to web browsers, wp_die() would be a better choice.

One potential method would be to direct wp_die() to STDERR in CLI environments - That might cause problems with the test suite however (I'm unsure)",dd32
15034,DotClear Importer doesn't work with DotClear version 2.2.x,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2010-10-05T00:28:01Z,2011-01-13T06:33:10Z,"This was reported to me by Benjamin GIGON. He has provided a patch, but I am not able/unsure how to test it.",briancolinger
23482,Fix improper use of comment_exists() in some importers,,Import,,normal,normal,WordPress.org,defect (bug),new,,2013-02-15T18:49:18Z,2013-02-15T18:49:18Z,"Background: #20494

DotClear Importer and TextPattern Importer treat the returned comment post ID as a comment ID: [[BR]]
http://plugins.trac.wordpress.org/browser/dotclear-importer/trunk/dotclear-importer.php#L416 [[BR]]
http://plugins.trac.wordpress.org/browser/textpattern-importer/trunk/textpattern-importer.php#L429",SergeyBiryukov
16445,Fix incompatibilities with IDs greater than 2^31,,Import,3.1,normal,normal,Future Release,defect (bug),new,,2011-02-03T01:03:24Z,2012-12-10T12:57:11Z,"For various reasons, things go bad when you get a post ID greater than 2^31^. When we're importing content and there's an existing ID, I suggest we ignore it if possible if it's too big.

Tumblr2WordPress for example maintains the Tumblr IDs and causes problems in WordPress.",Viper007Bond
16420,"Flawed Blogger import, no details",,Import,3.1,normal,normal,WordPress.org,defect (bug),new,,2011-01-31T05:44:08Z,2012-10-13T19:08:52Z,"Did a Blogger import, showed as finished when it had imported 625/626 posts and 685/685comments. Did not give any indication as to why one post was not imported, which one it was, anything. Gah. Need to put in a feedback mechanism for this type of situation. ",jane
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
16012,Importer descriptions i18n,nacin*,Import,3.1,normal,normal,WordPress.org,defect (bug),accepted,has-patch,2010-12-28T18:41:00Z,2012-06-13T19:07:36Z,"At first I've tried to create a ticket on http://plugins.trac.wordpress.org/, but none of the importers are present in the Component dropdown. So I've decided to try it here.

As [http://wppolyglots.wordpress.com/2010/12/28/hello-another-string-which-i-couldnt/ noted by Rasheed Bydousi on WP Polyglots], importer descriptions are displayed in English. The problem is that `register_importer()` function is called before the language file is loaded.

I've created patches for all the importers. I've also changed `init` action to `admin_init`, which seems to have more sense in this case.",SergeyBiryukov
24221,Importer doesn't import properly,,Import,3.5,normal,normal,WordPress.org,defect (bug),new,,2013-04-29T12:03:24Z,2013-04-29T12:13:19Z,"This is what [Tools > Export] generated:
{{{
	<item>
		<title>Example</title>
		<link>http://example.com/?page_id=4477</link>
		<pubDate>Sun, 03 Feb 2013 12:10:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		<guid isPermaLink=""false"">http://example.com/?page_id=4477</guid>
		<description></description>
		<content:encoded><![CDATA[something at the beginning

<div class=""container"" style=""padding: 3em 0 0 0; margin: 0 0 3em 0; background-color: rgba(195, 195, 195, 0.15);"">
	<h2>Heading</h2>
	<p>Paragraph</p>
</div>

something in the end]]></content:encoded>
		<excerpt:encoded><![CDATA[]]></excerpt:encoded>
		<wp:post_id>4477</wp:post_id>
		<wp:post_date>2013-02-03 12:10:10</wp:post_date>
		<wp:post_date_gmt>2013-02-03 12:10:10</wp:post_date_gmt>
		<wp:comment_status>closed</wp:comment_status>
		<wp:ping_status>closed</wp:ping_status>
		[...]
	</item>
}}}

And now, when I try to import that (exactly in unmodified form) it strips 

{{{
style=""padding: 3em 0 0 0; margin: 0 0 3em 0; background-color: rgba(195, 195, 195, 0.15);""
}}} 

part in some places but not all (I guess this is important)!

And it doesn't strip it when I go to [Pages > Example] and switch to ""Visual"" editor or update the page. It is imported this way (already wrong).

I'm absolutely sure that this happens, tested several times and I can't find an error or explanation.

Export file: UNIX, UTF-8 w/o BOM.

Importer Version: 0.6
Plugin URL: http://wordpress.org/extend/plugins/wordpress-importer/

I've seen a couple of issues related to ""update_post_meta"" that is stripping quotation marks etc. Maybe this is related.

Installation: WPMU (unfiltered_html is probably disabled because it's non-super-admin blog).",Looimaster
12036,"Importing from wordpress exported file renders ""Remote file is incorrect size"" because file cache",,Import,2.8.6,normal,normal,WordPress.org,defect (bug),new,dev-feedback,2010-01-26T14:43:08Z,2010-10-18T16:49:10Z,"Hi,

I haven't confirmed this on other platforms, but my OS X machine seem to have an issue when downloading media content from a third party during an import of an wordpress.xml. And by quickly searching the net it seems other people have the same issue.

I've re-run the same import several times and it seem because the file was not flushed it may not have been updated with the file correct size. So even thought all bytes was written, the filesize($upload['file']) is not the same. When thinking about the issue I found the check ridiculously and removed it. Importing then works and all media images are downloaded properly. Previously maybe 50% received the error.

I've attached my proposed diff.",stelund
9678,Importing of plain RSS looses descriptions with xml:lang,,Import,2.7.1,normal,normal,WordPress.org,defect (bug),new,reporter-feedback,2009-04-29T08:24:49Z,2012-09-09T22:19:29Z,"When importing from a generic RSS feed the import function looses <description> if there is an xml:lang attribute. The imported posts will be empty.

xml:lang is a valid attribute for description to denote the language used in the article.",dr_touch
21007,Importing omits backslashes,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2012-06-18T08:11:16Z,2012-06-18T12:10:13Z,"If you try to import a previously-exported post containing backslashes, those backslashes will be omitted during the import process.",SeMeKh
17191,Importing the same content duplicates your custom menus,duck_,Import,3.1,normal,minor,WordPress.org,defect (bug),reviewing,,2011-04-20T15:03:40Z,2012-09-12T03:47:39Z,"When I import from one site to another, the importer will notify you if you have duplicate posts but will not import them, as expected, but it does duplicate your custom menu's.

I'm not sure if this is the desired result.",zanematthew
19764,Invalid JSON in custom fields meta value after export,,Import,3.3.1,normal,normal,WordPress.org,defect (bug),new,,2012-01-06T17:13:07Z,2012-09-10T10:12:22Z,"Hey there,

I exported a working copy of my online WordPress site to a local copy and noticed that the code gets changed; The backslash is removed which causes the json format to be invalide.
Original code in the custom fields meta

{{{
{""videos"":{""0"":""<iframe width=\""480\"" height=\""360\"" src=\""http://www.youtube.com/embed/YAozOaxXYx4\"" frameborder=\""0\"" allowfullscreen></iframe>""}}
}}}

Becomes in the local site after import 
 
{{{
{""videos"":{""0"":""<iframe width=""480"" height=""360"" src=""http://www.youtube.com/embed/YAozOaxXYx4"" frameborder=""0"" allowfullscreen></iframe>""}}
}}}
",abdessamad idrissi
5842,LJ import gets time zone wrong,,Import,,normal,normal,WordPress.org,defect (bug),new,close,2008-02-13T18:17:09Z,2011-09-16T03:55:09Z,"LJ's export format has all dates in GMT, but the wordpress LJ importer treats them as local time.  ",novalis_dt
15760,"LiveJournal Importer mishandles some <lj-cut> and <lj user=""""> expressions",westi,Import,,normal,normal,WordPress.org,defect (bug),assigned,,2010-12-10T04:45:17Z,2011-02-19T18:52:42Z,"There is a note on plugins.trac ticket 1231 that says this should be handled in core.trac instead, so I'm cross-posting it here. The patch and ticket were originally added by a-bishop: 
http://plugins.trac.wordpress.org/ticket/1231

Reproduction steps: 1. Create a LiveJournal? entry that has <lj user=""foo"" /> in it. Note that this is XML-ish 2. Try to use the livejournal-importer on this post.

Bug The <lj user=""foo"" /> gets ignored because the regular expression is too strict.

I've attached a patch that makes LiveJournal? Importer recognize the XML-ish version.

Patch:[[BR]]
http://plugins.trac.wordpress.org/attachment/ticket/1231/livejournal-importer.patch",designsimply
12885,LiveJournal importer uses GMT date/time as local date/time,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2010-04-07T02:07:25Z,2011-01-26T10:29:09Z,"The LiveJournal importer takes a comment's date/timestamp, which is in GMT, and inserts it into the database as the comment's local date/timestamp. In my timezone (U.S. Central, DST), a comment posted at 12:00pm local time (5:00pm GMT) will be imported to the database as having been posted at 5:00pm local time (10:00pm GMT).

I've attached a patch that I've successfully tested on Wordpress 2.9.2, and it appears to be easily ported to trunk. One caveat: it appears that there are two timezone settings in the Wordpress database (timezone_string and gmt_offset), but as my database has no value for gmt_offset, I don't know if I need to account for that, nor can I test that.",kurtmckee
16183,MT Importer doesn't honor default article comment settings,,Import,3.0.4,normal,normal,WordPress.org,defect (bug),new,,2011-01-10T23:00:38Z,2011-01-11T23:22:45Z,"I have a blog on a network that has '''Allow people to post comments on new articles''' and '''Allow link notifications from other blogs (pingbacks and trackbacks.)''' unchecked in '''wp-admin/options-discussion.php'''. The intent is to disable comments and trackbacks, and I can confirm this is happening for new posts when I do '''Post''' > '''Add New'''.

However, the MT Importer doesn't honor this configuration. All imported MT posts have comments enabled.",novasource
16147,"MT Importer truncates double vertical spaces, munging paragraphs together",,Import,3.2.1,normal,major,WordPress.org,defect (bug),reopened,,2011-01-07T22:25:47Z,2011-08-24T06:20:05Z,"Movable Type 3.x-era exports don't use '''<p>''' tags. Like TinyMCE (and WordPress), a '''<p>''' in final rendered code is represented by two '''\n'''s in a row.

The importer strips out double '''\n'''s and replaces with a single '''\n'''. This causes paragraphs to lose their distinction upon import.

It does this because the '''$line''' variable was created by '''$line = $this->fgets($handle)''' (line 339). Then '''$line = trim($line)''' (line 340) strips out several characters, including '''\n'''.

Lines 455 and 456 add back the '''\n''' ''except'' on blank lines:
{{{
   if( !empty($line) )
   $line .= ""\n"";
}}}

So if a '''$line''' was nothing but a '''\n''', it's stripped by the '''trim''' function and becomes a 0 character line. Then the '''if( !empty($line) )''' declines to add back a '''\n'''.

Somehow this needs to be altered so that successive '''\n'''s aren't stripped. Otherwise paragraphs get vertically munged together.",novasource
18602,"Media Library imported, but all items Unattached",,Import,3.2.1,normal,normal,WordPress.org,defect (bug),new,reporter-feedback,2011-09-06T10:10:18Z,2012-09-10T10:15:41Z,"Export XML file from one site, import into another site. By checking ""Download and import file attachments"", files from wp-content/uploads are downloaded correctly to the new site, and added to Media Library. However all items in the Media Library are now ""Unattached"", and for example posts using [gallery] are broken on the new site. ",awallin
22171,Merge Blogger Importer description strings,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2012-10-12T00:47:35Z,2012-10-15T06:37:57Z,"In Blogger Importer 0.4, the description strings were:

* ""Import posts, comments, tags, and attachments from a Blogger blog."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.4/blogger-importer.php#L5
* ""Import posts, comments, and users from a Blogger blog."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.4/blogger-importer.php#L914

In Blogger Importer 0.5:
* ""Import posts, comments and tags from a Blogger blog and migrate authors to Wordpress users."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.5/blogger-importer.php#L5
* ""Import categories, posts and comments then maps users from a Blogger blog."" [[BR]]
 http://plugins.trac.wordpress.org/browser/blogger-importer/tags/0.5/blogger-importer.php#L1026

The core still says:
* ""Install the Blogger importer to import posts, comments, and users from a Blogger blog."" [[BR]]
 http://core.trac.wordpress.org/browser/tags/3.4.2/wp-admin/import.php#L35

I guess we should merge the strings or at least fix the capital P.",SergeyBiryukov
9820,Multiple newlines stripped from within MT import files,,Import,2.7.1,normal,normal,WordPress.org,defect (bug),new,,2009-05-14T11:03:43Z,2012-05-24T22:33:01Z,"When I imported entries from my old MT blog into a new Wordpress install, I expected my multiple newlines to be preserved.  This is because MT uses them to form paragraphs; the Markdown or Text Control plugins can do the same in Wordpress, but either way, if you strip them out, you get a huge bundle of text which is difficult to read.

The problem appears to be in the wp-admin/import/mt.php file, which ignores blank lines regardless of context.  If a newline were added in the event of a blank line when the context was body, comment, extended or excerpt, the newlines would be preserved.  The attached patch fixes this.",IndigoJo
10947,Problem on import <embed> codes on mt.php script,Edgar Gabaldi,Import,2.8.4,normal,normal,WordPress.org,defect (bug),new,,2009-10-12T16:59:13Z,2012-05-24T22:33:11Z,"I'm having trouble making the import of a file exported by CMS Movable Type.

All posts, categories, comments, users are imported correctly. The problem is that there are blocks of code in posts with the tag <embed> that are not being imported.",edgabaldi
10259,Problem with dotclear import,,Import,2.8,normal,normal,WordPress.org,defect (bug),new,reporter-feedback,2009-06-24T09:34:07Z,2011-09-16T03:55:46Z,"To the point translation:

Dotclear categories are imported but not assigned to the posts. 

----

Bonjour,
>
>>
>
>> Ayant souhaité le passage de mon blog dotclear en wordpress, j’ai 
>> donc
>
>> utilisé votre module d’import dans l’interface d’administration.
>
>> J’ai rencontré le problème suivant :
>
>> -          les catégories des mes billets étaient bien importées
>
>> mais n’étaient pas liées à ces derniers.
>
>>
>
>> J’ai donc contacté votre staff par l’intermédiaire de votre site mais
>
>> sans succès.
>
>>
>
>> J’ai du coup développé un petit fichier php pour résoudre mon
>
>> problème.
>> Les versions utilisées pour mon développement :
>
>> -          WORDPRESS 2.8
>
>> -          DOTCLEAR 1.2.7.1

",latour.alain@…
6269,RSS Import Doesn't Properly Strip CDATA Tags,,Import,2.3.3,low,minor,WordPress.org,defect (bug),new,dev-feedback,2008-03-18T00:58:13Z,2012-09-10T16:37:33Z,"When importing an RSS feed that uses the <description> tag as opposed to <content:encoded>, I noticed that WP's RSS import doesn't strip the CDATA tags as it does for the <content:encoded>.

=========Code Lines (83-87)===============
{{{
if (!$post_content) {
// This is for feeds that put content in description
preg_match('|<description>(.*?)</description>|is', $post, $post_content);
$post_content = $wpdb->escape($this->unhtmlentities(trim($post_content[1])));
}
}}}
=====================================

I tweaked the code to solve the problem (see below)

==========Tweaked Code===============

{{{
if (!$post_content) {
// This is for feeds that put content in description
preg_match('|<description>(.*?)</description>|is', $post, $post_content);
$post_content = str_replace(array ('<![CDATA[', ']]>'), '',$wpdb->escape($this->unhtmlentities(trim($post_content[1]))));
}
}}}

======================================

I'd be happy to submit a patch, except I'm not quite that savvy yet. It would be great it someone could incorporate it. Thanks.",sweetdeal
13313,"WP import: ""Upload file and import"" should be deactivated until a filename is entered",,Import,3.0,low,minor,WordPress.org,defect (bug),new,has-patch,2010-05-09T22:10:55Z,2012-10-31T16:15:09Z,"WP import: ""Upload file and import"" should be deactivated until a filename is entered

ENV: WP trunk 3.0-beta2-14526 [[br]]
Mac OS / Firefox 3.6.3

== Additional Details ==

Same issue with wp-admin/media-new.php (browser upload)

",lloydbudd
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
22082,WordPress Import Tool looses the complete category hierachical structure,,Import,3.4.2,normal,normal,WordPress.org,defect (bug),new,,2012-10-03T01:53:05Z,2012-10-05T13:49:54Z,"I have exported from my local laptop wordpress installation the posts I had. They have the following structure with categories:


{{{
language  --> main category, parent
- source language   --> for example AF
-- target language  --> for example AFAR for Africans to Arabics
--- lessons
----- lesson 1      --> up to 100 lessons entries 
-- next target language
}}}

and so on

this complete structure is lost after import - they are all changed to parent categories no single child category.
I will attach the export file.",christian_gnoth
21597,WordPress Importer $base_url index failed,,Import,3.4.1,normal,minor,WordPress.org,defect (bug),new,has-patch,2012-08-15T18:30:11Z,2012-09-10T10:03:12Z,"When XRS file without the site url tag is imported, it throws a notice. This patch allow people to upload hand-made and not-attached-to-any-site XRS file.

I came across creating a XRS file to import names of cities from Portugal to a specific custom taxonomy to some sites. This can reflect the necessity of this patch.",lightningspirit
24373,WordPress Importer - Strict Standards compatibility,,Import,trunk,normal,normal,WordPress.org,defect (bug),new,,2013-05-20T19:02:00Z,2013-05-20T20:15:46Z,"I am seeing the following errors on wp-admin/import.php, running 3.6-beta3-24300 and PHP 5.4.7, in my single and multisite test installs:

'''Strict Standards:''' Redefining already defined constructor for class WXR_Parser_Regex in xxxxx\wp-content\plugins\wordpress-importer\parsers.php on line 408

'''Strict Standards:''' Declaration of WP_Import::bump_request_timeout() should be compatible with WP_Importer::bump_request_timeout($val) in xxxxx\wp-content\plugins\wordpress-importer\wordpress-importer.php on line 38
",kpdesign
16404,WordPress Importer fails to import images,,Import,3.0.4,normal,normal,WordPress.org,defect (bug),new,reporter-feedback,2011-01-29T00:42:28Z,2012-09-10T10:13:44Z,"WordPress Importer fails to import images and update image src urls when download and import file attachments is checked.

WordPress MS with images in a post via Media using WP image mapping, e.g. image url: http://site.domainname.com/files/2011/01/myimage.jpg
Fails to download, import and update image src url. All image src urls remain intact from the old domain name.

If you change the image source to specific directory rather than the WP uploads directory: e.g. image url:
http://site.domainname.com/images/myimage.jpg
Images are downloaded and imported to media but it fails to update image src url in posts. All image src urls in posts remain intact from the old domain name.

I tested this on clean install of WP 3.0.4 MultiSite with TwentyTen theme and no other plugins activated.",wlpdrpat
23276,WordPress Importer: Update existing navs instead of new,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2013-01-23T17:00:06Z,2013-01-25T02:41:23Z,"A possible solution (reuses logic present in the code):
{{{
$menu_item_db_id = (int) $item['post_id'];
$original_object = get_post( $menu_item_db_id );
if ( is_null( $original_object ) )  {

	$post_parent = (int) $item['post_parent'];
	if ( $post_parent ) {
		// if we already know the parent, map it to the new local ID
		if ( isset( $this->processed_posts[$post_parent] ) ) {
			$post_parent = $this->processed_posts[$post_parent];
		// otherwise record the parent for later
		} else {
			$this->post_orphans[intval($post['post_id'])] = $post_parent;
			$post_parent = 0;
		}
	}

	// map the post author
	$author = sanitize_user( $item['post_author'], true );
	if ( isset( $this->author_mapping[$author] ) )
		$author = $this->author_mapping[$author];
	else
		$author = (int) get_current_user_id();

	$postdata = array(
		'import_id' => $item['post_id'],
		'post_author' => $author,
		'post_date' => $item['post_date'],
		'post_date_gmt' => $item['post_date_gmt'],
		'post_content' => $item['post_content'],
		'post_excerpt' => $item['post_excerpt'],
		'post_title' => $item['post_title'],
		'post_status' => $item['status'],
		'post_name' => $item['post_name'],
		'comment_status' => $item['comment_status'],
		'ping_status' => $item['ping_status'],
		'guid' => $item['guid'],
		'post_parent' => $post_parent,
		'menu_order' => $item['menu_order'],
		'post_type' => $item['post_type'],
		'post_password' => $item['post_password']
	);
	$menu_item_db_id = wp_insert_post( $postdata, true );

	if ( is_wp_error( $menu_item_db_id ) ) {
		$post_type_object = get_post_type_object( $item['post_type'] );
		printf( __( 'Failed to import %s “%s”', 'wordpress-importer' ),
			$post_type_object->labels->singular_name, esc_html($item['post_title']) );
		if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
			echo ': ' . $post_id->get_error_message();
		echo '<br />';
	}
}

$id = wp_update_nav_menu_item( $menu_id, $menu_item_db_id, $args );
}}}",WraithKenny
23275,WordPress Importer: line-ending mismatch corrupts serialized meta,,Import,,normal,normal,WordPress.org,defect (bug),new,has-patch,2013-01-23T16:56:04Z,2013-01-25T02:36:14Z,"A possible solution:
{{{
if ( $key ) {
	// export gets meta straight from the DB so could have a serialized string
	if ( ! $value )
		$value = maybe_unserialize( $meta['value'] );
	// Occationally, line-endings break unserialize()
	if ( empty( $value ) ) // Try normalizing...
		$value = maybe_unserialize( str_replace( array(""\r\n"", ""\r"", ""\n""), ""\r\n"", $meta['value'] ) );
	if ( empty( $value ) ) // Adjust string length if needed
		$value = maybe_unserialize(
			preg_replace( // e flag deprecated in PHP 5.5.0 I think
				'!s:(\d+):""(.*?)"";!se',
				""'s:'.strlen('$2').':\""$2\"";'"",
				$meta['value']
			)
		);

	add_post_meta( $post_id, $key, $value );
	do_action( 'import_post_meta', $post_id, $key, $value );

	// if the post has a featured image, take note of this in case of remap
	if ( '_thumbnail_id' == $key )
		$this->featured_images[$post_id] = (int) $value;
}
}}}",WraithKenny
12286,bug and fix when importing from Movable Type,,Import,,normal,normal,WordPress.org,defect (bug),new,,2010-02-19T13:26:59Z,2010-10-30T18:44:11Z,"I'm running WP Mu 2.9.1.1 and had a problem importing a Movable Type blog to WP and found a fix (sort of).

Symptom: When importing a blog from Movable Type to a blog in WP, you are asked to assign (or map) WP authors to MT authors. But, it turns out that the first author on the list is assigned to all posts. The other authors selected are neglected. Therefore, all of the posts end up belonging to one author.

Fix: I found the problem in wp-admin/import/mt.php. Specifically, ""$mtnames"" is not properly populated with authors from MT. So, I changed the code in function get_authors_from_post() as follows:

function get_authors_from_post() {
$formnames = array ();
$selectnames = array ();
$this->mtnames = $this->get_mt_authors();

I just added the last line shown above and then finally the import properly assings authors as intended.
(There might be a better place to put the last line, however.)
",leyburn888
8877,dotclear import don't set the post category,westi*,Import,,low,normal,WordPress.org,defect (bug),accepted,,2009-01-17T22:05:20Z,2012-05-24T22:32:57Z,"when importing from dotclear, all the posts are set only to the default category.

i think the problem is due to the fact that wp_set_post_categories do nothing if we pass it only one category (don't know why...)

( in /wp-admin/import/dotclear.php, line 479 )
{{{
				// Make Post-to-Category associations
				$cats = array();
				$category1 = get_category_by_slug($post_cat_name);
				$category1 = $category1->term_id;
}}}

should be 
{{{
				// Make Post-to-Category associations
				$cats = array(get_option('default_category'));
				$category1 = get_category_by_slug($post_cat_name);
				$category1 = $category1->term_id;

}}}
",olivM
15586,"movabletype-importer, trivial: fix no index upload_type warning",,Import,3.1,low,minor,WordPress.org,defect (bug),new,has-patch,2010-11-26T00:43:46Z,2010-12-11T14:06:54Z,"movabletype-importer, trivial: fix no index upload_type warning

ENV: http://plugins.svn.wordpress.org/movabletype-importer/trunk r315664",lloydbudd
10260,problem img links after import dotclear,,Import,2.8,normal,normal,WordPress.org,defect (bug),new,reporter-feedback,2009-06-24T09:48:17Z,2012-09-10T09:43:28Z,"J'ai développé un fichier PHP pour changer le chemin des images car dans un billet, le chemin était celui du blog dotclear après l'import dans wordpress

---

Translation:

I wrote a php file that changes the image links in posts after a dotclear import. The posts were imported with references to their dotclear location.",latour.alain@…
15217,wp importer trunk regression: no longer accepts gz files,duck_,Import,3.1,normal,normal,WordPress.org,defect (bug),reopened,,2010-10-26T04:16:21Z,2010-10-26T18:41:24Z,"wordpress-importer trunk r304267 no longer accepts gzipped WXR files.

This is a regression from the current wordpress-importer importer, v0.2 .

== Actual Results ==

""Sorry, there has been an error.
There was an error when reading this WXR file""

== Environment ==

WordPress Trunk r14360 (3.1-alpha) [[br]]
wordpress-importer trunk [http://plugins.trac.wordpress.org/browser/wordpress-importer/trunk r304267]

== Additional Details ==

Relates to #15197  ""WXR export/import umbrella ticket""

I notice that same error message ""There was an error when reading this WXR file"" is in two parts of the source. It might be better to make each error message more unique and add additional details.",lloydbudd
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
20495,Update phpDoc to reflect post id or object is valid,,Inline Docs,3.3.1,normal,trivial,Future Release,defect (bug),new,,2012-04-20T14:48:38Z,2013-05-14T13:24:11Z,"Many functions use `get_post()` and do so by simply passing along one of their own arguments (typically a post ID). Since `get_post()` accepts either a post ID or a post object, those functions therefore can (and do) also accept either type of value for the argument.

The phpDoc for many of the functions simply indicate a post ID is valid. The attached patch amends the `@param` doc entry for the relevant arguments to indicate either a post ID or post object is valid. (There are places where `get_post()` is used but the int arg is otherwise used in the function as an int -- I've skipped those since they don't really accept a post object.)



",coffee2code
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
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
15281,Arin whois link is borked,,Mail,,lowest,normal,Future Release,defect (bug),new,has-patch,2010-11-01T21:33:14Z,2011-03-18T20:33:11Z,"http://ws.arin.net/cgi-bin/whois.pl?queryinput=72.233.56.138

I am tempted to propose an api.wordpress.org service, that way these links will never break, but more importantly because arin.net is one of like 7 services based on global regions, and requesting an Asian IP through arin.net doesn't work.

An IP/geo lookup in core would be prohibitive, but if we still want to keep a link (beyond the IP), then we could do this.

On the other hand, IP addresses are becoming less meaningful. Should we just kill the link?",nacin
12584,Emails from WordPress Admin are html encoded,,Mail,2.9.2,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-11T16:41:17Z,2012-07-03T16:55:00Z,"When a comment form is filled out that contains characters that are candidate for html encoding in the display of the comment on the web site, those comments are also html encoded in the display of the notification email send to the author.

Example comment left on my WordPress install:
Ampersand: &
Quote: ""
Registered: ®

Resulting email notification:
{{{
New comment on your post #168 ""Prevent iTunes from creating unnecessary clutter and cruft""
Author : --
E-mail : --
URL    : 
Whois  : --
Comment: 
Ampersand: &amp;
Quote: ""
Registered: ®
}}}

You can see all comments on this post here: 
http://example.com/prevent-itunes-from-unnecessary-clutter-and-cruft/#comments

Delete it: http://example.com/wp-admin/comment.php?action=cdc&c=xxxx
Spam it: http://example.com/wp-admin/comment.php?action=cdc&dt=spam&c=xxxx

It appears that only the ampersand has this issue.  I am not sure if it also applies to the subject of the email, but can confirm it applies to the body of the email.

The email headers show it was sent as plain text:
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=""UTF-8""",hexley
6829,FromName causing emails not to send using Windows,,Mail,2.5,normal,normal,Future Release,defect (bug),new,,2008-04-23T17:57:25Z,2010-05-24T07:52:50Z,"I have a fresh install of 2.5, but was not getting any user/password related emails.  I tracked this down to line 352 of pluggable.php which sets the FromName on the $phpmailer object.  When this value is set, it causes email to be lost.  When this value is set to null, then the email sends correctly.

php.ini is setup to use a remote SMTP server:

{{{
[mail function]
; For Win32 only.
SMTP = 127.0.0.1
smtp_port = 25
}}}

Here is the modified code:


{{{
// Set the from name and email
  $phpmailer->From = apply_filters( 'wp_mail_from', $from_email );
  $phpmailer->FromName = null; // <== this line changed
}}}


",mrtwice99
21738,PHPMailer fourth argument '-oi' does not work with some hosts with safe_mode off,,Mail,3.4.1,normal,minor,Future Release,defect (bug),new,,2012-08-30T13:56:54Z,2012-09-19T21:15:58Z,"See also #20970

Some hosts (e.g. TransIP) do not accept the '-oi' parameter in the fourth argument for mail() even when safe_mode is off.
The result is that no mail can be sent through !WordPress on these hosts.

Changeset [21129] provides a partial fix when either safe_mode is off, or no sender is defined.

The parameter seems to be unnecessary, therefore it is recommended to remove this parameter. In version 3.4 and 3.4.1, it is in lines 740 and 742 of file wp-includes/class-phpmailer.php
",Keeslavin
10587,POP3 class does not differentiate between 0 messages and failure to login,,Mail,2.9,normal,normal,Future Release,defect (bug),new,close,2009-08-11T15:41:20Z,2011-04-07T13:51:40Z,"The login function in wp-includes/class-pop3.php states that it returns false on failure, but it also returns false if there are no messages. These should be 2 different scenarios. I have fixed the problem. Here is an svn diff:

{{{
$ svn diff ../../../wp-includes/class-pop3.php
Index: ../../../wp-includes/class-pop3.php
===================================================================
--- ../../../wp-includes/class-pop3.php (revision 11572)
+++ ../../../wp-includes/class-pop3.php (working copy)
@@ -212,7 +212,8 @@
                 return false;
             } else {
                 $count = $this->pass($pass);
-                if( (!$count) || ($count == -1) ) {
+                if( ($count===false) || ($count == -1) ) {
+                echo ""count=$count\n"";
                     //  Preserve the error generated by last() and pass()
                     return false;
                 } else
}}}


",robfelty
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
22837,"WP Needs to Set ""Sender"" and ""Reply-To"" or DKIM/DMARC will not work using wp-mail (via PHPMailer)",,Mail,3.4.2,normal,normal,Future Release,defect (bug),new,,2012-12-09T17:23:48Z,2013-01-24T03:58:25Z,"I notice that for DKIM to function (while using DMARC) correctly for outgoing mail the PHPMailer object needs to make sure the Sender and Reply-To fields match the ""From"" field otherwise the ""Return-Path"" header uses the server it is sending from causing a mismatch.  When this happens DKIM fails authentication on the receiver side because it is not added to outgoing mail.

I tried adding the reply-to and sender header manually to wp_mail() but it did not work.  One had to do the following:

Right now i have to manually modify the /wp-includes/pluggable.php file in the wp_mail() function to include:

{{{
	if (strlen($phpmailer->Sender)==0)
	{
		$phpmailer->Sender = $phpmailer->From;
		$phpmailer->AddReplyTo($phpmailer->From);
	}
}}}

This resolves the problem and DKIM works again.
",kellogg9
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
23642,wp_mail() returns true if sending failed,,Mail,3.2,normal,minor,3.6,defect (bug),reopened,has-patch,2013-02-28T15:54:38Z,2013-03-04T03:44:50Z,"Here: source:/trunk/wp-includes/pluggable.php@23507#L449

The code is:
{{{
	try {
		$phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
	
		return true;
}}}
However, $phpmailer->Send() may return false without throwing an exception. A simple change fixes this like so:
{{{
	try {
		return $phpmailer->Send();
	} catch ( phpmailerException $e ) {
		return false;
	}
}}}",chmac
15539,wp_mail() should allow using PHPmailer's SMTP feature,,Mail,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-11-22T16:51:55Z,2011-02-11T05:46:09Z,"{{{wp_mail()}}} is able to use an already existing instance of PHPmailer. Unfortunately, all settings from the existing instance are then reset.


While this makes sense for things like addresses and subject, it is very bad that {{{$phpmailer->IsMail()}}} is called.

This makes it impossible to create and configure an own instance for usage with a remote MTA.

Possible solutions:

1. Simply omit the call to {{{$phpmailer->IsMail()}}}, as {{{'mail'}}} is already the default value.

2. Move the call of {{{$phpmailer->IsMail()}}} into the {{{if}}} statement at the beginning of the {{{wp_mail()}}} function, so it will only be set if the instance is not set.

3. Add a parameter to the signature of {{{wp_mail()}}} which allows to set the desired MTA backend.
",mastermind
16995,wp_notify_postauthor() pluggable behavior problem,,Mail,,normal,normal,Future Release,defect (bug),new,has-patch,2011-03-29T18:29:05Z,2011-03-31T04:25:05Z,"In my application  a notification must be issued even when an author comments on their own post; this is not allowed by the default WordPress implementation. Lines 1015 - 1025 in function wp_notify_postauthor reject the author's comments and moderations.
Since wp_notify_postauthor is a pluggable function, I can change this behavior by implementing my own function and replacing the default.

However, there is also a redundant test of post authorship in wp-includes/comment.php, function wp_new_comment, around lines 1344 - 1348. This means that my custom wp_notify_postauthor is never called. My specific problem can be solved by commenting out a line of code:

{{{
// $post = &get_post($commentdata['comment_post_ID']); // Don't notify if it's your own comment
}}}

A real fix for this problem should move all of the user_id validation rules out of wp_new_comment and put them in wp_notify_postauthor where they can be modified as needed.
",dglingren
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
13502,Ajax deletion of media broken due to Trashing remains,,Media,2.9,normal,normal,Future Release,defect (bug),reviewing,,2010-05-23T10:41:48Z,2011-11-26T10:39:21Z,"To reproduce:
 1. Upload a file
 2. Expand to view file details
 3. Click Delete, Follow through.

Result: Page reloads and deletes the object

Expected Result: At some point here, Ajax deletion is supposed to kick in.

{{{prepareMediaItemInit()}}} in swfupload handlers.dev.js contains some Ajax trash/undo code, which is never hit, It looks like it was never removed when the Media trashing code was striped out.",dd32
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
23779,Can't insert large image if it's smaller than media setting but larger than theme setting,,Media,3.0,normal,normal,3.6,defect (bug),new,has-patch,2013-03-15T00:47:08Z,2013-04-10T14:06:27Z,"If you upload an image that is larger than $content_width but not larger than the ""large"" setting in settings->media, the option to insert a ""large"" image into the post isn't available even though the image is large enough.

It looks like it must use $content_width as the actual width of the large image that's inserted, and the large_size_w setting to decide whether to show that option or not.",aaroncampbell
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
19858,Close comments on attached images,,Media,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2012-01-19T16:03:03Z,2012-08-01T12:46:32Z,"In posts, for gallery images and individual images which open in an attachment page when clicked, the image attachment page does not close comments after the designated xx days as the original post does. 

This creates a pile of spam to manage for users that rely on closed comments after xx days and post lots of images.

You can replicate the problem with these steps:
1) In Discussion Settings: set comments to close after 1 day. 'Automatically close comments on articles older than 1 days'

2)Create a post with publish date 2 days ago. Insert an image or gallery which opens in in an attachment page, not just as the image file.

3) The post will have comments closed.

4) The image attachment page will still have comments open.


Here's a test post of mine. Notice the comments closed on the post but still open for the images.
http://hackhappy.wordpress.com/2012/01/17/image-attachment-comment-test/

Bottom Line: Comments should also close after xx days for image attachments, just as the post does. Users reasonably expect this.

Check the post type for image attachment page. It may be marked as a regular page as pages are not controlled by this setting. 

",dohman
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
19730,"Death ""Add Media"" link after permanently deleting media items.",,Media,3.3,normal,minor,Future Release,defect (bug),new,has-patch,2012-01-04T10:30:13Z,2012-05-01T13:27:10Z,"After deleting a media item permanently and try to directly add a new one via the 'title-menu-link' (the button-link near the ""Media"" title in the admin screen) will result in a death link (""Invalid post type"").

Follow these steps to reproduce the death link(s):

If you have no '''unattachted''' media in your library, first do this:
- Media > Add New
- From the 'title' menu ""Add New"" (Button near ""Media Library"" at the top)
- Add a random image/file and press ""Save changes""
- You'll get redirected back to the overview of all your media.

If you already have one or more '''unattached''' media items in the library:
- Click on the ""Delete Permanently"" link of the file you just uploaded (the unattached file) (and press oke in the alert dialog)
- This is where something goes wrong: You'r now redirected to the edit.php page where you can read: ""Item permanently deleted."". Now click again on the ""Add New"" link in the title-menu near the title ""Media""
- You're now redirected to an invalid page: ""Invalid post type"".
",Jordi-Fun
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
16891,Deleting all attachments from post under 'Gallery' tab shows 'From Computer' tab sans uploader,,Media,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-18T17:33:26Z,2012-07-04T14:12:42Z,"'''Steps to Reproduce:'''
1. Attach images to post using 'Add an Image' dialog
1. '''Save post'''
1. Go to Gallery tab under dialog
1. Delete images
1. View changes to 'From Computer' tab with only empty table from Gallery tab",kawauso
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
6819,EXIF data extracted from uploaded images stored incorrectly,tellyworth,Media,2.5,normal,normal,Future Release,defect (bug),new,,2008-04-23T01:13:19Z,2009-11-23T15:25:26Z,"Currently extracted EXIF data is stored as a single custom field with a serialized array containing all the data - it should be stored with one-custom-field per data entry, probably with the exif_ prefix.",matt
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
22985,Edit thumbnail image only - loses all sub sizes in attachment meta,markoheijnen,Media,3.5,high,critical,3.5.1,defect (bug),assigned,has-patch,2012-12-18T00:52:47Z,2013-02-14T20:04:58Z,"I have several additional image sizes in my theme. When I crop an image and save over only the thumbnail, all references to the various sub-sizes are lost and only the new thumbnail is referenced in _wp_attachment_metadata.

1. Add an image to the media library.
2. Output _wp_attachment_metadata.
3. Edit the image (crop).
4. Save only the thumbnail.
5. Output the relevant _wp_attachment_metadata.

This may be an issue with wp_save_image() not re-genarating subsizes from the original.
I believe this to be different from Ticket #19889  as it appears to remove references to default sizes from media settings screen.",lewismcarey
23267,Encoding problem with displaying filenames,,Media,3.5,normal,normal,3.6,defect (bug),new,has-patch,2013-01-22T20:35:10Z,2013-01-23T10:01:02Z,"Reported here: #21217 (first point).

It was repaired, but probably only for older media stuff (pre 3.5). Tested with latest version and there are still problems with displaying filenames. Testing media filename: ""Žluťoučký kůň.png""

- File successfully uploaded as ""Žluťoučký-kůň.png"" (space replaced).

- But filename is displayed as ""luťoučký-kůň.png"".

- URL is ​http://domain/wp-content/uploads/2012/07/Žluťoučký-kůň.png (and file is also accessible on this URL without problem).

Filename is saved right in database, but wrong filename can be seen in Save metabox or in Media modal window.",pavelevap
11824,Erroneous MIME type for .ico files,cnorris23*,Media,2.9.1,low,minor,Future Release,defect (bug),accepted,dev-feedback,2010-01-08T14:23:48Z,2012-02-17T22:28:59Z,"wp-includes/functions.php

line 2286

{{{
$mimes = apply_filters( ...
...
'ico' => 'image/x-icon',
...)
}}}

this is an erroneous label for ico file.
the right one is: 

{{{
$mimes = apply_filters( ...
...
'ico' => 'image/vnd.microsoft.icon',
...)
}}}

read : http://www.iana.org/assignments/media-types/image/vnd.microsoft.icon

or: http://en.wikipedia.org/wiki/ICO_(file_format)",davide.vicario
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
15807,Featured image doesn't attach to post,,Media,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-12-14T11:57:23Z,2010-12-26T23:09:57Z,"When you use an image as featured, it doesn't attach to the post. 

Possibly related with #14390 (post image (thumbnail) in [gallery])

Tests:

• If the image is already attached, it doesn't reattach ✔

• If the image is uploaded while writing the post, it attaches like another image, even if you are not using it in the post. ✔

• If an image is in the media library, not attached, and you use it in your post, it automatically attaches to the post. ✔

• If the image is in the media library, not attached, and you use it as featured image in a post, it doesn't attach ✘
",bi0xid
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
19889,Image Editor doesn't apply changes to custom image sizes,,Media,3.3.1,normal,normal,3.6,defect (bug),reopened,has-patch,2012-01-24T19:48:53Z,2013-05-21T15:54:15Z,"The built in image editor doesn't apply changes like cropping, rotation, etc. to image sizes added using add_image_size or similar methods.

This is because the code in image-edit.php is directly looking for the image sizes in the options table, which only valid for the built-in sizes, not for custom image sizes.

Specifically, in the wp_save_image function in image-edit.php, this code is incorrect:

{{{
$crop = $nocrop ? false : get_option(""{$size}_crop"");
$resized = image_make_intermediate_size($new_path, get_option(""{$size}_size_w""), get_option(""{$size}_size_h""), $crop );
}}}

The fix to this is to make the wp_save_image function aware of custom sizes in the $_wp_additional_image_sizes global, and to use the options data as a fallback (for the built in sizes).

Patch for trunk attached. Tested on trunk install with no obvious side effects. Patched version correctly creates the custom image sizes with the applied editing changes, and deletes them properly when the image is deleted in the admin. Meta data thus created looks correct as well.
",Otto42
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
13425,Image Gallery of Private Post is publicly displayed,,Media,3.0,normal,normal,Future Release,defect (bug),new,,2010-05-17T20:12:20Z,2010-05-21T13:21:01Z,"Might have been forgotten only, I just ran over this inconsistency while beta-testing:

'''Description:'''

The Image Gallery of a Private Post is displayed (in another post via the Shorttag with id parameter) whereas, when clicking on the images to go to the attachment page, you get a 404 not found.

'''Example:'''

[http://hakre.wordpress.com/2010/05/17/cui-utils-rev2/#more-1184 Post with Gallery][[BR]]
[http://hakre.wordpress.com/2010/05/17/cui-utils-gnu-tools-fur-windows-32-with-a-simple-setup/gnu-win-cui-util-00-setup/ Attachment of that Gallery]

'''Steps to reproduce'''

Create a new Post, set a title and the Status to private.

Save as Draft.

Preview it, to get the ID easily from URL.

Upload a Bunch of Images.

Insert the Gallery Shorttag inside that Post Body.

Publish the Post.

Create a second new Post

Give it a Title and Insert the Gallery Shortcode with the ID from the last Post.

Publish.

View.

Copy the URL.

Open another Browser so to have a new User-Session.

Visit that URL.

'''Expected Behaviour'''

You should not see a gallery.

'''Behaviour'''

You see a gallery.

When clicking on a gallery link you get a 404 page.


'''Feedback'''

I see an inconsitency here but have no Idea how to deal with it.

So either the gallery should not be found as well (not found as in 404 but in this case: not output) or the attachment pages should be able to call as well.

Related: #11697",hakre
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
11325,Image cropping doesn't work for small areas,,Media,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2009-12-04T19:46:08Z,2011-02-03T14:22:23Z,"Image cropping works for JPEG images, but not for PNGs. The crop button is disabled.

Rev.179738",caesarsgrunt
23706,Image metadata encoding problem,,Media,3.0,normal,normal,3.6,defect (bug),new,needs-unit-tests,2013-03-06T17:05:43Z,2013-03-07T19:09:32Z,"I uploaded picture DSCF4480.jpg (attached for testing).

Metadata for title and caption should be the same: ""Bystřice u Benešova"". But after upload title is right, but caption is damaged:

{{{
'caption' => 'Bystøice u Beneova',
'title' => 'Bystřice u Benešova'
}}}

Using latest trunk.",pavelevap
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
12097,Inserting image captions sometimes results in malformed HTML,,Media,2.9.1,normal,normal,Future Release,defect (bug),new,,2010-01-31T13:30:55Z,2011-08-13T11:11:31Z,"When adding an image with a caption to an HTML post, WP generates invalid HTML. In at least the case identified below, WP generates a DIV tag inside a P tag, which violates HTML standards and which results in undefined behavior depending on the browser being used.

For background: http://wordpress.org/support/topic/291591

To reproduce:

  * install stock WP 2.9.1 from scratch. No changes (eg. no themes and no plugins).
  * edit the default first post
  *  switch to HTML editor view
  * upload an image at the beginning of the post, using the same text for the image title, alternate text and caption
  * insert the image into the post as a thumbnail
  * save the post

The text inside the editor should look like the following when you are done:

{{{
[caption id=""attachment_3"" align=""alignnone"" width=""100"" caption=
""Blurred TV Icon""]<a href=""http://wptesty.nfshost.com/wp-conten
t/uploads/BlurredTVIcon.png""><img class=""size-full wp-image-3
"" title=""Blurred TV Icon"" src=""http://wptesty.nfshost.com/wp-con
tent/uploads/BlurredTVIcon.png"" alt=""Blurred TV Icon"" width=""100
"" height=""100"" /></a>[/caption]Welcome to WordPress. This is your
 first post. Edit or delete it, then start blogging!
}}}

The resulting HTML generated by WP is:

{{{
<div class=""entry"">
<p><div id=""attachment_3"" class=""wp-caption alignnone"" style=""wi
dth: 110px""><a href=""http://wptesty.nfshost.com/wp-content/u
ploads/BlurredTVIcon.png""><img class=""size-full wp-image-3"" titl
e=""Blurred TV Icon"" src=""http://wptesty.nfshost.com/wp-conten
t/uploads/BlurredTVIcon.png"" alt=""Blurred TV Icon"" width=""100"" h
eight=""100"" /></a><p class=""wp-caption-text"">Blurred TV Icon<
/p></div>Welcome to WordPress. This is your first post. Edit or del
ete it, then start blogging!</p>
</div>
}}}

For a live example, see http://wptesty.nfshost.com.

NOTE: I am hosting this site myself and I may not leave it up for very long, so if you want to see the bug without having to set up WP yourself, please visit this URL sooner rather than later.",essday
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
23398,"Media Gallery - Clicking ""Restore Original Image"" in ""Scale Image"" pane loses 'Thumbnail Settings' pane.",,Media,3.4,normal,normal,3.6,defect (bug),new,dev-feedback,2013-02-05T21:11:36Z,2013-03-02T17:56:23Z,"Reproduce the problem thusly:

Click ""Edit image"" in the ""Edit Media"" interface for any image.

`/wp-admin/post.php?post=1119&action=edit`

Scale the image a couple times in the 'Scale Image' pane. Update.

Click ""Restore Original Image"" in the 'Scale Image' pane.

Try to crop just the thumbnail.

The 'Thumbnail Settings' Pane is '''''gone'''''.

The image has to be deleted and re-uploaded to gain thumbnail control once again.",gr33nman
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
23847,"Media Manager default ""link to"" setting overriding custom setting",,Media,2.7,normal,minor,Future Release,defect (bug),new,,2013-03-22T17:58:40Z,2013-04-04T03:18:58Z,"http://core.trac.wordpress.org/browser/trunk/wp-includes/js/media-views.js#L444

The line I'm looking at is this:

{{{
  link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' )
}}}

{{{getUserSetting( 'urlbutton', 'file' )}}} returns the correct value that I set in the theme on 'init' with {{{set_user_setting( 'urlbutton', 'none' )}}} but that value is not saved on this line because defaultProps.link has already been set to 'file'.

I can't figure out why it tests for a default setting before a user setting, and not the other way around",joshkadis
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
10055,Media filters are very wrong...,,Media,2.8,normal,normal,Future Release,defect (bug),new,,2009-06-07T01:47:31Z,2009-11-20T07:31:52Z,"e.g.:

{{{
apply_filters($callback, call_user_func($callback));

...

$html = apply_filters('audio_send_to_editor_url', $html, $href, $title);
}}}

so, basically, we get to add fields over on the type_url_form_audio form, but they're not available as filters in the audio_send_to_editor_url filter.",Denis-de-Bernardy
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
22648,No error reporting for failed upload of background image in theme customizer,,Media,3.4,normal,normal,Future Release,defect (bug),new,,2012-11-30T00:54:48Z,2013-01-24T22:27:49Z,"I tried uploading a background image using the theme cusomizer in 3.5 RC2 but nothing happened. After a few more tries I worked out that there was a problem uploading the file but WordPress didn't inform me of this, which it should.

It was only once I'd looked at the response from async-upload.php that I realised there even was a problem.

{{{
filename: ""Screen Shot 2012-11-28 at 17.50.55.png""
message: ""Unable to create directory wp-content/uploads/2012/11. Is its parent directory writable by the server?""
success: false
}}}

",WPsites
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
22663,"Performing a non-square rotate() with Imagick, then cropping, can result in incorrect Image",,Media,3.5,normal,minor,Future Release,defect (bug),new,commit,2012-11-30T22:49:42Z,2013-05-07T20:38:29Z,"Note:  This is only for *some* recent versions of ImageMagick.  Older ones seem to be a bit more sane, and work fine without any patch whatsoever.

When ImageMagick performs certain operations, it sets its virtual page's x/y origin values to non-zero numbers and leaves them there, which can break some further operations that depend on the virtual page.

In this case, when rotating in non 90 degree increments, Imagick doesn't set the x/y, which means that core doesn't run into this bug, since the built-in image editor only allows for 90 degree rotates in either direction.

However, if you're a user of the API, and perform a ""non-square"" rotate, then a crop, you could end up with an image result that differs from what you'll get from GD.

There are two ways of fixing this:
- Update the virtual page with each update_size()
- Update the virtual page immediately after a rotate() only

The first is what I think we should land on eventually, because it will prevent plugins' methods from breaking core's accidentally (if they do not reset the page's values).  However, that would require an additional error message to be added, which means a new string.

The second would fix the bug for anything core's APIs would do, but would depend on plugins handling resetting the page values appropriately in their own methods.  It is, however, a bit safer (and wouldn't require a string change), if this is something that might land for 3.5.

I've attached patches for each method.",DH-Shredder
24076,Post Formats: Uploading an unsupported video or audio file type results in a grey box,,Media,trunk,normal,normal,3.6,defect (bug),new,,2013-04-13T14:11:53Z,2013-05-15T20:57:52Z,"* Create a new post
* Choose video post format
* Upload a .mov video

Result:

A grey box which size is 1920x1080px. In the upper left is the download link, since mediaelement/HTML5 doesn't support .mov videos.
IMO there should be a notice, which video files are supported.",ocean90
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
13461,Preserve GIF transparency/alpha during thumbnail creation,,Media,2.9.2,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-05-20T13:23:30Z,2012-12-19T23:22:40Z,"GIF images with transparent backgrounds get thumbnails with black backgrounds. 

It was a similar ticket for PNG images in: http://core.trac.wordpress.org/ticket/2805",javitxu123
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
17864,"Small bug when using ""wp_delete_file"" filter",Morten Rugaard,Media,3.1.3,normal,minor,Future Release,defect (bug),new,reporter-feedback,2011-06-21T20:40:36Z,2011-06-21T21:52:32Z,"Hi,

I came acrossed this little annoying bugger, when I was playing around with upload filters.

When I added the ""wp_delete_file"", I kept getting this error:

{{{
#!php
Notice: Undefined index: path in /volume1/web/dev/favola_dk/wp-includes/post.php on line 3757
}}}

I then digged down in the line, where the error was occuring and I find this little bugger (the bold line is line 3757):

{{{
#!php
// remove intermediate and backup images if there are any
foreach ( get_intermediate_image_sizes() as $size ) {
	if ( $intermediate = image_get_intermediate_size($post_id, $size) ) {
		$intermediate_file = apply_filters('wp_delete_file', $intermediate['path']);
		@ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
	}
}
}}}

I noticed when I var_dump() the $size, that ""path"" is not within the array at any time. And the funny thing is, if you go down the next block in the code you'll see this:


{{{
#!php
if ( is_array($backup_sizes) ) {
	foreach ( $backup_sizes as $size ) {
		$del_file = path_join( dirname($meta['file']), $size['file'] );
		$del_file = apply_filters('wp_delete_file', $del_file);
		@ unlink( path_join($uploadpath['basedir'], $del_file) );
	}
}
}}}

Here it uses the index ""file"", which is the one I was expecting to recieve in the former block.",DuGi_dk
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
17764,TinyMCE breaks the autoembed feature,azaozz,Media,2.0,normal,normal,Future Release,defect (bug),assigned,dev-feedback,2011-06-11T10:20:43Z,2012-09-18T10:39:26Z,"The auto embedding works with URLs on a separate line:

{{{http://www.youtube.com/watch?v=e0Qt5CKdoOY}}}

Right now the Visual Editor makes all URLs clickable:

{{{<a href=""http://www.youtube.com/watch?v=e0Qt5CKdoOY"">http://www.youtube.com/watch?v=e0Qt5CKdoOY</a>}}}

and auto embedding no longer works.

Reported here:

http://en.forums.wordpress.com/topic/embedding-video-does-not-work?replies=1",dzver
11477,Unable to Crop Images in RC1,,Media,2.9,normal,major,Future Release,defect (bug),reopened,,2009-12-17T23:45:56Z,2012-11-06T22:50:32Z,"There appear to be several bugs in the Image Crop input fields.  I'll let you decide which of these symptoms are valid.

1. Go to the Edit Media screen for an image.

2. Click & Drag to highlight an area of the image.

3. Enter an Aspect ratio of 4:3.  '''The image selection changes but the Selection fields are not updated.'''

4. Attempt to change the Aspect ratio to 4:7.  '''Input is erased as soon as I type it in.'''  This makes no sense at first, but appears to be some kind of boundary feedback?

5. Attempt to change the Aspect ratio to 10:11.  '''Input is impossible unless the second field is empty.'''

6. Change the Aspect ratio to 7:8 and then change it to 7.9:8.  '''Nothing happens.'''

7. In common graphics vocabulary, ""Selection"" always refers to a pair of rectangular coordinates.  '''Using the word ""Selection"" where ""Size"" is what you meant''' to say is confusing.

8. Scale Image is collapsed by default, with no indiciation that it can be expanded except for a slight difference in text color, and the cursor changes on mouse over.  This is inconsistent with the Image Crop area, which is '''not collapsible'''.

9. There is '''no way to enter a decimal coefficient''' for the Aspect ratio.  Even 1.67:1 doesn't work.  Unless the user wants to always use 1:1, 16:9, 8:5, 5:4, or 4:3, the existing Aspect Ratio fields will be useless.  The interface would make more sense with a limited set of radio options.

10. '''The original image Aspect Ratio is not displayed.'''  If my image has an Aspect of 1.39847, and I want to ""lock it in"" while cropping, there is no obvious way to do it.

11. '''The new image Aspect Ratio is not displayed.'''  If I crop by click & drag, or by typing in the Selection fields, there is no way to know the resulting Aspect Ratio without pulling out a calculator.

12. The original image '''dimensions are not displayed''', unless the Scale Image area has been expanded.  Cropping is just that much more awkward as a result.",miqrogroove
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
14244,Upload file types should be checked BEFORE uploading.,,Media,,normal,normal,Future Release,defect (bug),new,,2010-07-09T01:06:36Z,2013-04-08T15:12:57Z,"Wanna get frustrated? Try uploading a 50 meg video and realizing you forgot to set your Upload file types to allow m4v.

Is there any way this can be checked BEFORE the file gets uploaded? As it stands today, you upload THEN it checks and deletes. Arg :)",ipstenu
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
10752,Uploading new media to existing posts/pages backdates file location,,Media,2.8.4,normal,minor,Future Release,defect (bug),new,,2009-09-08T20:35:20Z,2012-08-28T20:57:35Z,"Using WP 2.8.4, when uploading new media files to a page or post that has already been published, the new file is added in the /UPLOAD_DIR/year/month/ directory that corresponds to the original page/post publication date, rather than the file upload date.

Also, the correct file-upload-date-based directory is created (if it does not already exist), but the file is still placed in the older incorrect directory.

Example: Assume the following...

On /wp-admin/options-misc.php:
  * ""Store uploads in this folder"" (referred to above as UPLOAD_DIR) is set to ""wp-content/uploads"" or any other location, such as ""files""
  * ""Organize my uploads into month- and year-based folders"" is checked

On an existing Page:
  * Page has a published date of 3/1/2008
  * File a_test_file.jpg is uploaded on 9/1/2009
  * UPLOAD_DIR is set to ""wp-content/uploads"", has 777 permissions, and contains no subdirectories or files

WordPress 2.6.x and below would have created the following:
  * /wp-content/uploads/2009/09/a_test_file.jpg

However, WP 2.8.4 is creating:
  * /wp-content/uploads/2008/03/a_test_file.jpg
  * /wp-content/uploads/2009/09


This issue was previously mentioned on the wordpress.org forums as being a known issue with WP 2.7.1: http://wordpress.org/support/topic/254786",dpie
24134,Video Shortcode ignores sizes and aspect ratio,,Media,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-04-19T05:12:23Z,2013-04-24T20:40:12Z,"I think this may be related to #23955

Uploaded video and resized it:


{{{
[video width=""300"" height=""400"" mp4=""http://elfshot.org/wp-content/uploads/sites/3/2013/04/IMG_0328.mp4""][/video]
}}}

Looks fine in the post editor, it's got the right aspects yay.

Then on the live post, the placeholder HTML5 shows sideways (landscape) but when I click play, it shows as full sized to the content.

http://test.ipstenu.org/video-test.2013/ has the example on TwentyThirteen but it happens on all videos on all themes that I've tested. When I viewed source the video tag has the size of the content area, as do media elements.

At revision 24036.

",Ipstenu
23713,WP 3.5.1 wp-image-editor: Scaling up images does not work,,Media,,normal,normal,3.6,defect (bug),reopened,commit,2013-03-07T16:59:57Z,2013-03-28T15:17:58Z,"I can't scale up jpg within wordpress media library, while scaling down works as expected.
A new image file like somename-e1361912486333.jpg is created, but it has exact the same size as the original file.

phpinfo() says I have gd library installed. No imagick.

I already asked in WP Forums for help, with no reaction:
http://wordpress.org/support/topic/wp-351-wp-image-editor-scaling-up-images-does-not-work

",ullemehner
18184,Wrong area is cropped when using arrow keys to adjust the position of the crop box,azaozz,Media,2.9,normal,normal,Future Release,defect (bug),assigned,has-patch,2011-07-20T16:30:11Z,2012-12-07T13:51:07Z,"When using the crop tool to modify an image, if you select an area and then use the arrow keys to move it around, when you click on the crop button, the wrong area has been cropped. If you do the same thing using the mouse to move the crop box, it works well.",danielristic
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
22649,iPad: Media Modal Problem Editing Long Values,azaozz,Media,3.5,low,normal,Future Release,defect (bug),assigned,has-patch,2012-11-30T07:40:36Z,2012-12-04T18:06:24Z,"In Brief: When I try to edit a very long image title (uploaded file name) the media modal window jumps around and I can't see what I'm editing.

Steps to Reproduce:
1. On Dashboard, tap Add Media.
1. If necessary, upload an image with an obnoxiously long filename, such as a friend's photo from Facebook.
1. Select an image in the Media Library tab that has an obnoxiously long title.
1. Tap the title field.  Cursor should appear at right end of value and visual keyboard should open.
1. Tap the backspace key.

Expected Result:

Plain text editing.

Actual result:

Media Library moves off screen.

Found in 3.5-RC2-22944.  Screen shot coming momentarily.",miqrogroove
17626,image_get_intermediate_size() may return wrong thumbnail size,nacin,Media,,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-05-31T14:33:27Z,2013-03-31T16:26:12Z,"See [http://wordpress.stackexchange.com/questions/17511/featured-image-with-the-same-height-thumbs-returns-wrong-thumb this WPSE question] for a more detailed explanation of the problem.

Essentially, if `get_the_post_thumbnail()` is passed an array for the `$size` argument, and if two images have one dimension exactly the same, the image with the ''smaller'' opposing dimension will be returned, even if the dimensions for the other image are declared explicitly.

The issue appears to be due to the way that `image_get_intermediate_size()` determines if an image exists that is cropped to dimensions similar to the specified `$size` array. As soon as it finds one, it uses it.

I've attached a patch that first attempts to find an image cropped ''exactly'' on  both dimensions, before looking for images cropped exactly only on one dimension. There will still be edge cases where the wrong image might be returned, but I'm not sure of the most efficient way to handle such cases.

(Note: props to Rarst for finding the underlying issue.)",chipbennett
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
16330,"media_sideload_image() broken with filenames containing strange characters (e.g., +, %)",,Media,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-01-21T13:56:19Z,2013-03-17T10:31:55Z,"I'm using the {{{media_sideload_image()}}} method in the upcoming version of my [http://wordpress.org/extend/plugins/e107-importer/ e107 Importer script] (see: http://github.com/kdeldycke/e107-importer/blob/b7925fdac6aa43db4be5b7925265a83d95fc62ad/e107-importer.php#L277 ) to upload remote images into WordPress.

This method work as expected with lots of images from a lot of different sources, but fail on URLs containing spaces.

Let me illustrate this bug with an example.

When trying to upload the image located at
{{{
http://home.nordnet.fr/francois.jankowski/pochette avant thumb.jpg
}}}
the result looks like this on the file system: http://twitpic.com/3s0dk7 . As you can see, image file names are clean. But in the Media Manager, here is what you have: http://twitpic.com/3s0e5d . No thumbnails seems to have been created.

Now, trying to fix this, I modified the original URL before calling {{{media_sideload_image()}}} with the following code:
{{{
  $img_url = str_replace(' ', '%20', html_entity_decode($img_url));
  $new_tag = media_sideload_image($img_url, $post_id);
}}}
With this patch, here is the result on the filesystem: http://twitpic.com/3s0ets . I was surprised by WordPress not sanitizing URLs. Is that normal ?

But the most surprising stuff is in the Media Manager: http://twitpic.com/3s0hup . It looks like thanks to this hack, WordPress somehow succeeded downloading the remote file but messed with filesystem naming. What let me think this ? The Media Manager, get the right image thumbnail dimensions but not the binary payload of the thumbnail (contrary to the case above were no binary nor dimensions are available about the thumbnail).

All of this was tested in WordPress 3.1-RC2.

As for the idea of the patch above, it come from a very old version of my plugin (v0.9) that was based on WordPress 2.3.2. There, I somehow found the root cause of the problem, [http://github.com/kdeldycke/e107-importer/blob/e107-importer-0.9/e107.php#L410 according the comment I wrote 3 years ago]:
{{{
 // The fopen() function in wp_remote_fopen() don't like URLs with space chars not translated to html entities
}}}

I should have posted this bug report sooner, as now I've forgotten everything about this issue... :(",Coolkevman
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
17262,wp_get_attachment_thumb_file is always false,,Media,3.0,normal,normal,3.6,defect (bug),new,has-patch,2011-04-27T18:36:19Z,2013-05-05T03:33:40Z,The issue is that on line 3863 we always search for `$imagedata['thumb']` and it never exists. Instead we have `$imagedata['thumbnail']`. This always exists.,lonnylot
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
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
23254,Empty Page Title Not Handled in Menu System,,Menus,3.0,normal,normal,3.6,defect (bug),new,commit,2013-01-21T20:57:57Z,2013-05-16T02:06:55Z,"I noticed some peculiar menu layouts and sorted it out to having some pages with no titles (not sure the actual use case for a page without a title but it is in my test environments).

The Walker class is recognizing the page exists and creating an appropriate `<a href=...>` wrapper for it but with no Page Title it is not being displayed. If this is by design I think it should be revisited and if this is a defect then the included patch (not very pretty) may offer a possible solution or at least a consideration.

The patch checks if the Page Title is empty and if it is uses the Page ID as the title.",cais
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
13822,Menu items that get unpublished still appear,nacin,Menus,3.0,normal,normal,3.6,defect (bug),reopened,has-patch,2010-06-10T16:30:12Z,2013-03-21T14:53:47Z,"We need to properly account for menu items linked to unpublished/pending post type objects.

My thought is they should probably be hidden from the frontend with an indication on the backend (like ""(Pending)"") that they are are unpublished/pending.

We need to properly handle private posts too.",nacin
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
16382,"Menus adds ""current_page_parent"" class to the blog page when viewing a custom post type entry",,Menus,3.0.5,normal,normal,Future Release,defect (bug),new,close,2011-01-26T22:37:36Z,2013-02-15T17:10:13Z,"Here is an example: http://www.flowermag.com/article/love-rocks/

This entry is in the custom post type ""article"", but the navigation item ""blog"" is getting the class ""current_page_parent"" even though an article is not a blog post. 

This is a problem since if you're using ""current_page_parent"" for navigation highlighting, this would render an incorrect display.",tammyhart
14134,Menus item are limited to 16 item and will not save more than that,filosofo,Menus,3.0,high,major,Future Release,defect (bug),reviewing,has-patch,2010-06-28T22:50:55Z,2013-04-20T04:36:54Z,"I've installed a fresh copy of the WP 3.0 about 4 days ago. Using default twentyten theme. I modified the menus from the admin panel with new pages and some custom links and hierchy... now everytime I modify the menu and click ""Save Menu"" it only saves the first 16 items listed on the menus. 

The problem is.. I have about 8 main menu with some of them have about 5 or 6 items below it, it cuts off at the 16th item and does not save anything beyond that.

I deleted the first item and added two more at the end, same thing, it only saves the first 16 items on the menus.

I been sturggling on my own to figure this out, did search here and google yet to find a solution..

I am shocked no one else is having this problem. I tried in IE7, IE8, Firefox, Chrome, Safari and Opera - I have the same problem no matter which browser I use.

in function.php I am using
{{{
register_nav_menus( array(
		'primary' => __( 'Primary Navigation', 'MainNav' ),
	) );//-------------------
}}}
and the page I want the nav on has thise code:
{{{
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) );
}}}

Any help is appriciated...",jaanfx
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
14439,Unable to get a post associated menu items for a specific menu,,Menus,3.1,normal,major,Future Release,defect (bug),new,has-patch,2010-07-28T03:32:06Z,2011-01-15T01:23:21Z,"Hello,

The actual wp_get_associated_nav_menu_items function works well but gets menu items associated with an object from ANY menu. So a parameter needs to be added to specify a specific menu to get menu items associated with an object from a specific menu.

Patch is attached. The use of get_term() is needed because of the bug #14438",DreadLox
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
21534,Walker: has_children is only set if $args[0] is an array,betzster,Menus,3.0,normal,normal,Future Release,defect (bug),new,commit,2012-08-10T02:12:33Z,2013-04-23T02:09:53Z,"You can't depend on `has_children` because it doesn't get set if `$args[0]` is an object. This is obviously an easy fix, just check if it's an object and set it in that case.

Related: #15214",betzster
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
23681,jQuery 1.9 doesn't like leading whitespace from wp_ajax_add_menu_item,,Menus,trunk,normal,normal,3.6,defect (bug),new,has-patch,2013-03-04T03:27:30Z,2013-03-04T03:51:57Z,"jquery-migrate logs this message to the console when adding a new menu item:

{{{
JQMIGRATE: $(html) HTML strings must start with '<' character
}}}

Walker_Nav_Menu_Edit returns a <li> indented with two tabs because there's inline HTML in that class and it's indented. jQuery 1.9 rejects HTML strings with leading whitespace [http://blog.jquery.com/2013/01/31/jquery-migrate-1-1-0-released/ for security reasons].

(Note: this is probably why jquery-migrate is calling parseHTML instead of using a regex in #23055)

This patch uses $.parseHTML on the HTML fragment instead of passing it directly to $(). As it's written, $.parseHTML will strip out any scripts in the fragment for security reasons. If you think a plugin might include a script for some reason, the call should be changed to $.parseHTML(menuMarkup, document, true).",csixty4
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
17821,wp_get_nav_menu_object() doesn't check when passing to get_term(),,Menus,3.1.4,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-17T00:02:14Z,2012-05-01T13:27:40Z,"`wp_get_nav_menu_object()` initially passes the menu string to `get_term()` to see if it's an ID. However, `get_term()` expects an integer or object and type-casts any non-objects passed into integers. This results in a menu name i.e. '10-ton elephant' being reduced to '10', which it then uses as a term ID, potentially producing unexpected results.",kawauso
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
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
22277,Admin (not just superadmin) should be able to add user without confirmation email in multisite,,Multisite,3.4.2,normal,normal,3.6,defect (bug),new,commit,2012-10-25T18:04:19Z,2013-05-02T00:48:36Z,"I don't know why admins would be restricted from adding existing users without sending them a confirmation, but they are in multisite. You have to be a superadmin to get that option. I think that is lame, and would like to see admins have that admin option. Is there is a reason why it is that way (security etc)? Since neither @markjaquith nor I could remember a reason, making this ticket and hoping we fix it. ",jane
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
18242,Changing domain for a network blog make faulty changes in database,,Multisite,3.0,normal,major,Future Release,defect (bug),new,dev-feedback,2011-07-25T11:33:51Z,2012-11-20T11:49:53Z,"When changing the domain for a network blog, if the network is set up on a subdomain and using sub-folder options for blogs, the save to the database is faulty, saving wrong urls.

The network main site uses eg http://my.blog.com and the blogs has http://my.blog.com/blog1

When changing the domain for blog1 in ""Network admin -> All Sites -> Edit blog1"" and choose to also update ""home and siteurl"" the new url for home and site become http://blog.com/blog1/my

Happens in both Firefox 5 and Safari 5.1",darkwhispering
15943,Custom Post Type not set after customizing permalinks.,sterlo*,Multisite,3.0.3,normal,critical,Future Release,defect (bug),accepted,dev-feedback,2010-12-21T23:42:55Z,2011-01-06T23:11:07Z,"Developing a plugin,

It sets a custom post type on init:
{{{
      register_post_type(
        'staff_listing',
        array(
          'labels' => array(
            'name' => 'Staff Listings',
            'add_new_item' => 'Add a Staff Member',
            'new_item' => 'Staff Member',
            'add_new' => 'Add a Staff Member',
            'singular_name' => 'Staff Member'
          ),  
          'public' => true,
          'publicly_queryable' => true,
          'show_in_nav_menus'  => false,
          'exclude_from_search' => false,
          'show_ui' => true, 
          'hierarchical' => false,
          'rewrite' => array(
            'slug' => 'staff',
            'with_front' => false
          ),  
          'query_var' => 'staff', 
          'supports' => array(
            'title',
            'editor',
            'thumbnail',
            'comments',
            'revisions'
          )   
        )   
      ); 
}}}

If I add a staff member called ""john doe"" and then go to that on the front end - I expect to see this in $wp_query->query_vars:
{{{
[staff] => john-doe
[post_type] => staff_listing
[category_name] =>
[name] => john-doe
[is_404] =>
[queried_object_id] => ###
}}}

(I replaced the ID with ### since it changes from one install to the other)

That '''works''' on a standard WordPress 3.0.3 install.

But does '''not work''' on a WordPress 3.0.3 MU install.

The MU install gives me this:
{{{
[name] => john-doe
[post_type] => 
[category_name] => staff
[is_404] => 1
[is_singular] => 
[queried_object_id] => 0
}}}

Both the permalinks on the MU and standard setup are set as follows:
{{{
/%category%/%postname%/
}}}

If I change the permalink structure on the MU site to the default structure - the problem goes away.

The new URL is: ?staff=john-doe and it sets the following:
{{{
[staff] => john-doe
[post_type] => staff_listing
[name] => john-doe
[category_name] =>
[is_404] =>
[queried_object_id] => ###
}}}",sterlo
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
18186,Default registration assumptions in WP Multisite,,Multisite,3.2.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-07-20T18:43:06Z,2013-05-20T11:58:53Z,"By default, when you create a new site, it does not set the ""registration"" site meta key.  However, in wp-signup.php by default it assumes it to ""all"" and allows users and sites to be created (line 381): 

{{{
// Main
$active_signup = get_site_option( 'registration' );
if ( !$active_signup )
        $active_signup = 'all';
}}}

However, in the network settings page, by default it sets it to none (line 75):

{{{
if ( !get_site_option( 'registration' ) )
        update_site_option( 'registration', 'none' );
}}}

With the new simple flow from a standalone to multi-site installation, new blogs should likely have it set to none by default or it should be an option during set up.

Props to leenewton for discovery.",terryjsmith
15855,Dropdown isn't shown when doing a user 'removal',,Multisite,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-16T23:38:12Z,2012-04-27T18:14:51Z,"Steps to reproduce:

0. Have a MultiSite install
1. Go to wp-admin/users.php and delete a user
2. A confirmation screen appears, with only a ""Confirm"" button.

Expected behaviour:

The user dropdown is shown, asking to assing the user's posts to a different user.

Currently, you end up with authorless posts.",scribu
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
22160,Etags served by ms-files.php not specific enough,,Multisite,3.3.2,normal,normal,3.6,defect (bug),new,has-patch,2012-10-10T23:15:01Z,2012-12-29T22:23:12Z,"Today I was tracking an Etag issue we had where different versions of images uploaded to wordpress had the same etags. I first looked at apache and reconfigured it to serve filesize mtime etags. To no avail.
When investigating further i discovered that uploaded files get an etag from ms-files.php (line 57)

{{{
$etag = '""' . md5( $last_modified ) . '""';
}}}

which to my humble opinion should be something like:

{{{
$etag = '""' . md5( $last_modified . filesize($file)) . '""';
}}}

that way, images of different formats, created at upload time, which share the same mtime on a fast machine still get different etags.",xiffy
23555,Fatal error when sunrise added,,Multisite,3.5.1,low,normal,3.5.2,defect (bug),new,has-patch,2013-02-20T09:18:07Z,2013-03-18T13:46:48Z,"Hi,

I have installed a WordPress multisite subdomains on a server. I have added a sunrise.php file on the wp-content folder.

In this file there is a $wpdb->prepare without the needed argument at the end. WordPress throw a _doing_it_wrong() but this launch a Fatal error : 

{{{
Fatal error: Call to undefined function __() in /home/site/public_html/wp-includes/functions.php
}}}


{{{

Call Stack:
    0.0001     335660   1. {main}() /home/site/public_html/wp-admin/network/settings.php:0
    0.0001     335964   2. require_once('/home/site/public_html/wp-admin/network/admin.php') /home/site/public_html/wp-admin/network/settings.php:11
    0.0001     336260   3. require_once('/home/site/public_html/wp-admin/admin.php') /home/site/public_html/wp-admin/network/admin.php:13
    0.0002     336564   4. require_once('/home/site/public_html/wp-load.php') /home/site/public_html/wp-admin/admin.php:30
    0.0002     337136   5. require_once('/home/site/public_html/wp-config.php') /home/site/public_html/wp-load.php:29
    0.0002     337500   6. require('/home/site/public_html/wp-config-dev.php') /home/site/public_html/wp-config.php:6
    0.0003     339004   7. require_once('/home/site/public_html/wp-settings.php') /home/site/public_html/wp-config-dev.php:109
    0.0037     791980   8. require('/home/site/public_html/wp-includes/ms-settings.php') /home/site/public_html/wp-settings.php:87
    0.0038     793784   9. include_once('/home/site/public_html/wp-content/sunrise.php') /home/site/public_html/wp-includes/ms-settings.php:18
    0.0039     795552  10. wpdb->prepare() /home/site/public_html/wp-content/sunrise.php:41
    0.0039     795872  11. _doing_it_wrong() /home/site/public_html/wp-includes/wp-db.php:995
}}}

Is this normal that the translations function are not available ?",Rahe
20774,Flag an user as spam with any rol become a sub site flagged as spam (Multisite),,Multisite,3.0,normal,major,Future Release,defect (bug),new,has-patch,2012-05-29T12:25:52Z,2012-11-08T21:02:31Z,"Hi,

Since many weeks, many WangGuard users were contacting me because they say WangGuard were flagging the sub sites as spam.

Thats not a WangGuard bug, is a WordPress issue.

Steps:

- Create a Subsite, you can add the Super Admin like site admin.
- Add a user like subscriber.
- Flag that user as spam in /network/users.php

That site will be flagged as spam although the owner were the Super Admin.

I think WordPress has to look for the user rol and only flag the sub site as spam if the rol is Administrator.



This issue is in WP 3.3.1 and 3.4",j.conti
14873,HTTPS related issue with ms-settings.php,,Multisite,2.9,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-09-14T18:23:26Z,2012-09-13T23:13:22Z,"ms-settings.php hard-codes ""http://"" in a few places.  This didn't impact me, but I can see that it might impact someone.  

Hopefully, a developer can take a look at the code and verify that, in fact, it has to change.  Seems like it does since hard-coding ""http:"" isn't a good practice, but I don't want to claim it since I haven't seen the need for it personally.

Here's the updated code that needs to replace the code in ms-settings.php starting at line 83 and ending at line 105:
{{{
        $protocol = is_ssl() ? 'https://' : 'http://';

        if ( ! defined( 'WP_INSTALLING' ) && is_subdomain_install() && ! is_object( $current_blog ) ) {
                if ( defined( 'NOBLOGREDIRECT' ) ) {
                        $destination = NOBLOGREDIRECT;
                        if ( '%siteurl%' == $destination )
                                $destination = $protocol . $current_site->domain . $current_site->path;
                } else {
                        $destination = $protocol . $current_site->domain . $current_site->path . 'wp-signup.php?new=' . str_replace( '.' . $current_site->domain, '', $domain );
                }
                header( 'Location: ' . $destination );
                die();
        }

        if ( ! defined( 'WP_INSTALLING' ) ) {
                if ( $current_site && ! $current_blog ) {
                        if ( $current_site->domain != $_SERVER[ 'HTTP_HOST' ] ) {
                                header( 'Location: ' . $protocol . $current_site->domain . $current_site->path );
                                exit;
                        }
                        $current_blog = get_blog_details( array( 'domain' => $current_site->domain, 'path' => $current_site->path ), false );
                }
                if ( ! $current_blog || ! $current_site )
                        ms_not_installed();
        }
}}} ",mareck
14867,HTTPS related issues in ms-blogs.php (with fix),,Multisite,,normal,normal,Future Release,defect (bug),reopened,has-patch,2010-09-14T15:09:14Z,2011-10-13T19:18:53Z,"Two functions in ms-blogs.php have issues due to hard-coding ""http://"" versus using the is_ssl() check. I have corrected them below. Just copy and paste these over the ones in your ms-blogs.php.


function get_blogaddress_by_id( $blog_id ) {
        $protocol = is_ssl() ? 'https://' : 'http://';

        $bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details!
        return esc_url( $protocol . $bloginfo->domain . $bloginfo->path );
}

function get_blogaddress_by_domain( $domain, $path ){

        $protocol = is_ssl() ? 'https://' : 'http://';

        if ( is_subdomain_install() ) {
                $url = $protocol.$domain.$path;
        } else {
                if ( $domain != $_SERVER['HTTP_HOST'] ) {
                        $blogname = substr( $domain, 0, strpos( $domain, '.' ) );

                        $url = $protocol . substr( $domain, strpos( $domain, '.' ) + 1 ) . $path;

                        // we're not installing the main blog
                        if ( $blogname != 'www.' )
                                $url .= $blogname . '/';
                } else { // main blog
                        $url = $protocol . $domain . $path;
                }
        }
        return esc_url( $url );
}",mareck
15936,IPv6 literal support in multisite broken,,Multisite,3.0.3,normal,major,Future Release,defect (bug),new,dev-feedback,2010-12-21T16:00:25Z,2013-02-02T06:32:22Z,"The logic for handling explicit port numbers in wp-includes/ms-settings.php is confused by IPv6 literal addresses in URLs as defined by RFC 2732.
It tries to handle the URL as it as if there were a port appended, but then fails to strip it off. Incidentally the error message here: 'Multisite only works without the port number in the URL.' is untrue, since ports are handled (but for only two particular cases, port 80 and 443).

The attached patch, against Wordpress 3.0.3, fixes both these issues, and allows ports other than 80 and 443 to be used with Wordpress, by just stripping off the trailing port rather than special-casing the two well-known ports, and not incorrectly detecting IPv6 literals as URLs with ports in. It also has the advantage of being much more compact.

It may be worth someone thinking through whether the substitution is strictly correct with reference to the URL standards, but I'm pretty sure that this is an improvement on the current code.

Thanks,
Dominic.",jmdh
16293,"In multisite installs, users with id 1 or 2 can't be deleted",,Multisite,3.1,normal,normal,Future Release,defect (bug),reopened,dev-feedback,2011-01-19T00:21:34Z,2013-04-25T15:15:19Z,"You can't delete a user with user id of 1 or 2. 
See: source:trunk/wp-admin/network/edit.php@17326#L359",PeteMall
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
20204,Incorrect links to SSL sites in Multisite,,Multisite,3.0,low,normal,Future Release,defect (bug),new,has-patch,2012-03-08T16:05:19Z,2012-11-08T00:00:19Z,"If I create a site in Multisite that has an SSL URL then a few links in Network Admin incorrectly use a non-SSL URL for the site.

Opening this ticket so I don't forget about it. Patch coming up when I have some time.",johnbillion
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
14913,MS Requires Client Information to Load Files,filosofo,Multisite,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-09-20T20:55:36Z,2013-05-20T12:00:17Z,"When installed as multi-site, WP in `ms-settings.php` tries to parse the Host header request to determine which domain is requested.  If none, it prints a redirecting Location header and exits.

This is problematic if you are loading WP but not using a client that sends headers to the server; for example, if you have another app on the same server that tries to include `wp-load.php` directly.

Example:

{{{
<?php

include '/path/to/wp/wp-load.php';

// let's do some stuff with WP programatically...
}}}

The above aborts in MS as it tries to redirect the nonexistent requesting client to the main blog's front page.

The problems I see with this:
 * `wp-load.php` is supposed to provide a means of circumventing the template printing, so it shouldn't assume a typical browser client is making the request
 * `wp-load.php` ''can'' be used this way on non-MS setups
 * In general, it's a bad jumble of MVC.

Currently I'm not sure what the best route is to fix this, but I will try to come back later with a solution.",filosofo
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
17376,Multisite Subfolders and bunk /wp-admin areas,,Multisite,,normal,normal,Future Release,defect (bug),new,has-patch,2011-05-11T15:07:38Z,2012-04-19T01:37:52Z,"On a multisite installation with subfolders, navigating to:

www.mysite.com/i-dont-exist/wp-admin

loads a dashboard and maintains the i-dont-exist in the url.  That part exists if i navigate to themes and/or plugin pages.  However, I'm actually altering the base site.
This can be quite confusing if someone makes a typo in a sitename and they end up changing the base site (like happened to us) :(",MadtownLems
17905,Multisite doesn't delete a user's posts/links upon removal,,Multisite,3.0,normal,normal,Future Release,defect (bug),new,has-patch,2011-06-27T12:59:43Z,2011-06-27T17:06:44Z,"When the ""Delete all posts and links."" radio is selected all that happens is the user is deleted but their posts are left in tact but without a visible user. The posts should be moved to trash as well.

This is caused by removal from the blog in `network/edit.php` before the user is actually deleted where trashing of posts occurs. Since the user no longer has any assigned blogs wpmu_delete_user() doesn't call wp_delete_post().

Patch attached also cleans up confirm_delete_users slightly by using the array passed as an argument instead of $_POST['allusers'].

Related: [13918]",duck_
17904,Multisite has more restrictions on user login character set,,Multisite,3.0,normal,normal,Future Release,defect (bug),new,,2011-06-27T11:09:12Z,2013-02-12T20:54:04Z,"Multisite has more restrictions on the characters allowed in a user's login name compared to single site. This seems unnecessary and confusing. It was also the root of a recent bug in the importer, see [http://wordpress.org/support/topic/invalid-author-importing-single-wordpress-to-mulitsite-wordpress?replies=21#post-2186667 this forum thread] and the [http://plugins.trac.wordpress.org/changeset/401649 workaround].

I haven't worked up a patch yet since there seem to be a few locations where these restrictions are enforced and I don't know if I have found them all yet:

 - wpmu_validate_user_signup() uses the regex `/[a-z0-9]+/`
 - ms-default-filters.php adds `strtolower` to `sanitize_user`

Relevant: http://mu.trac.wordpress.org/changeset/1689 [12948]",duck_
18934,Multisite issue cleaning up empty capabilities,PeteMall*,Multisite,3.0,normal,normal,Future Release,defect (bug),accepted,has-patch,2011-10-13T20:02:12Z,2012-11-07T22:18:09Z,"The following multisite-specific block of code in user-edit.php doesn't seem right:
{{{
		$cap = $wpdb->get_var( ""SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'"" );
		if ( !is_network_admin() && null == $cap && $_POST[ 'role' ] == '' ) {
			$_POST[ 'role' ] = 'contributor';
			$delete_role = true;
		}
}}}

The query appears to be checking whether the user in question specifically has no capabilities for the given blog. However, on the next line, it checks whether the result set from that query is null - that is, if the user does '''not''' have a no-capability entry. This includes users who don't have any capability entries at all (so there wouldn't be anything to delete) and users who actually have valid capabilities (whom I wouldn't think should be deleted).

It's possible I'm misunderstanding this code, but my expectations here are that the line should read {{{null !== $cap}}}.

I'm not sure if this occurs in standard workflows, but I ran into it when writing a plugin. To work around it, I back-populated {{{$_POST[ 'role' ]}}} with the user's current role.",jammitch
16126,Multisite name conflict check doesn't check for pages.,,Multisite,,normal,normal,Future Release,defect (bug),new,,2011-01-06T19:11:19Z,2011-01-16T02:18:41Z,"Running WP 3.1-RC2 I made a page off my main site called foobar.

Then I went in and made a sub-site (using SubFOLDERS) called foobar.

The subsite took precedence and there was NO check or warning.

I was able to reproduce this on 3.0.4

Then I went the otherway.  I have a subsite called camels (don't ask).  I went to make a PAGE called camels and it also let me. No conflict check.

Basically you have to add the main blog page names into the banned names list manually, which strikes me as a bit odd.  I can see why checking that would be onerous if someone had 600 million pages (and we all know they do) but forcing people to do it manually seems like a gap.

Need love! :D

This is minor, since not a lot of people have bitched, so clearly we're not running into it YET.",Ipstenu
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 site (domain.com/test).

Set up domain.com/test to only allow registered users to comment. Remember, we've not added this new user to the site, just the network.

Log in as that user and go to domain.com/test

Oh look! You can comment as a 'registered' user.

This should be check for 'Is this a user ''and'', if multisite, is this user a member of the site?'

It's that or the wording needs to be clearer that anyone registered on the network can comment.",Ipstenu
21573,NOBLOGREDIRECT interfering with 404 errors,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-14T07:32:06Z,2013-04-16T05:36:08Z,"When the `NOBLOGREDIRECT` constant is defined, 404 pages on the main site will not work and instead redirect to URL defined in `NOBLOGREDIRECT`. This is the cause of the `maybe_redirect_404` action/function, which is not needed and should be removed.",bungeshea
24017,Network admin sites list page displaying bad links for Dashboard and Visits,,Multisite,,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-04-09T22:44:04Z,2013-04-10T06:14:46Z,"After upgrading to 3.5.1 (from 3.5), we noticed that the links to Dashboard and Visits in the/wp-admin/network/sites.php weren't working properly.

For subsites, the Dashboard link pointed back to the root site, and the same for the Visits link.

I traced the code to the following file: /wp-admin/includes/class-wp-ms-sites-list-table.php.

Line 251 currently is:


{{{
$actions['backend'] = ""<span class='backend'><a href='"" . esc_url( get_admin_url( $blog['blog_id']
     ) ) . ""' class='edit'>"" . __( 'Dashboard' ) . '</a></span>';
}}}


Adding the $blogname variable to the get_admin_url function as the second parameter fixed the issue:


{{{
$actions['backend'] = ""<span class='backend'><a href='"" . esc_url( get_admin_url( $blog['blog_id']
    , $blogname ) ) . ""' class='edit'>"" . __( 'Dashboard' ) . '</a></span>';
}}}


Similarly for the Visits link.

Line 272 currently is: 


{{{
$actions['visit']   = ""<span class='view'><a href='"" . esc_url( get_home_url( $blog['blog_id'], '/
    ' ) ) . ""' rel='permalink'>"" . __( 'Visit' ) . '</a></span>';
}}}


Changing it to the following fixes it:


{{{
$actions['visit']   = ""<span class='view'><a href='"" . esc_url( get_home_url( $blog['blog_id'], $blogn
ame ) ) . ""' rel='permalink'>"" . __( 'Visit' ) . '</a></span>';
}}}

",morriswanchuk
16568,Network install disables site when blog_id is not 1,,Multisite,3.0.5,normal,normal,Future Release,defect (bug),new,has-patch,2011-02-15T20:07:03Z,2011-02-16T01:31:33Z,"This is an edge case and only occurs when MySQL is configured to skip numbers in auto number fields.

The network install inserts the blog record and allows MySQL to assign the blog_id. The blog prefix logic in wpdb depends on the blog_id of the main blog being 1.

The manual fix for this is to edit the DB and change the blog_id of the main blog to 1. Between being an edge case and a relatively easy fix, this isn't severe, imo.

Forum thread: http://wordpress.org/support/topic/database-error-when-enabling-mutlisite",wpmuguru
23755,Old /files/ support in new installs,,Multisite,,normal,minor,Awaiting Review,defect (bug),new,,2013-03-13T13:54:10Z,2013-03-15T13:35:17Z,"I moved a blog to a new network that using new upload folder system. Problem is: old /files/ links  that using ms-files.php are not working.

My temporary fix:
Added in .htaccess:

{{{
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

}}}

Added ms-files.php:
{{{
define( 'BLOGUPLOADDIR', WP_CONTENT_DIR . ""/uploads/sites/{$current_blog->blog_id}/"" );

}}}
above of:

{{{
$file = rtrim( BLOGUPLOADDIR, '/' ) . '/' . str_replace( '..', '', $_GET[ 'file' ] );
}}}

Solution is working but I am not happy because it needs to edit core files. Is this working as intended? If it is, what is proper way to define BLOGUPLOADDIR for ms-files.php without breaking anything or editing ms-files.php",unsalkorkmaz
16282,PHP catchable error with get_term_link and WP3.1RC2,,Multisite,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-01-18T12:23:37Z,2011-03-08T23:10:45Z,"I recently updated my WP Network to 3.1RC2, and suddenly the get_term_link() I was using in the footer gave me this error:

  PHP Catchable fatal error: Object of class WP_Error could not be converted to string

It was working fine in 3.0.4",illutic
15956,Remove user link should be red,,Multisite,,normal,normal,Future Release,defect (bug),new,has-patch,2010-12-22T23:10:02Z,2012-05-01T14:07:04Z,"On MultiSite, a user has a 'Delete' action link, which erases them from the system completely. It is red.

When going to `Network Admin -> Sites -> Edit Site -> Users` there is a 'Remove' link, which only erases a user from a certain site in the network. This is currently blue.

Since it's still a destructive action (no trash), the 'Remove' link should be red as well.",scribu
20104,Show network-activated plugins on site plugins screen,,Multisite,,normal,normal,Future Release,defect (bug),new,dev-feedback,2012-02-22T22:05:35Z,2012-08-18T22:07:03Z,"Per http://wpdevel.wordpress.com/2011/12/23/core-team-meetup-recap-multisite/, one action item is:

> Include network activated plugins in the plugins menu and give message that it is automatically on for the whole network (if admin/have rights to see plugins screen).

To enable the plugins screen for a network, a super admin can go to network/settings.php and enable the menu.

Network-activated plugins should still show on this screen to site administrators. (They just can't activate them.) This should require a few tweaks to the plugins list table.",nacin
22860,Site list in Network Admin shows Master Site where each network site should,,Multisite,3.5,normal,normal,Awaiting Review,defect (bug),new,,2012-12-11T19:27:54Z,2012-12-11T19:56:49Z,"When in the Network Admin area, hovering on My Sites should present a list of all the active sites on the network, however, while it shows the correct number of sites, the name and links all point to the master site, and not the network sites. This behaviour is not reflected when on the child sites and acts correctly. It is only when in Network Admin.",thewanderingbrit
21837,Site search for a domain by text fails in subdomain installs of multisite with www in primary domain,,Multisite,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-08T00:30:50Z,2013-04-28T16:21:22Z,"To reproduce:

1) Create a subdomain network install where the main site's domain contains www
2) On the Network Admin->Sites search for an existing site based on the domain name, such as some* to find somedomain.domain.com.
3) Search returns ""No sites found."" even when the site exists and was searched for using a valid technique.

I've tested the problem on Apache and Nginx servers, with Twenty Eleven as the theme on the main site, and network activated plugins.  Existing sites can never be found by domain name.

Subdomain installs in a network are allowed where the main site is www.domain.com. DOMAIN_CURRENT_SITE in wp-config.php points to www.domain.com.  But blogs.domain stores the domain of a multi-site site named somedomain as somedomain.domain.com (without the www).

As a result, any site search for a domain based on text (the name of the domain) fails because of how the query is built on lines 70-73 of wp-admin\inludes\class-wp-ms-sites-list-table.php.  A search for some* produces a query that searches for some%.www.domain.com instead of some%.domain.com; the result is that nothing is ever found.

Searches based strictly on site ID work fine.

Possible fixes: 1) leave as is but warn that subdomain network installs where the primary domain includes www will have a broken site search (not ideal) and encourage no www on primary site of a subdomain network install or 2) check if the primary domain contains www and strip it out prior to building the query (ideal).",frisco
19724,Sites with IDN domains can't be created (bug #15554 continuation),,Multisite,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2012-01-03T17:44:08Z,2012-04-17T04:02:31Z,"registration of new site with idn domain by unknown/new users themselves is not possible.
(though creation of new site in wp-admin/network/site-new.php page is possible, by patch given in bug #15554 , i have just now tested it.)

also let i mention that site domain is written (and would be requested to enter, if would be fixed without punycode to unicode conversion) in punicode form in wp-signup.php page, that is not acceptable for wordpress.

i have attached differences i made to wp 3.0.4 to make idn domains working and also to show and accept them in human readable format in wp-signup.php page . link to the differences file i attached to/in previous bug report on/to this topic: http://core.trac.wordpress.org/attachment/ticket/15554/diff304-blogo.txt .",qdinar
19995,Slow down of access to Multi-Site Admin area when Upgrading to 3.3.1,,Multisite,3.3.1,normal,normal,Awaiting Review,defect (bug),new,,2012-02-08T22:57:26Z,2012-02-09T00:14:42Z,I've done a search and didn't see a trouble ticket for this so I wanted to post it and see what the feedback looked like. With the upgrade to WordPress 3.3.1 I've seen a very big slow down of access to the Admin area for both the Network sites as well as the Network Admin. I thought it was my server lagging at first or maybe an issue with me having to clean up my MySQL server but I've heard from others whom I know that also run Multi-Site installs having the same problem as well. One gentlemen's client thought his site had even been hacked because of the amount of time it was taking to get to the admin area but after running the necessary security tools it was realized that the server was secure but the lag did exhist. Any thoughts?,bastosmichael
23748,Suggest rewrite rules on IIS Network (Multisite),,Multisite,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-12T18:23:35Z,2013-05-21T21:25:03Z,"Server: Microsoft IIS - 8
Wordpress: 3.5.1 (multisite)

On subfolder install, suggest for web.config is:
{{{
<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name=""WordPress Rule 1"" stopProcessing=""true"">
                    <match url=""^index\.php$"" ignoreCase=""false"" />
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule for Files"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?files/(.+)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""wp-includes/ms-files.php?file={R:1}"" appendQueryString=""false"" />
                </rule>
                <rule name=""WordPress Rule 2"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?wp-admin$"" ignoreCase=""false"" />
                    <action type=""Redirect"" url=""{R:1}wp-admin/"" redirectType=""Permanent"" />
                </rule>
                <rule name=""WordPress Rule 3"" stopProcessing=""true"">
                    <match url=""^"" ignoreCase=""false"" />
                    <conditions logicalGrouping=""MatchAny"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" ignoreCase=""false"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" ignoreCase=""false"" />
                    </conditions>
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule 4"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:1}"" />
                </rule>
                <rule name=""WordPress Rule 5"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?([_0-9a-zA-Z-]+/)?(.*\.php)$"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:2}"" />
                </rule>
                <rule name=""WordPress Rule 6"" stopProcessing=""true"">
                    <match url=""."" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""index.php"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>		
}}}

On sudomain install, it is:
{{{
<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name=""WordPress Rule 1"" stopProcessing=""true"">
                    <match url=""^index\.php$"" ignoreCase=""false"" />
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule for Files"" stopProcessing=""true"">
                    <match url=""^files/(.+)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""wp-includes/ms-files.php?file={R:1}"" appendQueryString=""false"" />
                </rule>
                <rule name=""WordPress Rule 2"" stopProcessing=""true"">
                    <match url=""^wp-admin$"" ignoreCase=""false"" />
                    <action type=""Redirect"" url=""wp-admin/"" redirectType=""Permanent"" />
                </rule>
                <rule name=""WordPress Rule 3"" stopProcessing=""true"">
                    <match url=""^"" ignoreCase=""false"" />
                    <conditions logicalGrouping=""MatchAny"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" ignoreCase=""false"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" ignoreCase=""false"" />
                    </conditions>
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule 4"" stopProcessing=""true"">
                    <match url=""^(wp-(content|admin|includes).*)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:1}"" />
                </rule>
                <rule name=""WordPress Rule 5"" stopProcessing=""true"">
                    <match url=""^([_0-9a-zA-Z-]+/)?(.*\.php)$"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""{R:2}"" />
                </rule>
                <rule name=""WordPress Rule 6"" stopProcessing=""true"">
                    <match url=""."" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""index.php"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>	
}}}

I think that Wordpress Rules for files and Wordpress Rule 4 and 5 should follow same rules than htaccess suggest. 
When following actual suggest in a subfolder installation, I get an HTPP Error in call to sub site, error is always reproductible for me - can you confirm.

A fix could be to add a subdir replacement rule {R:1} for subdomain install and {R:2} for subfolder.

Implementation in the network.php file (adding $iis_subdir_replacement_12):
{{{
$iis_subdir_replacement = $subdomain_install ? '' : '{R:1}';
$iis_subdir_replacement_12 = $subdomain_install ? '{R:1}' : '{R:2}';

$web_config_file = '<?xml version=""1.0"" encoding=""UTF-8""?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name=""WordPress Rule 1"" stopProcessing=""true"">
                    <match url=""^index\.php$"" ignoreCase=""false"" />
                    <action type=""None"" />
                </rule>';
				if ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) {
					$web_config_file .= '
                <rule name=""WordPress Rule for Files"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . 'files/(.+)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""' . $iis_rewrite_base . 'wp-includes/ms-files.php?file='.$iis_subdir_replacement_12.'"" appendQueryString=""false"" />
                </rule>';
                }
                $web_config_file .= '
                <rule name=""WordPress Rule 2"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . 'wp-admin$"" ignoreCase=""false"" />
                    <action type=""Redirect"" url=""' . $iis_subdir_replacement . 'wp-admin/"" redirectType=""Permanent"" />
                </rule>
                <rule name=""WordPress Rule 3"" stopProcessing=""true"">
                    <match url=""^"" ignoreCase=""false"" />
                    <conditions logicalGrouping=""MatchAny"">
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsFile"" ignoreCase=""false"" />
                        <add input=""{REQUEST_FILENAME}"" matchType=""IsDirectory"" ignoreCase=""false"" />
                    </conditions>
                    <action type=""None"" />
                </rule>
                <rule name=""WordPress Rule 4"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . '(wp-(content|admin|includes).*)"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""' . $iis_rewrite_base . $iis_subdir_replacement_12 . '"" />
                </rule>
                <rule name=""WordPress Rule 5"" stopProcessing=""true"">
                    <match url=""^' . $iis_subdir_match . '([_0-9a-zA-Z-]+/)?(.*\.php)$"" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""' . $iis_rewrite_base . $iis_subdir_replacement_12 . '"" />
                </rule>
                <rule name=""WordPress Rule 6"" stopProcessing=""true"">
                    <match url=""."" ignoreCase=""false"" />
                    <action type=""Rewrite"" url=""index.php"" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>';
}}}

Sorry for my english :)

regards


",guy_fr
21919,Theme Customizer: loading preview with FORCE_SSL_ADMIN does not work,,Multisite,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-09-18T14:17:28Z,2012-09-18T14:17:28Z,"When FORCE_SSL_ADMIN is configured theme customizer JQuery will try and load the theme preview over ssl and get a 302 redirect error.

The path is

https://site.com/?customize_messenger_channel=preview...

redirects to

http://site.com/?customize_messenger_channel=preview...

since site is non-SSL.",Jasonheffner
23865,Trailing slash is not enforced when editing the path for a subdirectory site in multisite,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,needs-unit-tests,2013-03-26T19:53:23Z,2013-04-01T09:38:28Z,"It is possible to edit an existing subdirectory site so that the path does not end in a trailing slash, this causes the subdirectory site in question to have an inaccessible home URL.

To reproduce:

 * Create a multisite network in subdirectory mode
 * Create a new subdirectory site
 * Visit the subdirectory site successfully
 * Edit the site to change the path so there is no trailing slash
 * You should be unable to visit the subdirectory site now",simonwheatley
18043,Uploaded images dissapear after loading if using compression w/Apache,,Multisite,3.2.1,normal,major,3.6,defect (bug),new,dev-feedback,2011-07-08T22:49:15Z,2013-05-10T03:05:25Z,"I have found an issue between WordPress (Multisite) + Google Chrome (Mac) which I think appeared on my sever when I enabled compression a few months ago, but could never reproduce because it only happens with images managed by a Multisite WordPress install, not static images.

With images that are static Apache sends the file and calculates the Content-Length its self so these images work fine but if you access a file uploaded to WordPress it uses the .htaccess redirect so the image requests are sent via ms-files.php for what ever reason.

The problem is that WordPress decides to calculate its own Content-Length header in the HTTP Response which means that security conscious browsers like Google Chrome freak out when the data they receive is less than they we're told by Apache and they resultantly disable the image.

The Content-Length calculation comes on line 43 of ms-files.php I don't know why its needed because Apache seems to sort it out automatically if you don't send your own header, in fact most of the file seems like an unnessisary load of processing, perhaps it needs reviewing but this is a major issue as it is a growing browser, on a growing platform.

Here is a great video of it in action: http://www.screencast.com/t/cUYKSegW0N

This issue has been repeatedly reported on the forum:

http://wordpress.org/support/topic/disappearing-images
http://wordpress.org/support/topic/multisite-images-broken
http://wordpress.org/support/topic/image-not-show-in-google-chrome-timthumbphp

Please fix this asap!",ctsttom
23750,Uploads go into subdirectory install of WordPress,,Multisite,3.5.1,normal,normal,Awaiting Review,defect (bug),new,,2013-03-12T22:10:59Z,2013-03-13T02:26:44Z,"In upgrading a few sites to WordPress 3.5 and then giving WordPress its own directory (`wp/`), we continually see the uploads end up in `wp/wp-content/blogs.dir` instead of `wp-content/blogs.dir`.

For the time being as a work around we have enabled a network wide plugin that consists of 

{{{

function ms_upload_fix($uploads) {
	$uploads['path'] = str_replace('/wp/', '/', $uploads['path']);
	$uploads['basedir'] = str_replace('/wp/', '/', $uploads['basedir']);
	return $uploads;
}
add_filter('upload_dir', 'ms_upload_fix');

}}}

We do have `WP_CONTENT_DIR` defined and assume it should use this if set.",jondavidjohn
12832,Use the same data type for site statuses,database,Multisite,3.0,normal,normal,Future Release,defect (bug),new,,2010-04-03T19:48:20Z,2012-01-31T17:50:59Z,"For status archived we use:

{{{
archived enum('0','1') NOT NULL default '0',
}}}

Fo the others:

{{{
public tinyint(2) NOT NULL default '1',
mature tinyint(2) NOT NULL default '0',
spam tinyint(2) NOT NULL default '0',
deleted tinyint(2) NOT NULL default '0',
}}}

Shouldn't we use the same data type for the others?
",ocean90
22434,User E-Mail Change confirmation email is not being sent in multisite,,Multisite,3.4.2,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2012-11-13T16:09:13Z,2012-11-14T00:14:41Z,"Hi there,

I noticed a slight issue for Wordpress Multisite 3.4.2.

When trying to change the super-admin e-mail address wordpress notifies that an email confirmation needs to be sent out to the e-mail address. 

That confirmation is never sent, however all other emails generated by wordpress are being sent fine. This occurs on a private server (so no shared hosting restrictions)

I am trying the email change on the main network home site (site id=1).
Password reset instructions and comment notifications are being sent successfully from the same site (id=1).

I know that the email address can be changed from within the database, but I thought I'd let you know. 

Please let me know if you require additional info about the environment or wp install. 

Thank You,

Adrian",taropaa
20825,User activation in multisite should happen in the main blog..,,Multisite,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-06-04T11:00:41Z,2012-11-02T22:52:08Z,"In multisite mode ( subdomain ) , when a user activates his account, it should happen in the main blog ( or not ? ) .

In ms-settings.php ( line 118 ) , we assume that the main blog is always blog=1 ( which may be wrong ) . 

The attached patch uses the constant BLOG_ID_CURRENT_SITE if defined instead.",rahal.aboulfeth
21691,WPLANG not settable in multisite if there are no language files,,Multisite,,normal,normal,Awaiting Review,defect (bug),new,close,2012-08-26T11:16:24Z,2012-10-12T13:26:56Z,"I got a plugin running on a multisite and there is definitely something up with the translation.

I tracked the problem down to the WPLANG option in `http://localhost/<subsite>/wp-admin/options.php` being empty. I tried to update it, but it keeps reverting to blank. So down the line the issue with get_locale() looking for the WPLANG value in the site_options and then defaulting back to en_US because it's not picking it up from the wp-config.php defined WPLANG.

I'm assuming that the defined WPLANG in the wp-config.php does not apply in multisite instances. The plugin is only enabled on the separate blog instance, and I changed the translation in wp-config.php after the install if that has anything to do with it.

Simple filter to force the locale in the plugin for the moment:


{{{
function modify_locale(){
    return 'de_DE';
}
add_filter('locale','modify_locale');
}}}


I hope someone can reproduce this issue.",foxinni
24211,WPMU works with example.com but not sub.example.com,,Multisite,trunk,normal,normal,Awaiting Review,defect (bug),new,,2013-04-28T12:00:24Z,2013-04-28T12:19:00Z,"Installtion 1:
I created a WPMU installation on http://example.com/ domain with http://example.com/site/ link structure and it works just fine. Users can register new blogs and they can access them using respective links they chose.

Installtion 2:
I created another WPMU installation on http://test.example.com/ domain with http://test.example.com/site/ link structure and it works just fine. Users can register new blogs and they can access them using respective links they chose.

Installation 3:
I created yet another WPMU installation on http://test2.example.com/ and it works (I can access main theme, Dashboard etc.) but as soon as user registers new site under http://test2.example.com/site/ - it returns 404 not found in admin panel and when I try to view this website. I copied .htaccess etc. correctly, paths are correct. In case of this installation I also redirected this subdomain to another server.

DNS:
test2.example.com - record A - 000.000.000.000 (IP of the second server)

I bet that it generated invalid .htaccess content but I may be wrong.",Looimaster
20116,Welcome User Email in Multisite Can't Be Changed,,Multisite,3.3,normal,normal,Future Release,defect (bug),new,has-patch,2012-02-24T21:44:28Z,2012-05-02T20:32:08Z,"Reproduced this on 3.3 and 3.4-aortic.

Go to /wp-admin/network/settings.php

Add 'New' to the sentance 'Welcome User' to make it 'Welcome New User'

Hit update.

Page refreshes, text does not change.",Ipstenu
13554,Wordpress MU canonical link redirect failure,markjaquith,Multisite,2.9.2,normal,normal,Future Release,defect (bug),new,,2010-05-26T16:30:37Z,2010-11-13T08:02:46Z,"This problem manifests itself in Wordpress '''MU''' 2.9.2, but '''not''' in Wordpress 2.9.2.

In the MU install where blogs are subdirectories, canonical redirects work correctly for the subdirectory blogs, but not for pages on the root blog.

For example, [http://silverwarethief.com/essays/] is a sub-blog in the wordpress MU install. If you alter that link to [http://www.silverwarethief.com/essays/] wordpress MU will correctly redirect the browser to the canonical url.

However, this does not work with pages on the root blog. [http://silverwarethief.com/about/] is a page on the root blog. If you go to that link, you will correctly find yourself at the ""About"" page. If you then alter the link to [http://www.silverwarethief.com/about/] you will be redirected to the main page of the root blog, not the ""About"" page.

I have seen this behavior manifested on more than one MU install.

",rundi
23418,banned names / illegal_names not being banned,,Multisite,3.5.1,normal,normal,3.5.2,defect (bug),new,has-patch,2013-02-08T04:41:52Z,2013-05-10T16:59:56Z,"new site registrations are ignoring the banned names i add to the list in network options.

out of the gate the default banned names function works and the system does not let me register any of those default names. the illegal_names value in the wp_sitemeta table is populated with: '''''a:7:{i:0;s:3:""www"";i:1;s:3:""web"";i:2;s:4:""root"";i:3;s:5:""admin"";i:4;s:4:""main"";i:5;s:6:""invite"";i:6;s:13:""administrator"";}'''''

when i add '''''seven eight nine''''' to the banned names field of the network setting page and save the page, the banned names field is populated with '''''www web root admin main invite administrator seven eight nine''''', just how you would expect. but now the illegal_names value in the db is '''''a:1:{i:0;s:61:""www web root admin main invite administrator seven eight nine"";}'''''

notice how the serialized array only has one string now instead of the original multiple strings. once it is saved like this users can register any site name including defaults like admin and root plus the new names i added to the list.

my setup: two fresh multisite 3.5.1 installs. one is on a vps and the other on a local xampp install. no plugins activated nor installed. using twenty twelve theme. these are test installs.",dohman
20589,domain_exists should add trailing slash to path,,Multisite,3.0,normal,minor,Awaiting Review,defect (bug),new,has-patch,2012-05-01T16:49:18Z,2012-07-03T00:36:37Z,"{{{insert_blog}}} runs {{{trailingslashit}}} on the path, however, {{{domain_exists}}} uses whatever is passed in. If WP is enforcing the trailing slash on blog insertion, it really should when checking existence. It should probably also cast the site_id as an int per {{{insert_blog}}}.",ejdanderson
22370,dynamic_sidebar does not consider switch_to_blog,,Multisite,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-11-06T04:33:23Z,2012-11-06T04:33:23Z,"On the main site of my WordPress network, I have a header that I would like to show on all other sites of the network. The main site uses the parent theme and all of the other sites use child themes. In header.php of the parent theme, I'm using ''switch_to_blog'' function to load Navigation Menus from the main site in the header of the other sites. This is working perfectly.

'''The Problem'''

I also have a sidebar in the header that I would like to manage on the main site as I do with the navigation menu. Unfortunately, this doesn't work at all because dynamic_sidebar function does not take into consideration switch_to_blog. I get no output instead of showing sidebar from main site.

'''Others with same problem'''

Boone Gorges did a good job of explaining this problem on WordPress Stackexchange on the question titled: [http://wordpress.stackexchange.com/questions/48123/sharing-dynamic-sidebars-across-multisite-blogs Sharing Dynamic Sidebars across Multiple Blogs]. ",tarasm
20854,functions.php on line 155 ?,Nikolaos Raftopoulos,Multisite,3.3.2,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-06-06T12:45:29Z,2012-07-31T02:42:37Z,"In my network dashboard I get the following error message : 


Warning: number_format() expects parameter 1 to be double, string given in /home/tklighth/public_html/wp-includes/functions.php on line 155",leondari
18117,get_blog_details is sensitive to path's trailing slash,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2011-07-14T20:20:39Z,2011-11-16T01:32:02Z,"STR:
1. Create a site, then edit it so that the domain is the main domain and the path is /sub. Note that the admin doesn't turn this into /sub/, nor give an error.
2. Go to /sub/wp-admin. You'll notice it doesn't redirect, but it just gives you the main site's wp-admin. Going to /sub also just gets interpreted as a URL for the main site.

Potential solutions:
1. Make the admin automatically turn the path of /sub into /sub/.
2. Make get_blog_details match modulo trailing slash.
3. (Document carefully in Codex and hope people read it.)",mitchoyoshitaka
14730,ms-files.php required ob_clean() and flush(),westi*,Multisite,,normal,normal,Future Release,defect (bug),accepted,has-patch,2010-08-30T04:53:20Z,2013-02-05T16:17:29Z,"I recently migrated a development wp 3 multisite install to 'live' mode for a site launch.  One problem I had is that images served out of /files stopped working.  Everything looked fine as far as the response / headers, but the image would open up as corrupted.  

After quite a bit of troubleshooting, the problem went away when I added ob_clean() and flush() calls to ms-files.php just before the readfile($file) call at the end of the file.  Perhaps this is due to a problem elsewhere in my site, but I'm creating this bug so someone can decide if adding the buffer flush would be a reasonable addition to the codebase.  It seems like this is the recommended way of doing things according to the sample code here:

http://us2.php.net/manual/en/function.readfile.php",pj_mfc
13689,"multisite noblogredirect set, 404 error result not sending proper info with IIS",,Multisite,3.0,normal,normal,Future Release,defect (bug),new,,2010-06-02T01:01:31Z,2012-08-14T08:32:10Z,"Scenario.  With NOBLOGREDIRECT specified as the main sites url, the 404 errors and the bad blog url are supposed to go what is specified as the location in the noblogredirect define.

The bug is the 404 errors are *not* pointing to what is specified in the noblogredirect, the 404 errors (that are not bad blog urls) are triggering an IIS error response and not redirecting.  

When it's done triggering the IIS error it then uses the web.config to transfer to the main site.

Besides this bug.

This tells me 2 things, this tells me that the method/behavior of this is wrong and should be looked at.  *if* wordpress knows the difference between a bad blogurl and a 404 error page, the 404 error *should* go to the 404 template, however in the past WPMU versions it did not do that it went straight to the mainsite as well.   It *should* go to the 404 template and since it knows the difference it should be coded a such.

1) Bad subdomains should go to the specified noblogredirect define.
2) 404 error pages should go to the 404 page template for the theme.

Not to mention that the bug in question *is* that the 404 error itself is not redirecting to it's intended location to begin with.



",Frumph
24382,network_site_url returns incorrect value for Multisite subdirectory install,,Multisite,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-05-21T11:39:36Z,2013-05-21T11:39:36Z,"network_site_url() does not return the location of the WordPress install for Multisite subdirectory installations

1. Install WordPress to its own directory (e.g. wordpress)
2. Install network as subdirectory.
3. Add a subsite (so we have main site and subsite).

network_site_url() returns the same value as network_home_url() when it should be different, i.e. it always returns !http://domain.com rather than the expected !http://domain.com/wordpress

For information, site_url and home_url return as follows:

||          ||= main site =||= subsite =||
|| site_url || !http://domain.com/wordpress || !http://domain.com/subsite
|| home_url || !http://domain.com || !http://domain.com/subsite ||



Note that the unexpected behaviour of site_url for the subsite seems to be by design (see comment:43:ticket:19796 and comment:78:ticket:19796).
",creativeinfusion
17168,redirect loop when accessing wp-admin/network/,,Multisite,3.1.1,normal,normal,Awaiting Review,defect (bug),reopened,has-patch,2011-04-18T17:59:55Z,2012-08-10T06:31:44Z,"As of 3.1.1 administrators are getting redirect loops when accessing wp-admin/network/. I run a multi-site multi-domain network and we've noticed that this bug is effecting new and old sites. One super admin reported clicking Update Network put's it in a redirect loop as well.

For new sites if this bug occurs the quick solution is to delete / recreate. I checked _options siteurl, _blogs blog_id domain, and _sitemeta siteurl. Nothing out of the ordinary in the db.",chaos1
20861,switch_to_blog() breaks custom post type permalinks,,Multisite,,normal,normal,Awaiting Review,defect (bug),reopened,,2012-06-06T22:30:53Z,2013-04-15T12:18:49Z,"When using switch_to_blog() and custom post types, there are very strange results when calling the_permalink() or get_permalink().  For reference, we'll say the root site is blog1 and the second site containing the posts is blog2.

Using this code inside the loop:

{{{
switch_to_blog( $post->blog_id );
get_permalink();
}}}


If the post type is not registered on the current blog, the permalink given will be sitename.com/blog2/slug - when clicking it as href, it brings you the first instance of that slug in the database.

If the post type is registered on the current blog, the permalink given will be sitename.com/blog2/blog1/post-type/slug - this link will 404.

Related issue: #14992",sickhippie
16201,when updating a multisite blog subblogs getting 404 error,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-01-12T14:01:28Z,2013-05-08T20:26:43Z,"When I run an update at my multisite, I get 404 error when I try to view a post. This error resolves when I change or update the permalinks at each sub blog. But it is annoying to do so when you have hundreds of sub blogs. ",YogieAnamCara
24312,wordpress 3.4.1 muti-sites image has not appear in time on safari sometimes,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,,2013-05-11T01:11:37Z,2013-05-11T01:11:37Z,"I'm running muti-sites wordpress with nginx, and test on safari (chrome is fine).

A very important thing is, the image is upload by administrator.

I found sometime some image has not appear immediately, I was just thing a about network trouble before, but I found the rule today.

the rule is:

enter the page, image shown.
refresh the page(Command + R), image disappeared.
refresh again, image shown.
again again, it disappeared.
loops....
NOTICE: disappeared is means that's not apear immediately: loaded the page about 2 second later, the image could be loaded.

---- solution ----

When you refresh the page, safari send a image request to server with HTTP header `HTTP_IF_NONE_MATCH` and `HTTP_IF_MODIFIED_SINCE`.

Because of this is a mutiple site, nginx rewrite the request to ms-files.php to process it. ms-files.php found the image has not been modified, so it's response 304 with no content.

The bug is, the ms-files.php has already set `Content-Length` header before decided to response 304, so the response header going to be 304 with no content and `Content-Length > 0`. After that, safari was down.

Fixed the bug by add `header( 'Content-Length: 0' );` to wp-includes/ms-files.php line 79.

{{{
     75 if ( ( $client_last_modified && $client_etag )
     76     ? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) )
     77     : ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) )
     78     ) {
     79     header( 'Content-Length: 0' );
     80     status_header( 304 ); // new line
     81     exit;
     82 }
}}}

     ",ericdum
23637,wp-signup.php has overly aggressive CSS,,Multisite,3.0,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-02-27T14:33:46Z,2013-02-27T18:25:15Z,"The CSS added through wp_head by wp-signup.php stops Multisite form fields from being styled through inheritance. Allowing inheritance will result in more consistent styling with the active theme (for example, field font-size).",kwight
21662,wp-signup.php says there's no limit to the number of blogs even when that is not desired or impossible,,Multisite,3.4.1,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-08-22T20:48:26Z,2012-12-29T16:53:04Z,"Please remove the statement in '''wp-signup.php''' that exclaims that there's no limit to the number of blogs one can create. It's on line 169.

I ask for two reasons:
1. Hosters of WordPress Networks may not wish to encourage users to open a ton of blogs. I don't because I don't want to encourage a support nightmare.
2. We might use a plugin that limits the number of blogs that users may create, like [http://buddydev.com/buddypress/limit-blogs-per-user-plugin-for-wpmu/ Limit Blogs per User].

For #2, an acceptable alternative may be to make it a string that can be overridden by a plugin. But the current situation, where it's a one-size-fits-all string, is bad because I have to manually edit it each time I (frequently) upgrade WordPress.",novasource
21352,wp_lostpassword_url() on multisite,,Multisite,3.3,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-07-23T15:58:23Z,2013-04-24T18:59:15Z,"The wp_lostpassword_url() function on Multisite outputs the link to the primary domain not the current domain.

Although it works its not what should be expected if a user is registered to use blog ID 2 but not Blog ID 1.

The lost password email generated also links back to the primary domain not the current domain.
",philly max
23212,wp_signup.php always get 404 status header,,Multisite,3.5,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2013-01-16T02:04:14Z,2013-01-16T04:20:54Z,"I get 404 in status header for wp_signup.php in few server,

I think it was caused by class WP->handle_404();

",apineraka
17890,"""Add New Site"" screen reports invalid email addresses as missing",,Network Admin,3.1.3,normal,normal,Awaiting Review,defect (bug),new,has-patch,2011-06-25T11:32:41Z,2011-06-25T11:40:07Z,"The new site user's email is passed through `sanitize_email()` and the screen dies with 'Missing email address.' if it's `empty()`.

`sanitize_email()` returns an empty string (subject to filtering) on invalid email addresses however, so the following `is_email()` check for invalid email addresses is never even reached.

'''Steps to reproduce:'''
1. Add a new site with an email address such as foo@bar",kawauso
23361,"Deleting a user in Network Admin still defaults to ""Delete all posts""",,Network Admin,3.5,normal,normal,Awaiting Review,defect (bug),new,,2013-02-01T19:02:55Z,2013-02-01T19:21:46Z,"Background: #20045, #23224

We should either do what those tickets suggested in Network Admin as well for consistency, or redo/remove the form, since the attribution only works for the main site, as noted in [comment:ticket:20045:14].",SergeyBiryukov
23825,Demand to disable plugins in order to create a network doesn't make sense,,Network Admin,3.0,normal,normal,Awaiting Review,defect (bug),new,,2013-03-20T11:02:37Z,2013-04-03T14:46:47Z,"1. have some plugins active on a stand alone WP
2. add define('WP_ALLOW_MULTISITE', true); to wp-config.php
3. go to ""tools"" >> ""Network Setup"" and you get a ""Warning: Please deactivate your plugins before enabling the Network feature.""
4. you have to disable the plugins in order to continue the process

And I have to ask why? This doesn't make sense for the following reasons
1. Why plugins and not themes? any ""bad"" code that can be in a plugin can also be in a theme.

2. If the plugins provide essential functionality, then my site will stop behaving as expected. This basically will put the site in maintenance mode, so why not to do it automatically in the code to be able to get faster in and out of this mode?

3. Did it ever happened that a plugin ruined a network install?

At the least this should be treated as a warning and not as an error, i.e. the text get displayed but the user can continue with the process if he decides to ignore the warning.",mark-k
17394,Network Admin -> Sites -> Users not report correctly,,Network Admin,3.1.2,normal,normal,Future Release,defect (bug),reopened,has-patch,2011-05-12T14:10:29Z,2012-04-23T00:12:23Z,"The Network Admin -> Sites -> Users screen does not list all users in the site. I see the symptom of this issue has been reported before, but I have found the cause (in my case anyway).

'''Example Scenario:'''
In my set up I have added plugins that add user roles: a registration plugin that adds ""Registration Admin"" and a event management plugin that adds ""Office"" and ""Committee"". I have the registration plugin installed in all sites (root and test), but the event plugin in only installed in the test site. 

When I add a user to the root site, I can choose the normal roles or ""Registration Admin"", when I add a user to the test site I can choose the normal roles or any of the 3 new roles that have been added.

'''Problem:'''
When I view the list of users on the Network Admin, not all users are displayed in the list. It appears the Network Admin screen works in the context of the root site, where the event plugin is not installed. As a result, the Office and Committee roles are not available in the root site, and users of the sub-site with the those roles do not show in the user list. 

The filters show the correct total number of users beside All, but the additional roles unique to the sub-site are not listed. In the sub-site Dashboard, they show correctly, and if I install the other plugin to add the Office and Committee roles to the root site they will show in the Network Admin -> Sites -> Users screen for the sub-site. 

It would appear the user list for a sub-site will ignore users that are assigned a role that doesn't exist in the root site, even though they are assigned a valid role in the site displayed. 

This bug is reproducible by adding roles to sub-sites.

I would a happily help with more clarification or resolving this issue as needed. I know it's not critical, but it is very frustrating when administering a large multi-site network.",whiteatom
18088,Network Admin Email setting in wp-admin/network/settings.php fails silently,,Network Admin,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-07-12T19:56:26Z,2012-01-12T00:47:37Z,"'''Steps to reproduce:'''
1. Go to wp-admin/network/settings.php
1. Try setting your email to support@localhost
1. Page reports success but email remains the same


The check in wp-admin/network/edit.php consists of:
{{{
if ( is_email( $_POST['admin_email'] ) )
	update_site_option( 'admin_email', $_POST['admin_email'] );
}}}

which doesn't account for anything not passing `is_email()`

I know network admins should know what they're doing, but failing silently is a pretty sure-fire way to generate confusion.",kawauso
21236,Network Admin broken link http// not http:// typo if siteadmin changes siteurl of subsite,,Network Admin,3.4.1,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2012-07-12T13:03:36Z,2012-09-17T13:16:09Z,"Given:

* a multisite install at example.org configured for sub-domains  
* a subsite called ""foo"" at foo.example.org  
* a domain mapping foo.com -> foo.example.org  
* www.foo.com set as PRIMARY domain for that blog  

and...
the siteadmin changes the siteurl for that blog via Network Admin > Settings > Site  

then ...
when the siteadmin visits foo.com/wp-admin the the menu link for Network admin is broken.

It's expected that the link looks like


{{{
example.org/wp-admin/network/
}}}


but instead it is changed to


{{{
http//example.org/wp-admin/network/
}}}
 

Clicking on the link resolves to a 404 page.


This maybe trivial but changing the siteurl for mapped domains / subsites is important if you need to integrate with 3rd party API like google checkout which expect qualified valid full domain.

I've noticed on the multisite forums that a few other users have complained about the network admin link being broken.

If you need screenshots please let me know
  ",damiensaunders
17545,Pagination Broken on Network Admin > Edit Site > Themes,,Network Admin,3.2,normal,normal,Future Release,defect (bug),new,has-patch,2011-05-23T17:27:45Z,2011-11-22T17:11:53Z,"Pagination is broken in network admin on pages such as https://example.com/wp-admin/network/site-themes.php?id=XXXXX

You can navigate through pages using the arrow buttons, but entering a page number just reloads the page you’re currently on.

Steps to reproduce:

- From network admin, ""search sites""
- Edit site
- Click ""themes"" tab
- Enter any valid page number in the text field
- Hit enter",pmaiorana
20544,WordPress MultiSite/Network SiteURL error,,Network Admin,3.3.1,normal,normal,Awaiting Review,defect (bug),new,reporter-feedback,2012-04-25T14:24:07Z,2012-11-20T11:49:45Z,"In the Network Admin -> Sites -> Edit Sites -> Info
Domain is set to: swordstudios.net
Path is set to: /helpdawson/

I am using Domain Mapping to mask this site with http://helpdawson.com however I wanted the admin and location of files to be http://helpdawson.com/wp-admin and /files...  not http://swordstudios.net/helpdawson/wp-admin

I changed the Domain to helpdawson.com and removed everything from the path and checked off ""Update siteurl and home as well.""

When I hit submit the Domain field in the Info tab was correctly set to helpdawson.com but the site was redirecting to comhelpdawson. which obviously returned an error.  When I went to Edit Site -> Settings I saw that the siteurul and home were set to http://comhelpdawson/  

I changed everything back to the swordstudios.net/helpdawson and did the whole process over again and was able to duplicate the problem.

[[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug.png)]][[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug2.png)]][[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug3.png)]][[Image(http://swordstudios.net/wp-content/uploads/2012/04/siteurl-bug4.png)]]",professor44
16096,editing permalink structure in edit site causes 404s on site,,Network Admin,3.1,normal,normal,Future Release,defect (bug),new,has-patch,2011-01-04T16:15:53Z,2012-11-07T22:19:10Z,"If you edit a sites permalink structure in the network admin edit site screen, the site's rewrite rules do not get updated. The permalink_structure option is used to generate the permalinks on the front end of the site. Hence the rewrite rules will not match the permalinks until the permalink settings screen is visited in the site's dashboard.

The two alternatives are remove the permalink setting from the edit site screen or clear the rewrite rules.

I'm attaching a patch to clear the rewrite rules. The patch uses update_option instead of delete_option because update_option leaves the empty option in the object cache. If the option is deleted then WP will query the DB, add rewrite_rules to the notoptions cache, generate the rules, update the DB & remove rewrite_rules from the notoptions cache.",wpmuguru
19765,site-users.php in network admin doesn't display users with custom roles,,Network Admin,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2012-01-06T18:04:20Z,2012-01-07T14:03:30Z,"In the network admin when looking at the users of a specific site, if the site has a custom role the users with that role will not show up. The patch attached ensures that switch_to_blog() is used at the correct places so that data is being gathered from the correct site, not from the main site.",wpdavis
15765,wp-admin/ms-sites.php doesn't indicate required fields,,Network Admin,3.0.2,normal,minor,3.6,defect (bug),new,commit,2010-12-10T16:14:49Z,2013-05-05T00:12:24Z,"In '''wp-admin/ms-sites.php''', apparently all fields under '''Add Site''' are required, but there is no visual indication.",novasource
8492,Page name drop-downs do not scale well,,Optimization,2.7,normal,normal,Future Release,defect (bug),new,,2008-12-04T22:59:17Z,2009-11-23T21:30:53Z,"The page title drop-downs on options-reading and page.php seem to scale poorly in page loading times when you have a large number (around 1000) of Pages.  

I need to go to bed now so haven't researched this much, but I think the options-reading bit could be improved - I think it's currently fetching all of wp_posts when it only needs the title, which is a fair bit of wasted DB and processing time. 

rev 10051 and previous.",mrmist
10886,WordPress should not unnecessarily query posts at page load,junsuijin,Optimization,2.8.4,normal,normal,Future Release,defect (bug),new,has-patch,2009-10-02T01:10:15Z,2010-08-06T07:58:06Z,"For plugins like BuddyPress, with pages that have no WordPress post content, a query for posts at load time creates unnecessary overhead. I've tested this patch (with WordPress MU) and it removes 3 queries on all pages when the 'NO_QUERY' constant is defined. A very quick scan of page load times also suggests about 20% in time savings on average.

Other plugins like shopping carts and any others that needn't query the WordPress posts table can benefit from this as well.

My previous means of achieving this effect was to simply return null to the 'posts_request' filter, which removes only 2 queries per page.

The devised method uses suggestions from azaozz and sivel, and allows for setting the definition of 'NO_QUERY' using the 'init' action hook. It also still allows for further querying of the posts at a later point if necessary.

I welcome further suggestions about the patch, and any other ways this could be accomplished more effectively.",junsuijin
10545,_publish_post_hook (adding to postmeta existing hooks),,Optimization,2.8.1,normal,normal,Future Release,defect (bug),new,has-patch,2009-08-04T21:22:57Z,2010-05-14T08:14:57Z,"The problem that each time yuo press publish (assuming this is a save button) wp add to postmeta table new records even thay already exist now.


{{{
if ( get_option('default_pingback_flag') )
		$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_pingme' ) );
	$wpdb->insert( $wpdb->postmeta, $data + array( 'meta_key' => '_encloseme' ) );
}}}

shoud be (something like)
 

{{{
if ( get_option('default_pingback_flag') ){
		get_post_meta($post_id, '_pingme') ? update_post_meta($post_id, '_pingme', 1) : add_post_meta($post_id, '_pingme', 1);
		
	get_post_meta($post_id, '_encloseme') ? update_post_meta($post_id, '_encloseme', 1) : add_post_meta($post_id, '_encloseme', 1);
}}}
",butuzov
11381,display_page_row() generates boat loads of needless queries,,Optimization,,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-10T12:41:45Z,2010-05-16T06:12:50Z,"on sites with many static pages that are spread across multiple parents, display_page_row() triggers multitudes of calls to the db.

specifically, it's repeatedly calling get_pending_comments_num(). it's also calling get_editable_user_ids() and wp_dropdown_users(), both of which do not seem to cache their results in case they're used several times on the same page.",Denis-de-Bernardy
8885,get_posts() should default orderby post_date_gmt,,Optimization,2.7,normal,normal,Future Release,defect (bug),new,has-patch,2009-01-19T13:03:12Z,2011-04-27T17:40:37Z,"the function get_posts() in posts.php is defaulted to orderby post_date.  The problem with this is if entries are added in differing timezones (e.g., I changed my system timezone after x number of posts have been made), then the sorting is incorrect.  Since post_date_gmt is correct despite the timezone you are in, sorting based on this should be the default behavior.",caorongjin
16894,Bulk load Comment Meta upon access,,Performance,3.1,normal,normal,Future Release,defect (bug),new,dev-feedback,2011-03-19T11:19:27Z,2011-03-19T12:12:05Z,"When we query posts, we bulk load all of the posts meta and taxonomies at the time of request. Since adding comment meta, we load the comment meta on-the-fly since nothing really currently uses it in core.

I've added a filter to ''get_comment_text'' which modifies the comment content based on the value of a meta key.

The problem arises when multiple comments are displayed on a page, The metadata for every comment is loaded individually:

{{{
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (4)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (5)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (6)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (7)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (34)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (35)
SELECT comment_id, meta_key, meta_value FROM wp_commentmeta WHERE comment_id IN (37)
}}}

in all cases, the function stack is:
{{{
comments_template, wp_list_comments, Walker->paged_walk, Walker_Comment->display_element, Walker->display_element, call_user_func_array, Walker_Comment->start_el, call_user_func, twentyten_comment, comment_text, get_comment_text, apply_filters, call_user_func_array, MY_FUNCTION_HOOKED_TO_GET_COMMENT_TEXT, get_comment_meta, get_metadata, update_meta_cache #12 (0.7ms)
}}}

It isn't ideal that every comment causes an extra query, instead, we should bulk load comment meta for the comments being displayed. 

However, Since comment meta is not always used, in order to keep the load down, I'd suggest that we only bulk load the comment meta '''on the first request for comment meta''', this should allow current users to have no detrimental affect on query count/performance, whilst allowing those who use comment meta to manage each comment better performance.",dd32
22951,Performance enhancements for esc_url(),,Performance,,normal,normal,Future Release,defect (bug),new,,2012-12-15T04:36:03Z,2013-05-14T12:34:06Z,"`esc_url()` gets used a lot on WordPress admin pages. Sometimes 100 times or more. Nacin did some KcacheGrind measurements that had it as 7% of some pages. We can speed it up.

Most of the grind comes from `wp_kses_bad_protocol()`.

I had a thought that we're sort of going about things backwards. We're being very careful to exclude anything harmful — bad characters, bad protocols, duplicate fake-out protocols, etc. But almost 100% of the time, the URL going through it is a http/https URL that has completely normal characters in it. We can detect that really early, and bail.

I did some tests with this approach that showed a good time savings.

Quite obviously, there's no room to compromise on security, so we'll need to be watching unit test, and maybe even writing some new ones for good measure.",markjaquith
9864,Performance issues with large number of pages,,Performance,2.7.1,normal,normal,Future Release,defect (bug),assigned,,2009-05-18T19:20:59Z,2013-03-27T11:14:10Z,"'''Environment:'''

- Default install, default theme, no plugins, reasonable server configuration (typical execution, memory limits).  In my particular case, that was set to 30 seconds, 384 MB.

'''To reproduce:'''

- Create a large number of pages (5,000+)[[BR]]
- Try to edit a page

'''What happens:'''

- Maximum execution time error

{{{
Fatal error: Maximum execution time of 30 seconds exceeded in \wp-includes\post.php on line 1998
}}}

'''Workaround to prevent error:'''

- set_time_limit to 0 as server admin

'''My diagnosis:'''

Suspect that the immediate problem is that get_pages() inside wp-admin/post.php, line 2173,  performs a query that selects EVERYTHING:

{{{
$query = ""SELECT * FROM $wpdb->posts $join WHERE (post_type = 'page' AND post_status = 'publish') $where "";
}}}

Now, in this case this query (AFAIK) is just supposed to pull up the page list (with IDs, titles and parents).  What it actually does is it pulls up ALL of the post data.  This works fine for low number of pages, but on a larger data set this causes a chokepoint.  After all, the end result is just supposed to be a dropdown with a list of pages.


'''Workaround to improve performance:'''

- comment out line 273 in wp-admin\edit-page-form.php and skip displaying the page parent in the edit screen

'''The bigger picture:'''

Well, the ENTIRE list of pages is queried in this 'edit page' screen (see screenshot # 2 - with a dropdown that contains 5,000+ entries.)  I think this is a design limitation and it looks clumsy once the list gets larger.  Rather than patch the display routines, I think this thing needs to be replaced with something that can search / paginate piecemeal server-side.
",pp19dd
22301,Performance problem with Recent Comments widget,,Performance,2.8,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-29T06:07:14Z,2013-01-15T23:18:08Z,"When a comment is posted (or the status of a comment changes), the `widget_recent_comments`cache item is invalidated, which the Recent Comments widget uses to populate the widget content. On the next widget display, it will call `get_comments()` to repopulate the cache.

The problem occurs when you have a very large number of comments, the MySQL query will use the `(comment_approved, comment_date_gmt)` index, but if MySQL has to scan too many rows in an index, it'll switch to table scan instead. As the `comment_approved` column is mostly the same value, this will almost always happen. This is compounded by the query occurring on every page load until the cache is re-populated - if the query takes 60 seconds to run, there could potentially be hundreds of instances of the same query running.

So, we need a solution that either hides or eliminates how slow this query can be, and only runs it (at most) once per new comment.

After discussing this with @matt, we have a couple of ideas:

1. Move this query to a `wp_schedule_single_event()` call, which has the bonus of ensuring only one is scheduled at any given time. The downside is that it may cause the cache to be outdated on a low traffic site.

2. Keep a queue of recent comments in cache, and push a new one onto the queue when posted. This avoids the query entirely, but there would be a race condition if two comments were posted at nearly the same time - one of them could be left out of the queue entirely.",pento
22846,Site transient autoload even when they have expiry time,,Performance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-10T09:14:36Z,2013-05-13T04:40:52Z,"I guess set_site_transient should set autoload to NO after calling add_site_option when there is expiration time.

As far as I can see the all of the site transients right now are used only by cron and admin so no reason to auto load",mark-k
22844,random_seed transient is autoloaded with no reason,,Performance,3.4.2,normal,normal,Awaiting Review,defect (bug),new,,2012-12-10T08:55:36Z,2012-12-12T09:00:37Z,"As the only use is in password/secret generation which never happens on front end this should not be auto loaded.

IMO Either set an expiry time to avoid auto loading it, or make it an not auto loading option instead of transient.",mark-k
11384,rewrite->flush() needlessly deletes the rewrite_rules option,,Performance,2.9,normal,normal,Future Release,defect (bug),new,has-patch,2009-12-10T13:39:52Z,2010-11-13T07:30:14Z,"All sorts of cache-related plugins hook into the update_option_rewrite_rules and force-flush whatever they're caching when rewrite_rules are updated.

When a page is saved, WP_Rewrite::flush() mindlessly deletes the rewrite_rule option, triggering all sorts of cache flushing that may or may not be necessary.

The attached patch keeps the rewrite_rules option intact when a soft refresh occurs.

Tests done:

 - non-verbose rules used, page changes parent: no refresh
 - verbose rules used, page changes parent: refresh

Dunno what else needs to be testing...",Denis-de-Bernardy
14397,slow sql query from probably is_blog_installed,,Performance,3.0,normal,normal,Future Release,defect (bug),new,dev-feedback,2010-07-23T06:38:11Z,2010-11-23T00:10:38Z,"When everything else fails, is_blog_installed uses 
$tables = $wpdb->get_col('SHOW TABLES');
which can be costly in a big multisite or even when you have many single installations on the same DB

Related question - why does is_blog_installed is even being called on wp_widgets_init()? I would assume that if the DB is not set properly not only the widgets will suffer but also the themes and the plugins which are not protected at the same way.",mark-k
22192,update_metadata() and update_option() strict checks can cause false negatives,,Performance,,normal,normal,Future Release,defect (bug),new,needs-unit-tests,2012-10-15T03:19:23Z,2012-10-15T10:22:31Z,"Given this:

{{{
add_post_meta( $post_id, 'key', 1 );
update_post_meta( $post_id, 'key', 1 );
}}}

The update should not work, because they are the same. However, the meta cache will have ""1"" as a string, and then it will strict compare it to 1 as an integer. Thus, an unnecessary update will run.

Best I can tell, this could also affect update_option().

It is quite common to use integers and booleans directly into these functions. They should be smart enough to recognize that ""1"" == 1 == true and ""0"" == 0 == false, and that any numeric string is also equal to a properly cast integer.

Unit tests needed.

Ticket from which this was spun: #22189, saving navigation menus is slow.",nacin
22040,wp_dashboard_recent_comments queries do not skip comment_approved=spam,,Performance,,normal,normal,Awaiting Review,defect (bug),new,,2012-09-28T17:56:47Z,2013-02-02T05:42:22Z,"There is am oversight in `wp_dashboard_recent_comments` which can cause a large delay in the admin area for large sites that may have a lot of spam (ie. set by akismet)

Ironically the function contains the documentation
""Select all comment types and filter out spam later for better query performance.""

This is not the case, in fact it's the opposite. Filtering out the spam later via php and wp filters is far far slower since there is (now) an index on `comment_approved`. 

As it is, it causes dozens of extra queries while it loops through all the comments 50 at a time in mysql when they contain a great deal of spam, and then via php filters the spam out (even for admin).

Since there IS an index on `comment_approved` that can be used, to fix this you should only show `WHERE comment_approved='approved'` OR `comment_approved='moderated'` Or do the reverse with `comment_approved!='spam'`

Since WP 3.5 has switched to a query class for comments, it should in theory be easy to add the additional WHERE condition for comment_approved.",_ck_
19867,wp_dropdown_users() still not scalable,,Performance,3.3.1,normal,normal,Future Release,defect (bug),new,has-patch,2012-01-20T22:04:27Z,2013-02-11T13:31:09Z,"#14572 made huge improvements to the performance of wp_dropdown_users(), however, on certain sites that have an unusually large set of authors, wp_dropdown_users() still isn't usable.  It either causes a memory error on the server, or potentially crashes the client browser due to content size.",prettyboymp
21970,404 error when a post has the same slug as with a deleted (trash) page.,,Permalinks,3.4.2,normal,normal,3.6,defect (bug),new,needs-unit-tests,2012-09-22T20:25:04Z,2013-04-23T20:14:25Z,"I don't know if this is a bug/issue but I'll share this anyway.

A user creates a new '''Page''', for example, with a title ""New Garden"". But decides to delete it/""Move to Trash"" without deleting it permanently. Then creates a new '''Post''' with the same title ""New Garden"". Viewing that post will result to a ""404"" page not found.",janintia
22338,Add filter for the output from `get_sample_permalink`,,Permalinks,3.4.2,normal,normal,Awaiting Review,defect (bug),new,dev-feedback,2012-10-31T22:32:41Z,2013-04-11T12:59:34Z,"When getting the sample permalink the `post_name` is not always set in the Post object at this point. The `get_sample_permalink` gets around this by hacking the `post_name` into the Post object for the duration of the function, however it is not possible to get this ""hacked in"" information from the `post_type_link` filter. I suggest that a filter should be added to the `$permalink` array (which contains the link and the post name string) and various additional parameters, including the hacked Post object.

The alternative would be to try to detect situations where the data needs to be hacked in, e.g. watching for particular `action` GET params in an AJAX context, but this seems like a hack too far.",simonwheatley
17450,Almost pretty permalinks with non-ASCII characters do not work in Apache,westi,Permalinks,3.1,normal,major,Future Release,defect (bug),reopened,needs-unit-tests,2011-05-16T05:53:14Z,2012-04-27T19:03:50Z,Almost pretty permalinks (using PATH_INFO) with non-ASCII characters do not work in Apache; a not found error is returned. The same permalink works in IIS when UTF-8 is used for server variables. It also works when mod_rewrite is used.,peaceablewhale
19918,Attachments are viewable from any permalink that matches their slug,Adrian (designmodo.com),Permalinks,3.2,normal,major,Awaiting Review,defect (bug),new,dev-feedback,2012-01-29T11:02:27Z,2012-02-20T07:49:55Z,"I see one problem in WordPress, for example if you upload an images with name comments.png, all your url contain hide url like: /comments

example:
original post: yourdomain.com/myarticle
if you have in media gallery file with name comments.png url will be: yourdomain.com/myarticle/comments
or
yourdomain.com/myarticle2/comments
or
yourdomain.com/myarticle3/comments

and all this url's contain the same comment box.

my users report this problem, because if i share in twitter or g+ one link, many users redirect not to the post but to url with /comments in the end.

Adrian,

designmodo.com
",prorock
18523,Can't change page permalink if slug metabox is removed,,Permalinks,3.0,normal,normal,Awaiting Review,defect (bug),new,,2011-08-26T14:42:56Z,2013-04-12T06:32:49Z,"If the slug metabox is removed from the ""Edit Page"" page, it is not possible to change permalinks, using the edit permalink function at the top of the page.

Slug and other metaboxes are removed by the karma theme, in its admin/theme-functions.php (but only if 'ka_hidemetabox' in the wp_options table is 'true'):
    
{{{
remove_meta_box('slugdiv','page','normal');
}}}

Technically, without the slug box, the ""post_name"" field containing the new slug is not sent with the form data when you click the ""Update"" button.  

I believe this is bug was introduced after version 3.1.3. ",dankod
8905,Category pagination broken with certain permalink structures,ryan,Permalinks,2.7,normal,normal,Future Release,defect (bug),reopened,,2009-01-21T07:26:31Z,2013-01-03T21:37:18Z,"If one uses a permalink structure with %category% followed by %postname%, accessing pagination can cause a 404, as WordPress attempts to look for a post called ""page"".

As per http://barefootdevelopment.blogspot.com/2007/11/fix-for-wordpress-paging-problem.html

Presumably can occur with other permalink structures too.",rmccue
13459,Conflict between post and page slugs/permalinks when permalink setting is set to /%postname%/,ryan,Permalinks,2.9.2,normal,normal,3.6,defect (bug),new,needs-unit-tests,2010-05-20T04:56:27Z,2013-03-03T03:01:45Z,"If Dashboard -> Settings -> Permalinks is set to /%postname%/, it is possible to create both a page and a post with the same slug. When viewing via the frontend, the page is always displayed.

I would have thought that WordPress should prevent a post and a page from having the same permalink.

Steps to reproduce:
1. Create and publish a page with any slug. eg. http://domain.com/test/.
2. Create and publish a blog post with the same slug. Wordpress says the permalink for the blog post is http://domain.com/test/, but when you visit that URL it displays the page instead.

I can reproduce this on my 2.9.2 install, as well as 3.0 trunk. I'm guessing the bug is present in earlier versions of WordPress as well.


Possibly related: #11863",jamescollins
21417,Custom Post Type Permalink Returns 404 Error,,Permalinks,3.4.1,normal,minor,Awaiting Review,defect (bug),new,reporter-feedback,2012-07-30T02:11:54Z,2012-09-08T21:17:52Z,"Since, I upgraded Wordpress version from 3.3.2 to 3.4.1, I discovered permalink returns 404 error on (1) Paged categories, and (2) Custom type posts.

The paged categories has been fixed implementing ticket:21209, but custom type posts return 404 error when it called.

I am using following code to register custom type post 'products'.


{{{
function products_register() {

 

	$labels = array(
		'name' => _x('Products', 'post type general name'),
		'singular_name' => _x('Product', 'post type singular name'),
		'add_new' => _x('Add New', 'product item'),
		'add_new_item' => __('Add New Product'),
		'edit_item' => __('Edit Product'),
		'new_item' => __('New Product'),
		'view_item' => __('View Product'),
		'search_items' => __('Search Product'),
		'not_found' =>  __('Nothing found'),
		'not_found_in_trash' => __('Nothing found in Trash'),
		'parent_item_colon' => ''
	);

 

	$args = array(
		'labels' => $labels,
		'public' => true,
		'publicly_queryable' => true,
		'show_ui' => true,
		'query_var' => true,
// working perfect in 3.3.2		'rewrite' => true,
// also tried this in 3.4.1		'rewrite' => array('slug' => 'products','with_front' => FALSE),
		'rewrite' => array('slug' => 'products'),
		'capability_type' => 'post',
		'hierarchical' => false,
		'can_export' => true,
		'menu_position' => 5,
		 'taxonomies' => array('category'), 
		'supports' => array('title','editor','thumbnail', 'custom-fields')
	  ); 

 

	register_post_type( 'products' , $args );

}



//Registering Post-Type Products for Affiliate products only

add_action('init', 'products_register');





function add_default_boxes() {

    register_taxonomy_for_object_type('category', 'products');

}

//Registering Taxonomy for Products post-type

add_action('init', 'add_default_boxes');


}}}",imageac
24237,Draft Pages Missing Parent Slug In Permalink,,Permalinks,,normal,minor,Awaiting Review,defect (bug),new,,2013-05-01T12:13:26Z,2013-05-09T10:37:58Z,"Draft pages are missing the direct parent's slug as part of the permalink.  When the page is published it does receive the correct full permalink.   

To reproduce:

Create a new page. 
Select a parent. 
Save draft ( do not publish yet ). 
Review the permalink that is displayed.  It will be missing the parent slug. 

Add New Page:
[[Image(http://f.cl.ly/items/3P2H022E1z0O0J21111t/Screen%20Shot%202013-05-01%20at%208.08.11%20AM.png)]]


After Draft is Saved:
[[Image(http://f.cl.ly/items/0x2f060v2H2y0E14023K/Screen%20Shot%202013-05-01%20at%208.08.30%20AM.png)]]

The permalink should include ""contact"" at this point.  It will not until it is published. 
",lucasstark
16323,Hierarchical Custom Post Type Bug - invalid name query var generated,,Permalinks,3.0.4,normal,normal,Awaiting Review,defect (bug),new,,2011-01-20T20:07:41Z,2011-01-21T13:19:02Z,When starting off with the post type set to non-hierarchical and then setting the hierarchical parameter in register_post_type() to true Wordpress will generate an invalid name query var (see attached files). If a generate a new rewrite rule in my functions file (e.g. service/(.*?)/(.*?)/?$' => 'index.php?post_type=service&name=$matches[2]) this appears to fix the problem. Removing the custom rewrite rule will cause the error to reappear.,jrcowher
10786,Implementation of %my_taxonomy% in permastructs is incomplete,ryan,Permalinks,2.9,normal,minor,Future Release,defect (bug),new,dev-feedback,2009-09-15T03:30:56Z,2012-05-05T22:21:42Z,"The `register_taxonomy()` function includes a call to `add_rewrite_tag()` which should allow for a site's permastruct to include a %my_taxonomy% tag just like you can include a %category% tag or a %tag% tag, however this implementation is incomplete and doesn't work.

Example:

`register_taxonomy('genre','post');`

should allow you to create a permastruct (from the Settings->Permalinks screen) which includes %genre% in it.

The problem is that `get_permalink()` doesn't check for custom taxonomies and the replacement of %genre% with your post's genre in the permalink doesn't happen.

Patch upcoming.",johnbillion
9102,Inverse proxy breaks permalinks,ryan,Permalinks,2.7,normal,normal,Future Release,defect (bug),new,has-patch,2009-02-12T01:58:37Z,2010-04-02T00:34:00Z,"I have a WP installation at my university's webspace (on an apache server), say http://myuni.ac.at/mydir/wordpress/ , and an inverse proxy domain http://mydomain.at/ for it.
This means that any request to the latter, eg for http://mydomain.at/2009/02/12/inverse-proxy-trouble/ , is forwarded to http://myuni.ac.at/mydir/wordpress/ , which in turn means that the REQUEST_URI there becomes /mydir/wordpress/2009/02/inverse-proxy-trouble/ . My ''home'' variable is of course set to http://mydomain.at/ (''siteurl'' is set to http://myuni.ac.at/mydir/wordpress/ -- otherwise I wouldn't be able to login to WP).

Unfortunately, when analyzing REQUEST_URI, wordpress chops off the ''home'' path, not the ''siteurl'' one. This may be okay for some purposes, but in the inverse proxy case, permalinks break. For a fix, I had to hack two wordpress core files, namely 

wp-includes/classes.php
in function parse_request: change line 162 from 

{{{
$home_path = parse_url(get_option('home'));
}}}
to
{{{
$home_path = parse_url(get_option('siteurl'));
}}}

and wp-includes/rewrite.php, in function get_pagenum_link, line 987, same modification.

This is a dirty hack, of course; so I wonder if in general, using the ''siteurl'' path is valid in any case where the ''home'' host differs from the ''siteurl'' host. If so, I suggest changing the affected files in such a manner.",Bernhard Reiter
12634,Media Library & Permalink Overlap,ryan,Permalinks,2.9.1,normal,normal,Future Release,defect (bug),new,has-patch,2010-03-18T15:37:23Z,2011-02-13T07:54:42Z,"The problem is: upload a media item and give it a name, such as 'test'. Create a new page titled 'test' with a permalink that reads http://www.example.org/test/.

The permalink, instead of going to the page, goes to the media item. 

For most purposes, I would imagine this behavior should be reversed.

-Tim-",tmoorewp
3329,Need to strip % from the auto-permalink in the editor.,pishmishy*,Permalinks,2.0.5,normal,normal,Future Release,defect (bug),accepted,needs-refresh,2006-11-04T20:41:06Z,2013-01-17T04:11:19Z,"I made an article with ""x = 18,98 * y - %10"" as title, and this generated http://www.example.com/blog/2006/11/03/x-1898-y-%10/ which doesn't work.",Heyneken
10249,Page slug in cyrillic = Error 404 - Not Found!,westi*,Permalinks,2.7,normal,major,Future Release,defect (bug),accepted,needs-unit-tests,2009-06-23T19:44:34Z,2012-04-27T19:04:18Z,"When I create a page with page slug for example ""киро""
then when I try to open domain/киро - Error 404 - Not Found

The permalinks are %postname%

Post slug with this slug is working just fine, the same BUG exists in 2.7, 2.7.1 and 2.8",kalifi
23229,Pagination Links Broken,,Permalinks,,normal,normal,Awaiting Review,defect (bug),new,has-patch,2013-01-17T23:11:04Z,2013-01-19T04:47:55Z,"Currently, if the request URL ends with ""page/[\d]+/?"" it will always assume that it is the pretty version of the paged parameter, and rewrite that section of the URL.

This breaks in any condition where a numeric value follows that string at the end of a URL. An example that can be easily reproduced is as follows:

1) Set theme to TwentyEleven

2) Modify the theme to output the results of get_pagenum_link(2) anywhere.

3) Change permalink structure to ""/daily-page/%year%/%monthnum%/%post_id%/""

4) Go to a year archive for the permalink structure above.

5) The result of the get_pagenum_link will look like this: ""/daily-/page/2/"", breaking pagination within this context.

I've attached a patch against current trunk code that addresses this, providing the following features:

1) Pagination links 