﻿__group__,ticket,summary,owner,component,_version,priority,severity,milestone,type,_status,workflow,_created,modified,_description,_reporter Next Release,25272,Refactor/clean up autosave and use heartbeat for transport,azaozz,Autosave,3.8,normal,normal,3.9,task (blessed),assigned,early,2013-09-11T01:15:22Z,2014-03-06T07:08:01Z,"Autosave has lots of ""moving parts"" and over the years many additional functions were ""pinned"" to it. In 3.6 most of the additional functionality was moved to heartbeat, like logged out warning, nonces update, etc. It's time to move the saving of post data over to heartbeat as originally planned, and avoid the extra XHR.",azaozz Next Release,27003,Introduce wp_get_network() and begin cleanup of multisite load,,Bootstrap/Load,trunk,normal,normal,3.9,task (blessed),new,has-patch,2014-02-04T07:02:07Z,2014-03-06T18:17:33Z,"During the multisite load process, we use `wpmu_current_site()` to process the requested URL into a matching network. The access to this function is marked as private, and it really does perform the one task—setting the `$current_site` global. It wouldn't hurt to have a network retrieval function separate from this load process. Secondarily, the logic in `wpmu_current_site()` could use some cleanup. The attached patch introduces `wp_get_network()` and reduces some of the cruft that is in `wpmu_current_site()`. Some notes: * I dropped the `$sites = query for sites` that we use to check if only one network has been installed. I'm not convinced this saves any time, and from what I can tell we don't use the `$sites` global for anything else in core. This would clear out #26942 * Unfortunately, `wp_get_network()` must remain in `ms-load.php` for now, as `ms-functions.php` is not available yet. Not sure if this is something we should think about reorganizing. * I have not had a chance to test this with multiple networks yet. A multisite, single network appears to work fine. More testing and feedback is very much necessary.",jeremyfelt Next Release,26959,Incorporate preview of inserted galleries in the visual editor using a new version of the wpview tinymce plugin,,Editor,,normal,normal,3.9,task (blessed),new,,2014-01-30T01:33:55Z,2014-03-15T22:10:10Z,"Wouldn't it be awesome if galleries instead of showing a bland placeholder after inserting a gallery in the editor, the images were rendered in a nice grid instead? Let's see if we can make it happen. The goal is for this serve as the first implementation of what will hopefully be a full suite of ""views"" that replace shortcodes and oembeds with a better representation of the content. * Support copying, cutting, and pasting of the block * Handle undo/redo of all operations without adding behind-the-scenes operations to the stack * Support dragging the block * Work on touch-based devices * Able to easily position caret before or after the block and either paste or type * Update gallery when images are added, removed, reordered, or any of the other settings are changed * Allow themes and plugins to override the presentation",gcorne Next Release,27320,Unify media controls,,Editor,trunk,normal,normal,3.9,task (blessed),new,,2014-03-07T18:59:55Z,2014-03-15T01:52:31Z,"3.9 is bringing us tons of media improvements! This is super exciting. Let's make sure our new media elements have a unified UI. The attached image shows what an image, gallery, audio playlist, video playlist, and audio file currently look like in a post. To quickly summarize where we currently stand: - Images have a full-width, transparent black overlay with the ""image"" icon on the left and ""x"" on the right - Galleries have an opaque black overlay with the ""gallery"" icon and ""x"" icon clustered together on the left - Audio and playlists don't have an overlay; editing is brought up by double-clicking the block How can we make all three of these a consistent experience? Should the ""edit"" media button be that specific media type's icon (image, gallery, audio, audio playlist, video playlist) or should we use a generic ""edit"" icon for all of these blocks?",melchoyce Next Release,26864,"Consolidate handling of object, audio and video tags in wpautop",,Formatting,,normal,normal,3.9,task (blessed),new,,2014-01-17T19:17:02Z,2014-03-08T22:38:15Z,"There is some code in both JS and PHP flavors of wpautop() that strips line breaks from inside `` tags to prevent `
` and `

`. Something similar is needed for `

