Make WordPress Core

Updates from April, 2016 Toggle Comment Threads | Keyboard Shortcuts

  • Dominik Schilling (ocean90) 9:24 pm on April 14, 2016 Permalink
    Tags: ,   

    WordPress 4.6: What’s on your wish list? 

    In the spirit of the existing wish list posts, I’d like know what you have for WordPress 4.6.

    • What are you most interested in seeing in WordPress 4.6 — big, or small?
    • What are your or your users’ biggest pain points?
    • What do you see as the most important UX to be solved?
    • Which existing feature should get a “version 2”?

    Look forward to hearing from you in the comments! Let’s make.wordpress.org/great-again! 😉


    The WordPress 4.6 kick-off chat will be next Wednesday, April 20, 2016 20:00 UTC.

    • Wolly aka Paolo Valenti 9:33 pm on April 14, 2016 Permalink

      The old @scribu plugin posts2posts

      Better users management (groups, native multi role management etc.)

      • Matt van Andel 5:52 am on April 15, 2016 Permalink


        Post and user relationships are at the top of my list, too.

      • roscabgdn 7:18 am on April 15, 2016 Permalink

        +1 😀

      • Daniele Scasciafratte 9:52 am on April 15, 2016 Permalink

        I really love that plugin but i think that is a feature only for developers and require a big work to be integrated in wordpress.

      • 3pointross 1:52 pm on April 15, 2016 Permalink

        +1 😀

      • Alexander Celeste 6:42 pm on April 18, 2016 Permalink


      • goelji 5:15 am on April 20, 2016 Permalink

        Yes! Yes! Yes!

      • KARTHOST 3:31 pm on April 20, 2016 Permalink

        Yes +1 – This is a BIGGY. Given permissions to certain Users to manage certain Posts/Pages or custom posts. Used this in several CMS sites before and it can be a invaluable tool.

      • Cristian 1:24 am on April 24, 2016 Permalink

        Ability to create many-to-many relationships between posts of any type would be highly useful.

    • jteague 9:34 pm on April 14, 2016 Permalink

      User auth logging /auditing would be especially useful as an forensic and tracking tool.

    • b-rad 9:35 pm on April 14, 2016 Permalink


      If WordPress is going to be a serious CMS then it needs to have a way to manage groups of users. Content shouldn’t be limited to being owned by one person. I should be able to change the owner of a page or post to a group, and anyone with the sufficient permissions should be able to then edit that content. Blows my mind that this doesn’t exist yet.

      And a better media manager.

    • Brian Krogsgard 9:38 pm on April 14, 2016 Permalink

      As a user, it is a lot of work to replace a media item or attachment that is used many places throughout a website.

      I understand that server issues may make “updating” an attachment post (image, pdf, audio, etc) challenging, but some interface for updating instances of a piece of media throughout a site would be a really interesting feature to explore.

      • Jon Brown 2:27 am on April 15, 2016 Permalink

        Funny, I mentioned this need to Shredder at Pressnomics. Currently I use the Media Replace plugin, but it really should be in core IMHO.

        I’ve long wanted better digital asset management tools baked into core, but “replace” is such a basic need that should be easy.

      • Aaron Jorbin 3:28 am on April 15, 2016 Permalink

        This to me seems like it would be a quality feature project. It is approaching the problem with few assumptions rather then coming in with a solution ready to go.

        I don’t know how big the use case is for something like this. I know that I’ve never needed to do it, but I do know that there have been times when large media sites I’ve worked on have.

      • Patrick Daly 1:48 pm on April 18, 2016 Permalink

    • Patrick Steil 9:45 pm on April 14, 2016 Permalink

      1. Ability to create unlimited sidebars and associate them with any page/post/custom post type/category/tag, etc just like is done in this fantastic plugin:

      This is critical for building out more complex sites.

      2. Ability to delete themes – why is this missing? lol (yes I know there are plugins for this)

      3. Incorporate and improve functionality / control of user login/registration/lost password forms and email notifications like “Theme My Login” does.

      4. When you Deactivate or Activate plugins, list them on the notification. So that WHEN you are testing for plugin conflicts you will know what you just did and not have to keep track of it mentally.

      • Simon Prosser 9:54 pm on April 14, 2016 Permalink

        2. Ability to delete themes – When have you needed a plugin to delete a theme? If you click on the theme in the themes admin page there is a delete button in the bottom right corner.

        • Patrick Steil 11:06 am on April 15, 2016 Permalink

          Wow, never saw that button. I was always looking for it on the main Themes listing page. Would be more intuitive there, thanks.

    • Retrofitter 9:45 pm on April 14, 2016 Permalink

      Storing widgets in a custom post type instead of options #35669 and afterwards melting widgets and shortcodes together

    • Stephanie Leary 9:51 pm on April 14, 2016 Permalink

      I return from a long hiatus to bang the drum for #8592. We need a consensus on the desired UX for building draft/private/future page hierarchies before moving forward with any of the various patches.

      • Tammie 10:38 pm on April 14, 2016 Permalink


      • Kaspars 11:58 am on April 20, 2016 Permalink

        +1. We should also consider allowing “private” posts that are scheduled for publishing later, draft posts that should be private when published, etc.

    • Wolly aka Paolo Valenti 10:00 pm on April 14, 2016 Permalink

      Enhanced users permissions by post, taxonomy, or cpt. You could assign to a user or a groups of users only one post, or a category ora a page or a cpt.

    • Howdy_McGee 10:02 pm on April 14, 2016 Permalink

      I wish query.php would stop throw large amount of non-object errors into the debug log #29660 – conditionals should check for object or non-null return values.

    • Brian Krogsgard 10:04 pm on April 14, 2016 Permalink

      Also, two big ‘ole scary topics:

      ✨ Custom post statuses
      ✨ Native multi-author support

    • Brandon Hubbard 10:04 pm on April 14, 2016 Permalink

      #34292 – Support For DNS Prefetch

    • Torsten Landsiedel 10:05 pm on April 14, 2016 Permalink

      I would really like to solve some of these small annoyances:
      Problems with the output from wp_text_diff
      Normalization to NFC in all input fields.
      Unnecessary paragraphs with wpautop and shortcodes
      I18N needs some translator comments if we shouldn’t use HTML entities
      wptexturize is not working correctly.
      And I think we should re-think the decision about not removing special characters from filenames

    • vovkasolovev 10:07 pm on April 14, 2016 Permalink

      ANY official way to have custom REAL FTP folders in Uploads.

      — Today’s date-driven folder names have no human mean at all.
      — In UI it’s hard to manage all images in one continuous Media Libray list.
      — It’s a pain to make two different Posts each with like 30 images from one trip. You have to remember image yourself by thumbs.
      — Hardcoded WP limitations (safety reasons). We can’t create plugins to extend Media Uploads functionality.

      I will be happy if there will be just some field with %rules% in Media Settings about folders. Or field on every Media, like Permalink in Posts.

      (Super-duper UI solution for me looks like this https://www.joomunited.com/wordpress-products/wp-media-folder this plugin about taxonomy only).

      • Gabriel Mariani 1:45 pm on April 18, 2016 Permalink

        +1 WordPress NEEDS better media management. Any other CMS makes this simple, WordPress just dumps it into a bucket and calls it a day.

    • David Anderson 10:11 pm on April 14, 2016 Permalink

      As a plugin author, two big, ongoing annoyances are 1) that if WP crashes whilst unzipping a plugin install or update, it can leave it in an inconsistent state so that it doesn’t show in the ‘plugins’ page and can’t be removed without FTP or other advanced skills, and 2) that if a user tries to install an update using the installer, he gets an error message about a destination directory existing that he doesn’t understand. We see support requests for these all of the time.

      • Frank Corso 10:28 pm on April 14, 2016 Permalink

        In terms of UX, I think the error message for the destination directory existing could be improved to help new users understand the issue. I also get quite a few support tickets concerning this.

        • David Anderson 11:13 pm on April 15, 2016 Permalink

          I got another just now… user says “I am not a computer guy. I don’t want to be! Its Greek to me.”

    • Lee Hodson 10:18 pm on April 14, 2016 Permalink

      1) Sidebar Widget Style Dashboard Widgets

      GUI (Customizer) method to create and position dashboard buttons and widgets. Be nice for clients to be able to create their own buttons and for them to add/remove dashboard widgets the way we do with sidebars widgets. We could extend the sidebar widget functionality to dashboard widgets. This way plugin developers could write dashboard widgets for users to add/remove/configure at will.

      At the moment we can drag, disable and collapse dashboard widgets but regular non dev users can’t easily create widgets or customize them in a truly meaningful way.

      2) Configurable ‘maintenance mode’ page.

      Never quite understood why the default maintenance mode page is so boring, uneditable and why isn’t there an on/off switch for it in the dashboard? Maybe this can be changed in 4.6.

      3) Editable ‘Credits’ page

      A credits.php page where WordPress core developers, site admins, web developers, graphic artists and site maintainers – old and new – can be listed.

      We can use a text file on the server for this but it would be nice if credit.php existed as part of core as an editable page that won’t be entirely overwritten when version updates happen. Make it nofollow, noindex by default so as not to sour SEO.

      4) Simultaneous Multi User Editing of Pages

      This would work similar to Google Docs or Gobby (https://github.com/gobby/gobby/wiki). Many content creators collaborate using Google Docs then transfer the end result to WordPress. Wouldn’t it be nice to be able to collaborate right in the WordPress content editor?

      I can think of several more ideas but those 4 will do for now.

      • Aaron Jorbin 2:24 am on April 15, 2016 Permalink

        > 2) Configurable ‘maintenance mode’ page.

        You can use a drop in at WP_CONTENT_DIR . ‘/maintenance.php’ to have the maintenance page styled however you want

        > 3) Editable ‘Credits’ page

        wp-admin/credits.php already exists.

        • Lee Hodson 2:59 am on April 15, 2016 Permalink

          Is there an easy way for the maintenance flag to be set without code edits?

          I don’t advise editing core files like wp-admin/credits.php because they get overwritten during updates.

          • Aaron Jorbin 3:31 am on April 15, 2016 Permalink

            You can add a .maintaince file to the root with <?php $upgrading=time(); and you will be in maintance mode until your remove that file.

            • Lee Hodson 3:43 am on April 15, 2016 Permalink

              That’s not user friendly.

              We have a maintenance mode page built into WordPress and a maintenance mode flag that is installed in the domain root which tells WP to serve the maintenance page. As a developer I’m aware of this, though I will normally use a maintenance mode plugin to manage the maintenance mode experience more elegantly than WP does by default.

              We have a maintenance mode built into WP. Why not extend it to something non devs can make use of? Seems reasonable to me.

        • Ipstenu (Mika Epstein) 3:15 am on April 15, 2016 Permalink

          I think by ‘credits.php’ the OP means ‘Credits for MY site.’

          Though why not just make a page that says ‘credits’? Or do you mean like a humans.txt file?

          • Lee Hodson 3:38 am on April 15, 2016 Permalink

            That’s close to what I mean.

            Sites change over time. Site admins change. Sites even change hands. I think it would be nice to have a standard page, with a standardized organization, where those who are aware of the page can list themselves as being party to the site’s development, the site’s administration or or the site’s maintenance. A credits page that says who, what and when.

            The worry is always that someone will come along and accidentally or deliberately delete the developer, admin or maintainer credits added to any page that can be accessed too easily via the dashboard or that someone might delete the credit added within the footer of a website.

            I don’t like sticking a credit link in a site footer because I think it looks crass to do so, though it is the standard practice.

            I wrote a plugin to add credits in the source code of sites I work on but I prefer to not use it.

            Next best method is a document on the server that holds a signature I can point potential clients to.

            A credits page would make it harder for people to falsely claim work as their own within their portfolios and would make it easier for developers and admins to prove their portfolios to potential clients.

            • BinaryMoon 1:48 pm on April 15, 2016 Permalink

              humans.txt is good for this sort of thing. Not sure how commonly it’s used though – http://humanstxt.org/

            • Ipstenu (Mika Epstein) 3:32 pm on April 18, 2016 Permalink

              The problem here is that either you make it so people can edit it or … You don’t :/ A humans.txt is oft the best balance since only people with server access can edit it. And you can use a plugin to display on the front end.


              A credit link in the footer isn’t crass any more than my car having a logo 🙂

          • Lee Hodson 10:36 pm on April 15, 2016 Permalink

            Being honest, I had forgotten about humans.txt. Thanks for reminding me of it. Have sent the project an email to offer help expanding the humans.txt idea.

        • WPDevHQ 2:42 pm on April 15, 2016 Permalink

          “You can use a drop in at WP_CONTENT_DIR . ‘/maintenance.php’ to have the maintenance page styled however you want” – any chance of dropping this in a theme/plugin instead?

          • Pascal Birchler 3:41 pm on April 15, 2016 Permalink

            That wouldn’t really work. The maintenance page needs to be accessible even when a plugin/theme is being updated (and technically isn’t available then).

    • thomaswm 10:21 pm on April 14, 2016 Permalink

      Improvements on HTTPS. Let’s Encrypt has recently left beta and encryption is becoming more and more important. There’s a bunch of tickets with keyword “https” in Trac, which could be tackled in this release.

    • Mel Choyce 10:23 pm on April 14, 2016 Permalink

      Media widget: https://core.trac.wordpress.org/ticket/32417
      Image dropzones in the Customizer: https://core.trac.wordpress.org/ticket/35827
      Better “page as front” UI: https://core.trac.wordpress.org/ticket/16379

      Also, a way to keep primary menus set when you switch between themes.

      • Tammie 10:32 pm on April 14, 2016 Permalink

        +all the 1s

        • Mark Root-Wiley 10:40 pm on April 14, 2016 Permalink

          All super great. Media widget takes the cake though. +1 for that.

      • Bozz 11:08 pm on April 14, 2016 Permalink

        Digging the media widget proposal!

      • cavalierlife 1:27 am on April 15, 2016 Permalink

        +1 for media widget. Seriously!!

      • nathangraham 1:32 am on April 15, 2016 Permalink

        +1 for better “page as front” UI

      • Ross Wintle 9:59 am on April 15, 2016 Permalink

        As well as a media widget, I’d like a standard rich-text widget. I’m sure there are UI problems to solve with creating this, but I shouldn’t have to tell people they need to type HTML tags into the text widget.

      • Retrofitter 12:23 pm on April 15, 2016 Permalink

        +1 for better ’page as front’ UI – as is now it may very well be one of the confusing aspects I have ever encountered in WordPress.

      • j-falk 1:28 pm on April 15, 2016 Permalink

        +1 on all of these!

        As for:
        #16379: Better UI for doing “Page on Front”

        that seems to have some similarities with this ticket that @westonruter mentioned in the “Customizer Kickoff for 4.6” post quite recently in terms of giving the possibility to easily create a new page that you then point out to show as a menu item.

        #34923: Introduce basic content authorship in the Customizer

        As for:
        #32417: Add new core media widget

        I totally agree with your last comment @melchoyce on that ticket to rather add the “Add media” button to the existing text widget. I think that would give the best and most flexible user interface.

      • BinaryMoon 1:50 pm on April 15, 2016 Permalink

        yes, yes, and yes.

        Similar to the dropzone in the customizer – there’s a plugin called ‘Easy Featured Images’ that lets you edit thumbnails on the post listing page (https://wordpress.org/plugins/easy-featured-images/) which I also find really useful.

      • bluantinoo 2:24 pm on April 15, 2016 Permalink

        +1 for media Widget. With optional link please 🙂

      • Benny 3:13 pm on April 16, 2016 Permalink


      • Mayo Moriyama 12:29 pm on April 21, 2016 Permalink

        +1 for media widget.
        If we could use image field in our own widget like this plugin that would be supercool!

      • Mike Selander 4:30 pm on April 21, 2016 Permalink

        +1 on the media widget – really should be in core.

    • David A. Kennedy 10:26 pm on April 14, 2016 Permalink

      Themes should be able to opt-in to a static front page: https://core.trac.wordpress.org/ticket/19627

      The experience for setting up a static front page is daunting for new users, and this could make it easier, and more integrated with the theme experience. Somewhat related, Better “page as front” UI: https://core.trac.wordpress.org/ticket/16379

    • Valdemar.in 10:31 pm on April 14, 2016 Permalink

      I think WP core must have function which widgets (sidebar) appear on which pages (categories, posts,) of your site.

      • Caspar Hübinger 5:02 am on April 15, 2016 Permalink

        What’s wrong with using Jetpack or a plugin for that purpose?

      • bluantinoo 2:28 pm on April 15, 2016 Permalink

        There are several plugins to do that. Each of them works in a different way. It’s better having a freedom on how manage the widget display options, something that is often related to other plugins use (such as multilanguage plugins). A core function can’t be as flexible as it has to be.

    • dmccan 10:31 pm on April 14, 2016 Permalink

      • The front-end editor. This is languishing and it a really great idea.
      • Ability when viewing themes to create a child theme by clicking a button or link. Creating a child theme is best practice, so let’s make it easy. Maybe promote this to a feature and finish it (see greenshady’s comments in the issues thread):


      • Standardize method to edit / change the theme footer credits and push that. Lots of people only make a child theme because they need to change the credits. Let people change the footer text in the customizer. Lead the way with the 20xx themes.
      • Agree with @thomasm, Cleaning up any HTTPS issues.
      • “WordPress.org” is the author of the WordPress Importer plugin. It needs some help.


      Thanks for asking!

    • boogah 10:36 pm on April 14, 2016 Permalink

      Let’s put some training wheels on the plugin & theme editor! https://core.trac.wordpress.org/ticket/31779

      • Jon Brown 2:34 am on April 15, 2016 Permalink

        Personally feel the editor should be removed from core and made a install on demand plugin like WordPress Importer currently is. Then maybe the editor would get some love with syntax highlting, basic syntax highlighting and checking.

        • websupporter 7:40 am on April 15, 2016 Permalink


        • leemon 1:38 pm on April 15, 2016 Permalink


        • BinaryMoon 1:53 pm on April 15, 2016 Permalink

          definitely remove and pluginize – or even scrap it entirely and let someone else make a plugin for this if they want

        • Benny 2:45 pm on April 15, 2016 Permalink


        • boogah 3:19 pm on April 15, 2016 Permalink

          I’ve long been for the “remove and pluginize” approach when it comes to the plugin & theme editors. However, I also get Helen’s argument. The plugin & theme editors were how I started tinkering under the hood. It’d be a bummer if people new to WordPress lost that entry point by phasing the option out entirely.

          Training wheels sounded like a happy medium, but going with an importer approach (installing the plugin as needed) appeals to me even more.


        • Patrick Steil 12:35 pm on April 16, 2016 Permalink

          +1 for removing the plugin/theme editor and making it a plugin – or adding a new “Developer” role that includes all Admin capabilities + things functions like this.

        • Ricky Lee Whittemore 8:21 pm on April 16, 2016 Permalink

          + 1

        • Mike Selander 4:27 pm on April 21, 2016 Permalink

          +1 – pulling this out into a plugin is a fantastic idea.

      • Ross Wintle 9:58 am on April 15, 2016 Permalink

        Oh my goodness, anything on this topic is good. Ideally remove it, or make it a plugin that people can use to learn to edit code with. It shouldn’t be in core. I disable it on EVERY site I create, and where I forget to trouble almost always ensues.

      • Ricky Lee Whittemore 8:21 pm on April 16, 2016 Permalink

        + 1

    • Mark Root-Wiley 10:38 pm on April 14, 2016 Permalink

      Make “Available Widgets” sortable: https://core.trac.wordpress.org/ticket/36532

      Make the WordPress Editor Great Again: https://core.trac.wordpress.org/ticket/27159
      (Ditch out-dated buttons that encourage bad UX and a11y)

    • Todd Lahman 10:41 pm on April 14, 2016 Permalink

      It would be great to be able to use add_meta_box() to add a metabox to a Custom Post Type submenu.

    • Rodrigo Primo 10:42 pm on April 14, 2016 Permalink

      Improve algorithm to display a hierarchical list of post objects in the WP_Posts_List_Table: https://core.trac.wordpress.org/ticket/34982

      Minor SEO enhancement to wp-login.php?action=logout: https://core.trac.wordpress.org/ticket/34401

    • Frank Corso 10:43 pm on April 14, 2016 Permalink

      I think a UX concern to consider would be in the media library. If you click an image when in grid layout, it opens a modal with certain options. However, if you are in list layout and click on an image, it opens a new page with different options. Definitely confusing to a newer end user.

    • leemon 10:44 pm on April 14, 2016 Permalink

      https://core.trac.wordpress.org/ticket/13429: Updating Link URL on image within Admin with Gallery
      https://core.trac.wordpress.org/ticket/9777: Usability : add delete button to edit-tags.php
      https://core.trac.wordpress.org/ticket/20901: Taxonomy descriptions should be TinyMCE editable
      https://core.trac.wordpress.org/ticket/23421: Add sortable to taxonomy column
      https://core.trac.wordpress.org/ticket/14877: Ability to create exclusive custom taxonomies
      https://core.trac.wordpress.org/ticket/22938: Presentation of hierarchical taxonomy in Media modal should be checkboxes rather than comma-separated tag list
      https://core.trac.wordpress.org/ticket/21165: Make categories widget work with custom taxonomies
      https://core.trac.wordpress.org/ticket/5034: Impossible to have duplicate category slugs with different parents
      https://core.trac.wordpress.org/ticket/32378: Image Uploads automatically puts “Olympus Digital Camera” as caption
      https://core.trac.wordpress.org/ticket/32101: Ability to mark plugin as unmanaged
      https://core.trac.wordpress.org/ticket/22355: Template stack – Beyond parent/child theme relationships
      https://core.trac.wordpress.org/ticket/33407: Theme tags overhaul
      https://core.trac.wordpress.org/ticket/19627: Themes should be able to opt-in to a static front page
      https://core.trac.wordpress.org/ticket/22942: Remove Post by Email
      https://core.trac.wordpress.org/ticket/22363: Accents in attachment filenames should be sanitized
      https://core.trac.wordpress.org/ticket/12718: Better structure for admin menu

    • dallasnz 10:59 pm on April 14, 2016 Permalink

      I think security should be a priority and have some teams really focus on it… because there is still too many security issues occurring around WordPress…

      • two factor authentication in the core has been delayed for too long and should have been standard by now.
      • VaultPress exists, but there should also be some free automated recovery tools that come standard in the core, or free with Jetpack.
    • MyInternetScout 11:00 pm on April 14, 2016 Permalink

      Front-end editing of posts!
      Customizable Top admin bar!
      Easy Http:// to Https:// migration tool for images and other media.
      List more image details when viewing media library list – I want to easily find the excessively large image files.

      • MyInternetScout 11:03 pm on April 14, 2016 Permalink

        Also… Detail logging of user activity. Knowing who made changes to a post or child theme and when they were made is becoming more important.

      • nathangraham 1:37 am on April 15, 2016 Permalink

        Agreed on the admin bar. I’d also like some more granular options around display. Currently you can hide for individual users but it would be nice to be able to hide by role without adding a plugin.

      • nathangraham 1:59 am on April 15, 2016 Permalink

        1. REST API endpoints
        2. Fields API
        3. HTTPS options to “secure all urls” (force https everywhere) and “secure administration” (force https in admin)

        • Scott Kingsley Clark 8:53 pm on April 15, 2016 Permalink

          +1 Fields API 🙂

        • leemon 4:05 pm on April 16, 2016 Permalink

          +1 Fields API

        • Edir Pedro 12:12 am on April 17, 2016 Permalink

          Fields API is a good one, will reduce the number of frameworks each plugin and theme loads to build their options page. Everyone would use the same framework and only create custom fields when necessary. I’m thinking on ACF example that i use in my projects and is like a service to build all my custom plugins and themes, it has good fields built in and i can build another if necessary.

        • Saru Tole 10:13 am on April 22, 2016 Permalink

          +1 Fields API

    • Ronald Huereca 11:22 pm on April 14, 2016 Permalink

      Would really like to see my update notification emails patch committed for 4.6. People who have automatic updates turned on for plugins and themes who manage multiple sites are getting a TON of e-mails. A way to turn them off without disabling the global filter is needed.

      I submitted a patch yesterday and it is ready for testing and possibly new ownership.


    • Brad Touesnard 11:48 pm on April 14, 2016 Permalink

      Background image generation:

      …and eventually (probably in another release) a background processing API that plugins and themes can use.

    • Stephen Edgar 11:55 pm on April 14, 2016 Permalink

      ❤️ Export API https://core.trac.wordpress.org/ticket/22435

      Also taking a look at the list of “Popular Tickets”, maybe aiming to pick one, some, or many from this report for each cycle https://core.trac.wordpress.org/report/23, personally I’d love to see the #1 ticket in this report “Custom post status bugs in the admin” via #12706 worked on for 4.6.

    • Knut Sparhell 12:16 am on April 15, 2016 Permalink

      I do NOT think core should add new complex and ready-to-use features with an UI, like user groups, multi languages and the like. Concentrate on the APIs and make it easier for plugins to add such great features and user intefaces. Except for the editor, the main workplace for end users. Continue the good work!

      Also, try to get rid of some outdated legacy features and options.

      • Post metaboxes cleanup and reorganizing (all closed by default)
      • Remove sending trackbacks
      • Core framework for user groups
      • Core framework for multi-language
      • Implementations of Fields API
      • Continued Multisite cleanup and OOP
      • Easer way to display translated user roles
      • Remove Post-by-Email in favor of plugins
      • Tool to convert Links to Menus, in preparation for removing Links in a later release
      • Continued user facing options cleanup
      • Unmanaged/private plugins marker
      • Install multiple plugins
      • Implement REST API endpoints
      • Framework/API for 2-factor authentication
      • Better password hashing
      • Preview post on different emulated devices
      • Front-end editing of posts
      • New strategy for bumping PHP requirements
    • John James Jacoby 12:27 am on April 15, 2016 Permalink

      ❤️ Role groups (better UI for multiple roles, per user, per site)
      💙 Custom post status API (WP_Post_Status objects, with transition support)
      💛 User status API (right now it’s barely partially implemented for multisite only)
      💜 Query classes for sites and networks 💞

    • jamesb101 2:36 am on April 15, 2016 Permalink

      More stats outside in generic stats …
      The Jetpack unit slows down my site…
      For those of us that us links ?
      The 4.5 added bottom window is useless…make so we turn the bottom window off ….
      I STILL can’t drag and drop images from Safari….
      Only Firefox…
      I never use the image thing in the basic…
      I blog…
      Drag and drop is much faster and direct….
      On the states?
      Because of the size of my site?
      It takes 5 to 10 sec’s or mre to have the states boot up….Anything on this or is the host?
      Love WordPress it’s been interersting seeing how many Highend sites are now using the same thing this ole Dog is using…

      • jamesb101 2:38 am on April 15, 2016 Permalink

        Oh, and the Day Lioght Saving time is what my site’s date stay at even if it try to change in the way the forum answers advertised..It doesn’t work for the visit total’s when we go to EST….

    • Benoît Chantre 2:36 am on April 15, 2016 Permalink

      I think one of the users biggest pain points are shortcodes.

      My wish list :

      • 2 factor authentication
      • Shiny updates v2
      • Content blocks
      • #31050 : Better PDF Upload Management
      • #22363 : Accents in attachment filenames should be sanitized
      • #28449 : Prevent widows
      • #18375 : Post type templates
      • #22139 : Hooks for wp-login customization
      • #34625 : wp-login.php site title link points to wordpress.org
      • #30352 : Prevent an editor to move the front page / posts page to trash
      • #22198 : Realigning the Discussions Settings page
      • #27111 : Turning off global comments should include existing content
      • #32396 : Settings Reduction
      • #32101 : Ability to mark plugin as unmanaged
      • #13910 : Get Menu name with wp_nav_menu()
      • #14877 : Ability to create exclusive custom taxonomies
      • #26475 : Hierarchical meta box display issues when messing around with new terms
      • #18623 : Allow themes to pre-register multiple custom backgrounds
    • Jon Brown 2:42 am on April 15, 2016 Permalink

      #1 REST API (No I’m not joking or trolling, merge it now I don’t feel we need all endpoints for initial merge of an API)
      #2 Fields API

    • Ipstenu (Mika Epstein) 3:16 am on April 15, 2016 Permalink

    • conservativeread 3:43 am on April 15, 2016 Permalink

      MAIN Goal Should Be Performance speed and Enough with New Functionality. Please slim down, Clean up all old and Unnecessary code, Bloatware, etc. thank you.

      • Aleksandar Mitić 11:25 am on April 19, 2016 Permalink

        +1 Totally agreed! Anything beside simple website is becoming to heavy to maintain on WordPress today 🙁

    • vhmark 4:14 am on April 15, 2016 Permalink

      • Multisite cron – one CLI call, efficient, fast, limit # processed per run, run on each web server in the stack
      • Make all email strings customizable via a language UI
      • Proxy non-https media to avoid mixed-content errors on https sites
      • A full-on permissions scheme: users have roles, roles have permissions in contexts, sites are broken up into contexts.
      • Ajaxify all the things! Front end UI Ajaxes to the server-side.
    • Sisir 5:11 am on April 15, 2016 Permalink

      Here are some ideas I think would be good inclusion to core. I don’t know if there are plugins for them but this feature will be useful to people who uses private plugins/themes.

      1. Install theme/plugin from url.
      2. Update theme/plugin from url.

      • j-falk 1:46 pm on April 15, 2016 Permalink

        +1 on the install url.

        I think this could be very useful for a couple of reasons:
        1) not only useful for private plugins/themes but also .org directory hosted plugins/themes where you today if you find a plugin/theme on the external .org directory either need to download the zip and upload the zip to your WordPress or search and find the same plugin/theme using the built-in directory in the wp-admin. Being able to copy a url from the external .org plugin/theme directory and install it in wp-admin using that would probably make it a bit easier.

        2) It could be a way to get around if you are not able to upload a theme/plugin due to a too low upload limit on you server.

    • Webliberty 5:21 am on April 15, 2016 Permalink

      ⭐ Please remove inline CSS styles and JS scripts Emoji in a separate file that the source code of the page was clean and beautiful.

    • cybmeta 5:45 am on April 15, 2016 Permalink

      I think these tickets regarding `wp_mail()` need some attention: #22837 and #21659.

    • Matt van Andel 5:51 am on April 15, 2016 Permalink

      1. Shortcake UI
      2. Restoring custom bulk actions (this is on me)
      3. REST API
      4. Posts-2-Posts functionality in core
      5. PHP 5.3 as a requirement
      6. A notifications settings page that allows admins to select the types of emails they want to get. Right now WordPress generates a massive amount of garbage admin notifications that can only be disabled through plugins or code changes. This needs to be a settings page.
      7. Fix for the invalid proxy headers bug (#34053)

      • Benny 2:54 pm on April 15, 2016 Permalink

        1. Shortcake UI: +100 (our end users will love it and our support too)
        5. PHP 5.3 req: +10

      • Edir Pedro 12:25 am on April 17, 2016 Permalink

        Shortcode UI is a good feature, but i avoid using shortcodes on my projects because of the WYSIWYG editor, it does not work very well to return paragraphs when a shortcode is present in the text. Shortcodes are not a good way to build custom elements inside the text editor, i prefer to use the ACF solution Flexible Content that is like a Content Builder.

    • David Shanske 5:54 am on April 15, 2016 Permalink

      I have long been interested in dealing with the fact that pingbacks in WordPress as an experience are unacceptable. The display of pingbacks has always been sub-optimal, and as a result, there was less about them to encourage addressing the abuse problems.

      There is a lot that can be done in the areas of display to make them worth displaying, and improving their security to a reasonable extent is easily possible. There is also a successor to pingback that can be integrated called Webmention.

      • Aaron Jorbin 4:23 pm on April 15, 2016 Permalink

        This feels like it could be a good Feature Project to me. Would love to see it mentioned at the next feature project chat and a group put together to look into it.

    • Compute 7:00 am on April 15, 2016 Permalink

      • Shortcode UI
      • Posts to posts
      • Updated Rewrites

      And some rewrites in terms of code:

      • David Shanske 6:26 pm on April 16, 2016 Permalink

        I hope to make it a feature project. It might span a few versions of WordPress, but it could add pieces each time.

    • andreasnrb 7:33 am on April 15, 2016 Permalink

      • Custom comment types
      • Up PHP min version. Its time says everyone.
    • Jonathandejong 7:34 am on April 15, 2016 Permalink

      I think it’s high time to be able to pass an array to the role parameter in WP_User_Query.. merging multiple queries just to fetch two/three different user roles just isn’t acceptable anymore. This issue has been around since 2012 at least.

    • Felix Arntz 7:42 am on April 15, 2016 Permalink

      A Network Settings API so that we don’t need to hack our network plugins into it (see #15691). The API should work similar to the regular one.

    • Nicolas Juen 7:56 am on April 15, 2016 Permalink

      Hook on locate template to handle multiple levels of themes
      Composer compatibility
      Primitive autoloading for performances
      Merge of the fields API
      All code on WordPress CS

    • Stagger Lee 8:19 am on April 15, 2016 Permalink

      • Shortcake (Shortcode UI) in core (to speed up developement, right now it is almost non existent).
      • Real avatar management for Users (bbPress & buddyPress can use it too)
      • Force all plugin developers to make option to remove their buttons from Post edit screen, and to make it manageable for Roles. If not option, force them to write a filter in documentation.
      • Ad Adminimize plugin in core. Maybe first as featured plugin.
      • Merge your Dashicons with Fontawesome. We can use it on frontend too. Plugins can use it.
      • Option / filter to limit max number of images in (one) WordPress gallery.
      • More work on WP Super Cache and include it in core. Now when Google value it much it is the right time. W3 Total Cache should not be better than this plugin.
      • Plugin organizer plugin as featured plugin. And later when speeded up and code cleaned added to the core (actually it is my number one wish) No matter if you have news portal or About Us, Contact website this plugin is used.
    • Netzialist 8:24 am on April 15, 2016 Permalink

      HTML-Tags in Shortcode UI. Please.
      Shortcode UI is awesome, but of not much practical use as people can’t add any HTML in textareas for example. I tried to implement some shortcodes for content elements (boxes, Lists etc.) in a project, where the client asked for help to structure long blog posts. But no HTML was a real showstopper.

      I think content elements are important. There is simply no proper way to do it right now.
      People have to go with a page-builder monster or stick to something very, very dull (headline, paragraph and blockquote).

    • Asgaros 8:24 am on April 15, 2016 Permalink

      Some captcha-/antispam-api would be nice which could be used by plugin authors to provide a safe way to interact with guests (to avoid spam) who dont have an account on the website.

      It would also be nice to add some protection to the account-registration form by default because without any captcha-third-party-plugin a lot of fake-accounts are getting registered by bots.

      • Pascal Birchler 10:46 am on April 15, 2016 Permalink

        There’s a reason Akismet comes bundled with a fresh install of WordPress by default. From my experience I know that the field of spam changes quite frequently. A plugin or external service can react to these changes faster than core.

        Regarding users: What about needing to approve new registrations and marking users as spam? Much like comments. Would be interesting to explore that.

    • Chantal Coolsma 8:34 am on April 15, 2016 Permalink

      New modern admin UI

    • kirkward 9:25 am on April 15, 2016 Permalink

      I would like to see “Save Working Copy” added to the “Publish” widget on the “Edit Post/Page” page. I frequently edit or modify existing pages and would like the ability to save my work and continue later without having to publish or abandon. It would be in addition to “Save Draft” and would only appear as an option after the post or page was published, as “Save Draft” would achieve the same function prior to first publication. Think of it as a way to change or update landing pages and such without having to create a totally new page with a new permalink.

    • Paal Joachim Romdahl 9:28 am on April 15, 2016 Permalink

      Drag & drop of posts, pages, custom posts and categories (+ a tree branch view) – https://core.trac.wordpress.org/ticket/2702
      Shiny Updates – get Automatic updates in place.
      An update of the top admin toolbar – https://core.trac.wordpress.org/ticket/32678

      Better media handling. Folders, media replace, autorenaming files that have weird characters in them, and more….

      Visual shortcodes.

      By default having the TinyMCE kitchen sink active.

      Adding a CSS editor and additional edits into the customizer.

      A better content creation experience.

      Better role/users customizations. So we can make it easier creating a client experience where we decide which areas to hide and which to leave visible.

      • Pascal Birchler 10:37 am on April 15, 2016 Permalink

        > By default having the TinyMCE kitchen sink active.

        > Adding a CSS editor and additional edits into the customizer.

        > Better role/users customizations. So we can make it easier creating a client experience where we decide which areas to hide and which to leave visible.

        I do not think the majority of users need a CSS editor for example. Most don’t even know what CSS is.

      • Mark Root-Wiley 4:00 pm on April 15, 2016 Permalink

        Preferred solution to default kitchen sink is single row of useful buttons and no kitchen sink! https://core.trac.wordpress.org/ticket/27159

    • Daniele Scasciafratte 11:03 am on April 15, 2016 Permalink

    • Pascal Casier 11:58 am on April 15, 2016 Permalink

      I just hope that all of these will go into a nice system where we all can upvote or propose rankings so you get to a top 10, 20 or 100 ?

      • Pascal Birchler 3:28 pm on April 15, 2016 Permalink

        I don’t think that’s planned, nor would it be very useful. At least it has never been done before for WordPress releases.

        A the no. 1 suggestion in some subjective ranking does not necessarily mean it must be implemented and everyone around the globe will use it.

    • tomdxw 12:49 pm on April 15, 2016 Permalink

      Let’s increase the security of passwords by using bcrypt: https://core.trac.wordpress.org/ticket/21022

    • influencebydesign 1:20 pm on April 15, 2016 Permalink

      Make template hierarchy filterable – This request has been around, planned for releases and then remove at the last minute for so long it’s embarrassing.


    • amijangos 1:22 pm on April 15, 2016 Permalink

      As a user these are my annoyances / wishlist:

      • Add tags to images for easy search or other uses
      • Easier way to add commonly used html constructs, I have a document and do copy/paste
      • Better code editor in WP
    • Stephen Harris 2:04 pm on April 15, 2016 Permalink

      Now that we have term meta data, can we expose that data in the export? #34062 There’s also a corresponding patch for @rmccue‘s improved importer: https://github.com/humanmade/WordPress-Importer/pull/18 waiting on that ticket.

    • bluantinoo 2:30 pm on April 15, 2016 Permalink

      SMTP setup without using external plugins.

      • Pascal Birchler 3:39 pm on April 15, 2016 Permalink

        What do you mean by SMTP setup? Setting up an email server is not part of WordPress’ job.

      • Benny 3:19 pm on April 16, 2016 Permalink


      • guillaumez 9:45 am on April 18, 2016 Permalink

        I agree. Sending wordpress emails through external smtp services would be great.

    • lauragusti 2:59 pm on April 15, 2016 Permalink

      I would like a better solution to add meta-boxes into Menu item management.

    • Rami Yushuvaev 3:39 pm on April 15, 2016 Permalink

      https://core.trac.wordpress.org/ticket/34521 – Unifying permission error messages
      https://core.trac.wordpress.org/ticket/35736 – Replace ‘Lost Password’ phrase with ‘Reset Password’
      https://core.trac.wordpress.org/ticket/35774 – WordPress admin title structure
      https://core.trac.wordpress.org/attachment/ticket/31237/31237.3.patch – improve get_the_archive_title() with new filter

    • Abel Cabans 3:42 pm on April 15, 2016 Permalink

      +1 Merge of Fields API

    • Robert Dall 3:58 pm on April 15, 2016 Permalink

      Here is a think that bugs me. Why when we put in a email address into the post editor as a link is it already not using antispambot. https://codex.wordpress.org/Function_Reference/antispambot

      Yes you can easily roll your own short code to protect those email address from the spammers. But in my thoughts this would be WIN WIN LOSE.

      • WIN for the user of WordPress – No confusing short code required
      • WIN for the the person with the address – Reduce the amount of spam
      • LOSE for the spammers!

      I see this a lot in WordPress install I work on because the user just doesn’t know how to make it linkable but hidden from the spammers.

      I am 100 percent behind Brian Krogsgard suggestion of the media https://make.wordpress.org/core/2016/04/14/wordpress-4-6-whats-on-your-wish-list/#comment-29688

    • mrpritchett 4:13 pm on April 15, 2016 Permalink

      I’d like to see a css prefix added to all admin classes. With the customizer and front end editors starting to proliferate, the amount of bleed on elements like .button and textarea causes issues.

    • Ulrich 4:55 pm on April 15, 2016 Permalink

      https://core.trac.wordpress.org/ticket/30797 New function for parent theme stylesheet uri
      https://core.trac.wordpress.org/ticket/20578 Allow users to delete a plugin without uninstalling
      https://core.trac.wordpress.org/ticket/32802 Update Masonry (v3.3.2) & imagesLoaded (v3.2.0) package

    • andreasnrb 5:21 pm on April 15, 2016 Permalink

      Id like a hook in the template loader method instead of an include. This to make possible to override the default wp theme engine better. https://core.trac.wordpress.org/ticket/33472#comment:7

    • voldemortensen 5:59 pm on April 15, 2016 Permalink

    • Andy Mercer 6:04 pm on April 15, 2016 Permalink

      Virtual folders for media in the grid views, based on taxonomies.

    • Thorsten Frommen 9:39 pm on April 15, 2016 Permalink

      Split up files that either hold multiple classes, or both classes and other (global) stuff. This would mean a great deal to https://core.trac.wordpress.org/ticket/36335.

    • Robert Reiser 5:47 am on April 16, 2016 Permalink

      I would like to see the ability to add custom fields to taxonomies in the same way we can already add custom fields to posts and pages:

      Screen Options -> Custom Fields

    • jschlick 10:01 am on April 16, 2016 Permalink

      Optimization for energy efficiency, thinking about the carbon footprint of core.

    • Frank Bueltge 12:45 pm on April 16, 2016 Permalink

      I miss really the Settings API in the multisite environment. As developer we create plugins for single and multisite with different settings methods, class etc. Lot of effort and not cleat for validating, secure code. It is time to clean this issue in WP.

      I like also the autoloader poposel – https://core.trac.wordpress.org/ticket/36335

      Yes, no visible features, but really helpful for the end-users and the developers, there also maintain, create the popularity of WordPress.

      Even now thanks for your job @ocean90

    • Spacedmonkey 1:52 pm on April 16, 2016 Permalink

    • Ricky Lee Whittemore 8:24 pm on April 16, 2016 Permalink

      Allow to register custom radio button taxonomy similar to Post Format.


    • Edir Pedro 12:52 am on April 17, 2016 Permalink

      • Interface UI Kit on admin, like bootstrap, with tabs, fields, modal, etc, well documented.
      • Fields API
      • Rest API
      • Ease migration, do not store domain on database, like settings and post images.
      • Generate image sizes on the fly to reduce the number of files never used on server.
      • When upload, sanitize filename to replace accents and prevent server errors when migrate to another server with different locale setup, servers at different countries.
      • Multi-language native support, Polylang plugin is a good example.
      • Native debug tool like Symphony.
      • Native rules and group editor to manage users.
    • tpnotes 3:35 pm on April 17, 2016 Permalink

      I would be happy to see the following features in core:

      • Domain mapping feature for Multisite
      • Nofollow option for inline link editing with the visual editor
      • Option for setting a whole site (or a single site from a multisite installation) to private/non-public/registered users only. Similar to the feature for posts and pages.
    • Ahmad Awais 6:11 am on April 18, 2016 Permalink

      #1 REST API
      #2 Customize — Add new Post | Metadata
      #3 Fields API
      #4 Custom Comment Templates

    • Juniper Webcraft 8:07 am on April 18, 2016 Permalink

      Add ability to limit authors to attaching media that they themselves have uploaded, in much the same way that they’re limited to editing posts that they’ve created (are flagged as Author of), rather than giving all authors access to the entire media library.

    • Compute 9:38 am on April 18, 2016 Permalink

      Would love to see some focus on this: #15955

    • Rami Yushuvaev 10:39 am on April 18, 2016 Permalink

    • Gabriel Mariani 1:50 pm on April 18, 2016 Permalink

      https://core.trac.wordpress.org/ticket/24579 – Drag-Drop Plugins/Themes / multiple upload
      https://core.trac.wordpress.org/ticket/21374 – Permalinks for other post types

    • csigncsign 6:32 pm on April 18, 2016 Permalink

      fixing finally the annoying handling of the “blog” slug/permalinks on multisite installations.
      The main blog of a multisite installation always adds another “blog” slug in the permalinks, to avoid conflicts with sub-blogs, yes, but there are lots of troubles with breadcrumbs etc.
      This should be solved in another intelligent way 🙂

    • Ryan Boren 8:28 pm on April 18, 2016 Permalink

    • Morten Rand-Hendriksen 9:33 pm on April 18, 2016 Permalink

      Post (Type) Templates along the lines of Page Templates:


    • cindyleonard 9:44 pm on April 18, 2016 Permalink

      I would love to see “Menus” moved from under Appearance and just below Pages. I also recommend to my clients that they should have very few Administrators and make the content-only folks Editors. The only problem with that is they aren’t able to add or alter the menus if they need to. I’m okay with people editing menus, but hate the idea of giving them access to everything else in the Administrator view to facilitate that.

    • jleung1994 10:26 pm on April 18, 2016 Permalink

      • custom post types
      • custom fields
      • bulk image edit, image categories, auto create alt from image name without dash and underscore
      • rename and replace images
      • set image thumbnail sizes
      • force https://, redirect
      • WordPress version and plugin update control
      • drag and drop page and post order
    • Peter Hardy-vanDoorn 11:37 am on April 19, 2016 Permalink

      Admin post navigation please, along the lines of https://wordpress.org/plugins/post-navigator/

    • SvetAndroida.cz 12:42 pm on April 19, 2016 Permalink

      I’d like Neve version two versions.
      1) to natovně users can sign in using a social network (one click) on anyone with the already tired of creating new accounts, but on one of the social networks is almost everyone
      2) such as WordPress can send emails to prove send PushNotifikace (https://developers.google.com/drive/v3/web/push)

      Is any of this real?

    • Kokomo 1:34 pm on April 19, 2016 Permalink

      Not sure if this has been mentioned before, but would be nice to have a better way to copy the url of media items. Maybe a “copy to clipboard” next to the url? Right now it’s a hassle to select the whole URL and copy it manually.

    • tinnyfusion 1:59 pm on April 19, 2016 Permalink

      Two things of the top of my head, one little and one huge. The first, a better way to copy the URL of media in Attachment Details as it’s frustrating on desktop and near impossible on mobile.. Secondly, a real Notification Center!

    • ahmadabuaysheh 6:31 pm on April 19, 2016 Permalink

      what an awesome thing is to be able to create a systematic flow for articles department, which means that you could add a writer, editor then an media expert to publish in time. so there is a like a pipeline of production inside the WordPress itself.
      To be more clear on that, imagine the writer has wrote his article then when publishing it, the editor must see first and correct what it needs. So, when the editor accepts it, it is now for the media expert to publish the article by controlling the date of publishing.
      This would make any journal, magazine, news blogs to implement this system into WordPress.
      I know that because I was asked to do so but I didn’t really been dependent on the WordPress core to do it. I just build an Email workflow to do it and just one uploads the article and publish it.
      I know that the current user roles can be used to that somehow, but how is it possible when there a more clear way, maybe also to specify the roles and rename them maybe.

    • Anthony Hortin 6:38 am on April 20, 2016 Permalink

      • Redesigned/improved Image Library along with the ability to create folders.
      • Fix the Image Library Grid/List UI so there’s not multiple screens that perform the exact same function. The whole Gird/List UI has been a mess since the Grid layout was introduced.
      • Customizer redesign including the ability to default to a wider 2 column layout so you’re not scrolling for pages and pages when there’s heaps of options.
      • Better consistency with the Customizer UI. Sometimes you click a button and more fields appear below it. Other times you click a button and a panel slides in and out of view. Sometimes when you click a button, the panel slides to the left, other times it slides to the right. Users shouldn’t have to wonder what’s going to happen when you click a button.
      • Better notification experience. Too many plugins/themes are cluttering up the WordPress Dashboard with multiple and constant notifications.
      • Redesign of the Show Password/Hide/Show/Cancel/Generate Password buttons on the User Profile screens. The UI is confusing and there are too many unnecessary buttons.
      • The ability to be able to upload AND overwrite existing plugins. So Annoying not being able to upload newer plugin versions through the dashboard and simply overwrite the old version
      • HoaSi 9:38 am on April 21, 2016 Permalink

        Yes to all. Better image management, with folders for images and galleries would be particularly useful.

      • colomet 9:32 am on April 23, 2016 Permalink


    • superbotics 9:35 am on April 20, 2016 Permalink

      wp list table would need a large work around. probably convert it to ajax based. meaning for search, pagination, sorting, etc. that will save lot of time just keeping reloading every thing

    • Paal Joachim Romdahl 9:05 pm on April 20, 2016 Permalink

      I came across this age old widgets per page/post trac ticket:

      It would be nice to create some discussion about this area again.

    • Arachnoidea 7:23 am on April 21, 2016 Permalink

      It would be great if you could improve the way we can change the “Published on:” date for posts (in the post editor). Now this part consists of 5 different form fields, and its date format (Month, Day, Year) is not a standard one in all countries.
      Why not using a jQuery UI -like date/time picker here?
      Also it would be visually more appealing to see it in a calendar-like view when my scheduled post is going to go public…

    • sumeetgohel 11:18 am on April 21, 2016 Permalink

      Hello WP Devs,
      It would be very nice if WP has in-built options for
      1) Facebook and other Social networking sites URL text inputs in administration side.
      2) Add link in single post for ‘Duplicate’ in supported post types in post/custom-post-type listing for make duplicate post.

    • Ben Lobaugh (blobaugh) 8:36 pm on April 21, 2016 Permalink

      Autoloader in core!!!

      See proposal https://core.trac.wordpress.org/ticket/36335

    • brunowebdesign 9:56 pm on April 21, 2016 Permalink

      4.6 should focus on security. I can’t tell you how much xmlrpc and wp-login get abused by botnets, and its easy to DoS a server because of all the mysql connections opened. Why not touch a flat flle with a timestamp, and if the next wp-login comes in under 3 minutes (user configurable) it spits out a 1 line text error.

      This would stop botnets from brute forcing and overloading servers all over the place. None of this should be taken care of by 3rd party plugins or server configurations. WordPress default install should have these types of protections in it.

      I know someone is going to say, just use .htaccess or some other mechanism to block wp-login and xmlrpc. But without this external configuration, why doesn’t wordpress default core try to do “something” to stop answering repeated requests? This is such an easy problem to fix and one of the reason that so many wordpress installs in the wild get hacked or ddosed

    • davidperez 8:47 am on April 22, 2016 Permalink

      Please Taxonomy images. Add Image featured in taxonomy and tags.

    • colomet 9:32 am on April 23, 2016 Permalink


    • jbarrett888 10:00 pm on April 23, 2016 Permalink

      It would be great to add the following characters to the WordPress “special characters” box. These reflect a diacritical mark (macron) used on some vowels in Hawaiian language:

      Ā ā
      Ē ē
      Ī ī
      Ō ō
      Ū ū

      • Samuel Sidler 7:05 pm on May 3, 2016 Permalink

        Hello! I’d love to chat with you about bringing the Hawaiian translation of WordPress up-to-date and at 100%. Can you ping me on Slack (I’m “sam”)?

    • jynxy 9:24 am on April 25, 2016 Permalink

      My wishlist,

      • Make it easier to transfer wordpress to another url.
      • Remove the security tokens within the database no need for them.
      • stop wordpress modifying html code, really annoying.
      • better security, captcha, hide invalid user/password, .htaccess to prevent php files in directories such as uploads.
      • disable comments by default on every page and post, which better control on enabling. i.e posts only.
      • able to mass delete menu items without having to open each one you wish to delete.
      • inbuilt gallery
      • Notification system for all wordpress and 3rd party, stop cluttering the dash.
      • merge core js/css files.
    • medieskolen 5:30 am on April 26, 2016 Permalink

      I just found this plugin : https://wordpress.org/plugins/publish-on-screen/ …. and it just makes my everyday-WP-life sp much easier.

      The developer description is clear: A WordPress plugin that alters the position and behavior of the Publish button, making it stick to the bottom of the page when scrolling down the page (RTL Support).

      … I now use this plugin on ALL my sites

      And think that so simple and usefull that it should be in WP

      //Lars, Copenhagen

    • medieskolen 5:39 am on April 26, 2016 Permalink

      Make it possible to have two different languages …. frontend language AND backend language

      I’m making WP-sites in Denmark (mostly in danish)

      I like the Admin to be in english – because I’m used to it and because most help is to be found is in english and not in danish.

      The problem is that if I set the Site Language to English – the “frontend code” () will tell Google that the site language is English and not danish.

      Therefore I would like to suggest two language-settings instead of just one …. something like this:

      Site language
      Admin language (or Backend language)

      I have found a plugin that might do the trick but I think this should be added to the “standard settings”
      ( https://wordpress.org/plugins/english-wp-admin/ )

      I hope you can see my point

      Best regards from Lars, Copenhagen

    • Rask 11:06 pm on April 26, 2016 Permalink

      `alloptions` cache needs some rearranging. https://core.trac.wordpress.org/ticket/31245

    • Paal Joachim Romdahl 9:56 pm on April 29, 2016 Permalink

  • Eric Binnion 3:20 pm on January 20, 2016 Permalink
    Tags: ,   

    Week in Core, Jan. 12-19 2016 

    Welcome back to the latest issue of Week in Core, covering changes from January 12th – January 19th, 2016, changesets [36269][36350]. Here are the highlights:

    • 81 commits
    • 38 contributors with props
    • 127 tickets created
    • 19 tickets reopened
    • 100 tickets closed

    Ticket numbers based on trac timeline for the period above.

    Note: If you want to help write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.

    Code Updates


    • After [36333] correctly use esc_attr() instead of esc_attr__(). [36334] #35313
    • Remove title attributes from the Posts list table. [36333] #35313, Media Library list table. [36331] #35136 & the Comments screen. [36298] #35304
    • Improve focus handling on the Taxonomies Quick Edit. Moves focus back to a proper place when saving or closing the form. [36304] #35460
    • Improve focus handling and audible feedback on the Posts Quick-Bulk Edit. Avoids a focus loss when saving or closing the form moving focus back to a proper place. Uses wp.a11y.speak() to dispatch successful edits and error messages to screen readers. [36303] #34756


    • CSS: Reference the original location of the CSS rule being overridden. [36342] #35229
    • CSS: Stop using wp-admin.min.css and instead queue the individual stylesheets up through load-styles.php. We still generate the wp-admin.* files for compabitility purposes, however they only include the @import() lines. [36341] #35229
    • List Tables: Use the $GLOBALS array when unsetting the global post and comment in WP_Comments_List_Table::single_row(). [36339] #35506
    • Allow searching for 0 throughout the admin. [36302] #31025
    • Add a “Drag boxes here” message to empty dashboard meta boxes so it’s clear to users that it’s possible to drag meta boxes into empty spaces. [36295] #26399
    • Support searching for '0' in WP_Query. [36278] #31025

    Build/Test Tools

    • Build/Test Tools: Move PHP factory classes into their own files. [36347] #35492\
    • Build Tools: Append the timestamp to $wp_version instead of only the current date. [36315] #28722


    • After [36280] remove the unit tests which are no longer supported for 4.4. This also removes the is_feed() code to avoid confusion – only pages & embeds will be redirected. [36281] #35344
    • Restore the is_404() check in wp_old_slug_redirect() which was removed in [34659]. This reverts part of [34659] due to excessive canonical problems it’s caused in 4.4.x. [36280] #35344, #21602


    • Ignore false values of ‘search’ in WP_Comment_Query. [36345] #35513
    • Remove unused $default_comments_page variable in get_comment_link(). [36343] #34073, #35511
    • Correct description of comment_author property in WP_Comment class. The comment_author property is the comment author’s name, not an ID. [36332] #35464
    • Respect all post-related filters in WP_Comment_Query. [36326] #35478
    • Use TEXT column type in fallback for wp_get_comment_column_max_length(). [36325] #10377
    • Respect custom pagination params when using wp_list_comments() in a query loop. [36324] #35402
    • Remove unneeded $req variable in comments_template(). [36322] #35473
    • Add a new pre_wp_update_comment_count_now filter. [36318] #35060
    • Use assertEqualSets() in comment_author test. The previous assertion was too specific, resulting in race conditions. [36279] #35377
    • Use the post-filter WHERE clause when querying for comment descendants. [36277] #35192
    • Always respect $comments array passed to wp_list_comments(). [36276] #35175, #35356
    • Ignore hierarchy in pagination calculation when comment threading is disabled. [36275] #8071, #35419
    • Restrict the maximum characters for input fields within the comments template. [36272] #10377



    • Allow embedding static front pages and pages having a child page with an embed slug. This makes embed a special slug that can’t be used for new pages/posts. When https://example.com/foo/embed/ is an existing page, embeds fall back to https://example.com/foo/?embed=true. Adds unit tests. [36307] #34971

    Filesystem API


    • Emoji: adjust $wpsmiliestrans. Swap simple-smile.png with SLIGHTLY SMILING FACE and frownie.png with SLIGHTLY FROWNING FACE [36336] #31710


    • Add response status code aliases on WP_Http for convenience. These provide a more descriptive way to set response codes elsewhere, so it’s readable and less chance for the wrong response code to be used such as 401 vs 403. [36294] #35426
    • Add missing HTTP status code descriptions (specifically 308 and 421.) [36274]
    • Add support for 451 http status code (Unavailable For Legal Reasons.) Though this is technically still in the proposal stage, there is support from the core team and precedent in #16914 [36273] #16914, #35333


    • Introduce tests for WP_Locale. [36292] #34688
    • Correct an argument description and return value for wp_dropdown_languages(). [36290] #35294


    • In wp.Backbone.Subviews, extract subviews with proper Underscore.js functions. [36305] #34350
    • jQuery: Replace use of deprecated methods and events. [36288], [36287], and [36286] for #35380,
    • External Libraries: Update jQuery to 1.12.0 and jQuery Migrate to 1.3.0. [36285] #35380


    • Update some attach/detach strings in the columns view. [36328] #33237


    • Add initial tests for the allowed_themes filter. [36350] #28436

    Network and Sites

    • Clarify the docblock for get_current_site() so it’s clear that it returns the current network object, not anything to do with the current site. As a further exercise, the reader is invited to fix the nomenclature surrounding blogs, sites, and networks in WordPress. [36293] #35414


    • Share post fixture in WP_Comment_Query tests. [36346] #30017
    • Script Loader: Add Etag: $wp_version header in load-scripts.php and load-styles.php. This improves performance since browsers won’t re-download the scripts and styles when there was no change in $wp_version. [36312] #28722


    • Prevent a warning when searching in the plugins list table. [36301] #35461
    • Make sure the ‘Beta testing’ tab is first in the plugin installer. This makes feature plugins more discoverable for people running development builds. [36297] #29631
    • In _get_plugin_data_markup_translate() remove the fallback to the “default” textdomain for Akismet. Akismet has its own language files since WordPress 3.9. [36283] #35436

    Posts, Post Types


    • Don’t double-escape the ‘name’ param in get_terms(). [36348] #35493
    • Populate term cache with proper clone of term objects. [36323] #35462
    • Fix unit tests after [36308]. [36309] #34988
    • Introduce wp-admin/term.php for editing single terms. [36308] #34988
    • Correct the accetped types for the taxonomy element in the arguments passed to wp_dropdown_categories(). [36289] #35446


    • Show template loading error to users with switch_themes cap. [36344] #21931
    • Only users with proper capability should see theme errors. [36338] #21931
    • Show an error message to logged-in users if a template file isn’t loaded. [36335] #21931
    • Clear floated theme cards on Themes page. Also maintains visual separation for Broken Themes table on searches that return no results. [36270] #26646


    • Add a locking mechanism to avoid two concurrent updates of WordPress occuring. [36349] #34878


    • Always return $current_user in wp_get_current_user(), never a boolean. [36313] #19615
    • Deprecate the get_currentuserinfo() pluggable function. [36311] #19615
    • Decode special characters in password and email change notification emails. [36306] #35283


    Thanks to @5um17, @adamsilverstein, @afercia, @andizer, @berengerzyla, @boonebgorges, @chriscct7, @danielbachhuber, @dd32, @DrewAPicture, @ericlewis, @firebird75, @grapplerulrich, @iseulde, @ivankristianto, @jeremyfelt, @jmdodd, @joehoyle, @johnbillion, @jrf, @kraftbj, @Latz, @meitar, @MikeHansenMe, @obenland, @ocean90, @peterwilsoncc, @rachelbaker, @realloc, @rmccue, @scribu, @sebastianpisula, @sergejmueller, @SergeyBiryukov, @swissspidy, @valendesigns, @westonruter, and @xavortm for their contributions this week!

  • Morgan Estes 1:45 am on October 13, 2015 Permalink
    Tags: ,   

    Week in Core: Sept. 28 – Oct. 11, 2015 

    Welcome back to the latest issue of Week in Core, covering changes from Sept. 28 – Oct. 11, 2015, changesets [34659][35029]. Here are the highlights:

    See that ↑ right there? That’s an oEmbed. And it’s loaded from inside this site.

    Feature Plugins Merged

    The Responsive Images, oEmbed Provider, and the “baby” REST API feature plugins have been merged into core. Grab the latest version of trunk and test them out.

    WordPress logo with wordmark below

    Responsive images in your posts. Just upload and insert!

    Potent Notables

    These changes were big enough to merit their own blog posts:

    Deeper Reading

    Some commits pack in a lot of info, from detailed background to best practices in using hooks. Here are a few worth reading the entire commit message:

    • WP_Term class introduced [34997] #14162
    • Fix scalability performance problem for previewing multidimensional settings in the Customizer. [35007] #32103
    • Ensure that wp.customize.Widgets.savedWidgetIds is defined up front. [34883] #33901
    • The history and implementation of oEmbeds. [34903] #32522
    • Improve role-related arguments in WP_User_Query. [34875] #22212
    • Use wp_installing() instead of WP_INSTALLING constant. [34828] #31130
    • Introduce *_network_option functions for Multisite installs. [34777] #28290
    • Ensure that comment permalinks reflect pagination. [34735] #34068, #34073

    (More …)

  • Morgan Estes 9:04 pm on September 16, 2015 Permalink
    Tags: ,   

    Week in Core: Aug. 31 – Sept. 12, 2015 

    Welcome to the Week in Core, with updates from weeks 2 & 3: Aug. 31 – Sept. 12, 2015, changesets [33821][34092].

    It’s been a busy couple of weeks in Core, with almost too many changes to count (for the record, this one covers 271 commits!). I’m going to keep this update shorter than usual and highlight some of the bigger changes.

    If you’re interested in helping write this weekly post, ping @morganestes in #core-weekly-update on Slack.

    Special Note: WordPress 4.3.1 was released this week, with three security-related fixes. Be sure to update your sites!

    Here’s some highlights of recent changes in core, along with some future plans and ongoing initiatives. Remember, Core moves pretty fast. If you don’t stop and look around once in a while, you could miss it.

    • WordPress will support PHP7 when it’s released. Huzzah!
    • HTTP/2 is coming! Here’s a list of tickets that need attention to get WordPress ready.
    • Get involved in Twenty Sixteen, which is in active development on GitHub.
    • Write better commit messages. The world will thank you for it. 🙂
    • As described in this post by @johnbillion, the show_ui flag for post types now gets fully honored. See #33763 for the ticket discussion.
    • A new helper function, wp_validate_action( $action = '' ), was introduced in [34059] and is used throughout admin instead of directly accessing $_REQUEST['action'].
    • A new file, wp-admin/includes/noop.php, was created to load all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. [34037] #33813
    • Schema change introduced in [34030] to increase the length of wp_options.option_name to 191 chars. #13310
    • Implement a priority system for Help Tabs to add them at specific positions. [33985] #19828
    • Multisite: Don’t allow sites to be created with the following reserved slugs: wp-admin, wp-content, wp-includes [33952] #33615
    • Updated recommendations for minimum versions of PHP (5.6) and MySQL (5.5), with a special note that Oracle only actively supports MySQL for 5 years after a General Availability release. [33937] [33946]

    For the full report, visit https://core.trac.wordpress.org/log/?verbose=on&format=changelog&rev=34092&stop_rev=33821&limit=400&mode=stop_on_copy.

    Thanks to @adamsilverstein, @afercia, @amereservant, @ankit-k-gupta, @antpb, @austinginder, @azaozz, @BdN3504, @benjmay, @boonebgorges, @bradt, @brettz95, @celloexpressions, @cgrymala, @Cheffheid, @chriscct7, @codeelite, @CoenJacobs, @danielbachhuber, @daniellandau, @dannydehaan, @dd32, @dimadin, @dipeshkakadiya, @dlh, @DrewAPicture, @dustinbolton, @egower, @enshrined, @ericdaams, @ericlewis, @extendwings, @figureone, @filosofo, @gaelan, @GaryJ, @gitlost, @gnaka08, @gradyetc, @gregrickaby, @hauvong, @helen, @imath, @ippetkov, @iseulde, @ixkaito, @jazbek, @jeffstieler, @jeremyfelt, @jesin, @jobst, @johnbillion, @joostdevalk, @jorbin, @juliobox, @JustinSainton, @kevinlangleyjr, @khromov, @kitchin, @kraftbj, @lancewillett, @liljimmi, @lukecarbis, @macmanx, @MatheusFD, @mehulkaklotar, @mercime, @metodiew, @michielhab, @MikeHansenMe, @miqrogroove, @mitchoyoshitaka, @mordauk, @morganestes, @mrahmadawais, @mrmist, @Mte9, @nacin, @netweb, @nikeo, @nikolovtmw, @nofearinc, @obenland, @ocean90, @OriginalEXE, @Otto42, @paulwilde, @pavelevap, @pento, @peterwilsoncc, @racaseh, @rachelbaker, @rajnikmit, @rmccue, @rommelxcastro, @sc0ttkclark, @scribu, @SergeyBiryukov, @sillybean, @solarissmoke, @stevehenty, @swissspidy, @tmatsuur, @trepmal, @tyxla, @umeshnevase, @utkarshpatel, @wen-solutions, @wenthemes, @westonruter, @wojtekszkutnik, @wonderboymusic, @yoavf, and @zeo for their contributions!

  • Morgan Estes 5:03 am on September 2, 2015 Permalink
    Tags: ,   

    WordPress Core Weekly – Aug. 24-30, 2015 

    Welcome back to the weekly core development recap post, with highlights from Trac changesets and other development updates for 4.4. This week’s update covers changesets [33721][33820], Aug. 24-30, 2015. That’s a lot of changes, but there are a few that developers need to be especially aware of:

    • File restructuring: new class and functions files have been introduced, and existing files used as loaders for the new files for backwards compatibility.
    • File and class documentation enhancements: ensuring every file gets a standard file header, even if that file only contains a class that is itself documented.
    • Switching themes now takes menu locations into account so the new theme (maybe) gets the locations of the current theme.
    • New hooks introduced: 'invite_user' (Multisite users) and 'wp_verify_nonce_failed'.
    • The Twenty Sixteen theme is being developed on GitHub.

    Now on to the firehose…


    • Bump h3 headings to h2 on various admin screens for better accessibility:
    • Network Admin: Hide the bulk actions checkbox for super admins. [33777] #28529
    • Avoid PHP notices in redirect_canonical() and _wp_menu_item_classes_by_context() if $_SERVER['HTTP_HOST'] is not set. [33775] #32229


    • Remove error from the query variables when cleaning up a URL in wp_admin_canonical_url(). [33770] #32847
    • Prevent unintended password change after clicking “Generate Password” and then “Cancel” when editing a user profile. [33766] #33419
    • When wp_json_encode() calls json_encode(), the latter will generate warnings if the string contains non-UTF-8 characters. No one likes warnings, so we need to do something about that. [33747] #33524
    • Add oEmbed support for ReverbNation. [33745] #33207
    • Remove rounded corners from “Choose from the most used tags” result in Tags meta box. [33742] #31560
    • Add some more data for shortcode unit tests. [33740] #33455
    • Allow these CSS properties in KSES: min-height', 'max-height', 'min-width', 'max-width' [33739] #31949
    • Pass option name to option and transient filters with dynamic names. [33738] #28402
    • In get_home_url(), import the $pagenow global to avoid having to check if it exists before comparing against it. [33736] #33545
    • In WP_Users_List_Table::single_row(), $actions is not always set before being used. [33735] #33491
    • foreach is a statement, not a function. [33734] #33491
    • Instead of [33713], allow WP_Posts_List_Table::get_bulk_actions() to check edit_posts AND delete_posts. [33733] #29789
    • TinyMCE: ensure the wordpress plugin is loaded before calling _createToolbar(). [33728] #33393
    • With a few modifications in wp-admin/menu.php, we can eliminate the extra logic for Post and Page menu registration. Instead, they can just declare menu_position on post type registration. [33723] #16865
    • WP_Query: add changelog for the title param after [33706] [33722] #33074

    Restructured some files for separation of purpose, so class files only contain classes, functions files only contain functions, and the existing file loads the new files for backwards compatibility.


    Move WP_Tax_Query into class-wp-tax-query.php and functions into taxonomy-functions.php; taxonomy.php contains only top-level code and loads the new files. [33760] #33413


    Move WP_Post into class-wp-post.php and functions into post-functions.php. post.php contains only top-level code and loads the new files. [33759] #33413


    Move classes into their own files, and functions into its own:

    • class-wp-roles.php
    • class-wp-role.php
    • class-wp-user.php
    • capbilities-functions.php

    capbilities.php contains only top-level code and loads the new files. [33752] #33413


    Move classes into their own files and functions into its own:

    • class-wp-http-cookie.php
    • class-wp-http-curl.php
    • class-wp-http-encoding.php
    • class-wp-http-proxy.php
    • class-wp-http-streams.php
    • http-functions.php

    http.php contains only top-level code and loads the new files, so this is 100% BC if someone is loading http.php directly.

    class-http.php requires functions from http.php, so loading it by itself wouldn’t have worked.

    WP_Http remains in class-http.php. [33748] #33413


    Move WP_Meta_Query into class-wp-meta-query.php and functions into meta-functions.php. meta.php contains only top-level code and loads the new files. [33761] #33413


    Move WP_Rewrite into class-wp-rewrite.php, functions into rewrite-functions.php, and constants into rewrite-constants.php. rewrite.php contains only top-level code and loads the new files.

    The rewrite functions have all kinds of cross-dependencies (like WP_Query), so loading the file by itself would have been bizarre (and still is). [33751] #33413


    Move WP_Comment_Query into class-wp-comment-query.php, and functions into comment-functions.php. comment.php contains only top-level code and loads the new files. [33750] #33413


    Move WP_User_Query into class-wp-user-query.php and functions into user-functions.php. user.php contains only top-level code and loads the new files. [33749] #33413


    Move classes and functions into their own files:

    • class-wp-widget.php
    • class-wp-widget-factory.php
    • widget-functions.php

    widgets.php contains only top-level code and loads the new files. [33746] #33413


    It’s important for every file in WordPress, regardless of makeup or architecture, to have its own file header, even if the file contains nothing but a class. When parsed, files and classes are mutually exclusive and should be documented with this in mind. [33755] [33756] #33413

    • Bring the file header and class DocBlock summaries for class-wp-widget.php in-line with the intention of the docs standard:
      • File headers: What the file is
      • Class DocBlocks: What purpose the class serves. Mentioning the class name in the class DocBlock is redundant [33816] #33413
    • Add inline-docblocks for the require_once() calls that now bring in the WP_Widget and WP_Widget_Factory classes, as well as general core widgets functionality, as of [33746]. [33758] #33413
    • Add a file header description and @since version to wp-includes/widget-functions.php, introduced in [33746].
      Also adds sub-section headers per the inline documentation standards for syntax. [33757] #33413
    • Add a file header to wp-includes/class-wp-widget-factory.php, created when the WP_Widget_Factory class was moved to its own file in [33746]. [33756] #33413
    • Correct the hook docs for the user_profile_update_errors action. [33769] #33537
    • After [33764], fix docblock formatting for wp_list_categories(). [33765] #33460
    • Use proper array documentation formatting for wp_list_categories().
      This changeset also corrects a few parameter descriptions, and adds a few that
      were previously missing. [33763] #33556
    • Fix copy pasta in wp_cache_decr() doc block. [33809] #33548
    • The type for the $t_time parameter in the post_date_column_time filter docs should be string, not array. [33731] #33540
    • Document the default comment data arguments for wp_new_comment(). [33730] #32369
    • After [33698], wrap the time constants in a DocBlock template. [33737] #33397
    • Clarify the return description for wp_create_user() to illustrate that a WP_Error object will be returned on failure. [33725] #33321

    Add changelog entries for a variety of hook doc parameters added in [33738]:

    hook parameter changeset/ticket
    set_site_transient_$transient $transient [33794] #28402
    site_transient_$transient $transient [33792] #28402
    pre_delete_site_option_$option $option [33789] #28402
    pre_add_site_option_$option $option [33788] #28402
    pre_site_option_$option $option [33785] #28402
    transient_$transient $transient [33783] #28402
    option_$option $option [33779] #28402
    pre_option_$option $option [33768] #28402
    pre_set_site_transient_$transient $transient [33793] #28402
    pre_site_transient_$transient $transient [33791] #28402
    pre_update_site_option_$option $option [33790] #28402
    site_option_$option $option [33787] #28402
    default_site_option_$option $option [33786] #28402
    pre_set_transient_$transient $transient [33784] #28402
    pre_transient_$transient $transient [33782] #28402
    update_option_{$option} $option [33781] #28402
    pre_update_option_$option $option [33780] #28402
    default_option_$option $option [33778] #28402


    • Get the correct theme when template and stylesheet were both passed as arguments. Fixes a bug introduced in [21131] where $new_theme got set before the second argument was
      appropriately handled, causing the current_theme option to later always be updated to the parent theme’s name. [33815] #32635


    • Improve/update escaping in default widgets:
      • wrap some variables in esc_attr() before echoing
      • replace some strip_tags() calls with sanitize_text_field()
      • call esc_url() when wrapping some URLs [33814] #23012
    • Improve/update escaping in WP_Widget_Pages. [33813] #23012
    • Switch back to using array_key_exists() instead of isset() for widget instance existence check.
      Reverts unnecessary change in [32602] since array_key_exists() does actually work with ArrayIterator objects.
      Merges [33696] to the 4.3 branch. [33721] #32474, #33442



    • Fix the doc block syntax for the 'wp_get_current_commenter' filter. [33811] #33304
    • get_comment_count() currently increments awaiting_moderation when comments are in the trash. This occurs because case 0: will match any value passed to switch that is a string that isn’t specified in the list of cases. This is terrifying.
      Cases for 0 and 1 should be '1' and '0'
      Add unit tests for get_comment_count(). Currently, there are none. [33806] #33414


    • Favor using the consistent and agnostic string ‘Attach’ over ‘Attach to a post’ in the media list table. [33810] #33515
    • Make a period translatable. [33802] #33594
    • Switching themes: if the new theme doesn’t have nav_menu_locations defined, but the old theme does, copy the old theme’s nav_menu_locations into the new theme’s theme mods. [33808] #18588


    • Improve the reliability of the crop returned by image_get_intermediate_size() and add a bunch of unit tests to tests/image/intermediate_size.php. [33807] #17626
    • When inserting an image into a post, the values in wp.media.controller.Library should not default to linking the image when no user settings are present.
      The default display setting value for link is now none. User settings persist and will override or confirm this value based on user actions. [33729] #31467

    Posts, Post Types

    • In get_post_type_labels(), ensure that filtered labels contain all required default values. [33776] #33543
    • Don’t change the View Post button permalink in the sample permalink HTML when updating the slug on a published or future post. [33773] #32954
    • Pass taxonomy name to filters in get_adjacent_post(). [33805] #33568
    • Make post meta box toggles accessible. [33762] #33544


    • Improve the efficiency of is_user_member_of_blog() by removing its use of get_blogs_of_user(). Adds additional tests. [33771] #32472
    • Add 'invite_user' action that fires immediately after a user is invited to join a site, but before the notification is sent. [33732] #33008


    • In wp_list_categories(), ‘current_category’ should accept an array of values. [33804] #33565
    • Introduce $hide_title_if_no_cats parameter to wp_list_categories(). [33764] #33460
    • Rename param added to wp_list_categories() in [33764] to $hide_title_if_empty. [33767] #33565
    • Term Splitting: Switch to a faster cron unschedule process to benefit sites with thousands of affected jobs. Fix the cron hook name in the failsafe rescheduler. [33727] #33423
    • In WP_Query::parse_tax_query(), allow ‘cat’ and ‘tag’ querystrings to be formatted as arrays. [33724] #32454, #33532


    • Simplify the weeks-per-year calculation WP_Date_Query::validate_date_values(). [33803] #30845


    • Bring network admin user searching to parity with single site user searching by wrapping search terms in asterisks. This means that searches don’t require an exact match and therefore significantly reduces friction when searching for users on the network admin screens. [33801] #32913

    Bundled Theme

    Correct license information in readme.txt.

    Text Changes

    • Drop the hyphen from e-mail and standardize on email.
      The AP Stylebook changed this in 2011, and we’re woefully inconsistent, so let’s go with the standard. [33774] #26156



    • Add 'wp_verify_nonce_failed' action that fires when nonce verification fails. [33744] #24030
    • Fire the check_ajax_referer action on failure as well as success. [33743] #33342

    Build Tools

    Thanks to @azaozz, @BinaryKitten, @boonebgorges, @bordoni, @Cheffheid, @chipbennett, @danielbachhuber, @dd32, @DeBAAT, @dimadin, @DrewAPicture, @ebinnion, @egill, @eherman24, @ericlewis, @garza, @hauvong, @helen, @janhenckens, @jjeato, @jmayha, @joedolson, @joehills, @joemcgill, @johnbillion, @KalenJohnson, @kitchin, @liljimmi, @luciole135, @mako09, @MikeHansenMe, @miqrogroove, @morganestes, @niallkennedy, @nikeo, @obenland, @Otto42, @pavelevap, @pento, @peterwilsoncc, @rachelbaker, @rhubbardreverb, @sammybeats, @sboisvert, @scribu, @SergeyBiryukov, @Shelob9, @tyxla, @Veraxus, @vilkatis, @Viper007Bond, @voldemortensen, @welcher, @westonruter, @wonderboymusic, and @yamchhetr for their contributions!

  • Morgan Estes 1:37 pm on March 6, 2015 Permalink
    Tags: ,   

    WordPress Core Weekly 

    Howdy, and welcome to this week’s installment of WordPress Core Weekly – covering February 26, 2015 [31545] through March 4, 2015 [31620].

    If you want to write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.

    Let’s start with a warm welcome to our new Component Maintainers, who play an important role in the development process.

    Build/Test Tools: @voldemortensen
    Comments: @rachelbaker
    Editor – Press This: @Michael-Arestad, @stephdau
    General: @SergeyBiryukov
    I18N: @SergeyBiryukov
    Options, Meta APIs: @MikeHansenMe
    Themes – Customize: @voldemortensen
    Users: @justinsainton

    These maintainers are vital to keeping WordPress development running as smoothly as possible. They triage new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors.

    Dev Chat Notes

    This week’s Dev Chat was a lively one, with updates on the Customizer and Press This (with an emphasis on accessibility, hooray!), Shiny Updates (needs helping hands, see the todo list), Emoji (not just for smiles), and Accessibility (revisiting the age-old a vs button question).

    If you missed the meeting, or need a reminder of what was discussed, take a few minutes to read the transcripts.

    A couple of reminders: we’re a week away from Beta 1, and Daylight Saving Time is coming so make sure to check the time of next week’s Dev Chat so you won’t miss it!

    Tickets needing a look:

    • #5305: permalinks broken when article name is numeric
    • #31349: Screen options posts/pages/etc. per page label
    • #17817: do_action/apply_filters/etc. recursion on same filter kills underlying call
    • #29820: Smooth installation and updating of plugins and themes

    Code Updates

    It’s been a busy week with lots of commits, so let’s get into the ticket overview:


    • Allow inline editing of width and height parameters while previewing an embed in the media modal. [31620] #31139
    • Media modules: set $ to Backbone.$, instead of jQuery, so fewer globals are imported. [31618] #28510
    • When viewing media in List mode, auto-submit the form for attachment filters when the value of a <select> changes. This makes it behave similar to Grid mode and “feels” more performant, even though it is a full page load. [31582] #30333
    • Allow attachments to be detached from their parent in media grid and list modes. [31619] #6820
    • In the Insert From URL state of the Post frame, add the necessary CSS for focus styles for images. [31585] #28820
    • Build: Let RTLCSS handle swapping the codes for right/left arrows from Dashicons. [31579] #31478
    • Support GIMP files in the Media Library. We already support Photoshop files. [31578] #31146
    • In the ->multi_resize() method of the WP_Image_Editor subclasses, when looping through potential crops, we need to make sure the crop isn’t the exact same dimensions as the original image before copying it as a new crop. [31576] #31296
    • Make a new function, wp_delete_file(). Use it. [31575] #17864
    • Improve get_media_embedded_in_content() so that it returns the media it finds in the same order that it appears in the content. [31574] #26675
    • Customize Widgets: Don’t return undefined items in getWidgetFormControls method. [31570] #31465
    • CSS: Move relevant #sidemenu rules into deprecated-media.css and remove the cruft. [31564] #27956
    • Persist search terms across grid/list modes. [31562] #30583


    • Respect comment_date and comment_date_gmt params in wp_new_comment(). [31615] #14279
    • In get_next_comments_link(), ensure proper pagination when no ‘cpage’ query var is found. [31617] #20319
    • wp_insert_comment() should be checking and setting $compacted, not the non-existent $post_data. [31553] #21212



    • decode HTML entities before trying to insert view markers. [31612] #31412
    • introduce getText() and remove() methods, improved getInstance(), better docs. [31559] #31412
    • Better structure; simpler “view” registration; better extensibility; better inline documentation; don’t show a placeholder for pasted link until we know the link is “embeddable’. [31546] #31412
    • Remove the (obsolete) get/setViewText methods. Update stopping/pausing of multiple ME media players. [31548] #31412



    • Autocomplete: Update CSS based on both jQuery UI and general visual changes. [31611] #31427
    • Add wp.a11y.speak() for audible alerts/updates in screen readers. [31594] #31368
    • Remove the once-placeholder-esque “tag hint”, which has not worked in quite some time. [31607] #31485
    • When sanitizing a URL to redirect to, UTF-8 characters can be URL encoded, instead of being removed. [31587] #31486
    • Introduce get_object_terms filter in wp_get_object_terms(). [31581] #18828
    • In get_avatar_data() and get_avatar(), allow height and width to be specified separately (both default to size). Also allow arbitrary attributes on the <img> via the extra_attr arg. [31561] #31469
    • Permalinks: In wp_get_attachment_url(), convert to HTTPS when possible. [31614] #15928

    Posts, Post Types

    • List tables: Display front and posts page indicators. [31610] #30190
    • Hide irrelevant UI and display a message when editing the page for posts. [31550] #17470

    Press This

    • Add missing access modifiers to WP_Press_This. [31552] #31456
    • Add press-this.css to the list of stylesheets that are minified and to list of RTL styles. [31547][31572] #31373
    • Make sure buttons.css is loaded before press-this.css. [31597] #31373
    • Use correct URL for update bookmarklet link. [31556] #31461
    • Go back to loading the minified bookmarklet content with file_get_contents(). Add Grunt task to minify bookmarklet.js on precommit and update it in /src. [31545] #31373
    • Improve handling of the data, both from the bookmarklet and from server-side parsing. [31609] #31373
    • Remove unneeded passing of post formats strings to JS. Set the currently selected post format name with jQuery. [31589] #31373

    [31601] #31493

    • Remove classes from suggested HTML for the editor.
    • Improve the filter, pass an associative array as param.
    • Use <em> instead of <cite>.

    [31595] #31373

    • Simplify getSuggestedContent() and helpers. No need to override the global data.
    • Replace the press_this_source_string and press_this_source_link filters with press_this_suggested_html that allows filtering of the link and the wrapper HTML tags.

    [31588] #31373

    • Backwards compatibility enhancements.
    • Add missing actions for printing styles/scripts.
    • Since $hook_suffix is null, hardcode press-this.php.
    • Restore body classes, add filter.
    • Use wp_json_encode().
    • Update docs for filters in script-loader.php.


    • TinyMCE: set ‘directionality’ and add the LTR button when in RTL. [31580] #31474
    • RTL improvements: [31577] #31478, #31474
    • Fix and update buttons styles. [31598] #31498
    • When there is a protocol mismatch (http vs. https), use server-side media detection instead of submitting a form as it triggers “Unsafe data” warning in some browsers. [31584] #31468
    • Fix selecting a post format (radio buttons) with the keyboard. [31583] #31440
    • Accessibility enhancements [31566] #31449
    • Enable scrollbars in Firefox, remove overflow-x: hidden from the html element. [31565] #31455
    • Fix notices/errors classes. [31549] #31456


    • Fix a typo in the $args parameter hash notation description for add_settings_field(). [31593] #28975
    • Nav menus: Better JS performance on initial load of edit screen. [31604] #25698
    • Themes: Avoid jumping when selecting a feature in the feature filter on Add Themes screen. [31603] #31497

    External Libraries


    • Settings API: Allow passing a class to add_settings_field() via the $args array. [31560] #30168, #28975

    Build/Test Tools

    • RTL CSS generation: Switch from CSSJanus to RTLCSS. [31573] #31332
    • Run unit tests on Travis CI with PHP nightlies. With PHP7 in active development, this will help us identify issues there. [31558] #31454
    • Update grunt-patch-wordpress to 0.3.0. [31557] #31466

    Thanks to @abhishekfdd, @afercia, @alexkingorg, @atimmer, @azaozz, @boonebgorges, @couturefreak, @doublesharp, @DrewAPicture, @floriansimeth, @GrahamArmfield, @HarishChaudhari, @helen, @ipm-frommen, @iseulde, @joemcgill, @jorbin, @kopepasah, @kraftbj, @Michael-Arestad, @MikeHansenMe, @miqrogroove, @MomDad, @morganestes, @nacin, @ocean90, @kadamwhite, @oso96_2000, @pento, @postpostmodern, @rodrigosprimo, @scribu, @SergeyBiryukov, @sevenspark, @solarissmoke, @stephdau, @swissspidy, @valendesigns, @welcher, @westonruter, and @wonderboymusic for their contributions!

  • Mike Schroder 6:03 am on June 19, 2014 Permalink
    Tags: ,   

    Last Week(s) in WordPress Core 

    Hi Everyone! It’s time for another update. This edition covers through Sunday, June 15th, and has taken a while due to travel, but @swissspidy & @designsimply have joined the team, helping to gather the information to bring us up to date. Hopefully this will help these updates be a bit more sustainable over time. If you’re interested in pitching in with these updates as well, please let me know in the comments below!

    Especially of note are the first pass of the grid view for the media library, several SSL and oEmbed updates, and a new ‘Beta Testing’ tab on the Plugins screen.


    • Plugins Screen: Add a new ‘Beta Testing’ tab on the plugin installation screen, for features as plugins such as Press This. [28749] #28513
    • Media Library: Grid view for the media library, first pass. This is alpha; expect imperfection to start. [28682] #24716


    • Forcing SSL logins now forces SSL for the entire admin. [28609] #10267
    • Force SSL on the frontend when the home URL uses HTTPS. [28610] #27954
    • Force SSL admin when siteurl is explicitly configured with HTTPS. [28674] #27954
    • Use a secure logged_in_cookie when the home URL is forced HTTPS. [28627] #15330
    • Deprecate url_is_accessable_via_ssl(). [28709] #19555


    Themes and Templates

    • Add a filter to human_time_diff() to allow more detailed depictions of time differences. [28670] #27271
    • Allow simple modification of sections of the title by adding a wp_title_parts filter to wp_title(). [28669] #17877
    • Add CSS rules to ensure that videos will be responsive, regardless of theme. [28650] #28414
    • Replace TEMPLATEPATH and STYLESHEETPATH with get_template_directory() and get_stylesheet_directory(). These constants are now deprecated [28563] #18298
    • Update Twenty Thirteen and Twenty Fourteen to Genericons 3.0.3. [28692] [28693]


    • Improve keyboard accessibility for the media modal. [28607] #23560
    • Add screen reader labels to the date inputs on the post editing screen. [28730] #25461


    • When parsing the main query, if s is set to empty: ?s= and $this->is_main_query() && array_key_exists( 's', $this->query ) – kill the query instead of loading the homepage. This will load the search page with no results. [28612] #11330
    • Kill queries that explicitly pass empty arrays to category__in, tag__in, tag_slug__in, and author__in to WP_Query. [28664] #28099
    • Fix SQL generation when meta_query has an 'relation' => 'OR' for its queries and wants to 'orderby' => 'meta_value'. [28659] #25538
    • Allow users to sort posts by type in WP_Query. [28605] #28214
    • Add access modifiers to WP_User_Query Add magic methods for BC: get(), set(), isset(), unset(), and call(). [28528] #27881, #22234


    • Wide-reaching changes to do away with many instances of variable-variables. See #27881 for full list of changes.
    • Eliminate use of extract() within WordPress. #22400
    • Fix curly quotes around numbers when applicable. [28721] #8775
    • Only include relevant post authors in WXR exports. [28731] #20206
    • Append the date to $wp_version in the build output, for nightly packages. [28611] #26751.
    • Update wp_insert_comment() and wp_new_comment() with a check for successful database insert. [28672] #28254
    • Use get_pages() instead of a raw SQL query in get_body_class(). [28696] #28159
    • Pre-populate the selected URL or mailto:<email-address> when “Insert/edit link” is clicked. [28705] #19992
    • Live update the menu item title when the user is editing the “Navigation Label” field. [28707] #23076
    • Deprecate get_all_category_ids(). Suggest get_terms() as a replacement. [28679] #21200
    • Deprecate like_escape() and replace with $wpdb->esc_like(). [28711] #10041
    • Redirect edit.php?post_type=attachment to upload.php to avoid an empty list table. [28729] #27951



    • Update TinyMCE to 4.0.28. [28606] #28391, #27941
    • In iOS, fix placing the caret at the bottom of longer posts when the keyboard is open and disable resizing on switching editors and on show/hide of the kitchen sink row. [28626] #28242
    • Fix problems with undo/redo after resizing an image several times. [28614] #28389
    • Fix saving the editor content on switching from Visual to Text. [28576] #28353

    Thanks to @aaroncampbell, @adamsilverstein, @alexander.rohmann, @aliso, @atimmer, @avryl, @azaozz, @boonebgorges, @bramd, @celloexpressions, @clifgriffin, @coffee2code, @danielhuesken, @DavidTheMachine, @DeBAAT, @donncha, @DrewAPicture, @eddiemoya, @edwin-at-studiojoyo.com, @ericlewis, @filosofo, @frank-klein, @Funkatronic, @garhdez, @gauravmittal1995, @gcorne, @georgestephanis, @ghost1227, @grahamarmfield, @harrym, @helen, @iamtakashi, @iljoja, @issuu, @ixkaito, @jackreichert, @JanHenkG, @Jayjdk, @jdgrimes, @jeffstieler, @jeremyfelt, @jesin, @jgadbois, @jjeaton, @jkudish, @joedolson, @johnbillion, @johnjamesjacoby, @johnzanussi, @jtsternberg, @kitchin, @knutsp, @kovshenin, @kpdesign, @kraftbj, @kurtpayne, @kwight, @lancewillett, @lessbloat, @markoheijnen, @mdbitz, @MikeHansenMe, @mikemanger, @miqrogroove, @mrmist, @MuViMoTV, @nabil_kadimi, @nacin, @nd987, @Nessworthy, @netweb, @niallkennedy, @ocean90, @obenland, @pdclark, @pento, @purzlbaum, @rclations, @redsweater, @ruudjoyo, @schoenwaldnils, @scribu, @senlin, @SergeyBiryukov, @sharonaustin, @shaunandrews, @simonwheatley, @sixhours, @slimndap, @solarissmoke, @tar.gz, @tillkruess, @topher1kenobe, @torresga, @UmeshSingla, @winterDev, @wonderboymusic, @wpsmith, @zamfeer, and @duck_ for their core contributions!

    Thanks to @swissspidy & @designsimply for their help with compiling this post.
    Revisions covered: [28528] to [28757]. For the complete list of commits to trunk, check out the log on Trac.

    Interested in joining in? Write or test a patch for 4.0.

  • Simon Wheatley 2:04 pm on June 12, 2014 Permalink
    Tags: ,   

    In yesterday’s Weekly Developer Chat, various minor schema change tickets were discussed. We would want to address any changes in as efficient a fashion as possible, and have discussed using the pre_schema_upgrade() function rather than dbDelta(), so we can control the queries more precisely.

    Below is a list of the tickets discussed yesterday, along with which tables they affect. Please add any questions, concerns, additional tickets, or +1’s for this work in the comments.


    • comment_author_email#21435 – “wp-includes/comment.php line85 causes slow query due to the non-indexed column” raised by @matsubobo (proposes adding an index to comment_author_email)
    • multiple-column indexes#15499 – “Add an index for get_lastpostmodified query” raised by @simonwheatley (proposes adding an index on post_type, post_status, post_date_gmt and another on post_type, post_status, post_modified_gmt)


    • option_name#13310 – “Extend option_name to varchar(255)” raised by @scribu


    • post_name#10483 – Increase field length from 200 to 400. #21212 – Reduce index length to 191 for InnoDB.
    • guid#18315 – “Add an index to the GUID column in the posts table” raised by @alexkingorg
    • post_password – #881 – “Lengthen password field for protected posts” raised by @ScytheBlade1


    • slug#22023 – “Remove UNIQUE for slug in wp_terms” raised by @nacin (related). #16230 – Increase field length from 200 to 400. #21212 – Reduce index length to 191 for InnoDB


    • modify existing index#5034 – “Impossible to have duplicate category slugs with different parents” raised by @snakefoot (proposes adding an index on term_id, taxonomy, parent)
  • Mike Schroder 8:23 am on March 5, 2014 Permalink
    Tags: ,   

    Last Week in WordPress Core 

    Howdy! This is Last Week in WordPress Core for the week of February 24—March 2! Lots of activity for the past week, which is great as we head into our last few days of alpha. Please join us for daily triage at 1900 UTC to help work through the remaining enhancements scheduled for 3.9.

    As a quick note, if you work with our tools in ‘develop’, and are receiving a SELF_SIGNED_CERT_IN_CHAIN error, you can resolve it by running npm config set ca="". For details, check out this npm blog post.

    If you want to skim, each section is roughly ordered by an important and/or interesting factor.


    • Add the ability to drag and drop files directly onto the editor. Upon drop, the media manager will open, and file will begin to upload. [27343] #19845
    • Throttle scrolling of the main window when the editor is active and is being scrolled with the mouse wheel or a trackpad. [27368]. Expect some major tweaks here, though; see #27013.


    • Introduce HTML5 gallery support. When a theme supports HTML5 galleries via add_theme_support( 'html5', 'gallery' ), figure, and figcaption will be used instead of definition list markup. [27302] #26697
    • Add a filter to remove or rename page templates for a theme. This does not yet handle adding page templates. [27297] #13265
    • Move comment-reply.js to the footer. While it can function before the page is loaded, it works by moving the comment form, which is usually toward the bottom of the page. Please report any contraindications on the ticket. [27303] #12641
    • Return 404 when querying author’s posts who is not a member and has no posts on the site. [27290] #20601
    • Make get_adjacent_post() wrap a new WP_Adjacent_Post object that uses WP_Query. [27285] [27286] #26937
    • Add exclude and include arguments to wp_list_authors(). [27274] #9902


    • Multisite: Introduce get_site_by_path() and further rewrite the site detection process for multisite. This makes it so that a sunrise plugin could do much of its work by adding filters, if those are even needed. [27359] #27003
    • Database: Use MySQLi for WordPress development versions, regardless of PHP version, to increase testing footprint. There’s also a constant for testing purposes. [27257] [27278] #21663
    • Plugin API: Introduce doing_filter() and doing_action() to identify hooks in progress. You can also use this with to identify a hook that has completed. For more, see [27294] #14994.
    • Formatting: Strip backslashes, not just forward slashes, from untrailingslashit(). trailingslashit() will now remove any forward or backslashes from the end of a string before appending a forward slash. [27344] #22267
    • Date/Time: Allow current_time() to accept a date format string, adding to timestamp and mysql. [27259] #21653
    • Updates: During core upgrade, copy wp-includes/version.php over last, to avoid an installation failing with the new version.php in place. [27336] #25860
    • Rewrite API: Allow rewrite endpoints to specify a query variable name. [27327] #20905
    • Cache API: Revert [27115] and let cache backends handle the stripping of spaces in cache keys as necessary. microtime() returns greater precision than microtime(true). [27300] #27000, #23448, #26903, #14485
    • Query: Add a $default argument to get_query_var() and WP_Query::get(). Helpful when working with endpoints. [27304] #16471
    • Comment Query: Allow user_id to be an array of IDs in WP_Comment_Query. [27258] #27064
    • Users: Make the user arguments for get_edit_profile_url() and get_dashboard_url() optional, defaulting to the current user. [27260] [27265] #16686

    External Libraries

    • Update the Masonry JavaScript library to version 3. [27271] #25351
      • The new script handle is masonry. The old jquery-masonry handle is the official shiv that sits on top of the v3 library to be backwards compatible with v2 usage. While v3 no longer depends on jQuery, a theme or plugin may have been implicitly loading jQuery though Masonry, rather than additionally declaring it as a dependency for themselves.
      • Themes should switch to masonry and declare jQuery as a dependency on their own if they need it.
      • Upgrade guide on Masonry’s site, with the exception that, for core, we continue to include imagesLoaded.
    • Upgrade Plupload to 2.x (2.1.1) [27316] #25663
    • Update the Root Certificate bundle used for SSL communication by WP_HTTP from the latest Mozilla release NSS. [27307] #27017

    Developer Tools

    • Add grunt-patch-wordpress for applying patches directly from Trac. Mapped to grunt patch, which declares usage. Requires npm install to install. [27299] #27023
    • Add JSHint to Travis CI config. [27267] #26446

    For the complete list of commits to trunk, check out the log on Trac. Interested in joining in? Write or test a patch for 3.9.

    Thanks to @adamsilverstein, @andy, @avryl, @bassgang, @bootsz, @chrisscott, @danielbachhuber, @DrewAPicture, @enej, @ericlewis, @ericmann, @ethitter, @evarlese, @garyc40, @GaryJ, @gcorne, @georgestephanis, @GregLone, @helen, @iamfriendly, @Ipstenu, @jackreichert, @jeremyfelt, @johnjamesjacoby, @jorbin, @knutsp, @kovshenin, @kpdesign, @leewillis77, @markjaquith, @mattheu, @mboynes, @mitchoyoshitaka, @mjbanks, @mordauk, @morganestes, @nacin, @nicolealleyinteractivecom, @obenland, @ocean90, @patricknami, @pento, @pross, @rickalee, @salcode, @scribu, @SergeyBiryukov, @shelob9, @siobhyb, @solarissmoke, @xsonic, @stephcook22, @theorboman, @tivnet, @TobiasBg, @willmot, @wonderboymusic, @xknown, and @yoavf for their help this week!

  • Andrew Nacin 9:01 pm on January 27, 2014 Permalink
    Tags: ,   

    Proposed Trac component reorganization 

    Warning, this long. tl;dr: I propose a reorganization of our Trac components. 34 top-level components with two dozen subcomponents. New tree at the bottom. First, an overview of some of our problems.
    (More …)

    • Helen Hou-Sandi 9:22 pm on January 27, 2014 Permalink | Log in to Reply

      I am particularly excited about how groups and maintainers will (hopefully) form around components and focuses. Anybody can comment on a Trac ticket or pitch an idea or create a potential roadmap, but there’s a real sense of empowerment when you really feel like you’ve got your head and hands wrapped around a specific area, and are perhaps even recognized for doing so.

      I know for me personally it’s been really gratifying to be entrusted to run with a particular area (what we can now define as the UI focus) and has made me feel more comfortable with interacting and pushing core forward. And not just when it comes to UI development and conception, but in other areas as well. I also might just dare hope that we can stop the worst of the ticket rot, with having both more bodies as well as a clearer idea for hopeful contributors as to where to go for more feedback or help.

    • nofearinc 9:23 pm on January 27, 2014 Permalink | Log in to Reply

      I’m curious about the Query branches of Comments and Users – too many tickets for these types of Queries or plans to extend a lot furthermore?

      Great list though, and the “hall of fame” with notes is awesome.

      • Andrew Nacin 9:28 pm on January 27, 2014 Permalink | Log in to Reply

        I don’t think either is necessarily the case. The idea was to create a specific subcomponent under Users that those focused on Query (in general) could also specifically follow. Same for Comments. So in this case, it’s about granularity, not necessarily roadmap or ticket counts. Query is goofy, as I mentioned in the post — it’s a cross-section that would normally be good as a focus, but it actually covers functional areas of core (there just happen to be a lot of areas).

    • StyledThemes 9:24 pm on January 27, 2014 Permalink | Log in to Reply

      Give me a BIG Pot of coffee and I will ready this shortly…however, I saw the part of Bootstrap which caught my eye as I build my themes with it (well, parts of it). But from what I see in the list, looks interesting overall.

      • Andrew Nacin 9:25 pm on January 27, 2014 Permalink | Log in to Reply

        Bootstrap is not Twitter Bootstrap, it’s the “loading” process of WordPress. I may rename this to Bootstrapping if it’s a problem.

        • StyledThemes 9:34 pm on January 27, 2014 Permalink | Log in to Reply

          ah… how about WordStrap 🙂

        • nofearinc 9:37 pm on January 27, 2014 Permalink | Log in to Reply

          That’s the initial association of many folks btw, even knowing what Bootstrapping is, the recent popularity of the Twitter’s thing is overlapping actively, just my 2¢

        • jack96161 10:26 pm on January 27, 2014 Permalink | Log in to Reply

          Agreed, Twitter commandeered “Bootstrap” for too many in the community these days — greybeards like me know what a real bootstrap is, but renaming it will eliminate more questions like this in the future. I always liked the “Progenitor Process”, we used in an early operating system at HP, but it will probably end up as something like “startup”, “init”, or other bland 2-syllable invention …

          • jack96161 10:34 pm on January 27, 2014 Permalink | Log in to Reply

            Just noticed on the 3.9 Trac pages that “Bootstrap/Load” is used as a component name — I’ll vote for that one and the Twitterites can just deal with it!

    • Aaron Jorbin 9:52 pm on January 27, 2014 Permalink | Log in to Reply

      One additional focus that may make sense is Unit-Tests. The use case I’m thinking of is a patch that just adds unit tests. It would go in the component that it most directly deals with as I think the test tools component is more focused on the tools of testing rather than the actual tests and receive the focus of Unit-Tests (and optionally the JavaScript focus if it is a javascript unit test)

      • Andrew Nacin 10:07 pm on January 27, 2014 Permalink | Log in to Reply

        Ah, yeah, I forgot to mention this. This is also on my list. I’m still trying to figure out how it overlaps with keywords (needs-unit-tests and has-unit-tests), so I saved it for later. Does needs-unit-tests and has-unit-tests simply trigger the unit-tests focus automatically? If a ticket is opened specifically to provide unit tests for something, is that more of a has-patch situation? etc.

        • Aaron Jorbin 11:27 pm on January 27, 2014 Permalink | Log in to Reply

          I think needs-unit-tests and has-unit-tests should trigger the unit tests focus.

          Has-patch makes sense in the just adding unit tests case since it is fixing the reported issue (not having unit tests) while I think needs-unit-tests and has-unit-tests is more workflow oriented.

    • Jon Brown 12:15 am on January 28, 2014 Permalink | Log in to Reply

      This looks great. You’ve done a great job of making the parents obvious (fwiw, I’d keep bootstrap as bootstrap).

      Two things seemed non-obvious to me, and maybe that’s just unfamiliarity on my part, but worth mentioning.
      First – Formatting-Shortcodes/Charset. This seems non-obvious to me but I’m guessing this is processing raw content, essentially wpautop, it’s brethren and associated filters. Formatting sounds more like CSS to me than filtering/processing content.
      Second – There are separate top level categories for HTTP API & XML-RPC. It seems to me this could be a single top level “Remote/External APIs” component with sub-components for HTTP, XML-RPC, JSON, etc… Maybe that’s makes no sense though though since code wise they’re entirely separate.

      Again, great work sifting all this into these components, these are just comments as I read through and understand what’s group where, why and what each component covers.

      • Andrew Nacin 7:01 pm on January 28, 2014 Permalink | Log in to Reply

        Formatting has been called Formatting, well, for as long as I’ve been around. It also centers around formatting.php. It might not be the best name, but yeah, it’s for processing raw content. We’ll make sure the description and search keywords for it are solid.

        For right now, HTTP and XML-RPC have pretty much zero overlap in form or function. We’ll need to revisit everything here anyway when the REST API comes into core. (Gut reaction would be a component for the server, and a focus to handle APIs specific to another component.)

    • Robert Dall 12:30 am on January 28, 2014 Permalink | Log in to Reply

      I am not sure if we want to confuse the themes & bundled theme anymore then they already are. When I gave a talk on trac and I explained why it is called bundled themes a couple light bulbs went off in the crowd. But yet they knew what default themes meant. It’s all semantics, but now that understand why themes and bundled themes are different.

      What I *REALLY* like is having a subcomponent for each theme in development. We could still use use the title to differentiate between Twenty-Thirteen and Twenty-Fourteen as is the current standard but having this and the easy of use sounds whole lot better and easier for query’s of trac etc…

      • Andrew Nacin 1:12 am on January 28, 2014 Permalink | Log in to Reply

        I’ve got no issue renaming Bundled Theme to Default Themes, and we can definitely nest individual components underneath it for each theme. The issue I see would be that if we added subcomponents for each default theme directly under the Themes component, where would a ticket go that affects more than one theme? (This isn’t entirely uncommon.)

        • Sam Sidler 4:19 pm on January 28, 2014 Permalink | Log in to Reply

          In the main Bundled/Default Theme component? I assume the components are still usable even when subcomponents exist.

          • Andrew Nacin 6:47 pm on January 28, 2014 Permalink | Log in to Reply

            Sorry, I should have been more specific. Option 1, which is totally fine;

            Default Themes

            • Twenty Ten
            • Twenty Eleven

            Option 2, which I’d prefer (and which I thought RDall was hinting at):


            • Appearance
            • Widgets
            • Nav Menus
            • Twenty Ten
            • Twenty Eleven

            My point was I’d like to merge “Bundled Theme” (or “Default Themes” or whatever) with “Themes” to make it even less confusing. But then I’m not sure where general default theme tickets (affecting multiple themes) would go — getting dumped in “Themes” means they may get lost.

        • Robert Dall 6:20 pm on January 28, 2014 Permalink | Log in to Reply

          Does it need a subcomponent if it effects all themes? Or are subcomponents required when they exist?

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc
Skip to toolbar