` without treating them as ""block"" elements.",azaozz Next Release,26936,Create new dashicons,,General,trunk,normal,minor,3.9,task (blessed),new,,2014-01-25T18:00:14Z,2014-03-13T20:29:12Z,"Let's use this ticket as a general Dashicons icon request ticket. First requests: - Code ( or <>) - Carriage return (https://cloudup.com/cF6LW5AKKMk) - Line break - Paragraph",melchoyce Next Release,27100,Update the TinyMCE help,,Help/About,,normal,normal,3.9,task (blessed),new,,2014-02-11T21:28:32Z,2014-03-12T21:45:01Z,"The content of the ""Help"" modal in TinyMCE needs updating. Some buttons have changed in 4.0 and it should probably have an ""Accessibility"" tab or section.",azaozz Next Release,27366,Clean up layout of edit image details modal,,Media,trunk,normal,normal,3.9,task (blessed),new,,2014-03-11T23:53:53Z,2014-03-13T00:48:16Z,"The new edit image details/replace image modal in the media editor is awesome! But the layout of the image details screen is in shambles. I propose that the look of it should more closely resemble the ""attachment details"" sidebar that we see in the replace image tab or the regular insert media modal, i.e. left-aligned form labels for instance. Perhaps it could include those details like upload date and image dimensions next to the image. In a previous version I recall that you could even expand the attachment details sidebar so that area became larger and easier to edit the fields, maybe it would look something like that. I do like the button toggles rather than the drop-down select in the attachment details sidebar.",eablokker Next Release,26650,Replace media file type icons with Dashicons,nacin,Media,,normal,normal,3.9,task (blessed),assigned,,2013-12-16T15:23:03Z,2014-03-13T20:48:38Z,wp-includes/images/crystal/audio.png - attached. It's pretty sad and not as good-looking as the rest of the admin.,wonderboymusic Next Release,27055,Themes Install Screen: introduce THX (Backbone powered) UX,,Themes,trunk,normal,normal,3.9,task (blessed),new,,2014-02-07T18:34:45Z,2014-03-13T20:16:02Z,"Start working on porting the work from THX (in core since 3.8) to the install screen. This time, let's try to work early on in tickets so when/if merge comes we are better prepared. First steps are to reuse the JS from theme.js with minimal changes to support the admin screen. We'll probably discover improvements to make to the core JS. Once the UX is in place let's work on adding whatever missing functionality.",matveb Next Release,27013,Contain scrolling inside the editor,azaozz,TinyMCE,,normal,normal,3.9,task (blessed),reopened,has-patch,2014-02-04T19:48:09Z,2014-03-08T20:40:22Z,Improve the user experience when scrolling the Visual editor with mouse wheel or trackpad: don't scroll the main window when the end is reached.,azaozz Next Release,27106,Default styles inside the Visual editor,,TinyMCE,,normal,normal,3.9,task (blessed),new,,2014-02-11T22:31:05Z,2014-03-12T21:44:03Z,"Some of the styling inside the editor has changed a bit: the appearance of the `more` and `nextpage` tags, the buttons that appear on clicking an image, the gallery placeholder has a ""selected"" state, etc. This ticket is to improve and ""tie up"" these changes together and to improve the default styling inside the editor. ",azaozz Next Release,27160,Paste from Word in TinyMCE 4.0,,TinyMCE,,normal,normal,3.9,task (blessed),new,has-patch,2014-02-19T20:24:06Z,2014-03-05T00:32:02Z,"The 'paste' plugin has changed in TinyMCE 4.0. The ""Paste from Word"" button and popup are gone. Now the editor checks all pasted content and when it detects HTML produced by Word, it filters it automatically. Some of the plugin's settings have changed too: `'paste_remove_spans'` and `'paste_strip_class_attributes'` are not used any more. This ticket is for testing and eventually adjusting the filtering of the HTML done on pasting. ",azaozz Next Release,26952,Style TinyMCE modals to match WordPress admin styling,,TinyMCE,trunk,normal,normal,3.9,task (blessed),new,,2014-01-28T20:24:19Z,2014-03-14T16:23:15Z,"There are a couple instances of TinyMCE modals which don't visually match the rest of the admin: [[Image(https://i.cloudup.com/7UHFeLt0VI.png)]] [[Image(https://i.cloudup.com/ZGnfapAkcq.png)]] Let's restyle them to match.",melchoyce Next Release,27112,Add widget management to the customizer,,Widgets,,normal,normal,3.9,task (blessed),new,,2014-02-12T19:32:54Z,2014-03-14T21:20:01Z,"As decided [http://make.wordpress.org/core/2014/02/06/heres-a-quick-summary-of-yesterdays-meeting-as/ last week], we're going to give the [https://wordpress.org/plugins/widget-customizer/ Widget Customizer] plugin a go in core. This ticket is to track its initial merge, which ocean90 and I are heading up. We're going to use the ""Widgets"" component for this.",nacin Future Releases,23327,Cache incrementors for get_bookmarks(),,Cache API,3.5.1,low,normal,Future Release,task (blessed),new,early,2013-01-30T18:24:08Z,2013-09-25T17:58:42Z,"Make use of a caching incrementor and store queries in individual cache buckets to avoid memory exhaustion. Pattern this after #23167, which does the same thing for get_pages(). See #23173 for an explanation of the motivation behind this.",ryan Future Releases,26869,Hook Docs completed files fixes,,General,,normal,normal,Future Release,task (blessed),new,,2014-01-18T20:37:27Z,2014-02-20T05:07:40Z,"We'll use this ticket as a clearing house fixes to the list of files found on make/docs: http://make.wordpress.org/docs/closed-hook-tickets-review/ Changes may include cleaning up any discrepancies in terms of spacing, code that was unnecessarily moved (such as in the case of filterable arrays, in-line `@` tags, etc. ",DrewAPicture Future Releases,25252,Pin the WordPress.org SSL certificates,,HTTP API,3.8,normal,normal,Future Release,task (blessed),new,,2013-09-08T03:15:17Z,2013-11-25T03:00:21Z,"#25007 introduced full SSL support for the streams transport, but still leaves us open to having [http://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html a valid certificate posing as WordPress.org]. This is a huge issue with things like auto-upgrades, since we need to ensure that we're acting in a safe manner. The way this type of issue has been handled is to use [https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning certificate pinning]. This has been in Chrome for Google-related properties since version 13 (with [https://src.chromium.org/viewvc/chrome/trunk/src/net/http/transport_security_state_static.json ever-expanding support]) and Firefox is [https://wiki.mozilla.org/Security/Features/CA_pinning_functionality moving towards implementing it]. In terms of how we achieve this, we can simply set the cacert path to the .org certificates locally. One issue we might want to consider here is whether this is flexible enough. Certificates may (should) expire, and we don't want sites everywhere breaking because of this. I believe the best solution here is to make a long-lived certificate for .org and bundle that as the CA, with the real certificates being signed by that one.",rmccue Future Releases,24791,Map audio/video shortcode IDs on import,,Import,,normal,normal,WordPress.org,task (blessed),new,,2013-07-17T21:39:47Z,2013-09-25T18:03:39Z,See #24458.,nacin Future Releases,22981,Tweets import plugin tracking ticket,PeteMall*,Import,,high,normal,WordPress.org,task (blessed),accepted,,2012-12-17T18:43:42Z,2014-02-02T23:13:48Z,"This ticket is to track the development of a plugin that can import tweets from a downloaded twitter.com archive. Presumably, such a plugin would be added to the importers list on wp-admin/import.php. Trac is best when it is used to discuss implementation. If you want to discuss the general idea, please do so on [http://make.wordpress.org/core/2012/12/16/antsy-for-3-6-to-start-and-need-a/ make/core]. Some initial thoughts on implementation: * It should use the JSON-formatted data that comes with a downloaded tweet archive. The importer should take the entire zip, extract it, and loop through the monthly files. Anything more is an unnecessary burden on the user. * The plugin should import the tweet as actual content. A filter is good idea, if someone wishes to toggle this to instead insert links to tweets (and thus rely on oEmbed). It should also store the JSON-serialized array of data (directly from 1.1 of Twitter's API) in postmeta. * It should import posts as a post format. Status makes the most sense; 'link' could also work for links, then there's also 'aside'. The post format to use should be filterable on a tweet-by-tweet basis. The post type to use should be filterable, as a 'tweet' type may be desired. * It should handle importing an archive over an existing archive, by looking for the existing tweet (probably IDs as a meta key). I don't think deleted tweets should be removed in this process, though. * Remember that tweet IDs are going to be bigger than 32-bit integers, so they must be treated as strings, and we should not try to set a post ID as we might with other importers. This importer should be tested on a 32-bit environment. Beyond that, there are other ""nice to haves"" that would likely be left to plugins of this plugin, given they are beyond the standard role of an importer. Beau Lebens, for example, has done some/all of this already: * Tagging based on hashtags, and a separate mentions and/or in-reply-to taxonomy. * Filtering over raw (no-HTML) content to add things like links to hashtags, links in tweets, etc., on display, rather than doing all of this on save. (Should a hashtag link go to the internal tag, or to twitter.com? Maybe the internal tag's description links to twitter.com?) * A cron to import new tweets using the same importing methods. One thing I will suggest: decisions, not options. Note I said ""filter"" a bunch of times, but never the word ""option."" Not that there won't be a need for any user decision here, but we should make a plugin that works well for the common use cases, and leave the rest to other enterprising developers. Side note: I am working on acquiring a namespace for the Twitter importer in the wordpress.org plugin repository.",nacin Future Releases,16379,"Better UI for doing ""Page on Front""",,"Posts, Post Types",3.1,normal,normal,Future Release,task (blessed),new,,2011-01-26T19:47:25Z,2014-02-02T09:48:12Z,"[[Image(http://grab.by/grabs/132427e6c1166ed3e4d8214959b9568a.png)]] This is the existing ""Page on Front"" UI. The process is as follows: 1. Create a ""Front"" Page 2. Create a ""Blog"" Page 3. Select the ""Front"" Page in the ""Front Page"" dropdown 4. Select the ""Blog"" Page in the ""Blog Page"" dropdown. 1 and 3 make sense. If you want a page on front, then you obviously need to create a page to live there, along with its content, and then designate it. But the ""Blog"" page is just a dummy. It's sole purpose is to create and maintain a URL for your blog. So why not just have something like this? Blog URL: http://example.com/ {input box} If a page exists in the URL they type, it gets used. If not, we create one on the fly as a dummy. This seems a more natural way of doing it. You don't care about the dummy page — you just want to choose an appropriate URL for your blog.",markjaquith Future Releases,24313,Filter Columns by View,,Administration,,normal,normal,Awaiting Review,feature request,new,,2013-05-11T01:18:56Z,2013-05-11T14:12:54Z,"After searching extensively for a way to do this, and discussing this with fellow WordPress developers, I believe I have found a feature that should be added to WordPress. When you make a new custom post type, if you have WordPress register a UI for it, it outputs a screen named ""All XXXX's"". Within these, WordPress automatically adds filters. So let's say I've registered a CPT called Downloads. So I can now use the built in UI for Downloads and filter the page to show just pending downloads, or just published downloads, for instance. However, the issue becomes what if you want to display a column for some views, but not others. For instance, if Downloads has a column called ""Sales"" where the number of sales of that particular download is stored, it makes no sense to show that column on Pending Downloads (since they can't have sales before being published). Currently, at least after days of trying to find a way of doing this, there is no way to do this for the tables registered by WordPress. If I make my own List_Table, then I can do this. However, there should be a way of adding columns based on filter, so that a developer who adds a column programmatically can go: {{{ if($view != pending){ // register sales column } }}} Feel free to correct me if I've overlooked a method of doing this. -Chris",chriscct7 Future Releases,26780,Fixing multiple dashboard widget columns,,Administration,3.8,normal,normal,Awaiting Review,feature request,new,,2014-01-05T19:40:25Z,2014-01-06T06:22:00Z,"I would like to make a feature request, asking the WP team to (re-)consider the current (3.8) dashboard layout. On *my* screens (IBM Thinkpad X31 laptop and a 17"" monitor on my desktop, both with 768x1024 pixel resolution), the current default (3.8) dashboard looks terrible with ALL of my sites. The default (3.8) set up wants to use two columns and puts all of the dashboard widgets in a single (~500px wide) column (on the left) and an empty box on the right. Many of the dashboard widgets I have look really bad that way. *I* never want two columns and only want a single *wide* column. I really hope the WP team re-thinks this dashboard design disaster. Taking column count screen option out is a terrible mistake. They *could* restore the option with a option for 'automatic responsive columns' or something along with a 'fixed column count' option. That way, they can have their 'modern' automatic responsive column feature for those that use a wide range of devices (eg iPhone on the go, and big iMac screen at home/office, etc.) and a fixed number of columns for people like me, who are using 'old' UI techology (small laptop and 'small' old 4x3 VGA monitor). ",RobertPHeller Future Releases,16434,"Give site admin ability to upload favicon in Settings, General",,Administration,3.1,normal,normal,Future Release,feature request,new,,2011-02-01T16:57:34Z,2014-01-17T08:11:57Z,"WordPress has come a long way in terms of making it possible for someone completely non-technical to create a professional web site for a person or business. One of the little things that is still annoyingly technical is adding a favicon. WordPress.com does this via the Blavatar feature, a name I wouldn't really want us to adopt b/c this is more CMS-oriented, but the ease of uploading an image, scaling and cropping it, then having it become the favicon is something I do want to adopt. Keeping it a theme-based thing means the non-technical can't control it for their sites, which is lame. ",jane Future Releases,13516,Hide JS-only widgets on dashboard is no JS,,Administration,3.0,normal,normal,Future Release,feature request,new,,2010-05-24T13:16:42Z,2011-12-24T16:16:41Z,"We hide screen options and help; we should also hide these widgets instead of displaying by default with the 'you need JS' message. Affected modules: QuickPress, Incoming Links, Plugins, WordPress Development Blog, Other WordPress News. We should display an additional module for no-JS people that lets them know that their WordPress install would be even more awesome with JavaScript, and list out some of the features they would gain access to with JS enabled. ",jane Future Releases,9057,"Need ""restore defaults"" buttons on all admin screens",,Administration,2.7,normal,normal,Future Release,feature request,new,,2009-02-06T08:50:30Z,2011-07-08T15:06:31Z,"Need ""restore defaults"" buttons on all admin screen items, else once you change something, there's no way to get it back to whatever the default was, or find out even, short of a total reinstall. Includes ""screen options"" items too. ",jidanni Future Releases,23575,Standard UI Classes and Functions,,Administration,3.5,normal,normal,Awaiting Review,feature request,new,,2013-02-21T09:09:27Z,2013-02-22T02:31:55Z,"It would be nice if wordpress allowed you to use the Post UI natively in my plugins, at the moment I've had to write a few classes for my Plugin Framework that mimic the Publish Metabox and Tabbed Metabox. As there is simply no easy way to do this at the moment, I think there should also be a better way of registering hidden menus. I have to jump through loads of hoops just to do this. ",jscampbell.05 Future Releases,11229,Theme & Plugin Search Box,,Administration,,normal,normal,Future Release,feature request,new,,2009-11-22T19:59:40Z,2014-03-06T22:46:17Z,"One thing I think would reduce mouse clicks is the ability to search for a new theme from the ""Manage Themes"" page. It could be a quick search, as the ""Add new themes"" page gives you better control and various parameters to search. This is also relevant in the plugins area, you can search for existing plugins from the ""Manage Plugins"" page but you cannot do a quick search for ""NEW"" plugins. Again, useful and minimizes a mouse click.",dremeda Future Releases,19561,Allow a background colour to be set for custom headers,,Appearance,2.1,normal,normal,Awaiting Review,feature request,new,dev-feedback,2011-12-15T09:11:04Z,2014-02-02T07:59:48Z,"Currently WordPress allows you to set a custom image background for the header and a custom text color but doesn't give the users a way to set a custom ''background color'' for the header. Adding a simple color picker for the header background would give users a lot more flexibility in what they can do with the header without using external software to create graphics etc. Perhaps needs a way to activate it from the themes functions.php (suggest ''add_custom_header_color''?)",hellweaver666 Future Releases,21455,HiDPI (retina) theme custom backgrounds,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-08-02T17:07:06Z,2012-09-15T05:22:40Z,"We should support HiDPI custom backgrounds. This will be a bit easier than custom headers, #21389, as we can do a media query in _custom_background_cb(). Worth noting that we will still need to solve some aspect of retina uploads, #21038.",nacin Future Releases,17236,Make it easier to subclass custom header and background,,Appearance,,normal,normal,Awaiting Review,feature request,new,,2011-04-25T20:50:13Z,2014-02-02T07:59:48Z,"The functions that add the custom header and background contain code like this: {{{ require_once( ABSPATH . 'wp-admin/custom-header.php' ); $custom_image_header = new Custom_Image_Header( $admin_header_callback, $admin_image_div_callback ); add_action( 'admin_menu', array( &$custom_image_header, 'init' ) ); }}} This makes it difficult to extend those classes, since they're referenced here directly. Replacing them with subclasses involves not only modifying the global after the fact, but removing and re-adding the action hook to the newly created sub-class item. The fact that this base class is only included at this point also makes it difficult to load your own subclass at the right time, since you have to add the custom image header first, then load, then remove the action hook, then replace the class, then do the action hook yourself... It would be nice if it was possible to more easily replace these globals (both header and background) with a different class at the time of definition here. I'm not sure of the best way to do this. Perhaps with a hook allowing the user to replace the class before the add_action? Or by having the new itself use a class of the users own defining. ",Otto42 Future Releases,21389,Retina theme custom headers,Otto42,Appearance,,normal,normal,Future Release,feature request,assigned,,2012-07-25T19:40:56Z,2013-09-11T13:41:33Z,We should support retina custom headers. Not sure how — ideas welcome.,nacin Future Releases,21666,Theme customizer reset,,Appearance,3.4.2,normal,normal,Awaiting Review,feature request,new,,2012-08-23T10:09:49Z,2014-02-12T22:45:00Z,"It would be useful to be able to reset the settings to the defaults as specified in the add_setting() class method when setting up each setting. These could be reset on a section by section basis and/or for ALL settings.",dgwyer Future Releases,26592,Allow ABSPATH to be set outside of wp-load.php,,Bootstrap/Load,trunk,normal,normal,Awaiting Review,feature request,new,,2013-12-13T05:04:00Z,2014-01-19T17:54:36Z,"When wp-load.php is a symlink ABSPATH gets set to a value that works for most things but is incorrect. The most obvious problem is paths to plugin assets will 404. Rather than solve this immediate problem it seems easier to allow for ABSPATH to be set outside of wp-load. That way it covers any other use cases and doesn't add a performance hit. Adding an ""if (!defined('ABSPATH'))"" before defining the value would cover things. It might be nice to also change wp-cron.php to check for a different constant, maybe even something like WP_LOADED, but its less important since its a special case that is easy to work around.",jeichorn Future Releases,20523,Disable autoloader when using class_exists(),,Bootstrap/Load,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-04-23T10:08:32Z,2014-01-19T17:54:36Z,"A couple of files inside the /wp-includes/pomo directory use class_exists() the wrong way, for example in /wp-includes/pomo/entry.php : {{{ if ( !class_exists( 'Translation_Entry') ): }}} It should be: {{{ if ( !class_exists( 'Translation_Entry', false) ): }}} The second parameter 'false' disables autoloading. This is important because I'm integrating some WP functions into another existing website which already comes with an Autoloader for some classes = confusion. This should be easy to fix. Thanks :) ",michael.heuberger Future Releases,25117,The distribution build process should be fully available to anyone.,,Build/Test Tools,,normal,normal,WordPress.org,feature request,reopened,,2013-08-22T14:36:33Z,2013-12-01T19:49:45Z,"The wordress build environment for each version should be specified in enough detail for third parties to be able to run a build process and get the same distribution as generated by wordress.org. See discussion about maintaining and documenting the build environment in #24977",mark-k Future Releases,20025,Add a filter for post types when viewing list of comments in the backend,,Comments,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-02-12T14:03:49Z,2014-02-02T21:31:03Z,Filtering comments based on post type,nprasath002 Future Releases,18630,Custom Comment Validation Error,,Comments,3.3,normal,minor,Awaiting Review,feature request,new,,2011-09-09T19:49:33Z,2012-04-04T18:16:21Z,"One of the things that bugs me about WordPress is not being able to customize the wp_die() function that is called on comment form validation. I have seen some people sugget core hacks, eek. I'm hoping that a hook is added to allow overriding of the default wp_die(). Maybe even a new template file wp_error.php that would be called first. I haven't found a lot of discussion on this in trac just #11286 and #10551",bandonrandon Future Releases,14676,"Moderation email option is confusing, limited",,Comments,,normal,normal,Future Release,feature request,reopened,,2010-08-23T17:06:23Z,2014-02-02T09:32:15Z,"The setting is ""E-mail me whenever a comment is held for moderation"" but in that sentence ""me"" is inaccurate; moderation emails are sent to admin_email. ""Email the admin ($admin_email) whenever"" would be accurate. Here's a related question: Why not send moderation emails to post authors?",andy Future Releases,26114,Auto prepare utilities for wp-db.php,,Database,3.7,normal,normal,Awaiting Review,feature request,new,dev-feedback,2013-11-19T16:55:47Z,2013-12-01T13:08:21Z,"This is a feature I've adapted from my kissMySQL class that I use on non-WordPress projects that use a database. It's a handful of non-intrusive utility methods to add to the wpdb class. Simply put, I personally find it tedious writing this: {{{ $wpdb->get_results( $wpdb->prepare( $query, $args... ) ); }}} I'd prefer to write this: {{{ $wpdb->get_results( $query, $args... ); }}} The idea is any additional arguments are taken to be values to be escaped and inserted into the query. It also intelligently detects and shifts/pops off the $object argument if it's the first or last one passed in the list. So I could easily do this: {{{ $wpdb->get_results( $query, ARRAY_A, $args... ); // is equal too this $wpdb->get_results( $wpdb->prepare( $query, $args... ), ARRAY_A ); }}} Now, my patch however simply adds alternate methods that alias to the proper ones after doing the auto preparation. The only real downside is that you can't pass x/y args to the get_var/row/col methods. My solution would be to add methods like get_var_x_y and get_row_y, but obviously this would be too drastic an API change. This patch adds the following new methods (naming schemes leave something to be desired): - auto_prepare() - get_var_prepared() - get_row_prepared() - get_col_prepared() - get_results_prepared() This patch also adds a few lines to wpdb::query() so it can use the auto_prepare method, should multiple arguments be passed to it. Since query() only takes one argument, it seemed safe to modify it directly rather than create a query_prepared() method. In addition, I've had to make some changes to the values of the $object constant values; I've appended a random string to the end so as to greatly minimize the chance of confusion between what a prepare argument and an object format constant. I'd like feedback on this handling in particular if possible; pretty sure I'm missing a better way to do this. I've tested this and as expected it doesn't appear to cause any problems. More testing will be needed of course; I'm applying it to a number of my installs to see if anything breaks, but so far so good.",dougwollison Future Releases,21055,Interface for wpdb compatibility,,Database,,normal,normal,Awaiting Review,feature request,new,,2012-06-23T17:30:13Z,2012-08-24T01:40:01Z,"==Summary== From the wp-includes/wp-db.php file: {{{ It is possible to replace this class with your own by setting the $wpdb global variable in wp-content/db.php file to your class. The wpdb class will still be included, so you can extend it or simply use your own. }}} When one implements a db class that does not extend wpdb, it would be safer that the new class implements an interface. This interface may be called wpdb_compat and would assure that the class has all necessary methods/properties. Of course, wpdb_compat should be supported by wpdb too. == Design Strategies == My patch adds: * wp-includes/interfaces/wpdb-compat.php Very small edits to: * wp-includes/wp-db.php * wp-includes/load.php * wp-admin/install.php At the moment, WordPress does not include any interface; this means that there is not a directory for interfaces.[[BR]] In my first draft, I put it in wp-includes/interfaces so that - if more interfaces will be added in the future - they will have a logical place. ",santec Future Releases,19207,dbdelta supporting foreign key,,Database,3.2.1,normal,normal,Awaiting Review,feature request,new,,2011-11-08T19:10:44Z,2014-02-22T19:35:40Z,Is there a plan to include support for foreign key inside dbdelta function?,manutdotcom Future Releases,26736,Publish box: use user defined date and time format,,Date/Time,trunk,normal,normal,Awaiting Review,feature request,new,,2013-12-28T23:06:11Z,2013-12-28T23:06:11Z,"I mean the value for the ""Published on:"" label ;)",sergej.mueller Future Releases,17525,There should be a datetime_format option to specify whether the date or the time comes first,,Date/Time,,normal,normal,Awaiting Review,feature request,new,,2011-05-20T20:09:11Z,2014-01-19T17:49:43Z,"As a theme author it would be very useful to have a global option for formatting a full datetime (and a the_datetime() function too). Sometimes datetimes are formatted ""$date $time"", sometimes it's ""$time $date"", sometimes it's even ""$date at $time"". I think there should be an option for this in the general settings alongside the date and time format options.",holizz Future Releases,14364,"""Now"" button for current date in update post published date and time",,Editor,3.0,normal,normal,Future Release,feature request,new,,2010-07-20T15:16:00Z,2013-08-09T09:08:51Z,"It would be very convenient to have a button called ""Now"" in ""Edit post"" window in ""Published on: date @ time"" section. Google likes to know when old posts gets updated. So it is recommended to update post ""published on:"" date when post content is updated. When a user wants to update publishing time and date of a post, he must click ""Edit"", then manually enter year, month, day, hour and minute of current date and time and then click ""Update post"". It is quite slow and dull process but it could be automated easily with a new button. It would be very nice to have a button called ""Now"" which should automatically fill in year, month, day, hour and minute fields with values of current date and time. Whenever a user updates post publishing date and time, the date and time that he/she usually enters is current date and time. The ""Now"" button would be a big time saver for users who update their posts.",dovydas Future Releases,22180,"Add attachments to ""existing content"" area in link dialog",,Editor,3.4,normal,normal,Awaiting Review,feature request,new,,2012-10-12T20:59:26Z,2013-11-28T04:34:08Z,"At the moment, the process for linking to attachments within the editor is rather cumbersome. Each time someone wants to link to a PDF document or other item they've uploaded through the media interface, they have to take the following steps: 1. Upload the file through the media uploader 2. Press the File URL button in the media modal 3. Copy the URL from the ""Link URL"" box 4. Close the media modal 5. Highlight the text they want to link 6. Press the ""Insert/edit link"" button in the editor toolbar 7. Paste the URL from their clipboard into the URL input It would be nice if attachments could be included in the ""Link to existing content"" area within the link dialog. I can see two possible ways of implementing this. Either simply include attachments in line with the pages, posts and custom post types that already display in that area; or, use a tabbed interface to switch back and forth between the normal ""existing content"" list and a list of existing attachments. When I discussed this with Nacin and a few others at WordCamp Baltimore, we proposed adding a preference (possibly based on the information that's stored when the user uploads the media) determining whether the permalink leads to the attachment page or the actual file. Based on my preliminary research, it looks like implementing this will essentially take two steps: 1. Add 'attachment' to the `$pts` array at the beginning of the `_WP_Editors::wp_link_query()` method. 2. If the preference has been set to link to the actual file, the code will need to adjust the `permalink` value in the `$results` array for anything that comes up as an attachment. I'll look at starting a patch for this over the next few days, unless someone else gets to it first. Thanks.",cgrymala Future Releases,25546,Improve Post Previews,,Editor,3.8,normal,normal,Awaiting Review,feature request,new,,2013-10-09T06:01:07Z,2013-11-13T20:27:52Z,"There are several pain points around previewing posts: * Tab switching. If you have more than a few tabs open, it can quickly become a game of ""Which tab was my preview in?"" * Keeping your place. If I'm editing the end of a long post, every preview requires me to scroll down to the place where I made my edits. * No instant feedback. Previewing is a manual process, requiring the user to click the ""Preview"" button each time they want to check out how the latest version looks. I propose a return to the in-page preview from days of WordPress yore, but updated and improved: * Side-by-side editor and preview. No scrolling down to the bottom of the page required. * ""Instant"" updating of the preview as you type. No need to click ""Preview"" more than once. * The preview maintains its scroll position, showing you the changes to your post in the part of the post you want to see. * Backwards-compatible. Right-clicking ""Preview"" and choosing ""Open Link in New Tab"" still works like it used to. * Responsive. The preview pane can be resized to immediately view the post in widths from ""smartphone"" to ""fullscreen."" In the spirit of ""new features as plugins"", I've attached a plugin that does what I've described above. It's also available at http://wordpress.org/plugins/inline-preview/ Some likely candidates for improvements to the existing plugin: * Detect when the screen/window size is already too small to comfortably fit an in-page preview and fall back to the old behavior. * Better UI for the preview's ""X"" close button.",cfinke Future Releases,11489,iTouch useability in the editor out of the box,,Editor,2.9,low,minor,Future Release,feature request,new,close,2009-12-19T03:47:58Z,2013-11-06T21:44:06Z,"I have tried to write a post in 2.9 in iPod Touch and the text zone has some problems: * When you write the title, if you want to write the post the keyboard doesn't appear. You must move to another text-editable zone and go back to the main text zone to have the keyboard. * Once you have the keyboard, you have capslock activated and cannot deactivate it (you can deactivate letter-per-letter). I have tried in 2 different iTouchs with the same result. I put it as low because WordPress has an iPhone/iTouch app and don't know if happens the same in other mobile platforms. ",bi0xid Future Releases,23622,Support Google Maps / Docs / Spreadsheet embeds,,Embeds,,normal,normal,Awaiting Review,feature request,new,,2013-02-26T06:08:17Z,2014-02-19T11:36:00Z,"Google Maps and Drive (docs, spreadhseets, and presentations) all can do embeds, but don't support oEmbed. Still, I think they're big enough for the core to have support for natively. We already have Google Video support, and it's pretty much dead now. Initial patch attached. - To get a Maps URL, view a Google Map, then select the ""Link"" icon in the left menu bar, top-right corner. - To get a docs/sheet/presentation URL, open the item, select ""File->Publish To Web. Once it's published and visible to the web, the dialog will give a link for you to copy/paste. This uses the normal embed handler, meaning that either the [embed] shortcode or just pasting the URL on a line by itself will trigger the embed. Width and height parameters are supported, and Presentations has special parameters to allow full-screen viewing. ",Otto42 Future Releases,24534,Add hooks to style feeds using xslt,,Feeds,3.5.1,normal,trivial,Awaiting Review,feature request,new,,2013-06-07T15:27:11Z,2013-06-07T15:27:11Z,"There were a few discussions several years ago about this (#1380), which essentially went nowhere. Any odds that, with Google Reader and Feedburner on their death bed, we could have e.g. after the xml declaration in wp-includes/feed-rss2.php, and similar hooks for other feed types, so as to offer an explanation on how to subscribe to visitors who click a feed link?",Denis-de-Bernardy Future Releases,8994,Incorporate MediaRSS Plugin into core,technosailor,Feeds,,normal,normal,Future Release,feature request,new,,2009-01-29T18:00:20Z,2013-01-05T09:05:59Z,"Per conversation on the hackers list, this ticket is a working area for incorporation of the MediaRSS plugin (http://wordpress.org/extend/plugins/mrss) into core for WP 2.8.",technosailor Future Releases,17142,Prettier gallery display and navigation through core,,Gallery,3.3,normal,normal,Awaiting Review,feature request,reopened,,2011-04-15T16:14:13Z,2014-02-12T22:47:16Z,"WordPress gallery display and navigation typically feels rather crude from the user point of view. With digital cameras dumping images as IMG_XXXX or long numeric strings, the default image titles are usually prominent and ugly in most of the themes I've tested (see attachments for examples). Some themes use thumbnail navigation instead, but those implementations also feel dated in many (most?) cases. I realize that the theory is display/navigation is determined by the themes, and that display/navigation can be greatly altered via various plugins... but the reality of how this plays out results in a default user experience that simply feels outdated. Many (most?) themes seem pretty unimaginative in their gallery output and IMHO a more elegant out-of-the-box display and navigation experience seems like it would really be useful for all WordPress users. I would think most users expect something like a Lightbox experience at minimum, but I am not ideologically tied to any particular solution. Is there something we could do on the core side to strongly encourage (or even gently enforce) a prettier default construct? ",hew Future Releases,20461,View All Gallerys,Jesse Techno,Gallery,3.4,normal,normal,Awaiting Review,feature request,new,close,2012-04-16T22:55:56Z,2012-12-17T15:39:20Z,If you could it would be SO nice to have it so you can see every gallery you have ever posted on your site and then add one gallery to to more then one page/post.,jessetechno Future Releases,20194,Add Description meta to General Settings,,General,3.3,normal,minor,Awaiting Review,feature request,new,,2012-03-07T20:59:05Z,2012-03-17T13:50:40Z,"Add a description field to General Settings b/c these days with themes doing all kinds of kooky things, the automatic excerpt is often not representative of the site content. All the SEO-lovers will be happy, searchers will get more accurate results, and it's a nice end-user feature without high overhead. Could have sworn I made a ticket like this once before, but can't find it in search, so if anyone remembers it/is better at searching trac than I just was, go ahead and close this as duplicate.",jane Future Releases,12865,Better support for beta/staging,,General,,normal,normal,Future Release,feature request,reopened,,2010-04-06T06:40:40Z,2013-06-03T17:55:01Z,"Currently it is very difficult to maintain a beta / staging version of your wordpress site. As wordpress grows in popularity and is used on websites that would like to minimize downtime a beta/staging setup in addition to a production or main setup would be ideal. If one tries to do this now, you can attempt to copy the whole database over to the beta or staging setup which will result in links on the beta/staging version going to the production/main url's. This makes it relatively unusable. Ideally there would be some solution where developers can decide for their beta/staging site to download data from their production/main server every day or at will which will allow them to keep things updated and allow for them to test with their most recent content which can be useful. If this synchronization can occur without the previous problems and other problems that occur with simply copying the entire production database that would be wonderful!",mnolin Future Releases,14966,QuickPress should be a function with alot of hooks,jorbin*,General,,normal,normal,Future Release,feature request,accepted,early,2010-09-26T18:12:17Z,2013-07-31T16:18:19Z,"As discussed in IRC, quickpress should be a function that is usable by: 1) Custom Post Types 2) Themes for front end posting ala p2 ",jorbin Future Releases,19904,Trim Leading and Trailing White Space in a Post Title,,General,3.3.1,normal,normal,Awaiting Review,feature request,new,,2012-01-26T23:37:15Z,2012-01-27T00:55:01Z,"In working with clients today I realized that they were copying and pasting post titles but including a leading space in it by accident. Because of this the orderby feature of the query wasn't appearing to work. Turns out it was but the spaces where all correct so it was messing with the query. I think it would make sense that on a title field of a post/ page that any leading whitespaces and any trailing white spaces should be trimmed off. something like {{{ trim($post_title); }}} ",greenspeakmedia Future Releases,21171,jQuery Events for Metaboxes,,General,,normal,minor,Awaiting Review,feature request,new,,2012-07-05T21:35:47Z,2012-07-06T01:14:52Z,"Currently, when a plugin adds a metabox with complex objects (like TinyMCE, Maps, CodeMirror etc) care must be taken to refresh the objects when the elements are moved (including hidden/shown). After some digging, I've found that this seems to works in most cases: {{{ var context = ""#custom_meta_box_id""; $( '#adv-settings' ).on( 'click', context + '-hide, ', refresh ); $( context ).on( 'click', '.hndle, .handlediv', refresh ); $('.meta-box-sortables').bind( ""sortstop"", refresh ); }}} which isn't terrible, but seems fragile if core changes in the future, and there should just be a better way :-) Two ideas from dev chat are triggering custom events or the (coming soon) ""js actions"" which would be more robust (like php actions).",WraithKenny Future Releases,12477,Search with special characters and similar terms,nbachiyski,I18N,,normal,normal,Future Release,feature request,new,,2010-03-02T17:42:46Z,2010-03-24T10:25:15Z,"I did:Tried searching for terms Metis and Métis I saw:Those two searches turned up different sets of results. I expected:The same set of search results, or at least everything when I searched for Metis. Can search be smarter when special characters are involved?",mrroundhill Future Releases,26511,Separate locale for the admin toolbar,,I18N,,normal,normal,Awaiting Review,feature request,new,,2013-12-09T17:20:30Z,2013-12-09T19:19:53Z,"When a site's content is displayed in a language that's different to that used in the admin area ![1] by using the `locale` filter in `get_locale()`, the admin toolbar is shown in the language of the content, not the language of the admin area. For example, if your content is in French (using `fr_FR` in the `locale` filter) but your admin area is in English (using `en_US` in the `locale` filter) then the admin toolbar on the front end will display in French rather than English. The value of `get_locale()` is used when the translation files are loaded at the beginning of the page load, but there's no easy way to subsequently switch locale and load a different set of translation files later in the page load (ie. when we output the admin toolbar in the footer). ---- We should introduce a means of changing the locale at any point during the page load and automatically loading in the relevant translation files, overriding existing ones. This could then be used to switch the language before admin-related output on the front end (primarily the admin toolbar, but potentially any admin-related item). Leaving this as a feature request for now because I don't have a solution in mind. ---- ![1] Several plugins support this, such as [http://wpml.org/ WPML], [http://babbleplugin.com/ Babble] and [http://wordpress.org/plugins/admin-in-english/ Admin in English].",johnbillion Future Releases,7695,Blogger Importer Should Allow User Creation on the fly,,Import,,normal,normal,WordPress.org,feature request,new,,2008-09-05T19:30:47Z,2012-07-13T07:01:14Z,"See MT importer as an example. Otherwise, users need to be created prior to the import to map to other users other than admin.",technosailor Future Releases,16148,MT Importer should match usernames,,Import,,normal,normal,WordPress.org,feature request,reopened,,2011-01-07T22:27:29Z,2012-09-10T10:21:14Z,"If I have a blog that already has a user with ID '''XYZ''', and my Movable Type import has a blog post with author with ID '''XYZ''', then the '''Assign Authors''' page in the import wizard should automatically match them by default.",novasource Future Releases,11418,Allow adding post thumb via url,,Media,2.9,normal,normal,Future Release,feature request,new,dev-feedback,2009-12-13T11:05:05Z,2013-08-17T12:50:59Z,currently it is only possible to add post thumbs from blog's gallery,pascal.herbert Future Releases,22937,Bulk Actions > Edit could allow batch-assignment of taxonomies to Media following the WP 3.5 media changes,,Media,,normal,normal,Future Release,feature request,new,,2012-12-14T13:59:37Z,2014-02-23T10:01:57Z,"[First and foremost the media improvements in WP 3.5 are wonderful, thanks to all involved.] Now that you can assign taxonomies to media easily, it would be extremely useful if you could also use Bulk Actions > Edit (as you can with posts / pages / custom post) to assign them to multiple images more quickly. Real world case: we added a taxonomy to media yesterday for a client, so they could categorise their ~500 images into sitewide categories, and they immediately replied to ask if there was a way of doing it in batches...",yeswework Future Releases,27229,Display image file size in media uploader when uploaded,,Media,3.5,normal,normal,Future Release,feature request,new,,2014-02-28T08:17:08Z,2014-03-08T09:05:00Z,"When inserting an image using the media uploader, WordPress shows file dimensions right below the file name. It would be great to see image file size displayed as well. Many users are concerned about optimizing their images for faster page loads. This feature will be immensely helpful to users. They will be able to quickly see the file size next to dimensions. If they feel that the image file size is too big, they can then choose to display a medium or thumbnail size image in thier post or use an image optimization tool.[[Image(https://i.cloudup.com/BHTqKQv7Ju.jpg)]]",noumaan Future Releases,10950,Download external files to Media Library,,Media,,normal,normal,Future Release,feature request,new,,2009-10-13T15:48:43Z,2011-08-04T19:11:02Z,"The media uploader currently allows you to upload a file from your local computer or link to an external URL. However, when linking to an external URL (in particular for an image), you don't get the same options as you would have when actually adding a resource to your site's media library. It would be nice to be able to fetch a file from an external source, and add it to the library, just as with a regular file upload. Then the file could be included in a gallery, you could use the image editor to crop/resize, etc. Primary use-case would be to fetch an external image into the library without having the extra steps of saving to your local computer, then re-uploading it to your WP site. However, it should work with any allowed content-type (audio, video, pdf, etc). It may also be useful to save the original URL as attachment metadata. ",dougal Future Releases,14373,In-editor image downsizing uses HTML resizing instead of actual resize,,Media,,normal,normal,Future Release,feature request,new,close,2010-07-21T05:30:44Z,2014-02-23T10:41:24Z,"This comes as a suggestion from Google, who wants to help publishing platforms deliver content faster. When you use the in-editor image downsizing functionality (the percentage slider), it does an HTML downsize. This can lead to bigger image requests than are necessary. An actual resize for local images would result in a more efficient load.",markjaquith Future Releases,19834,More Robust Capabilities for Attachments,,Media,,normal,normal,Awaiting Review,feature request,new,,2012-01-15T00:43:40Z,2014-02-25T09:04:34Z,"Attachments/files should have their own set of capabilities mirroring those of posts, in addition to upload_files. Specifically: - read_attachments - edit_attachments - edit_others_attachments - delete_attachments - delete_others_attachments Currently, attachments rely on the edit_posts capability, which can create complications if you don't want your users to see the ""Posts"" sidebar item, or don't want them to be able to delete the attachments they upload. ",walkinonwat3r Future Releases,21038,Provide an option for creating 2x images of user content (for Retina Displays),Otto42,Media,3.4,normal,normal,Future Release,feature request,assigned,,2012-06-21T13:13:13Z,2012-09-06T17:02:33Z,"Providing high-res images for Retina enabled devices like iPad, iPhone or Macbook Pro is rather easy with retina.js (http://retinajs.com/). The only thing needed is a @2x version of all images. It would be nice to have an option on the image uploader to enable generation of this images. This should be rather easy to implement, it would make life much easier.",twam Future Releases,26737,WP_Image_Editor should provide a query_formats function.,,Media,,normal,normal,Awaiting Review,feature request,new,,2013-12-29T00:12:21Z,2013-12-31T11:30:12Z,"In developing one of my plugins, I've had to circumvent the lack of a function in WP_Image_editor to list supported extensions. Although support is provided for checking whether a specific mime type is supported, this is not sufficient in some instances. Implementation of such a feature in both of the inheriting classes (Imagick and GD) would be trivial since in Imagick the function could simply return Imagick::queryformats() and for GD a static array containing JPG, PNG, and GIF could be returned.",dan.rossiter Future Releases,24051,a way of turning on upload space quota on single-site WordPress install,,Media,3.5.1,normal,normal,Awaiting Review,feature request,new,,2013-04-11T19:12:19Z,2013-04-12T16:11:20Z,"I was searching for a way to turn on upload space quota for single-site WordPress (not multisite) install. There does not seem to be one. I can't even emulate one with hooks, because in media.php 'upload_ui_over_quota' hook is multisite-specific and 'pre-upload-ui' does not allow me to emulate the same behavior. I understand that need for upload space quota for single-site is not a very common scenario, but the relevant code is already there, only an alternative method of enabling it (e.g. a constant in wp-config.php) is needed.",ideag Future Releases,16691,Add do_action or menu description in nav-menus.php,,Menus,3.1,normal,normal,Awaiting Review,feature request,new,,2011-02-27T17:54:14Z,2013-07-08T04:32:12Z,"The nav menu feature uses the taxonomy structure but does not use i.e. the term description. This field could be used by adding an action in wp-admin/nav-menus.php, for example in line 538 or 552. {{{

}}} This would allow plugin developers to add additional fields or settings for nav menus and save them on updating or saving the menu. ",linguasite Future Releases,14215,MultiSite: Add new > different username from blog title,,Networks and Sites,3.0,normal,normal,Future Release,feature request,new,,2010-07-06T18:09:37Z,2014-02-15T23:11:54Z,"I would like to request that the current system for adding a new blog site be expanded so that as admins, we can specify a different username that's unrelated to the blog title. That is, in '''Site Admin -> Add New''', at the bottom of the page, add a new field specifically for the username. For that matter, it would be useful to also have a field to be able to specify the password, and perhaps a little checkbox that allows you to optionally prevent an email from being sent. These features are really useful when you're manually adding sites for employees, students, and the such. I had provided a fix for wpmu 2.8.4 at one point (with a better explanation and details), you can see the thread here: http://mu.wordpress.org/forums/topic/12945 An example of the final result: http://img696.imageshack.us/img696/2551/addblogwordpress.png",Person Future Releases,20946,NA Dash: Improve 'Right Now' in Network Admin,,Networks and Sites,3.4,normal,normal,Awaiting Review,feature request,new,,2012-06-13T21:02:14Z,2014-02-02T06:21:20Z,"It seems like there are a few things that could be done to make 'Right Now' in the Network Admin a little more informative and functional: 1. Add the current !WordPress version and applicable 'Update to X' and/or 'Update Network' buttons. Currently in NetAdmin the version is only displayed in the footer and (sort of) in /network/update-core. 2. List and link the site and user counts in similar fashion as the single-site 'Right Now' box 3. List and link theme and plugin counts",DrewAPicture Future Releases,24776,"Need Filter Hooks on Creating Slug - Check Availability of Slug if That is Used for Post, Page, Taxonomy or any Plugin",,Permalinks,,normal,normal,Awaiting Review,feature request,new,dev-feedback,2013-07-16T21:06:09Z,2014-02-02T07:18:19Z,"I did not find any '''filter hook''' for choosing slug for any object. I have a plugin that creates its own URLs. eg. example.com/my-campaign . If someone hits on this url then he will see my plugin generated page. But if there is already a page ""'''My Campaign'''"" then WP is unable to show that page because that '''permalink''' already taken by my plugin. So Before creating my plugin slug I need to check '''WP posts, pages and taxonomies''' if any of those already used my slug. I also need to check Root directory of WordPress installation if there is a '''directory with same name''' of my slug. WP Core checks available slug in its own database and reserved words. But it doesn't check slugs those are used by any plugin. If there is a post name ""'''my-campaign'''"" then my plugin don't let to chose this slug but If my plugin took this before and user want create a page ""my-campaign"" then WordPress will take the same slug. And here is the main problem. In the same way my plugin is conflicting with other plugins. My plugin can check WordPress core slugs but not other plugins. ""'''Pretty Link'''"" is one of the most popular plugin. It also creates its own url. It also checks available slug in wordpres db but not in other plugin. Any plugin may have custom rewrite rule, then my plugin can not handle that. So I think we need a standard rule that will be followed by WordPress core and all plugins. I have three different plugins those need own slugs. I made a universal process that I am using in all of my plugins. I am explaining my process bellow. I am using a filter hook ''''onetarek_is_slug_available'''' all of my plugin use this filter before choosing a slug. MY CODES: {{{ get_var($wpdb->prepare(""SELECT post_name FROM {$wpdb->posts} WHERE post_name=%s LIMIT 1"",$slug)); $has_taxonomy = $wpdb->get_var($wpdb->prepare(""SELECT taxonomy FROM {$wpdb->term_taxonomy} WHERE taxonomy=%s LIMIT 1"",$slug)); if( $has_postname or $has_taxonomy )return false; #Check if any same named file or directory exists in the root of wordpress installation $root_directory = opendir(ABSPATH); $slug_lower=strtolower($slug); #we consider wp-content and Wp-ContENT and WP-CONTENT are same. while (($file = readdir($root_directory)) !== false) { $filename = strtolower($file); if($filename == $slug_lower) return false; } #Check same slug is exists in click jacker database. #if same slug exists and associate for given id then return slug . We allow this if($id){$id=intval($id);} if($id) { $SQL = $wpdb->prepare(""SELECT slug FROM "".CLICK_JACKER_CAMPAIGN_TABLE."" WHERE slug=%s AND id =%d"", $slug, $id); $has_slug = $wpdb->get_var($SQL); if( $has_slug == $slug ){return $slug;} } #if same slug exists and no id given then we don't accept this. $SQL = $wpdb->prepare(""SELECT slug FROM "".CLICK_JACKER_CAMPAIGN_TABLE."" WHERE slug=%s"", $slug); $has_slug = $wpdb->get_var($SQL); if( $has_slug == $slug )return false; return $slug; } add_filter('onetarek_is_slug_available', 'otk_filter_available_slug', 10, 2); ?> }}} I am calling above filter where I need {{{ }}} My technique is limited. In my filter function I run 2 SQL query to check WP slugs , but that is limited. WordPress has reserved words also, those are not being checked in this process. And my other 2 plugins also run the same. Now if any website uses my 3 plugins then same process will be run 3 times and 6 SQL query will be run to check WP slugs. My function is unable to check the slug of ""Pretty Links"" plugin. But if '''WORDPRESS core''' would have a '''FILTER HOOK''' and run a function with this filter to check any kind of WP slugs then my plugins would search only its own database once. AND other plugin developer would attach a function with this filter. And they would check only their own database. Plugins don't need to check WP slugs because core function already fired with this FILTER HOOK. In the same way WP core should respect other plugin slugs and '''custom url rewrite rules'''. When WP check available slug for post, page, taxonomies then it should use this FILTER also. I THOUGHT THIS WAY BECAUSE I DON'T FIND ANY WAY. IF ANYTHING ALREADY EXISTS IN WP PLEASE LET ME KNOW. Regards Jahidul Islam (oneTarek) [http://onetarek.com] ",onetarek Future Releases,15953,"when category slug is changed, old uri also should redirect to new, as post uris do",,Permalinks,3.0.1,normal,normal,Future Release,feature request,new,,2010-12-22T18:51:10Z,2011-01-15T08:41:14Z,"when category slug is changed, old uri also should redirect to new, as post uris do",qdinar Future Releases,14769,"API for ""Settings"" action link on plugins.php",,Plugins,3.0,normal,normal,Future Release,feature request,new,,2010-09-02T22:10:35Z,2014-02-02T07:53:24Z,"Plugins should be able to register a ""Settings"" actions link that will then take them to their plugin settings page. We should try to hook into add_options_page() as well, just by taking the first one that the plugin registers. Probably not really doable to ascertain which plugin calls that function however, without running a backtrace. Maybe try matching the slug with the plugin basename. Someone is encouraged to run with this before I get to it.",nacin Future Releases,12801,Add Info link to plugins management screen,,Plugins,3.0,normal,minor,Future Release,feature request,new,,2010-04-01T19:08:40Z,2014-02-02T10:17:12Z,"Related to #11050 but instead of the search results, on the regular plugins.php screen. Add ""Info"" link to left of Activate/Deactivate action links, which brings in the tabbed info from the repo. If not from the repo, link does not appear.",jane Future Releases,15971,Add abilty to rate and report compatibility of plugins from wp-admin,,Plugins,3.1,normal,normal,Future Release,feature request,new,,2010-12-24T08:25:27Z,2013-09-29T01:09:49Z,"For the millions of downloads some plugins get there are way to few ratings on them. I think the ability to rate and report the compatibility of plugs from the backend dashboard page would dramatically increase participation in rating. This could be accomplished most easily placing a link to the ""details"" of a plug-in (like the one that appears while searching for a plug-in) after it is installed on plugins.php. This could be accomplished even more effectively by showing direct link next to each listing on the plugins.php page link stars/compatibility and link text reading ""rate now or ""report compatibility now""... For reference I point you to the excellent new to FireFox 4 (beta) add-on compatibility reporting features. ",jb510 Future Releases,14569,Assign plugins on a per-site-basis,,Plugins,3.0.1,normal,normal,Future Release,feature request,new,,2010-08-09T09:35:55Z,2014-01-24T06:09:14Z,It's possible to assign themes per site with WordPress Multisite. However it isn't possible to assign plugins per site. Some plugins are only used for the mainsite and I don't want them to be visible in subsites.,ChantalC Future Releases,23616,General Handler for Whitelisted Options' Submissions,,Plugins,,normal,normal,Awaiting Review,feature request,new,,2013-02-26T03:06:55Z,2013-02-26T03:09:09Z,"As stated over on #18285 WordPress should move away from posting to options.php. In order to do that, the Settings API needs a general purpose function that can be safely called on all Settings Pages that can handle posts to itself (generally referred to as 'take_action' in various places) and can handle what options.php currently does.",WraithKenny Future Releases,20468,Recently active network plugins,,Plugins,3.0,normal,normal,Awaiting Review,feature request,new,,2012-04-17T17:01:31Z,2014-02-02T06:14:46Z,There's no 'Recently Active' list on the Plugins screen in Network Admin. This should be simple enough to add in.,johnbillion Future Releases,12235,Display caption with the_post_thumbnail,,Post Thumbnails,2.9,normal,normal,Future Release,feature request,new,,2010-02-15T10:01:13Z,2013-07-05T12:50:56Z,"It seems to me that there could be room for improvement with the_post_thumbnail function. So far, I did not find any way to display the caption below the thumbnail, like we do today with ""normal"" images. What do you think of the idea of adding an argument for displaying caption text with the thumbnail? ",hd-J Future Releases,21375,Add Filter for next_posts_link/prev_posts_link label,,"Posts, Post Types",,normal,minor,Awaiting Review,feature request,new,dev-feedback,2012-07-25T14:56:47Z,2014-02-21T10:13:21Z,"There is currently a filter 'next_posts_link_attributes' that allows plugins to add/modify classes/rel/etc to the links. However, the actual label that is displayed for the link is not accessible through this. I think that the $label variable in function get_next_posts_link should be run through a filter to allow it to be modified by plugins. For example, a plugin that adds a custom post type of Apple might want these links to say Next Apples or Previous Apples, or if a plugin changes the ordering of posts, it might want to change 'Earlier' type labels that many themes use to better reflect the new ordering system",MadtownLems Future Releases,24511,Backend function for retrieving post row actions.,,"Posts, Post Types",,normal,minor,Awaiting Review,feature request,new,,2013-06-06T10:27:15Z,2014-02-02T09:48:12Z,"For the cases where post titles are not supported for custom post types, but the user may want the quick action links to exist on their edit.php page table rows on hover. All it would take would be to move the current code into a callable function and would probably only need to accept a post ID. Could then be called using something like {{{get_post_row_actions($post_id)}}}. It would return the string of links seen normally below the title on hover.",Nessworthy Future Releases,12273,Better support for sites with LOTS of pages,,"Posts, Post Types",2.7,normal,normal,Future Release,feature request,new,,2010-02-18T15:10:02Z,2014-02-02T09:48:12Z,"The default page listing is inadequate for sites utilise Pages as their main content type. An option to collapse the page listing and hide ""all"" sub-pages (only showing top-level) would dramatically improve the UI making it easier to find pages within the WordPress structure. '''Example:''' ''Current Page View'' {{{ Page 1 -SubPage 1.1 --SubSubPage 1.1.1 --SubSubPage 1.1.2 -SubPage 1.2 -SubPage 1.3 Page 2 -SubPage 2.1 -SubPage 2.2 --SubSubPage 2.2.1 --SubSubPage 2.2.2 }}} ''Proposed Page View'' ''Default View'' {{{ Page 1 [+] (< click to expand) Page 2 [+] }}} ''Expanded View'' {{{ Page 1 [-] -SubPage 1.1 [+] (< click to expand) -SubPage 1.2 -SubPage 1.3 Page 2 [+] }}} ''...'' {{{ Page 1 [-] -SubPage 1.1 [-] --SubSubPage 1.1.1 --SubSubPage 1.1.2 (> no further levels) -SubPage 1.2 -SubPage 1.3 Page 2 [+] }}} ",mkjones Future Releases,18848,Filter post listing screen by post parent,johnbillion,"Posts, Post Types",3.3,normal,normal,Awaiting Review,feature request,assigned,,2011-10-03T16:19:10Z,2014-02-02T08:09:16Z,"It's not possible to filter a post listing screen by post_parent. This would be super handy for hierarchical post types (eg. Pages) where you may have several levels of hierarchy and want to view only the descendants of a particular page. I'm not sure that we need a UI (eg. dropdown menu) for it, but a working URL query var would be great. I made an attempt at patching this a while ago using the child_of parameter but it got complicated quite quickly, so I'm putting it out there as a feature request in case anyone feels like tackling it.",johnbillion Future Releases,11095,Format wp_list_pages and wp_page_menu without
  • tags,,"Posts, Post Types",,normal,normal,Future Release,feature request,new,,2009-11-07T18:00:44Z,2014-02-01T07:37:37Z,"Would that be possible to have the functions wp_list_pages and wp_page_menu with an option to display pages in a ""flat"" format like the functions wp_list_bookmarks or wp_tag_cloud or wp_get_archives?",zialingua Future Releases,14375,Post pagination should have a show all option,,"Posts, Post Types",3.0,normal,normal,Future Release,feature request,new,,2010-07-21T07:03:29Z,2014-02-01T07:37:37Z,When people use the nextpage html comment tag to paginate posts we should also have a show all link displayed to make it easier for people to read the whole content without pagination.,westi Future Releases,22734,do_action-post_edit_form_tag,,"Posts, Post Types",3.4.2,normal,normal,Awaiting Review,feature request,new,reporter-feedback,2012-12-04T18:01:27Z,2014-02-02T08:09:16Z,"Possible to add an action on the form for adding media. {{{ File : /wp-admin/media.php Line : 115 }}} {{{
    }}} to {{{ > }}}",bems78 Future Releases,12017,Press This multiple blog support,,Press This,,normal,normal,Future Release,feature request,new,dev-feedback,2010-01-25T17:57:19Z,2013-08-15T22:32:54Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/1092 A WordPress MU user may wish to pass external content into the MU authoring interface. Authoring interfaces such as Press This currently do not support the selection of a target blog for which the currently logged in user has edit_posts capability. Internet Explorer 8, Google Reader, and bookmarklet functions currently help pass new post information into an authoring tool such as Press This, but requires a pre-determined URL template to pass along new actions. Good: http://wordpress.org/wp-admin/press-this.php Bad: http://*.wordpress.org/wp-admin/press-this.php Currently a user can add a bookmarklet or IE Accelerator on a per-blog basis. It would be a much better user experience if he or she could target a predictable URL endpoint on the MU install. New URL ¶ adminurl/press-this.php Point to the MU install's main admin handlers and let it handle user state. Possible handling ¶ * Redirect user to Press This interface of their primary blog with query params intact. * Add a new stuffbox to the post interface sidebar with a }}} A very minor feature, and possibly too fringe of a use case to bother with. But I've worked on a couple projects now where being able to specify markup like that would have made that screen more user-friendly. Any thoughts?",goldenapples Future Releases,26960,Audit extraneous HTML/CSS for the admin menu,,Administration,,low,normal,Future Release,enhancement,new,,2014-01-30T05:56:16Z,2014-03-13T15:57:22Z,"In working on #18380, I've noticed quite a bit of cruft that has built up over time, some of it directly related to the split between colors and structure. For example, the .wp-menu-arrow is no longer visible in the 3.8 redesign, but the HTML and CSS remain. Once #18380 and #26669 are complete, we should take a closer look at this.",helen Future Releases,23738,Audit our secondary button uses,,Administration,3.6,normal,normal,Future Release,enhancement,new,,2013-03-11T17:31:26Z,2014-03-14T09:29:41Z,"helen pondered in #wordpress-ui that maybe the ""apply"" button in the Screen Options dropdown should be a primary button. There's a good argument to be made that when this panel is down, that ""apply"" button is your new primary. We should do an audit of our buttons to see if there are any other cases where we could make an action or a temporarily primary action more obvious by using the primary button style.",markjaquith Future Releases,17766,Browser update dismiss button lacks non-JavaScript fallback,,Administration,3.2,normal,minor,Future Release,enhancement,new,,2011-06-11T11:20:58Z,2011-08-27T15:42:14Z,The 'Dismiss' button in the browser update dashboard box doesn't do its thing without JavaScript enabled.,johnbillion Future Releases,7797,Consolidate iframe headers,,Administration,2.7,normal,normal,Future Release,enhancement,new,,2008-09-26T23:35:46Z,2012-10-30T16:40:45Z,"Currently iframes are being used in multiple locations (ie. thickbox, plugin re-activation, etc) and in each case, theres generally a function for the header and footer, or its inline. What i suggest, Is to create a standard set of admin templates which print the headers out for the pages. And a side suggestion:[[BR]] As an added bonus, It should probably be possible to automatically detect if it was loaded via thickbox ($_GET[TB_iframe] shouldnt be set) and serve the correct header (ie. Full admin side menu if no thickbox)",DD32 Future Releases,26690,Dashboard: show all drafts in Quick Draft area to administrator users,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-12-20T02:45:39Z,2014-01-16T19:03:46Z,"An admin user on a multi-user blog should be able to see all draft posts on the blog in the Quick Draft area, not just they have authored.",lancewillett Future Releases,18199,Deprecate IE7 in the Admin,,Administration,,normal,normal,Future Release,enhancement,new,,2011-07-21T21:05:15Z,2013-11-22T11:13:13Z,"markjaquith: > Everyone hates IE7. It’s insecure. Let’s make it go away. Also, dropping IE6 didn’t give us much beyond goodwill, because most of the hacks we needed for IE6, we also need for IE7. So we could actually clean up our CSS a bit if we dropped IE7.",nacin Future Releases,9604,Edit screens expire,,Administration,2.8,normal,normal,Future Release,enhancement,new,,2009-04-21T06:35:08Z,2013-08-07T05:11:31Z,"Steps to reproduce: 1) Open an edit post (or page) screen 2) Take your browser offline for 24 hours 3) Put the browser back online 4) Edit the post, type a lengthy, thoughtful, dramatic entry 5) Click save draft / publish as you prefer Expected result: Your poetic prose is committed to infallible digital memory. Actual result: You're told ""Your attempt to edit blah has failed."" Press the back button and likely see the previous version of your post. Your latest prose exists now only in your memory. Technical details: I think the nonce expires, so the post screen becomes invalid after a while. Proposed solution: Add a javascript timeout to warn the user that the edit screen has expired. Provide a mechanism for the nonce to be updated.",chmac Future Releases,6479,Encourage people to change default tagline,markjaquith,Administration,2.5,normal,normal,Future Release,enhancement,assigned,,2008-03-30T19:09:41Z,2013-01-22T00:42:25Z,"A lot of people don't change the default tagline, especially if using a theme that doesn't display it. But it still displays in their feed. We should check to see if they still have the default tagline and if so, put a little contextual help in Settings - General that (nicely) encourages them to change it. Props to Chris Silver Smith for bringing this issue up at WordCamp Dallas.",markjaquith Future Releases,21034,Flyout Menu on Backend doesn't Loades Untill Whole Page is Loaded,,Administration,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-21T09:43:55Z,2012-06-25T05:30:06Z,"I have noticed this ever since the flyout menu was introduced. Menu items on flyout menus is not shows until the whole page gets loaded. For high speed connection its not a problem but it gets annoying people who connected in dial up (last week my ISP was down so i had to work with dial up for couple of days). So, we could make the flyout menu items css/js to load on header so it doesn't wait for to load the whole page and make the backend accessible to and less annoying to low speed users.. For testing it you have to log into backend with low speed connection. If you need proof i can make a video with my dial up. Just let me know. BTW: What i see on firebug that the css for flyout menu loads on header so i don't really find out what causes the menu to not showing on hover until the page loads.",prionkor Future Releases,14097,Idea for placeholder text,,Administration,,lowest,trivial,Future Release,enhancement,new,,2010-06-26T06:28:25Z,2013-08-13T19:24:23Z,"Placeholder text has a fatal flaw, in my mind: once the field is focused, that placeholder text is gone. This can be confusing, especially if you tabbed into that field or it was selected by default. You can actually use placeholder text instead of labels, for a minimalistic form layout, but only if you correct this flaw. So here's a potential solution: http://txfx.net/files/wordpress/labels/ It uses HTML 5's {{{placeholder}}} attribute (newest Safari and Chrome support it), with a jQuery plugin to handle that support for other browsers. Thoughts?",markjaquith Future Releases,26396,Implement a generic clearfix,,Administration,,low,minor,Awaiting Review,enhancement,new,,2013-12-04T15:54:36Z,2013-12-04T15:54:36Z,"We have a [source:trunk/src/wp-admin/css/wp-admin.css@26605#L10095 clearfix] defined in core, but it's applied to very specific items. It should be a generic class. We also have an old-school br.clear and a .clear class - should look for those and replace them in core wherever it makes sense.",helen Future Releases,26399,"Improve Handling of ""Blank"" Dashboard Columns",,Administration,3.8,normal,normal,Awaiting Review,enhancement,new,,2013-12-04T17:21:50Z,2014-02-21T23:11:45Z,"With the new Dash improvements, on wide monitors, four columns exist for dashboard widgets. If the user is not using all visible, a blank, dotted-borded box is displayed. This can be confusing to users who don't realize they can drag the widget to those spaces, thinking the dotted lines are placeholders for future widgets. Ideas for improvements: * Change the dotted box to some type of note that widgets can now be moved there. * If not being used, show a smaller blank indicator to maximize the size of the columns being used (A compromise for those who don't want 3 or 4 columns while keeping our fully responsive goal).",kraftbj Future Releases,27127,Improve plugin search on installed plugins page,,Administration,trunk,normal,normal,Awaiting Review,enhancement,new,,2014-02-14T17:16:53Z,2014-02-15T21:19:25Z,"If you have lots of plugins installed trying to find one in the installed plugin page is not quick. The search box is quite slow ( requires a page refresh ). Adding some JavaScript that transforms the current search box into a quickfind box would help solve this problem. As the user types a keyword the JavaScript searched across the displayed text for the plugin, only displaying the plugins that contain that keyword.",enej Future Releases,24498,Improving performance of meta_form(),,Administration,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-06-05T13:57:17Z,2014-01-24T05:30:30Z,"The query executed in meta_form() in wp-admin/includes/template.php took over 5 seconds to execute on my largest wordpress installation. I changed it to use a NOT BETWEEN to enable MySQL to execute the query by just using a small part of the meta_key index. My new query executes in less than 10 milliseconds. Here is the improved query: {{{ SELECT DISTINCT meta_key FROM wp_postmeta WHERE meta_key NOT BETWEEN '_' AND '_z' HAVING meta_key NOT LIKE '\_%' ORDER BY meta_key }}}",lumaraf Future Releases,21132,"List tables' ""select all"" should let you really select all, regardless of screen options",,Administration,,normal,normal,Awaiting Review,enhancement,new,,2012-07-02T04:38:38Z,2013-10-06T09:01:04Z,"The select all checkbox in list tables selects all the items in your current view. Usually what I really want is to select all the items on all the pages. As a hack, I'll often leave the screen options setting for items per page on something really high, like 1,000. Unfortunately this means the tables are often really slow for no benefit (most of the time I don't need them all). A better solution would be a way to intelligently select all items without needing to show them on the page. The best example of this that I know of is Gmail, which adds a line above the list of emails when you click the select all box that looks something like this: ""All 50 conversations on this page are selected. Select all 653 conversations in Spam"". The second sentence is a link that, as expected, selects all of your emails that fit the current view, regardless of paging. Screenshot attached.",evansolomon Future Releases,21516,Make the entire .check-column the click target for the checkbox,,Administration,,normal,minor,Awaiting Review,enhancement,new,,2012-08-08T03:34:38Z,2013-10-07T13:51:16Z,"Sometimes checkboxes are quite small. In various list tables, checkboxes are wrapped in a .check-column. Why not make the entire .check-column clickable, in case people (like me) miss?",mitchoyoshitaka Future Releases,16031,New bulk actions hook missing catcher behavior,,Administration,3.1,normal,normal,Future Release,enhancement,assigned,,2010-12-29T20:31:04Z,2014-01-26T17:04:23Z,"The new bulk actions filter allows you to modify the bulk-actions arrays, but neglects to add the ability to handle the new custom actions. The fix is to simply add one new do_action() hook to the default case of each affected page (similar to the way 'wp_ajax_' handles custom ajax requests). For example, the following might be added to users.php at line 285, immediately after default: do_action( 'bulk_action-'. $wp_list_table->current_action() );",Veraxus Future Releases,26797,Replace in-post image editing icons with dashicons,,Administration,trunk,normal,normal,Awaiting Review,enhancement,new,,2014-01-08T22:56:38Z,2014-03-07T19:08:02Z,"When you add an image into a post's visual editor, you still get pre-3.8 style icons: [[Image(https://i.cloudup.com/QVn950AzyO.png)]] Let's replace these with dashicons. This is what I'm thinking: 1. Edit image - We could just use {{{.dashicons-format-image}}} to replace this icon, but I think it makes more sense to use something more along the lines of {{{.dashicons-admin-generic}}}, which is the cog icon. When it comes down to it, the ""image"" icon doesn't really tell you what clicking on it will do — that is, bring up an image settings panel which will allow you to edit various image attributes, positioning, and size. To me, that kind of panels says ""settings,"" which is why I think the cog might be a more relevant icon to use. 2. Remove image - In this case, I think we should definitely replace the current icon, which uses the prohibition symbol, with {{{.dashicons-no}}} or {{{.dashicons-no-alt}}}, which are our two X icons. The prohibition symbol is generally used to convey ""not allowed"", while an X conveys ""remove"" or ""get rid of this, but don't delete it."" I think it's a more accurate icon to use. Additionally, the prohibition icon is not a completely international symbol — there are several countries and cultures for which this symbol has no meaning. The X might be a more universal symbol. Any thoughts before I make a patch?",melchoyce Future Releases,16413,Settings page needs HTML refactoring and UI improvements,helen,Administration,3.1,normal,normal,Future Release,enhancement,assigned,,2011-01-30T20:22:09Z,2014-02-20T01:09:13Z,"The settings pages haven't had much attention or improvement in a while. We need to refactor the HTML on the settings pages, as they are still using tables instead of divs. We also want to make some minor UI improvements including: - clearer differentiation between option groupings - using consistent text styles for descriptions and links (including the time zone/date format comment) - restructure for better readability Comment if you have any other",chexee Future Releases,26302,Specify display priority for list table columns,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-11-28T03:43:43Z,2013-12-01T22:12:43Z,"Responsive list tables hide certain columns via CSS. This is great, but it's essentially hardcoded into the admin CSS and, in some instances, we are not able to target specifically enough to not cause unintended hiding elsewhere. I propose a display priority concept - a column can be indicated as ""high"", ""normal"", or ""low"" priority (or similar), and breakpoints can progressively hide columns based on that priority. Core can be opinionated by default, but given the proliferation of custom post types and taxonomies, as well as the reuse of WP_List_Table, a developer API could be quite nice here. Example of the concept: http://filamentgroup.com/lab/responsive_design_approach_for_complex_multicolumn_data_tables/ Previously: #26298 (bug caused by column names being the same between different object types but not of the same importance), [http://core.trac.wordpress.org/ticket/18198#comment:77 #18198:77 (an experimental approach)]. Related: #25408 (indicating a primary column).",helen Future Releases,26763,Tool tip for dashboard menus,,Administration,3.8,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2014-01-03T14:16:37Z,2014-02-17T05:33:51Z,"I think when we collapse wordpress menu bar, tool-tip should be there when user hovers on it. For eg. comment icon, Collapse menu. When user hovers, it should show what this icon is for.",shahpranaf Future Releases,23731,Use jQuery Menu Aim to improve responsiveness of our admin menus,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2013-03-09T16:00:11Z,2014-01-25T21:36:02Z,"This is a fantastic read: http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown And it resulted in an MIT-licensed jQuery plugin that we should absolutely consider using to improve our menus: https://github.com/kamens/jQuery-menu-aim",markjaquith Future Releases,25110,additional button colors,,Administration,3.6,normal,minor,Awaiting Review,enhancement,new,dev-feedback,2013-08-21T16:32:03Z,2013-11-27T14:11:05Z,"currently there exists button-primary (blue) and button-secondary (gray). however, many times I've seen the need to include some sort of 'warning' button as well, in red. I have a CSS patch ready, but wanted to get some feedback on whether this would be worthwhile before I clean it up a bit to make sure it matches all the other UI elements.",norcross Future Releases,18850,hidden admin page,,Administration,,normal,normal,Awaiting Review,enhancement,new,,2011-10-03T21:43:12Z,2013-10-14T21:22:25Z,"it should be possible to create a hidden admin page. this is useful for pages, that require parameters which are better inserted in other pages (e. g. using the post_row_actions filter). if this is already possible, it should be documented somewhere where it might be found. (btw: i'm not sure, what the difference between feature request and enhancement is. please redeclare as fit)",ibotty Future Releases,26604,remove dead code (and unused options?) from dashboard.php after 3.8,,Administration,3.8,normal,normal,Awaiting Review,enhancement,new,,2013-12-13T13:21:01Z,2013-12-13T13:44:45Z,"The option 'dashboard_widget_options' is unused by core now. Would be nice to delete its unused core keys: 'dashboard_recent_comments', 'dashboard_incoming_links', 'dashboard_primary', 'dashboard_secondary'. Why? Because it's super annoying to do a MySQL search when migrating a site and find your old url in the options table. :) The option 'dashboard_widget_options' is still needed for plugins that put RSS feeds on the Dashboard though, see below. Here's a quick survey of the functions in wp-admin/includes/dashboard.php. Maybe there's more dead or deprecatable code I missed: ---- function wp_dashboard_setup: * These lines are dead code: {{{ 21 $update = false; 22 $widget_options = get_option( 'dashboard_widget_options' ); 23 if ( !$widget_options || !is_array($widget_options) ) 24 $widget_options = array(); }}} {{{ 86 if ( $update ) 87 update_option( 'dashboard_widget_options', $widget_options ); }}} function wp_add_dashboard_widget: function _wp_dashboard_control_callback: function wp_dashboard: function wp_dashboard_right_now: function wp_network_dashboard_right_now: function wp_dashboard_quick_press: function wp_dashboard_recent_drafts: function _wp_dashboard_recent_comments_row: function wp_dashboard_site_activity: function wp_dashboard_recent_posts: function wp_dashboard_recent_comments: function wp_dashboard_rss_output: * Unused in core. Plugins may use it to display RSS feeds. function wp_dashboard_cached_rss_widget: function wp_dashboard_trigger_widget_control: * Maybe unused in core? Plugins need it to work for a widgets with a form for 'number'. The core widgets all post to post.php. Nothing has a 'widget_id' $_POST field. function wp_dashboard_rss_control: * Unused in core. Plugins may use it to mod display of RSS feeds. Does update_option('dashboard_widget_options',) for two fields: 'number' from $_POST, and 'title' from fetch_feed(). * Note this is the only place in core that can update 'dashboard_widget_options'. function wp_dashboard_primary: function wp_dashboard_primary_output: function wp_dashboard_plugins_output: function wp_dashboard_quota: function wp_dashboard_browser_nag: function dashboard_browser_nag_class: function wp_check_browser_version: function wp_dashboard_empty: * A no-op function {}. Unused in core. It's so js/ajax plugins have a string compatible with call_user_func() ? function wp_welcome_panel: ---- I can make a patch for the dead code removal. Not sure about the option key deprecation, maybe it's been done before? These dashboard_incoming_links bugs can be closed now, so I'll comment on them: #21225, #20379.",kitchin Future Releases,22805,Add a hook for the live theme preview event,,Appearance,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-12-07T11:19:52Z,2014-02-02T08:00:48Z,"We have a hook for theme activation and deactivation, but for the theme live preview - not... ",alexvorn2 Future Releases,22237,Add a keyboard shortcut for collapse/expand in the customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,close,2012-10-21T02:59:31Z,2012-10-24T17:33:30Z,Can we add a keyboard shortcut to the customizer for collapsing/expanding the left panel?,designsimply Future Releases,20631,Add ability to add Contextual Help to the Theme Customizer,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-05-07T20:11:39Z,2014-02-02T07:59:48Z,"While this is probably more complicated than I realize, it would be good to add the ability for contextual help in the admin side of the Theme Customizer. This would enable explanations of the various core features as well as any additional custom features by theme developers.",wpsmith Future Releases,21792,Add link to settings.general from appearance.header,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-09-04T19:38:50Z,2014-01-23T22:23:12Z,"Multiple users that we've tested have ended up on appearance->header when asked to change their ""site title"". It seems logical. Should we add a link there?",lessbloat Future Releases,26815,Add theme_mod to disable Header Text as default,,Appearance,3.8,normal,normal,Awaiting Review,enhancement,new,,2014-01-11T21:13:17Z,2014-02-02T07:59:48Z,"There is no way to disable the header text as default. A trick would be to do something like this but then there is no default color. {{{#!php function custom_header_setup() { add_theme_support( 'custom-header', array( 'default-text-color' => 'blank', ) ); set_theme_mod( $name, $value ); } add_action( 'after_setup_theme', 'custom_header_setup' );` }}} I think this would follow up from https://core.trac.wordpress.org/ticket/18887 My idea would be {{{#!php function display_header_text() { if ( ! current_theme_supports( 'custom-header', 'header-text' ) ) return false; $header_text = get_theme_mod( 'header_text', get_theme_support( 'custom-header', 'display-header-text' ) ); return $header_text; } }}} Files that would need to be updated. https://github.com/WordPress/WordPress/blob/master/wp-admin/custom-header.php#L609 https://github.com/WordPress/WordPress/blob/master/wp-includes/theme.php#L991 https://github.com/WordPress/WordPress/blob/master/wp-includes/theme.php#L1407",grapplerulrich Future Releases,18959,Allow choosing multiple header images,,Appearance,3.3,normal,normal,Awaiting Review,enhancement,new,,2011-10-15T21:32:15Z,2014-02-02T07:59:48Z,"Please, see small screenshot :) [[Image(http://trueimages.ru/img/0f/5b/b7cf5f11a2786fc804521503268.png)]] Description: This is the theme TwentyEleven. I want choose multiple header images, (for example 4,5,6), but i cannot. Only random or only one. Thanks.",wikicms Future Releases,27177,Child themes should inherit parent theme customizer settings on activation / switching,,Appearance,3.8,normal,normal,Awaiting Review,enhancement,new,,2014-02-21T20:37:01Z,2014-02-21T21:03:37Z,"Currently, if you install a parent theme and utilize the theme customizer, and then create a child theme and live preview or activate it, it does not inherit any of the settings previously set for the parent theme. If a child theme doesn't have any existing values from the customizer setting, then it should look for and import those from the parent theme if they exist (perhaps on the switch_theme hook). The current setup is a discouragement to using a child theme if the user has already invested time using the customizer with their parent theme.",krogsgard Future Releases,17800,Custom Header bug with deleted images,,Appearance,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-06-14T12:43:15Z,2012-12-03T12:08:03Z,"I'm not a tech. I've added images to Twenty Eleven header. I wrong and I've deleted few images directly using ftp now you can see in the image that the header has the markers of the images without the images. ",pivari Future Releases,13767,Custom background uploader doesn't highlight max upload size,,Appearance,3.0,normal,normal,Future Release,enhancement,new,,2010-06-07T13:43:30Z,2014-02-02T05:41:23Z,"When uploading a file from the custom background handler, you cannot tell in advance if it'll succeed or not if the file is too large. WP should advertise the max size, and the available space where relevant (see also #13765).",Denis-de-Bernardy Future Releases,24679,Custom header - enable adding several header images in bulk,,Appearance,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-07-03T10:30:51Z,2014-02-25T12:42:16Z,Right now in order to have several header images to be randomly displayed you need to add each image individually as a header image. This process can be improved by enabling uploading several images at the same time and just cropping them one by one. Maybe some clever UI design can achieve cropping all of the images at a single page.,mark-k Future Releases,22880,Customize Themes without activation,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T11:34:51Z,2014-01-17T16:45:00Z,"Add a posibility to customize deactivated themes with the Theme-Customizer without activating them by default. Useful for Blogs running multiple Themes between which the frontend user can switch.",kkkrys Future Releases,21059,Customizer color picker has no remove button,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-24T11:34:12Z,2013-09-12T21:24:40Z,There is no remove button for color picker in the customizer. It would be great if we could remove the color or set it to the default if we don't need the color.,kcssm Future Releases,27355,Customizer: Add framework for partial preview refreshes,,Appearance,trunk,normal,normal,Future Release,enhancement,new,,2014-03-11T15:58:56Z,2014-03-14T18:50:44Z,"In regards to the Widget Customizer merge in #27112, we agreed to remove the partial preview refreshing of widgets (live previews via postMessage transport and re-rendering widgets via Ajax then doing DOM replacements). This live preview functionality for widgets was removed in favor of generalizing the functionality so that any customize control can add support for doing so. This partial preview refresh is key to keeping things DRY by eliminating the current requirement that all setting updates via postMessage transport re-implement all rendering logic in JavaScript for components that are normally written out in PHP—but even when the render logic is attempted to be written in JS, it will never be able to account for any filters added in PHP. For instance, with such partial preview refreshes, the Navigation Menu control needn't do a full refresh of the preview: the menu's container could be targeted for a partial refresh, where the new menu gets rendered via an Ajax request and the response replaces the old menu. Originally mentioned at https://core.trac.wordpress.org/ticket/27112#comment:10",westonruter Future Releases,27414,Dashicons for the Right Now widget,,Appearance,3.8.1,normal,normal,Awaiting Review,enhancement,new,,2014-03-14T12:58:15Z,2014-03-14T12:58:15Z,"Hi, We now use this great font Dashicons to style our custom post type UI instead of loading a lot of images. What I can't solve is this : I've created my custom post types, they have their dashicons. But I want to display them on the right now widget (at glance) so I use the filter `dashboard_glance_items`. In my function I use a simple `get_post_types()` to retrieve all my new CPTs. Ok that's cool but I've assigned icons to them so I set the `menu_icon` argument of `get_post_types()`to true to get it. And If I want to display it, I do something like this : {{{ $menu_icon = $post_type->menu_icon; }}} But after that I can't make it work simply because there's default style. Of course this can be easily fixed with a CSS in admin where I could override the default styles. Just wonder if that could be relevant to change the markup just a little bit to make it work like it works for custom post type UI in menus. Hope I'm clear. Regards.",jmlapam Future Releases,27315,Easier adding of custom class variables when extending WP_Customize_Section,,Appearance,3.8.1,normal,normal,Awaiting Review,enhancement,new,,2014-03-07T11:30:51Z,2014-03-07T11:33:20Z,"WP_Customize_Section uses `$keys = array_keys( get_class_vars( __CLASS__ ) );` to set class variables, but WP_Customize_Control uses `$keys = array_keys( get_object_vars( $this ) );` to set class variables. The difference is that if you extend WP_Customize_Control you can add new class variables by setting them in the extended class and passing them to the args array in the constructor. In WP_Customize_Section one has to override the constructor to do the same. changing `$keys = array_keys( get_class_vars( __CLASS__ ) );` to `$keys = array_keys( get_object_vars( $this ) );` in WP_Customize_Section would solve the problem (or use the static keyword which would raise the requirements to PHP 5.3)",rhurling Future Releases,25439,Prevent loss of unsaved customizer settings or provide means of restoring,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2013-09-29T06:07:22Z,2013-09-29T06:07:22Z,"This is to revisit #20692, opened by koopersmith for 3.4: > Losing your changes is no fun. ¶ The way I see it, we have two options: > > 1) Show an AYS when leaving the customizer by using an onbeforeunload handler. > 2) Store unsaved customizations in a customize_data_$stylesheet option. The fact that certain customize settings persist across theme changes (options) while others don't (theme_mods and some theme-specific options) could pose a problem. In the resolution of that ticket, neither of these options were chosen. The `beforeunload` handler with confirmation dialog (first option) was discouraged, and then another suggestion was provided to just make the Save button more prominent so that users would not neglect to press it before leaving the customizer. However, it seems the more prominent placement of the button is not enough. For the Widgets UI Refresh feature-as-plugin effort, a user test was put together to test integration with the Customizer. In the video at ~7:30, after the user had made changes to the controls and previewed them, he navigated away from the page. He forgot to hit Save & Publish, or didn't notice it there, and so he lost all of his changes. See the video here: ​http://make.wordpress.org/ui/2013/09/18/widgets-sept-16-chat-notes/#comment-23907 For the 2nd option (storing unsaved settings), another solution than storing drafted settings in a DB option is this: now that autosave will store the drafted post in `localStorage`, we could do the same for settings in the customizer. Since all of the settings are stored in memory as JS objects, when leaving the customizer with unsaved changes it could store those settings in `localStorage`. After having accidentally abandoned changes, when returning to the customizer, the initially-disabled ""Saved"" button could then swap out with an enabled ""Restore"" button. As soon as a change is made to a setting on the page, the Restore button would replace with the ""Save & Publish"" button, and the `localStorage`-preserved settings would be discarded. But if the user hits ""Restore"" then the `localStorage` settings would be populated into the customizer settings and the button would also change out from ""Restore"" to ""Save & Publish"".",westonruter Future Releases,25571,Remove Custom Header Page in favor of the Customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2013-10-11T08:49:55Z,2014-01-26T07:39:31Z,"We can't really expect theme developers to use the customizer instead of theme options pages if we continue to rely on separate pages for core customization features. Additionally, the custom header screen is a bit of a mess (especially around image uploading, cropping, etc.). I was originally going to propose cleaning it up, but removing in favor of the customizer is a much better solution (also cleans up the admin menu). The customizer provides a much better way to edit and preview these changes, and merging all of the existing options there will help encourage making the customizer the canonical place to customize themes. Really, we only need image upload & crop support to fully duplicate functionality in the customizer (everything else's there already). Once that's in place we can look at potential back-compat concerns. Might be slightly worse than the custom backgrounds but I think we should realistically be able to remove the separate ""Headers"" page entirely. Related: #25569. Blocked by #21785.",celloexpressions Future Releases,25569,Remove the Custom Background Screen in Favor of the Customizer,,Appearance,,normal,normal,Awaiting Review,enhancement,new,,2013-10-11T08:17:49Z,2013-12-04T05:48:03Z,"We can't really expect theme developers to use the customizer instead of theme options pages if we continue to rely on separate pages for core customization features. We have 90% of the custom background screen in the customizer already; once #21483 is done (media library integration), there's no reason to have all of this duplicate functionality. The customizer provides a much better experience anyway, with the live preview. Added benefits: removing an item from the admin menu's appearance section will probably increase traffic to the customizer from users poking around to see what they can do/look for options. And we'll have even more functionality there too. There aren't any actions in this screen (and I believe the filters are/will become irrelevant), so we don't need to worry about back-compat for that. Perhaps there are ways that plugins could break, but we can probably get away with removing most, if not all, of `wp-admin/custom-background.php`.",celloexpressions Future Releases,16268,Requirement for has_header_image() function?,,Appearance,,normal,normal,Future Release,enhancement,new,,2011-01-17T12:05:24Z,2014-02-02T06:01:24Z,"I know is pretty easy to do, but would it be a good idea to provide a has_header_image() function for use in themes? Something along the lines of: {{{ function has_header_image() { $header_image = get_header_image(); return !empty( $header_image ); } }}} As the header_image() function just outputs the URL it would be handy to have a conditional function you could use to check when there was a header image to output. I'm currently working on a plugin that gives you more granular control over using different header images on different pages using the 'theme_mod_header_image' filter. There may be instances when you do not want to show a header at all on some pages. In the current TwentyTen theme for example, no checking is done before the header_image() function is called so in this scenario the header image just appears as a broken image - ideally it should not output the image at all. Either that or should there be a function which outputs the whole image tag so that if the header_image() function returns false/empty it does not output the tag at all? What are people's thoughts on this?",husobj Future Releases,26899,Theme Activation Workflow with Customizer,,Appearance,3.8,normal,normal,Awaiting Review,enhancement,new,,2014-01-21T17:57:47Z,2014-03-06T17:51:56Z,"When activating a Theme, the user should be redirected to the Theme Customizer. Facilitate users to configure Theme settings immediately upon Theme activation. Currently, the user is presented with the Themes UI upon activation. The most-obvious user action at this point is ""Customize"". (To reach the Theme settings page through the Themes UI now, the user must click ""Theme Details"", and then click the appropriate link/button.) Short-circuiting this workflow would provide several advantages: 1) Immediate Theme configuration, with fewer steps 2) Further encouragement/facilitation for Theme developers to hook into the Customizer API 3) No need to know where to find the ""Theme Options"" link/button from the Themes UI 4) No need to know either the standard Theme settings page location (Appearance -> Subpage), or a non-standard menu page added by the Theme An alternate proposal: Merge the ""Activate"" and ""Live Preview"" buttons for non-active Themes. Currently, for non-active Themes, two buttons are presented, ""Activate"" and ""Live Preview"". Users may not know that ""Live Preview"" is actually (""Configure, Live Preview, and Activate""). With this change, the two buttons could be condensed to a single button, which leads to the Theme customizer - allowing for Theme settings configuration and live-preview before activation.",chipbennett Future Releases,21483,Theme Customizer: Use any image from media library for background image,,Appearance,3.4.1,normal,normal,Awaiting Review,enhancement,new,,2012-08-05T22:42:31Z,2014-01-26T17:04:36Z,"I suggest that users be able to use any image in the media library as a background image from the customizer. At this time, if a user changes the theme background from the customizer, he/she must upload the image. This is already available from the dashboard, under Appearance > Background - it gives the option ""Or choose an image from your media library:"" I suggest that this option available on the dashboard also be available on the customizer. A similar option should be available for header images.",jjonesftw Future Releases,20714,Theme customizer: Impossible to preview a search results page,,Appearance,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-05-20T19:20:30Z,2014-02-02T07:59:48Z,"Steps to reproduce: 1. Open the theme customizer 2. Attempt to do a search in the site's search box in order to preview the search results page The form won't submit and you won't be able to preview your search results.",johnbillion Future Releases,21819,Use an image size for custom headers instead of duplicating an attachment,,Appearance,3.5,normal,normal,Future Release,enhancement,assigned,,2012-09-05T21:19:51Z,2014-02-25T12:42:39Z,"The improvements in #21810 will allow us to use an image size for custom headers, and we definitely should — it results in fewer attachments, allows the user to recrop the header, and allows us to make intelligent decisions regarding how to treat custom headers when the theme is changed.",koopersmith Future Releases,27300,WP Customize Image Control doesn't show uploaded files,,Appearance,3.8.1,normal,normal,Awaiting Review,enhancement,new,,2014-03-06T17:14:56Z,2014-03-06T17:14:56Z,"When you are creating a new WP_Customize_Image_Control the images that you upload do not display in the 'uploaded' tab after you refresh the page. I found a gist that solves this problem which is two fold: 1. The documentation for WP_Customize_Image_Control didn't have the ""context"" argument listed so there's no way of knowing that one should be set. (updated documentation) 2. The ""tab_uploaded"" function for WP_Customize_Image_Control only displays the uploaded tab, but does nothing to actually get the contents. The gist with the code that works is: https://gist.github.com/eduardozulian/4739075/",alexdelgado Future Releases,22601,Make post content autosave work more generically,,Autosave,,normal,normal,Future Release,enhancement,new,,2012-11-27T04:00:31Z,2014-02-21T21:19:44Z,"The JS for autosave/AYS looks for the contents of `#post #content`. While we should fix the other JS issue related to targeting `#content` in #22600, it seems that autosave/AYS should be looking for the textarea (or whatever type of input) with the name of content instead, since having that data in the form will save to the post content. That way, if somebody does choose to use a different ID but the right input name, the autosave benefits will kick in. Discovered while working on #22491.",helen Future Releases,22325,Abstract GPCS away from the superglobals,,Bootstrap/Load,,normal,minor,Future Release,enhancement,new,,2012-10-30T21:15:41Z,2014-01-19T17:54:36Z,"As discussed at #wpcs, it looks like we want to move away from directly using the GPCS superglobals. This gives us a way to handle slashing backwards compatibility moving forward. This is still a heap of versions away, but this is a way to keep any notes central.",rmccue Future Releases,22631,Allow change of dropins folder,,Bootstrap/Load,3.5,normal,minor,Awaiting Review,enhancement,new,,2012-11-29T07:02:44Z,2014-01-30T10:25:39Z,"Dropins are stored in the `wp-content` directory. Currently there is no way to alter this (short of editing core code). The `get_dropins()` function does not utilize filters or predefined constants in any way. Probably the best method here would be to define `WP_DROPINS_DIR` constant in `/wp-includes/default-constants.php` that can be overridden in wp-config.php.",bungeshea Future Releases,21521,Audit use of set_time_limit(),,Bootstrap/Load,3.4.1,normal,normal,Future Release,enhancement,new,,2012-08-08T17:28:21Z,2014-01-19T17:54:36Z,Core calls this half a dozen times. The call in wp_get_http() interferes with unit tests. Unit tests will terminate 60 seconds after wp_get_http() is called. Let's justify each use of set_time_limit() and remove what we can.,ryan Future Releases,25148,Call wp_plugin_directory_constants before loading drop in files,,Bootstrap/Load,,normal,normal,Awaiting Review,enhancement,new,close,2013-08-26T16:48:42Z,2014-01-19T17:54:36Z,"Currently there are two functions for setting constants. * wp_initial_constants(); * wp_plugin_directory_constants() Issue is that the plugin_directory_constants are not available in the dropin files because they are included before the call to wp_plugin_directory_constants() so cannot include extra files inside the plugin directory if custom plugin path is used.",andreasnrb Future Releases,18391,Expand WP_DEBUG_LOG and make WP_DEBUG_DISPLAY work as expected,,Bootstrap/Load,,normal,normal,Future Release,enhancement,reopened,,2011-08-13T05:45:21Z,2014-01-19T17:54:36Z,"== WP_DEBUG_LOG == WP_DEBUG_LOG currently creates wp-content/error.log. We should expand this to allow a path. To do this, if WP_DEBUG_LOG is !== true, != 1, != 'true', (anything else?) and 0 === validate_file(), we should treat it as a path. == WP_DEBUG_DISPLAY == Setting WP_DEBUG_DISPLAY to false does not set display_errors to false. Instead, it prevents display_errors from being set to on. This forces a call to ini_set to turn off display_errors, assuming your php.ini is set to On, as expected for a development environment configuration. Instead, setting WP_DEBUG_DISPLAY to false should set display_errors to false. I've been thinking about this for months now, and the only situation I can come up with that this would be a compatibility issue would be when you deliberately have a production php.ini on production and a development php.ini in development. In this situation, WP_DEBUG_DISPLAY = false would screw up your development environment only -- the only breakage would be showing less errors, rather than more. WP_DEBUG_DISPLAY === null can remain a passthrough. Patch forthcoming.",nacin Future Releases,25669,Introduce helper function for AJAX checks,,Bootstrap/Load,,normal,normal,Awaiting Review,enhancement,new,,2013-10-23T12:20:19Z,2014-01-19T17:54:36Z,"Currently, we have to duplicate AJAX checks over and over in our code, so a shorthand function would be nice. Something like this: {{{ function is_wp_ajax() { return defined( 'DOING_AJAX' ) && DOING_AJAX; } }}} `is_wp_ajax()` is easier to type, it would reduce code duplication a little bit, and it would be less error prone, because an IDE would help with auto-completion. Con: one function more.",toscho Future Releases,23062,Issue warnings for deprecated and wrong behavior in pre-release builds,,Bootstrap/Load,,normal,normal,Future Release,enhancement,new,,2012-12-27T16:51:05Z,2014-01-24T08:31:38Z,"Coming out of #22873 and the [https://irclogs.wordpress.org/chanlog.php?channel=wordpress-dev&day=2012-12-12&sort=asc#m518273 associated development chat]: _doing_it_wrong(), _deprecated_argument(), _deprecated_file(), and _deprecated_function() should issue an E_USER_WARNING up to and including RC1, and an E_USER_NOTICE otherwise.",nacin Future Releases,19466,Last-Modified HTTP header not just for feeds,sergey.s.betke@…,Bootstrap/Load,3.3,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-12-07T15:44:05Z,2014-01-19T17:54:36Z,"Wordpress write HTTP **Last-Modified**, **ETag** headers just for feeds (**class-wp.php**, **send_headers**). And support **If-Modified** HTTP request header just for feeds. Wordpress 3.3 doesn't support HTTP 1.1 **Cache-Control** header. The best solution - support HTTP cache-control headers and for html output (full blog). But **If-Modified** HTTP request header (304 responces) for site support optionally (some not-ajaxed widgets and plugins will show wrong information without page reloading). = WordPress version = Latest WordPress files - 3.3-RC2-19567 ",sergey.s.betke@… Future Releases,12002,Multisite should not lock the root blog into using a /blog prefix,,Bootstrap/Load,3.0,normal,normal,Future Release,enhancement,new,,2010-01-25T03:51:06Z,2014-01-24T05:39:03Z,"MU Trac Ticket: http://trac.mu.wordpress.org/ticket/409 I don't think WPMU should lock the root blog into using a /blog prefix on permalinks. Currently, the /blog on the beginning of permalinks is hardcoded. I realise this was probably added to stop conflicts when not using a VHOST solution, but when using VHOST to put other blogs into subdomains, why lock the root blog's permalinks as such? Could the /blog requirement be removed if VHOST is 'yes'? ",wpmuguru Future Releases,9763,Please include IdeaWebServer in $is_apache (in wp-includes/vars.php),,Bootstrap/Load,2.7.1,low,normal,Future Release,enhancement,new,,2009-05-08T22:22:45Z,2014-01-19T17:54:36Z,"IdeaWebServer is a web server software developed an used in largest polish ISP server farm. This software handles over 205972 domains (according to http://top100.pl/). I hope its worth including support for IdeaWebServer in Wordpress. Installing Wordpress on IdeaWebServer is easy (as it is mostly apache compatible), but two tweaks need to be done. Tweak 1st: include IdeaWebServer in $is_apache Tweak 2nd: use only ""http://host/redirect"" redirections (no ""Location: /somewere"", only ""Location: http://host/somewere"") Here comes the patch (against r11244): {{{ Index: wp-includes/vars.php =================================================================== --- wp-includes/vars.php (wersja 11244) +++ wp-includes/vars.php (kopia robocza) @@ -65,7 +65,9 @@ * Whether the server software is Apache or something else * @global bool $is_apache */ -$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) || (strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false)) ? true : false; +$is_apache = ((strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false) || +(strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false) || +(strpos($_SERVER['SERVER_SOFTWARE'], 'IdeaWebServer') !== false)) ? true : false; /** * Whether the server software is IIS or something else Index: wp-includes/pluggable.php =================================================================== --- wp-includes/pluggable.php (wersja 11244) +++ wp-includes/pluggable.php (kopia robocza) @@ -857,6 +857,9 @@ $location = wp_sanitize_redirect($location); + if ($location[0] == '/') + $location = get_bloginfo('url') . $location; + if ( $is_IIS ) { header(""Refresh: 0;url=$location""); } else { }}} [http://www.burghardt.pl/2008/03/wordpress-na-serwerze-ideawebserver-w-homepl/ More about this issues (in Polish).]",burghardt Future Releases,18893,Update and enhance the basic browser detection to include smart phones and tablets/pads,,Bootstrap/Load,,normal,normal,Future Release,enhancement,new,,2011-10-09T19:26:19Z,2014-01-19T17:54:36Z,"As the title. We need to keep the basic $is_this, $is_that globals for back-compat but can introduce another global that would hold all needed info about the current web browser, device, versions, etc.",azaozz Future Releases,26818,When plugins are loaded check for a class of the same name and autoload if exists,,Bootstrap/Load,,normal,normal,Awaiting Review,enhancement,new,,2014-01-12T18:47:16Z,2014-02-22T04:58:42Z,"Had a good search but couldn't find any similar tickets, so sorry if I missed it. When WordPress loads & includes plugins I think it would make sense / be a handy feature if once the plugin file was included it then tried to load a class of the same name. This would be a great step towards autoloading, help push towards more OOP plugins in the future and pave the way towards namespacing then we hit PHP 5.3. Obviously it shouldn't be hard to do, a simple if( class_exists() ) etc. Happy to work up a patch if people agree.",dwread Future Releases,13436,WordPress class_exists() conflicts with __autoload() and php_auto_prepend,,Bootstrap/Load,3.0,normal,minor,Awaiting Review,enhancement,reopened,close,2010-05-18T15:51:26Z,2014-01-19T17:54:36Z,"== Issue == WordPress core (and many plugins) use `class_exists()`. http://php.net/manual/en/function.class-exists.php When WordPress is integrated with custom/third party applications that use `php_auto_prepend` and `autoload()` to include/require files based on the `$class_name` parameter this generates errors as `class_exists()` triggers the `autoload()` and the files cannot be found. == To reproduce == Using php_auto_prepend specify a file to include before every page request that contains the following PHP code: {{{ }}} Visit any front-end or back-end WordPress page. == Solution == As there is no `autoload()` function defined in WordPress core the `class_exists()` should implement the second `class_exists()` parameter: {{{ }}} This stops calls to `__autoload()` and would fix the errors seen when integrating WordPress with apps that implement this. I have implemented this and tested it and WordPress works fine, but I can't find out where the SVN repo is for WordPress 3 Beta 2 (the SVN page on the site takes me to 2.x). If someone could supply a link for SVN CO of WP3 I can provide the patch.",galbus Future Releases,16612,WordPress should return nocache headers for requests with comment cookies,,Bootstrap/Load,,normal,normal,Awaiting Review,enhancement,new,,2011-02-21T22:45:21Z,2014-01-19T17:54:36Z,"Most themes, when displaying the comment form, change the HTML to pre-fill username, email address, and website when comment cookies are received in the HTTP request. Since the response does not have explicit nocache headers, per RFC2616 (http://www.ietf.org/rfc/rfc2616.txt) intermediate caches can use heuristics to determine the cache TTL for the response. Since there is 0 freshness data in the response, it is not really possible to perform good heuristics, but in practice, caches will assign a default TTL to this type of response. The result is that private information input by user A when submitting a comment can be returned to user B when making a request for the same URL. To protect ourselves against this, we should call nocache_headers() when comment cookies are sent and the comment form is being displayed. Alternatively, we can send nocache headers for all requests with comment cookies regardless of the comment form being displayed or not (probably easier and maybe safer). http://humboldtherald.wordpress.com/2011/01/27/gremlins/ is a story likely caused by an aggressive cache and the lack of nocache headers.",barry Future Releases,23912,Add Composer package description,,Build/Test Tools,3.5,normal,trivial,Future Release,enhancement,new,,2013-03-30T20:44:16Z,2014-01-21T00:17:59Z,"WordPress, as software download, lacks machine-readable source of meta information about it. For PHP projects de-facto standard for such is Composer via `composer.json` file in project root. While WP currently doesn't use or need Composer dependency functionality, it will help provide information to developers and improve WP usage ''as'' dependency in projects that make use of Composer. Suggested `composer.json` draft: {{{ { ""name"" : ""wordpress/wordpress"", ""description"" : ""WordPress is web software you can use to create a beautiful website or blog."", ""keywords"" : [""blog"", ""cms""], ""homepage"" : ""http://wordpress.org/"", ""license"" : ""GPL-2.0+"", ""authors"" : [ { ""name"" : ""WordPress Community"", ""homepage"": ""http://wordpress.org/about/"" } ], ""support"" : { ""issues"": ""http://core.trac.wordpress.org/"", ""forum"" : ""http://wordpress.org/support/"", ""wiki"" : ""http://codex.wordpress.org/"", ""irc"" : ""irc://irc.freenode.net/wordpress"", ""source"": ""http://core.trac.wordpress.org/browser"" }, ""require"" : { ""php"": "">=5.2.4"" } } }}} ",Rarst Future Releases,26999,Improve the layout of phpunit unit tests to gauge code coverage,,Build/Test Tools,trunk,normal,normal,Future Release,enhancement,new,needs-unit-tests,2014-02-03T17:28:28Z,2014-02-03T17:56:51Z,"Some groups of unit tests are laid out better than others. To improve code coverage, we should be able to map files or features to a defined set of files/folders. Sure, we have ""post"" and ""query"" and whatnot, but the overlap between the 2 makes it impossible to understand what ""should"" go in each file. Every time I write a unit test, I am placing the new tests in a best-guess (or, most of the time, arbitrary) location. This is a spike ticket for cleanup and improvements. If this picks up steam from me or any others, might move to 3.9.",wonderboymusic Future Releases,21271,Make admin backend unit-tests friendly,,Build/Test Tools,3.4.1,normal,normal,Future Release,enhancement,new,close,2012-07-14T14:19:20Z,2014-02-19T02:47:19Z,"Recently I started writing unit tests for my plugins. Beside tests focused on functionality (where I directly call my plugin functions) I write some basic integrations tests, which should test that WordPress will call my function, pass data in expected format and recognize data returned from it. For frontend it is quite easy - theme API is well-defined, so I can write something like this: {{{ public function test_something() { // add new post $post_id = wp_insert_post( array( ... ) ); $this->assertGreaterThan( 0, $post_id ); // go to post page $this->go_to( get_permalink( $post_id ) ); // main loop $checked_post = false; while ( have_posts() ) { the_post(); if ( $post_id == get_the_ID() ) { $checked_post = true; // test that content is modified ob_start(); the_content(); $result = ob_get_clean(); $this->assertEquals( '...', $result ); } } // make sure test above was executed $this->assertTrue( $checked_post ); } }}} Unfortunately this is not true for admin backend - there most of code is written directly at file level (not in functions and classes), so I would need to either duplicate this code in my tests (bad approach, because would have to monitor original code for changes), or test using whole file (either load it directly or use Selenium) - in this case test would be more complicated. Therefore I logged this ticket, to start discussion how we can perform refactoring of admin backend to make it more tests-friendly, and how to test it more thoroughly. Most probably we would also need to modify the testing framework (e.g. introduce new `admin_go_to()` method).",sirzooro Future Releases,14782,"Accessibility: Twenty Ten Theme - links, forms, skip link",,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-04T15:50:01Z,2012-09-27T13:42:46Z,"Starting off with changes to the CSS only. Links: colors amended where necessary. added underscores and/or color changes for active, hover and focus. Gallery image links: adjusted things to use margin to center the image rather than padding, to allow for adding highlighting on image links. Skip link: now appears above the #access menu when tabbing through the page. Grey text/links: was 888 this just failed the color contrast, so changed it to 777 throughout. Forms: added highlight for input text and textarea, for active and focus.",elfin Future Releases,21506,Standard Theme Hooks,,Bundled Theme,,normal,normal,Awaiting Review,enhancement,new,,2012-08-07T02:10:55Z,2014-01-03T14:08:34Z,"During the hack day at WordCamp SF, Konstantin Kovshenin and I sat down to work out a solution to allow for better communication between themes and plugins. We propose that core introduce 4 new hooks into the default WordPress themes allowing plugins to add custom markup relative to common theme elements. While many other theme locations could be recognized, we have only included hooks that we could provide at least three use common use cases for. header_after: Allows custom markup to be inserted after all visual header elements have rendered. Possible use cases for this hook include: * Breadcrumb navigation. * Links to social profiles. * Advertising. * log in/out form. post_after: Allows custom markup to be inserted after all visual elements have rendered for the current global post object. This hook would fix the issue originally reported in #18561. Possible use cases for this hook include: * Sharing links. * Related posts. * Ratings. * Author bio. comment_after: Allows custom markup to be inserted after all visual elements have rendered for the current global comment object. Possible use cases for this hook include: * Upvote/Downvote control. * Ratings. * Show/hide threads functionality. footer_after: Allows custom markup to be inserted after all visual elements have rendered for the footer. While this action is similar to {{{wp_footer}}}, it would be possible for the theme author to move this into nested html elements. To my knowledge, {{{wp_footer}}} is intended to fire immediately before the closing {{{body}}} tag. Possible use case for this hook include: * Links to social profiles. * Advertising. * The ""small print"" or copyright information. If standardized hooks such as these were recognized by core, it would also have a positive effect on child theming. Theme authors would no longer need to override entire files just to introduce an element of two. We have prepared 3 patches for the default themes to demonstrate placement of these hooks as well as a plugin to demonstrate their usage.",mfields Future Releases,26685,"Twenty Fourteen: Add ""chat"" post format support",,Bundled Theme,,normal,normal,Future Release,enhancement,new,,2013-12-19T18:25:13Z,2013-12-29T05:10:43Z,"Currently we have: `'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery'` but no chat... This ticket is for adding the chat to the list: {{{ add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery', ) ); }}} ",alexvorn2 Future Releases,14791,Twenty Ten Theme - Better Link Highlighting,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:18:19Z,2012-09-27T13:42:49Z,mainly changing the state of text decoration(underline/none). This aids users that tab through links on a page identify where they are.,elfin Future Releases,14792,Twenty Ten Theme - gallery changes,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-09-07T10:22:33Z,2012-09-27T13:42:52Z,"With reference to #14791 those changes will produce an ugly 10px wide border in red on focus/hover etc. This patch does fix this, at the expensive of top/bottom margins. This therefore may need an additional patch before it can be applied.",elfin Future Releases,15385,Use get_template_part() for post formats in Twenty Ten,,Bundled Theme,,normal,normal,WordPress.org,enhancement,new,,2010-11-11T13:36:47Z,2013-02-19T04:25:57Z,"Let's encourage some standardization in themes by giving Twenty Ten the following: {{{ get_template_part( 'post-format', 'aside' ); get_template_part( 'post-format', 'gallery' ); }}} We'll leave the default in loop.php, I'm thinking, though we could also use post-format-default. I'm going to comment on #14746 that I think, if post formats are supported, then 'default' should always be supported and should be enforced as the default, even if nothing is stored yet for that post.",nacin Future Releases,22176,Cache the results of the posts_request_ids query,,Cache API,3.4.2,normal,normal,Future Release,enhancement,new,,2012-10-12T14:59:37Z,2013-01-10T00:11:47Z,"We are to the point where we could replace the advanced post cache plugin with something in core that is far simpler. We're most of the way there since introducing the split query. And with #22024 we have a good way of doing per-blog cache invalidation for classes of objects, which would be needed by this. Leveraging wp_cache_get_multi() as suggested in #22174 would provide a complete replacement for the adv post cache plugin. http://plugins.svn.wordpress.org/advanced-caching/trunk/advanced-caching.php",ryan Future Releases,14983,Get cache object by field,,Cache API,,normal,normal,Future Release,enhancement,new,,2010-09-28T08:12:24Z,2014-01-24T05:48:08Z,"Functions such as `get_term_by()` don't check the object cache before performing their query. We should introduce a function for getting a cache object by its field/value pair to make these more efficient. I've written a simple function, `get_cache_object_by()`, which accepts `$field` and `$value` parameters in the same way `get_term_by()` does, and an optional `$group` parameter for the cache group. `get_term_by()` and other `get_*_by()` functions could check the cache with this function before performing their query. The function is compatible with external object cache plugins that use the `cache` member variable of the `$wp_object_cache` object, as they should. ",johnbillion Future Releases,15565,More context for clean_post_cache(),,Cache API,3.1,normal,normal,Future Release,enhancement,new,early,2010-11-24T17:41:07Z,2013-09-24T15:45:43Z,"I'd like more context to be available when the clean_post_cache hook is run. Scenario: I have a plugin caches the post_IDs of most post queries that go through WP_Query. Invalidating that cache is done via the clean_post_cache hook, but requires a bunch of fragile hacks to prevent cache invalidation for things like comment inserts, which update the post's comment_count (which could, in theory, affect a WP_Query, but that's another story). Option 1: Add extra actions to provide context. This is the simpler option. Patch 1 does this for the above scenario. Option 2: Add an optional context parameter to clean_post_cache(). This is more general, but I can't think of anyplace else WordPress uses as similar approach. Patch two.",mdawaffe Future Releases,26973,Automatically redirect Blogger feed URLs,,Canonical,,normal,normal,Awaiting Review,enhancement,new,,2014-01-31T11:44:50Z,2014-01-31T11:44:50Z,"Blogger feed URLs look like: http://example.com/feeds/posts/default We should consider automatic redirection to the main WordPress posts feed for requests to this path, to ease people's traffic transition. The chances of someone having a WordPress page tree that exactly matches that URL is pretty low, and we could just bake it into our 404-based canonical URL magic.",markjaquith Future Releases,18385,"Canonical redirections not suited for Queries with multiple query vars and ""pretty permalinks"" in general",,Canonical,3.2,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2011-08-12T09:05:03Z,2011-08-12T12:21:47Z,"When the Canonical code was originally written, it served it's purpose quite well. However, over the years the number of Query vars which can be used to access content via has increased, and so have the number of archive views. This has lead to increased complexity in the Taxonomy canonical code which has needlessly caused bugs. What I'm proposing, is that it might be time to lay to rest the current `if.. elseif.. elseif..` style checks, It's not possible for 1 if branch to handle every single access point without duplicating another branch. As a result, I've put a half-finished together alternate version of Canonical, It's based on tallying up which query vars have been used/accounted for and removing any duplicates.. It's certainly not the best, but it's fairing better with the unit tests so far. {{{ Unit Testing: http://unit-tests.trac.wordpress.org/browser/wp-testcase/test_includes_canonical.php Before: FF.......FFFF..FFF.....F......FFFFFF.F....F.....FF....FF... After: FF...........FFF..................FF..................F.... }}} It's a work in progress, but it's worth considering IMO. Attaching a diff, and the full file (since the diff is going to be rather unreadable in some sections)",dd32 Future Releases,20283,Create new variable or function in $wp_query object to get canonical URL of any site's page,,Canonical,3.3.1,normal,normal,Awaiting Review,enhancement,new,,2012-03-22T14:42:36Z,2012-03-24T12:08:55Z,"For the sake of Search Engine Optimization it's recommended to set canonical URL inside tag in any site's page. Incorrect URL can exist in search engine index. For example: http://example.com?some_param=some_val&cat=3,4. URL points to categories with id equals 3 and 4, but we have another unnecessary parameter 'some_param'. It's malicious! We must set canonical URL to http://example.com?cat=3,4. So It's advance to have canonical URL generated some way. I propose to set function or variable inside WP_Query class to retrieve canonical URL to any opened page. In WP_Query we have variable WP_Query::query which consists of all necessary parameters for that propose. But we must use $wp_rewrites also. Any thoughts? ",egorpromo Future Releases,21765,Redirect to canonical URL if URL has 'preview' parameter with any nonempty value and user not log in,,Canonical,3.4.1,normal,normal,Awaiting Review,enhancement,new,close,2012-09-01T13:18:44Z,2013-10-08T13:12:07Z,"if any URL has nonempty GET-parameter 'preview' that there is noredirection to canonical URL. If we have http://example.com?p={post_id}&post_type={post_slug}&preview=true there is no redirection to correct URL like http://example.com?{post_type}={post_slug} or like http://example.com/{post_type}/{post_slug} (if site has permalinks). This is bad for SEO and bad user experience. If user not log in there must be redirecttion.",egorpromo Future Releases,15397,redirect_guess_404_permalink() purposedly doesn't guess posts with updated dates,,Canonical,,lowest,normal,Future Release,enhancement,new,needs-unit-tests,2010-11-12T00:17:38Z,2014-02-16T00:12:49Z,"'''Problem''' Here's my post path scheme: http://site.com/YEAR/MONTH/DAY/SLUG. Whenever I have writers working on a post for a while and saving drafts (we're all using Windows Live Writer), they oftentimes publish to the date when the last draft was saved, i.e. several days in the past. Then, they quickly correct the date but the previously tweeted/shared link is now 404 due to the changed date. I've looked into the source of redirect_guess_404_permalink(), and it purposedly narrows down the query when it sees a post date to that date only. If I understand correctly, this is done to minimize accidental redirects to the wrong post, but has the side effect of not guessing the new link if only the date was changed. A workaround of removing these lines: {{{ if ( get_query_var('year') ) $where .= $wpdb->prepare("" AND YEAR(post_date) = %d"", get_query_var('year')); if ( get_query_var('monthnum') ) $where .= $wpdb->prepare("" AND MONTH(post_date) = %d"", get_query_var('monthnum')); if ( get_query_var('day') ) $where .= $wpdb->prepare("" AND DAYOFMONTH(post_date) = %d"", get_query_var('day')); }}} fixes the problem for me. Can this case be solved in the trunk and the code above removed, or logic improved? My .htaccess file is filled with 301 redirects to correct wrong dates. Thank you.",archon810 Future Releases,20977,Add Dynamic Comment Statuses,,Comments,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-06-15T17:12:07Z,2012-06-15T17:21:37Z,It would be great to add some filters/actions that would allow plugin developers to add additional statuses to comments.,supercleanse Future Releases,16431,Adding include to wp_list_comments(),,Comments,2.7,normal,normal,Awaiting Review,enhancement,reopened,reporter-feedback,2011-02-01T04:27:50Z,2013-08-16T09:33:24Z,"I have been building a simple forum on Wordpress using posts as questions, top-level comments as answers, replies as comments on answers. Choosing a best answer is available, which adds the ID of the chosen answer (comment) ti the postmeta of the question. I would like to arrange my answers so that the first one is the chosen best answer, and below you can view the normal flow of answers. It would be nice if this could be done using wp_list_comments(). I would call it once and use ""include"" to show just the one comment, and then I would call it again without the include to show the usual flow of comments. I believe this might be generally helpful in other cases as well though. ",danielpataki Future Releases,12668,Better support for custom comment types,ptahdunbar,Comments,,normal,normal,Awaiting Review,enhancement,reopened,,2010-03-22T10:42:31Z,2014-02-11T07:30:37Z,"Similar to the improved support for custom post types #9674, we really need better support for custom comment types. At the database layer, this is completely supported and is used for post type comments, trackbacks and pingbacks. The code just needs to be decoupled into standard APIs. Specifically, we'll need APIs for registering comment types, and comment statuses so the admin interface (edit-comments.php) can support them. I'll be working on a patch, although feel free to provide your own patches, ideas and insights :)",ptahdunbar Future Releases,15520,Break date/time into a separate column in Comments views,,Comments,,normal,normal,Future Release,enhancement,new,,2010-11-20T15:30:35Z,2012-03-08T10:18:38Z,"Now that column sorting is in, it makes sense to break the date and time a comment was made into a separate column in the Comments view so they can be sorted chronologically. Currently, the time is part of the content column, which can be confusing as if someone sorts by that column it becomes an alphabetical sort.",markel Future Releases,25338,Comments of password-protected posts should not be shown to logged-in users without edit capability,,Comments,,normal,normal,Future Release,enhancement,new,,2013-09-17T02:30:31Z,2014-02-16T00:03:53Z,"Currently, if an user creates a password-protected post, Authors and lower roles cannot view the post neither on the front end nor in the backend, unless it was their own post (or they have the password). However, they can see comments of those posts while viewing edit-comments.php. Suggested that comments of password-protected posts should not be displayed to users without ability to view/edit the post in the admin.",kraftbj Future Releases,11359,Don't nofollow links in admin comments,,Comments,2.9,normal,normal,Future Release,enhancement,new,,2009-12-08T12:23:15Z,2011-04-15T08:25:24Z,"Links in admin comments shouldn't have rel=nofollow. Admin comments are not user-generated content, and the site owner (admin) is vouching for the links just like when they link from the post itself. Therefore, this usage of nofollow is incorrect. Also, if I go and edit a comment and remove nofollow from a link, WP adds it back. It shouldn't do that either. Note that in the unlikely event of wanting a link in a comment to be nofollowed, this could still be done manually.",caesarsgrunt Future Releases,9775,Duplicate comment check is too strict,,Comments,2.7.1,normal,normal,Awaiting Review,enhancement,reopened,,2009-05-09T21:27:38Z,2014-02-16T05:09:13Z,"The duplicate comment detection mechanism doesn't allow duplicate comments on the same post, even from the post author. That's not good. The duplicate comment check should only block the new comment if there is no other comment posted between the new comment and the old comment.",scribu Future Releases,23800,"Filter Comment Blacklist, to delete duplicated terms",,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T23:37:13Z,2013-03-16T23:37:13Z,"Hi, In Comment Blacklist, when I save terms, duplicates are not eliminated. Would be good if the function array_unique would remove these duplicate terms.",shadowhck Future Releases,26755,Fix and improve the comment moderation keyboard shortcuts,,Comments,,normal,normal,Future Release,enhancement,new,dev-feedback,2014-01-02T00:02:18Z,2014-03-05T17:43:36Z,"The shortcuts for approve (a), spam (s), bulk approve (shift+a) and bulk spam (shift+s) are too close together (on qwerty keyboards). That can result in mistyping them. The toggle-checkboxes shortcut (shift+x) doesn't work. If the user clicks a checkbox, all shortcuts stop working until the user clicks somewhere else.",azaozz Future Releases,23797,Hard coded HTML marking in comment_form(),,Comments,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-03-16T21:16:23Z,2013-03-17T14:50:58Z,"Hello it seems so ugly hard coding has slipped in the comment form. On line 1554 of comment-template.php, there is some hard-coded html : {{{


    %1$s %2$s

    ', }}} and line 1554 replaced by : {{{ }}} Thanks a lot, hope you'll take it :)",Marie-Aude Future Releases,6536,"Introduce the concept of ""read"" and ""unread"" comments for better workflow in the admin",markjaquith*,Comments,2.5,normal,normal,Future Release,enhancement,accepted,,2008-04-02T00:48:54Z,2014-02-05T05:04:10Z,"The Moderation Queue is a great way to manage your comment workflow. All comments go in there, and you approve, spam, or delete them. At the end you get a nice little ""0"" and you know you've dealt with all new comments. This doesn't work for people who don't moderate every comment. They have no idea when they are done, and which comments they have or have not looked at. I'd like to add a {{{comment_read}}} column to the comments table. It would be either ""1"" or ""0"". There would be a new sub-tab for Comments: ""Unread comments (%d)"" This page would be just like the Moderation page, except that it would only show comments with {{{comment_read = 0}}}. This could act as ""comment workflow central"" for both people who pre-moderate and people who post-moderate. Unapproved comments would have the actions: Approve, Spam and Delete. Approved comments would have the actions: Archive, Spam and Delete. Clicking any of these actions would both carry out that action AND mark that comment as read, making it disappear from the ""Unread comments"" page. (""Archive"" only marks it as read). Enterprising theme developers could even have this status shown on the public blog, so that people know whether their comments have been seen. For background on this idea, please see [http://markjaquith.wordpress.com/2008/03/20/the-comment-inbox/ The Comment Inbox] Note that this has benefits for people who moderate every comment, because they can now store comments in the moderation queue (comments they want to remove from the blog, but not delete) without that getting in the way of their comment workflow.",markjaquith Future Releases,27080,Missing action 'comment_form_after_comment',,Comments,3.8.1,normal,normal,Awaiting Review,enhancement,new,,2014-02-09T21:21:27Z,2014-03-02T18:58:01Z,"It's nice to have action hooks for the comment form like `comment_form_after_fields` or `comment_form`. But I miss an action `comment_form_after_comment` which is called between the comment field note and the submit button. Like this: {{{

    "" value="""" />

    }}}",bjoerne Future Releases,20490,Move submit_button to wp-includes for frontend inclusion & use with comment-template.php,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-04-19T18:04:55Z,2012-04-23T14:43:09Z,"It would be nice to be able to use submit_button() on the frontend as well (cf. #15064). It appears that #16066 ""fixed"" #16061, which it did, but moving the submit_button functions would enable to revert back to the use of submit_button(). Moreover, I recommend changing the comment-template.php in wp-includes ([http://core.trac.wordpress.org/changeset/16066#file2 16066#file2]) to use a filter with the submit_button to enable attributes like onClick. As it stands right now, if a user wants to track comments in their analytics they have to hide the original and add a function hooked into comment_form and redo all the args.",wpsmith Future Releases,7532,Need comment_modified_date_gmt for approvals and edits,,Comments,2.6,low,minor,Future Release,enhancement,new,,2008-08-17T04:45:49Z,2009-06-11T12:39:18Z,"Summary:[[BR]] Currently there is only one date field for comments, comment_date_gmt. This is insufficient, because it represents only the creation date, not the approval date. The function get_lastcommentmodified can only check comment_date_gmt, which means that it can return an earlier date than the approval date. This can lead to RSS feeds wrongly returned HTTP 304 Not Modified responses. There needs to be comment_modified_date_gmt in addition to comment_date_gmt. Steps to Reproduce:[[BR]] (1) First comment is submitted.[[BR]] (2) First comment is mistakenly marked as spam by Akismet.[[BR]] (3) Second comment is submitted and posted.[[BR]] (4) Check comments feed in RSS reader. Second comment appears in feed, first comment does not.[[BR]] (5) Mark first comment as not spam.[[BR]] (6) Check comments feed in RSS reader again. Expected results:[[BR]] Comments feed returns HTTP 200, because there is a new comment in the feed. Actual results:[[BR]] Comments feed returns HTTP 304. Notes:[[BR]] The same bug could occur in other circumstances. For example, if a comment was held for moderation. ",lapcat Future Releases,23179,New avatar related option - use gravatar only for registered users,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-01-11T15:40:59Z,2013-01-21T04:42:39Z,"The use of gravater is problematic because there is no attempt to verify that a comment with which an email was used was actually left by the owner of the email (AFAICT gravatar doesn't even have an API for authentication). This makes impersonating to someone else that have a gravatar in a wordpress site comments much too easy. IMO non autogenerated gravatars should be displayed by default only for users for which it is known that they actually own the email address, which are usually only the registered users.",mark-k Future Releases,22889,Reconsider no-JS ?replytocom= links,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-12-12T15:13:20Z,2013-08-29T09:17:55Z,"We have a no-JS fallback for comment replies. Normally JS moves the comment form around. For people with JavaScript disabled, they follow the `?replytocom={123}` link. This results in a lot of extra crawling by search engines (potentially an additional crawl per reply-able comment!) in exchange for enabling an awkwardly executed, likely underused, and non-essential feature for non-JS users. I'd like to consider making comment reply JS-only.",markjaquith Future Releases,8071,Refrain from querying all the comments on a post when paged,,Comments,2.7,normal,normal,Future Release,enhancement,reopened,,2008-11-05T22:17:15Z,2012-07-16T04:35:24Z,"If a post has more than (comment_per_page) comments, we should query them specifically, not query all the comments and sort in PHP (doesn't scale well). Logic: if threading is off, use a simple limit query elseif the page has equal or fewer comments than (comments_per_page), query them all else query (comments_per_page) parent comments, and keep doing queries for their children, up to the threading limit (10).",markjaquith Future Releases,3842,Should make nofollow implementation cleaner and easier to remove,,Comments,2.1.1,normal,normal,Future Release,enhancement,new,,2007-02-22T10:08:56Z,2014-02-02T10:38:44Z,"{{{rel=""nofollow""}}} didn't appreciably stop comment spam, and there are many arguments for why it is a '''bad''' idea (and not just a failed idea). We should consider axing it.",markjaquith Future Releases,9117,Spam queue doesn't distinguish between filter sources,,Comments,2.7,normal,normal,Future Release,enhancement,new,,2009-02-12T22:50:51Z,2014-02-02T20:24:32Z,"1. On the Settings / Discussion tab, go to the Comment Blacklist box, and add the string ""the"". 2. Post a comment containing the word ""the"". It will be caught as spam. 3. Visit the Comments / Spam tab. Your comment is there, but there is nothing to indicate whether it was caught by the Comment Blacklist, or by Akismet, or by another spam filter. Result: neither the user nor WordPress knows how to prevent that comment from being caught in future. Many users will forget about the Blacklist feature and assume their spam filter plugin is faulty. Suggested fix: comments caught as spam should record the reason. This should be displayed to the user, and used internally by spam filter plugins to decide how to handle false positives. ",tellyworth Future Releases,22466,Want to View Pending Comments From Dashboard,,Comments,,normal,normal,Awaiting Review,enhancement,new,,2012-11-15T18:49:39Z,2014-02-02T08:03:20Z,"This is a very awkward aspect of WordPress that I'm just attempting to articulate for the first time: In the Recent Comments dashboard widget, there is no way to view fully the pending comments. What it should link to: * View Comment * View Post * Approve Comment * Edit Comment * Spam Comment * Trash Comment What it does instead: * Visitor's site or e-mail address * Edit Related Post * View Related Post * Reply to Comment * Approve Comment * Edit Comment * Spam Comment * Trash Comment So there are several obvious points of confusion here. Why would I want to reply to a comment that is pending approval, still hidden, and not even fully displayed to me? Why can't I see the whole comment? It only shows me an excerpt here, and in order to actually read the comment I have to click over to Comments on the admin menu and find what I'm looking for manually. Why does the most prominent link for the comment take me to the post editing screen? When is this ever useful? Why is the post link displayed as a tiny little ""#""?",miqrogroove Future Releases,25196,add new function get_comment_post_ID(),,Comments,,normal,normal,Awaiting Review,enhancement,new,,2013-08-30T18:34:39Z,2014-02-21T19:37:32Z,"add a new function that will return the id of the post of the comment We have get_comment_ID() but no get_comment_post_ID(); the function can be like this: {{{ function get_comment_post_ID() { global $comment; return apply_filters('get_comment_post_ID', $comment->comment_post_ID); } }}} ",alexvorn2 Future Releases,16576,comment_form() fields being displayed only for non logged in users,,Comments,3.0.5,normal,normal,Awaiting Review,enhancement,new,,2011-02-16T18:15:44Z,2011-10-19T23:28:16Z,"I've just noticed this - When using the '''comment_form()''' function and adding some comment meta fields,using the fields array in the $args, these fields are being showed in the front-end only for non logged in users. In this case, the registered users can never use these comment fields. Look at wp-includes/comment-template, lines 1561-1573 (WP 3.0.5), it parse the $args['fields'] in the else block - {{{ $field ) { echo apply_filters( ""comment_form_field_{$name}"", $field ) . ""\n""; } do_action( 'comment_form_after_fields' ); ?> }}} I think it is better that added meta fields should be displayable for all users (logged in and not logged in), or even to add a parameter to let the developer decide which extra fields are shown to logged or not logged users. ",maorb Future Releases,14510,comment_notes_before does not work.,,Comments,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-08-02T18:39:34Z,2011-02-18T04:51:54Z,"I am unable to get the comment_notes_before to work. Using the code: {{{ comment_form(array( 'comment_notes_before' => 'some text' )); }}} ... does not work. it just leaves the default text there. {{{ comment_form(array( 'comment_notes_after' => 'some text' )); }}} ... does work. It allows you to put whatever text you want.",hotforwords Future Releases,19903,wp_count_comments() and get_comments_count() both do SQL queries,,Comments,3.3.1,normal,normal,Future Release,enhancement,new,,2012-01-26T22:16:42Z,2012-04-18T20:35:04Z,"{{{wp_count_comments()}}} and {{{get_comments_count()}}} are similar functions, with a few differences: * Their results are returned in different formats: * {{{wp_count_comments()}}} returns an object of: * spam * approved * moderated * total_comments * trash * post-trashed * {{{get_comment_count()}}} returns an array of: * spam * approved * awaiting_moderation * total_comments * {{{wp_count_comments()}}} caches, but {{{get_comment_count()}}} always hits the database. * {{{get_comment_count()}}} is used nowhere in WordPress core. I propose that we add 'trash' and 'post-trashed' reporting to {{{get_comment_count()}}}, and then have {{{wp_count_comments()}}} use {{{get_comment_count()}}} instead of doing its own SQL queries. See #6884 and #19901",markjaquith Future Releases,23133,Display a warning in the admin if cron tasks fail due to blocked HTTP requests,,Cron API,3.5,normal,major,Awaiting Review,enhancement,new,dev-feedback,2013-01-07T08:33:05Z,2013-06-28T18:26:39Z,"I recently upgraded my very simple WP site to 3.5 where the following was in use: Theme: Twenty Eleven Plugins: None Activated I have been completely unable to submit a post for publishing in a future date, when the time occurs, I get a ""missed schedule"" message. The schedule entry in cron is as follows: {{{ Next due (GMT/UTC): Jan 4, 2013 @ 11:28 (1357298880) Schedule: One-off event Hook: publish_future_post Arguments: [0]: 358 }}} Increasing the timeout value in cron.php has made no difference. I will need to remain on a lower release until this is fixed or a diagnosis ""kit"" is made available. I am not using any software other that WP produced at this point and feel that the lack of wp-cron documentation and support in the public domain leaves alot of people clocking many hours googling in desperation... Make a difference in 2013 and get 3.5 development priorities to de-mystify the methods of fixing wp-cron please :o)",prb22public@… Future Releases,17957,wp_reschedule_event & daylight saving,,Cron API,3.2,normal,normal,Awaiting Review,enhancement,reopened,,2011-07-01T09:03:28Z,2013-11-18T22:42:19Z,"When a recurring event is established using the WP cron functions the function takes a Unix timestamp and a recurrence interval. In the situation where daylight saving changes the local time, the timing of an event can change by an hour. So, if a database backup is set to run at midnight when the clocks change this can start to happen at 11pm or 1am instead since the timing of the event is based on an initial static time (Unix timestamps reference point is January 1, 1970) and a static interval period. An enhancement to the cron functions would be to account for an obey daylight saving changes so that events schedule for midnight actually occur at midnight irrespective of the time of year.",MattyRob Future Releases,25266,wp_unschedule_event should apply filter to changes,,Cron API,,normal,major,Awaiting Review,enhancement,new,,2013-09-09T15:38:15Z,2014-02-03T00:58:48Z,"wp_unschedule_event needs to announce removal of events, just like wp_schedule_event does through a filter I would suggest allowing the filter to cancel the unschedule as a bonus. ie. {{{ function wp_unschedule_event( $timestamp, $hook, $args = array() ) { $crons = _get_cron_array(); $key = md5(serialize($args)); $event = (object) array( 'hook' => $hook, 'timestamp' => $timestamp, 'args' => $args ); if ( apply_filters('unschedule_event', $event) ) unset( $crons[$timestamp][$hook][$key] ); if ( empty($crons[$timestamp][$hook]) ) unset( $crons[$timestamp][$hook] ); if ( empty($crons[$timestamp]) ) unset( $crons[$timestamp] ); _set_cron_array( $crons ); } }}} Optionally, consider if the filter returns false and there is no unset, the database should not be rewritten.",_ck_ Future Releases,27240,Add allow_bail Argument for wpdb->check_connection() the Same as for db_connect(),,Database,trunk,normal,normal,Awaiting Review,enhancement,reopened,,2014-02-28T18:03:24Z,2014-03-10T08:18:49Z,"The new wpdb check_connection() function is a great addition and potentially allows plugins to change to using that function rather than having to use their own (especially good now that there is at the mysql/mysqli thing to be considered). However, as it bails by default (unless the template_redirect action has been done) this causes a problem for plugins that handle the broken and cannot reconnect failure themselves. The db_connect() function has an allow_bail argument that allows the caller to prevent the bail action and simply have db_connect() return false if a connection failure occurs. Adding the same argument and functionality to check_connection() (defaulting to true as it does for db_connect()) would allow the caller to to have check_connection() return false on a failure and allow the caller to handle the failure. This would provide a behavioural consistency between the two functions as in effect they are both trying to connect to the database. The call to db_connect() from within check_connection() would still call with false regardless of the value that check_connection() was called with. (I don't believe that the template_redirect action can be guaranteed to have been ""done"" under every possible scenario where a plugin might want to check a database connection which is why I believe the additional argument and associated logic is required. For example, would template_redirect have been called if a background (cron) task were being executed? This condition seems too uncertain to be relied upon). Regards",DrProtocols Future Releases,9642,Database Schema Optimizations,,Database,2.8,normal,normal,Future Release,enhancement,assigned,,2009-04-24T19:42:40Z,2013-02-16T16:15:57Z,Diffs coming...,Denis-de-Bernardy Future Releases,6492,Guids No Longer Have Permalink Format,,Database,2.5,normal,normal,Future Release,enhancement,reopened,,2008-03-31T06:03:30Z,2013-09-20T05:31:03Z,"When you create a new post using WordPress 2.5 the GUID is created in the http://siteurl/?p= format even when permalinks are enabled. This is because the _transition_post_status function in /wp-includes/post.php now checks if the guid is empty (which it never is) before resetting/creating it with the proper permalink structure. Line 2841 should be removed. ",brianwhite Future Releases,18105,Improve JOIN efficency of tax_query,,Database,,normal,normal,Awaiting Review,enhancement,new,,2011-07-14T04:28:59Z,2012-06-04T23:40:00Z,"Use of multiple items in a tax_query creates an inner join for each entry. This seems unnecessary. Example query: {{{ array( 'tax_query' => array( 'relation' => 'OR', array('taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'term1'), array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'), ) ) }}} Resulting SQL: {{{ SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) WHERE 1=1 AND ... AND (wp_term_relationships.term_taxonomy_id IN (XXX) OR tt1.term_taxonomy_id IN (YYY) ) ... }}} Each new entry in the array creates another inner join on the term_relationships table, along with an associated select argument. However, the term_relationships table is defined with these main keys: {{{ CREATE TABLE $wpdb->term_taxonomy ( term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment, term_id bigint(20) unsigned NOT NULL default 0, taxonomy varchar(32) NOT NULL default '', ... PRIMARY KEY (term_taxonomy_id), UNIQUE KEY term_id_taxonomy (term_id,taxonomy), }}} This basically means that the term_taxonomy_id is a unique ID for the row, and it's pointing to a unique relationship between some term and some taxonomy. Essentially, term_relationships defines what terms are in what taxonomies. Therefore, the extra inner join and selection are entirely unnecessary. All references to a term in a taxonomy are unique. This isn't individual terms we're looking for in this query, but term+taxonomy. An equivalent SQL statement to the one given before would be this: {{{ SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ... AND (wp_term_relationships.term_taxonomy_id IN (XXX, YYY) ) ... }}} This is equivalent because both XXX and YYY point to a specific term+taxonomy combination, not just to a term. For the similar relation = AND case (instead of relation = OR), this query would be equivalent: {{{ SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ... AND (wp_term_relationships.term_taxonomy_id IN (XXX) AND (wp_term_relationships.term_taxonomy_id IN (YYY) ) ... }}} We get a second statement in the where clause, but note the lack of a second inner join and lack of referencing it. This greatly improves performance. Only one inner join is ever actually required for any number of items in the tax_query, thanks to the pre-lookups being performed to find the proper term_relationship entries. Similar enhancements might be available for the meta table, however that is more complex and may be more difficult to improve. ",Otto42 Future Releases,21212,MySQL tables should use utf8mb4 character set,,Database,3.4.1,normal,minor,Awaiting Review,enhancement,reopened,,2012-07-11T04:26:12Z,2013-11-13T02:58:48Z,"Historically, the MySQL utf8 character set has only supported the first character plane of UTF-8. With MySQL 5.5.3, it now supports the entire character plane, using the utf8mb4 character set. This character set is 100% backwards compatible, and does not require more space than utf8 for characters that fall within the utf8 set, only using an extra byte for characters outside of the utf8 set. References: http://en.wikipedia.org/wiki/Mapping_of_Unicode_character_planes [[BR]] http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html",pento Future Releases,20213,Pagination fails silently when mysql.trace_mode is on,,Database,3.4,normal,normal,Awaiting Review,enhancement,new,,2012-03-10T16:06:15Z,2014-01-24T07:41:50Z,"A sysadmin left enabled '''mysql.trace_mode''' on php.ini without me knowing about it, and I spent hours trying to find out why the '''next_posts_link''' wasn't showing up. This is very hard to debug, because * it fails silently, with no error to look for * it's hard to repro on a dev server, which may not have the same php.ini settings as in staging/prod (ideally should, but rare for 99% of devs) Other people had this same issue: * ""[http://wordpress.org/support/topic/page-navi-not-working-with-mysql-5134-amp-php-529 No error, it's just not working]"" * ""[http://wordpress.org/support/topic/archives-not-showing-nextprev-windows-only-crazy Am I going crazy]""? * Trace_mode defaulted to ""on"" in [http://stackoverflow.com/a/869957/128329 this guy's] install (!). I've read through #18536, #10469 and related issues, hoping that usage of SQL_CALC_FOUND_ROWS would be removed, but it seems to be still there, in trunk. So I guess a ""fix"" for this would be to check for trace_mode and, if enabled, notify admin users on the wp-admin dashboard. Meanwhile, I've added a note about this on the [http://codex.wordpress.org/Function_Reference/next_posts_link next_posts_link] page. ",ManuelRazzari Future Releases,19019,Reduce duplication in $wpdb,,Database,,normal,minor,Future Release,enhancement,new,early,2011-10-20T21:16:00Z,2013-09-20T20:27:42Z,"Currently, update(), insert() and soon delete() [see #18948] use the same code to generate the WHERE clause. It should be moved into a helper method.",scribu Future Releases,22884,What if I delete wp_posts table from database.,,Database,3.5,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2012-12-12T12:48:24Z,2012-12-13T11:51:20Z,"I am not a experienced or mature programmer but I have seen it While I was playing with database of WordPress. I have deleted wp_posts table in database in WordPress - 3.5(beta). It looks normal on other pages at admin side but when i open single post it shows post-new.php and when hit save, it shows ""wp_error"" with this message ""You are not allowed to edit this post."" That's OK. I was expecting error but not this type of error. It seems WordPress doesn't know that its most important table has gone away and that's why admin may not know( well for a while). I think its not good. well I don't know its issue or it is way it behaves with database and its normal but I think WordPress should know what exactly happened. when I have updated WordPress with stable 3.5 it has updated but database is still same which is normal. Should we( can we )track tables( some of tables which are important ) by PHP ?",mukkundthanki Future Releases,22196,add $wpdb->upsert function,,Database,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-10-15T12:48:33Z,2012-10-15T14:53:24Z,"If i read http://codex.wordpress.org/Class_Reference/wpdb right, we have only insert and update functions, but for many occations, if would be lovely, if we would have upsert function as well (using INSERT ... ON DUPLICATE KEY UPDATE http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html). So when i am inserting e.g. posts using database function, i do not have to check if post with that id exist (good for some migration / importing tools etc.)",thomask Future Releases,10883,db-error.php not used for all DB failures,ryan,Database,2.8.4,normal,normal,Future Release,enhancement,new,dev-feedback,2009-10-01T02:45:28Z,2013-01-25T04:39:55Z,"db-error.php (the optional custom DB error message file to be placed in wp-content) does not get included all the time. Sometimes wp-db.php will use its {{{bail()}}} method to spit out its own message. This code needs to be there too: {{{ if ( file_exists( WP_CONTENT_DIR . '/db-error.php' ) ) { require_once( WP_CONTENT_DIR . '/db-error.php' ); die(); } }}}",markjaquith Future Releases,23061,get_post_meta() on post with large amount of meta keys uses too much memory,,Database,,normal,normal,Awaiting Review,enhancement,new,,2012-12-27T13:40:17Z,2012-12-27T14:54:48Z,"I think it's likely there has been a ticket on this in the past, but I couldn't find one so here goes! If I have a post that have say 25k post meta entries, and I call `get_post_meta( $id, 'foo', true )` then `update_meta_cache` is going to cause all post metas to be loaded into memory. In most cases I can see this makes sense, however I recently had an issue where I was storing contest votes as meta keys, a post had 30k votes, and would take about 70MB of memory to get any meta key of that post (even if I didn't want votes). This is fairly edgecase, but the idea that all meta for a post is always loaded even if you don't want it is perhaps over presumptuous as a dev may be storing a large amount of data in meta. With persistant object caching this is somewhat worse, as the object cache store gets very large. I am not proposing this functionality is removed, maybe just a filter or something in http://core.trac.wordpress.org/browser/trunk/wp-includes/meta.php#L524 so one could either adjust the query or perhaps pass an array of meta keys to exclude from the sql query",joehoyle Future Releases,20178,wpdb class : provide a disconnect / connect to db functions,arena,Database,3.4,normal,normal,Awaiting Review,enhancement,new,close,2012-03-05T13:16:21Z,2014-02-01T16:02:58Z,"some hosts automatically disconnect mysql after a short while. I think it could be interesting to have in wpdb a disconnect and connect functions.",arena Future Releases,15158,wpdb insert & update with null values,sorich87,Database,3.0.1,normal,normal,Future Release,enhancement,reopened,,2010-10-19T20:47:51Z,2014-03-04T21:03:35Z,"From: http://wordpress.org/support/topic/bug-fix-wpdb-insert-amp-update-with-null-values ""Some of you might have noticed but the wpdb's insert & update methods don't work well with null value (if you try to set null on a numeric field you'll end up with 0)"" ",westi Future Releases,12819,wpdb::prepare support for null,ryan,Database,,normal,normal,Future Release,enhancement,reopened,,2010-04-02T18:15:19Z,2013-05-13T16:39:35Z,"now we can not submit null values using wpdb::prepare. if we lets say have datetime field that can be null, and execute query prepared with $wpdb->prepare(""update table set date_time_field = %s"", null) - it sets value of the field to 0, which results in 0000-00-00 00:00:00 date. what is happening here - null is quoted and passed as a string, that should not be the case.",roxaz Future Releases,27085,Drop date and time options from General Settings,,Date/Time,3.8,normal,normal,Awaiting Review,enhancement,new,,2014-02-10T10:41:04Z,2014-02-10T20:42:34Z,"In the interest of simplifying the admin area, I'd like to suggest that these crufty settings get hidden unless a plugin enables them. I believe filters are in place for localizations to occur automatically, and I can't see any good reason (apart, perhaps, from when a theme is so poorly written that layout carnage occurs when they're improperly set).",Denis-de-Bernardy Future Releases,15921,date column filter in media list table,,Date/Time,3.1,normal,normal,Future Release,enhancement,new,,2010-12-20T18:25:49Z,2011-03-23T17:08:18Z,"please add a filter for date column in media list table, like posts list table. in wp-admin\includes\class-wp-media-list-table.php @ line:288 replace: {{{ > }}} with: {{{ > }}}",gonahkar Future Releases,16819,Accessibility: Internal Linking behaviour in Editor / TinyMCE,,Editor,3.1,normal,normal,Awaiting Review,enhancement,reopened,,2011-03-10T10:52:26Z,2012-10-22T15:58:33Z,"'''Issue''' The default behaviour of the new 'Internal Linking' feature is to auto-insert the title attribute as a duplicate of the link text. This is not best-practise and, contrary to some beliefs, doesn't actually aid accessibility. '''Solution''' The title field should be blank by default and only included if the uses enters data. '''Why?''' Title text is only useful when it is *different* to the actual link text AND provides additional information. Duplicating the link text in this fashion just adds fuzz to the page. ",stencil Future Releases,18979,Add $post_type parameter and a filter to meta_form(),,Editor,,normal,normal,Awaiting Review,enhancement,new,,2011-10-18T03:55:56Z,2012-04-01T12:29:54Z,"In the current version, meta_form(), the function which outputs Custom Fields form used in Edit Post pages, shows all meta keys you have used regardless of post type. Sometimes this gives users unwanted options. I'd like to suggest adding $post_type parameter to meta_form() to show only meta keys you have used in the same post type. In addition, it would be better if there were a filter for the meta keys.",takayukister Future Releases,25471,Allow wp_link_dialogue to open in contexts outside of the editor,,Editor,3.6.1,normal,normal,Future Release,enhancement,new,dev-feedback,2013-10-02T22:35:38Z,2014-02-02T20:53:05Z,"I use wp_link_dialogue within metaboxes to provide a nicer way for users to enter URL's. Its handy for say slideshows, or profiles that point to external sites. wp_link_dialogue works perfectly on pages where an editor instance exists, but on pages that don't have editor instances it fails due to wplink.js looking for the global wpActiveEditor var, which of course doesn't exist as there is no editor. Aside from the js error, invoking the dialogue on pages with no editor involves calling _WP_Editors::wp_link_dialog(); directly to output the required html which isn't ideal, or calling wp_editor and using css to hide it, which just seems lame. Ideally wp_link_dialogue should function independently of the editor. Approaches 1. Amend wplink.js to allow wpActiveEditor to be undefined and pass in a seperate value for textfield to the open method. Con is that wp_link_dialog() still has to be invoked with a call to _WP_Editors::wp_link_dialog() 2. Move wp_link_dialog into a seperate class, amend _WP_Editors to call this class and allow for a user defined textfield within wplink.js ",we_tell Future Releases,21258,Autosuggest for tags suggests tag already chosen,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2012-07-13T12:38:03Z,2013-08-08T17:10:52Z,"When entering tags in the meta box on a post (or page) edit screen in admin, the AJAX autosuggest will suggest tags that have already been added to the post (i.e. shown below the input field). Steps to reproduce: 1. Go to the post edit screen. 2. Add a tag (example: ""Apple"") to the current post. 3. Type ""App"" in the tag entry field and wait for autosuggest to come up. 4. ""Apple"" is listed in the suggestions dropdown. I've investigated this a little, and I don't think there's a really easy patch for this (mostly because of how suggest.js works). However, it would imho be very elegant to fix this. Perhaps autocomplete.js can be of service here (see issue #12399)?",roytanck Future Releases,14356,Better string for onbeforeunload event dialog,,Editor,,lowest,normal,Future Release,enhancement,new,,2010-07-19T18:53:15Z,2014-01-25T07:57:11Z,"The WP string for this now is: ''The changes you made will be lost if you navigate away from this page.'' The resulting dialog is: ''Are you sure you want to navigate away from this page? ''The changes you made will be lost if you navigate away from this page. ''Press OK to continue, or Cancel to stay on the current page. ''[OK] [Cancel] Which is repetitive and, it seems to me, confusing. I was thinking we could change our string to something not repetitive that complements better the default strings. E.g.: ''You have unsaved changes that will be lost! Patch available upon request.",demetris Future Releases,23339,DFW in HTML mode should have switch text direction button for RTL languages,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2013-01-31T12:22:55Z,2013-02-01T19:14:02Z,It is hard to edit HTML when the flow of the text is right to left. The normal HTML editor has this button when used in RTL environment.,mark-k Future Releases,20237,Default editor needs support for non-DFW fullscreen mode,,Editor,3.3.1,normal,minor,Awaiting Review,enhancement,new,close,2012-03-14T23:13:51Z,2012-12-27T22:54:22Z,"There's currently no way to change whether or not to use distraction-free-writing (DFW) mode for the default WYSIWYG editor. When inserting a new editor via the wp_editor() function, you can pass 'dfw' => false as one of the settings arguments; but in 'edit-form-advanced.php', the editor is hard-coded to use DFW. Many people prefer to make layout and styling adjustments in full-screen view, so it seems strange to have this preference hard-coded. Recommend adding an option to Settings > Writing to select between DFW and classic full-screen.",danblaker Future Releases,20186,Default font in the Visual Editor doesn't work well in all languages,,Editor,,normal,normal,Future Release,enhancement,new,reporter-feedback,2012-03-06T20:41:53Z,2014-02-03T10:34:59Z,As the title. This is somewhat unnoticed as most themes seem set the fonts there with editor-style.css. However we would need a default that works well for themes that don't set that.,azaozz Future Releases,16276,Default value for search field - (#11420 Easy within-site linking from new content),helen,Editor,3.1,normal,minor,Awaiting Review,enhancement,reopened,,2011-01-17T20:14:42Z,2013-09-20T20:38:15Z,"The within-site linking available in the current release candidate looks like a great idea, but I'm wondering if it might make sense to pre-popular the search box area with the selected text that is highlighted. Currently the search box (which is actually more of a filter box) is empty by default, but it seems to me that most of the time if you are linking to internal content, you will be linking to the material you are highlighting which will have a similar title.",jamie.richard Future Releases,26267,Do action before #minor-publishing-actions in publish meta-box,,Editor,,normal,normal,Awaiting Review,enhancement,new,dev-feedback,2013-11-26T15:37:26Z,2014-02-28T08:34:50Z,"I've stumble on a use case where we would have to create a custom preview button on the publish meta-box. There is currently no hook to add custom content at the end of the #minor-publishing-actions div. I propose adding a hook right before the division is closed. ",jonathanbardo Future Releases,18149,"Enhance ""Insert/edit link"" to predict user's intent",azaozz,Editor,3.1,normal,minor,Awaiting Review,enhancement,reopened,dev-feedback,2011-07-17T16:35:23Z,2013-08-26T17:00:02Z,"Steps to reproduce: 1. Create new post 2. Add some text and highlight the text 3. Click the new link button in the toolbar to bring up the Insert/edit link box 4. In the URL box, remove the default ""http://"" 5. Enter in a URL, without the ""http://"" at the beginning 6. Click ""Add Link"" 7. Click on the link button in the toolbar again and check the URL that you just created - it begins with /wp-admin for some reason Expected results: The URL without http:// will still bring you to the correct webpage",itsalltech1 Future Releases,18820,Formatting bar loading experience is subpar,azaozz,Editor,3.2.1,normal,normal,Future Release,enhancement,reopened,,2011-09-29T21:51:41Z,2011-11-18T07:23:24Z,"When you save a post, the way the formatting bar loads in (Visual and HTML both) is subpar. It pops in really late, and shoves your post content down. Screencast: http://s3.amazonaws.com/txfx/screencasts/Formatting-Toolbar.mov Let's make this better.",markjaquith Future Releases,24047,Line numbers in post editor text mode?,,Editor,3.5.1,normal,normal,Awaiting Review,enhancement,new,,2013-04-11T17:48:32Z,2013-04-11T22:23:28Z,"I would love to see line numbers in the post editor when in text mode. This and/or the cursor returning to the editing point when updating a post. It can be very annoying that the cursor always returns to the top of the editor when a manual update is initiated. Making a lot of small edits in various parts of a longish post can be really tedious.",dgwyer Future Releases,18245,Make the visual editor KSES filter/user capabilities aware,,Editor,,normal,normal,Future Release,enhancement,new,,2011-07-25T18:11:21Z,2011-08-23T20:16:45Z,"Currently the visual editor assumes ""unlimited html"" for all users. This can result in some surprises when a user doesn't have that capability. We can make a function that translates the KSES allowed tags and attributes into TinyMCE format and sets the editor accordingly.",azaozz Future Releases,26988,Need a Button to Cancel/Revert Page/Post Edits in Progress,,Editor,3.8,normal,normal,Future Release,enhancement,new,,2014-02-01T22:21:17Z,2014-02-02T23:06:08Z,"Currently, if you start editing a page or a post and change your mind, there is no way to easily revert those changes and it leads to a lot of confusion as as if you leave the page and come back, it will tell you that there is an auto save version. Sending to Trash makes no sense because it trashes your whole page. This is VERY confusing and user unfriendly, especially for new users of WP. There should be a ""revert"" or ""cancel"" button when editing that will get rid of current edits and take you back to the last, unedited version of the page/post.",tomdryan Future Releases,22412,Save posts via Ajax,,Editor,3.4.2,normal,normal,Awaiting Review,enhancement,new,,2012-11-11T12:18:09Z,2012-11-12T09:39:16Z,"When editing a post/page (as with any other type of document) one of the primary benefits is the undo/redo feature. However, as soon as you update your changes you lose access to undo your previous keystrokes before the update. If you could save posts via Ajax then you would still be able to undo/redo post edits seamlessly. Perhaps there could be a toggle in general settings for this option, and have it enabled by default?",dgwyer Future Releases,8368,Scheduling post time behavior and language refinements,garyc40,Editor,2.7,low,minor,Future Release,enhancement,assigned,,2008-11-26T17:56:19Z,2014-01-03T23:01:09Z,"On post editor, in publish module, at Publish Immediately-Edit. If click Edit, layer opens revealing the entry boxes for date and time of publication but still says Publish Immediately. Text should change to say ""Publish at:"" b/c it's weird if you change time and screen still says immediately until you click OK. Move OK button to the right side of module (submission buttons to the right as standard placement) with cancel to left (as with other places). If you start to type in an alternate time then hit cancel, it reverts to publish immediately, which makes sense. If you have already scheduled the publish time but you decide to change it and start typing a different alternate time, if you hit cancel it does not revert to your originally scheduled time, but to publish immediately. It should revert to your previously saved schedule time. Should have a separate link to revert to publish immediately. ",jane Future Releases,18943,Scroll back to previous editor position after post save/update,,Editor,3.2.1,normal,normal,Awaiting Review,enhancement,new,,2011-10-14T10:23:05Z,2012-09-21T14:38:47Z,"I work exclusively in html mode in the WordPress editor, but this probably applies to the visual mode too. When editing long(ish) posts it is really frustrating that the cursor position defaults to the beginning of the post after saving/updating. Constantly having to manually scroll back down to the previous cursor position after updating, soon gets really tedious. Focus always seems to be returned to the post title text box after saving/updating a post. It would be more intuitive to return focus to the main editor instead and automatically jump to the previous cursor position.",dgwyer Future Releases,23630,Simplify the DFW implementation,,Editor,,normal,normal,Future Release,enhancement,new,early,2013-02-26T16:44:57Z,2013-03-06T20:04:42Z,"I was sad to see that distraction free writing [http://make.wordpress.org/core/2013/01/08/wordpress-3-6-distraction-free-writing-improvements/#comment-7469 didn't get picked up] for 3.6. I decided to play around with a rough proof of concept to see how difficult it would be to use the existing TinyMCE instance for DFW. Benefits of handling it this way include: - It eliminates the need (and complexity) of juggling multiple instances of TinyMCE - We'll be able to remove a bunch of the old DFW code - It makes the transition between regular mode and DFW mode much more smooth - It can be as fully featured as we want it to be",lessbloat Future Releases,22154,The 'More' tag placeholder looks terrible,,Editor,,normal,minor,Awaiting Review,enhancement,new,,2012-10-10T20:12:36Z,2014-01-09T21:11:17Z,"Really, it does.",johnbillion Future Releases,18222,Visual clue after saving in fullscreen edit mode,,Editor,,normal,minor,Awaiting Review,enhancement,new,close,2011-07-22T19:45:00Z,2013-07-28T19:51:12Z,"You can save your current state while writing an article in fullscreen edit mode by pressing Ctrl+S. However, there is no visual indication after this that the article has been saved or while saving. This should be added.",mathbr Future Releases,21649,_WP_Editor class is currently marked as final,,Editor,,normal,normal,Awaiting Review,enhancement,new,,2012-08-21T13:13:08Z,2012-08-21T17:16:30Z,"Revision [19420] turned {{{ class _WP_Editors{} }}} from wp-includes/class-wp-editor.php into {{{ final class _WP_Editors{} }}} I'm aware that editor API is currently under large changes but it would be great if plugins could extend _WP_Editors class by removing ""final"" keyword.",Marko-M Future Releases,23323,"img quicktag is so inferior to add media, should be merged or removed",,Editor,3.5,normal,normal,Awaiting Review,enhancement,new,close,2013-01-30T09:55:50Z,2013-01-30T20:16:31Z,"Right now, in the text editor there are two ways to add an image, with the ""img"" button or the ""add media"" button. ""Add media"" contains all the functionality of ""img"" and adds much more, while ""img"" is ugly and feels like an historical artifact. IMO ""img"" should be deleted or be an alias to ""add media""",mark-k Future Releases,6619,permalink field misleading in page editor: it displays the erroneous values,,Editor,2.5,normal,normal,Future Release,enhancement,new,,2008-04-06T14:48:15Z,2009-11-20T20:32:33Z,"if you create a sub-page, the permalink field should display the proper permalink. currently, if you have: site.com/page/ and when you create: site.com/page/subpage/ the permalink shows: site.com/subpage/ until it gets saved the expected behavior would be for it to show the correct permalink. the same remark applies when you then change the permalink. if the parent is no longer page, but rather page-2, then the permalink should update accordingly.",Denis-de-Bernardy Future Releases,14561,wp-admin/edit.php tags of post are hard to compare,,Editor,,normal,normal,Future Release,enhancement,new,,2010-08-08T08:25:02Z,2013-08-11T15:52:09Z,"To get an overview about tags used between articles on the post listing in the admin is hard to achieve by the user because they appear not to be ordered. A solution could be to sort them alphabetically. That done, it's easier for the user to compare the usage of tag distribution accross the listing.",hakre Future Releases,17517,wpLink should show tags and categories as results too,,Editor,3.2,normal,normal,Awaiting Review,enhancement,new,,2011-05-19T19:38:36Z,2014-02-02T09:39:09Z,"sometimes you make a series of blogpostings about a topic with one unique tag. wpLink (the link assistant in wp 3.1) is very useful for finding ""old"" content, but when you want to link a tag or category you have to type in the url yourself or paste it Possible solution: Tabbed interface: Tab 1 for Posts/pages Tab 2 Tags/categories",hebbet Future Releases,27169,Add Mixcloud to the internal oembed whitelist,,Embeds,3.8.1,normal,normal,Awaiting Review,enhancement,new,,2014-02-20T16:48:31Z,2014-02-21T11:04:36Z,"I would like to add mixcloud.com to the internal oembed whitelist. wp-includes/class-oembed.php Line 60 {{{ '#https?://(www\.)?mixcloud\.com)/.*#i' => array( 'http://www.mixcloud.com/oembed' }}}",mattrawson Future Releases,21540,Add support for responsive video embeds,Viper007Bond,Embeds,,normal,normal,Awaiting Review,enhancement,assigned,,2012-08-10T17:15:50Z,2014-01-26T18:11:10Z,"By wrapping the html content of a video embed with a container (incl. class name), we could provide a simplified way for Theme authors to make video embeds truly responsive, through basic CSS. See #21480",obenland Future Releases,23442,Allow wp_remote_get args to be filtered for oEmbed calls,,Embeds,3.5,normal,normal,Future Release,enhancement,new,needs-docs,2013-02-10T21:48:10Z,2014-02-22T22:40:37Z,"Currently, the oEmbed code use wp_remote_get() to communicate with the oEmbedded service. However, there's no way to filter the arguments that get used - it simply uses the system wide defaults. Filtering the defaults (E.g. http_request_timeout) seems overkill when you know that you only want to change things for something specific like an oEmbed call that you know may take longer than 5 seconds (E.g. https://github.com/leewillis77/wp-github-oembed/blob/1.2/github-api.php#L35) The attached patch adds a new filter oembed_remote_get_args which allows plugins to override the wp_remote_get args for oembed calls (Including discovery)",leewillis77 Future Releases,24712,Get errors from wp_oembed_get,,Embeds,3.5.2,low,normal,Future Release,enhancement,new,,2013-07-08T19:23:44Z,2014-02-21T22:44:09Z,"Would it be possible to add error collection to the oEmbed class? It would be more useful to provide a helpful error when a remote oEmbed source is not available rather than a generic ""there was an issue"". As an example, if you try to use wp_oembed_get() on a YouTube video that is not allowing embedding, plugins (and/or WP itself) would have the option of returning a specific error: ""The requested video doesn't not allow for embedding"".",slushman Future Releases,14759,Improve the way oEmbed deals with caching,,Embeds,3.0.1,normal,normal,Future Release,enhancement,new,,2010-09-01T23:47:30Z,2014-03-13T23:32:01Z,"As Matt pointed to me today, caching oEmbed results to post meta is kinda lame. I originally did this because I didn't want the HTML in old posts changing on it's own, say for example if the oEmbed provider got compromised. However I think that's extremely unlikely since we only whitelist major websites that can be trusted. Perhaps instead we should use transients to cache this data. That way when embed HTML is updated, posts will eventually be updated too due to expiring caches. I'm thinking a cache time of a week would be good, but with some random +/- to make sure multiple caches don't all expire at once. A good example of this is Vimeo. Anyone who embedded a Vimeo embed in their post before a few weeks ago got ``-based embeds. However now Vimeo gives out `