Make WordPress Core

Updates from July, 2016 Toggle Comment Threads | Keyboard Shortcuts

  • Andrew Rockwell 3:14 pm on July 20, 2016 Permalink |
    Tags: ,   

    Week In Core, July 12 – July 19 2016 

    Welcome back the latest issue of Week in Core, covering changes [38040-38110]. Here are the highlights:

    • 71 commits
    • 40 contributors
    • 82 tickets created
    • 7 tickets reopened
    • 78 tickets closed

    Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

    Code Changes


    • Improve keyboard navigation on the themes browser modal window [38084] #37383

    Bundled Themes



    • Use wp_strip_all_tags() to strip HTML tags [38092] #37208
    • Include comment_content with html and without in blacklist_keys comparison [38048] #37208
    • Strip html tags from comment content before blacklist_keys comparison [38047] #37208


    • Add unit test to test that a column type change for a table name with a hyphen is working after [38044] #31679


    • Use the three-digit, x.x.x-style version in the DocBlock for the nested lowercase_octets() function. [38107] #32246
    • Add a missing DocBlock for the lowercase_octets() function, which is nested within redirect_canonical() [38106] #32246
    • Clarify the fields argument description in WP_Network_Query::__construct(). [38104] #32504
    • Clarify the fields argument description in WP_Site_Query::__construct(). [38103] #35791
    • Correct comment_max_links_url filter and $url param descriptions to communicate values are found links [38098] #37319
    • Correct type of WP_Post_Type::$cap from array to object. [38097] #36217
    • Correct $post parameter name and description for wp_attachment_is() and wp_attachment_is_image(). [38068] #37377
    • Update a cross-reference in the DocBlock for wp_register_plugin_realpath() from plugin_basename() to wp_normalize_path(). [38061] #37357
    • Add an initial @since version to wp-includes/feed.php [38056] #32246, #36295
    • Update the default value for the optional $args parameter in get_networks() following [38055] #32504
    • Add and clarify changelog entries for elements that can now accept, use, or return WP_Post_Type objects [38051] #36217


    • Enqueue the wp-embed script to fix embed previews inside the media modal. [38062] #37334


    External Libraries

    Filesystem API


    • Pass proxy settings to Requests [38054] #33055, #37107
    • Update Requests. Fixes an issue where you couldn’t set a Requests_Proxy_HTTP object as a proxy setting. [38053] #37107, #33055
    • Remove duplicate documentation for the http_api_debug hook. [38043] #37081


    • Remove non-translatable link attributes from translatable strings in wp_plugin_update_row(), wp_theme_update_row(), and get_theme_update_available() [38082] #36048
    • Combine duplicate “Menu Locations” and “Menu Options” strings. [38080] #18218
    • Combine two duplicate “Invalid post type” strings. [38076] #18218
    • Change unnecessary uppercased words in WP_Upgrader::generic_strings() to lower case. [38074] #18218
    • Combine two duplicate “Unable to locate WordPress Theme directory” strings. [38073] #18218
    • After [38057], consistently use a context for other instances of Activate %s,Network Activate %s, and Delete %s strings [38071] #37290
    • Remove a stray translator comment added in [38070] #37290





    • Ensure $wp_meta_keys is an array in get_registered_meta_keys(). [38108] #37415, #35658
    • Remove object subtype handling from register_meta() [38095] #35658
    • Ensure filters are backwards compatible for pre-4.6 style meta registration [38041] #35658


    • Correct default value for orderby in WP_Network_Query::__construct() [38102] #32504
    • Correct default values for orderby and order in WP_Site_Query::__construct() [38085] #35791
    • Set default $args to an empty array in get_networks() [38042] #32504


    • In wp_install_maybe_enable_pretty_permalinks() [38109] #36628
    • Rename $usingpi to $using_index_permalinks for clarity. [38067] #37380
    • After [37747], make sure $usingpi, $writable, and $update_required are defined before checking them on permalinks update.


    • Use the correct admin screen when searching for plugins via Ajax [38091] #37373


    • Link to the Plugin Developer Handbook on DevHub as the primary resource for information on extending WordPress [38105] #37399


    • Introduce capability tests for non-logged-in users. [38096] #37405

    Script Loader

    • Limit resource hinting to enqueued assets [38100] #37385
    • Increase priority of wp_resource_hints() so hints get printed before scripts and styles [38046] #37317


    • Improve back compat of values passed to ‘terms_clauses’ filter [38099] #37378
    • Correct WP_Error usage in WP_Tax_Query::clean_query() and WP_Tax_Query::transform_query(). [38079] #37389
    • On term.php, use $taxnow when fetching currently edited term. #37205. [38069] #37205

    Text Changes

    • Change Network deactivate %s to upper case, for consistency with Network Activate %s. [38081] #37290
    • Add a full stop to “Invalid taxonomy” and “Invalid term ID” strings, for consistency with similar post-related messages. [38077] #18218, #32329
    • After [37297], replace two more instances of “WordPress.org Plugin Directory” with “WordPress Plugin Directory”.


    • Replace the editor iframe title on MacOS to fix the help shortcut. [38110] #36863

    Twenty Thirteen

    • Fix selective refresh of Masonry-laid out widgets by deferring initialization until DOM ready [38083] #37390

    Unit Tests


    • Give context to some install/update strings to allow for differentiation between theme and plugin translations. [38057] #37290


    • Update help text for user-new.php to remove reference to sending passwords via email. [38064] #36763

    WP Mail


    Thanks to @ramiy, @afercia, @alleynoah, @ambrosey, @anneschmidt, @azaozz, @boonebgorges, @bpetty, @celloexpressions, @cfinke, @Clorith, @dabnpits, @davidakennedy, @dlh, @DrewAPicture, @flixos, @flixos90, @iandunn, @jeremyfelt, @joemcgill, @johnbillion, @karmatosed, @morganestes, @ocean90, @pbearne, @pento, @peterwilsoncc, @rachelbaker, @ramiy, @rmccue, @ruudjoyo, @SergeyBiryukov, @stephenharris, @swissspidy, @szepeviktor, @underdude, @vishalkakadiya, @westonruter, and @zuige for their contributions!

  • Grant Palin 6:45 pm on July 13, 2016 Permalink |
    Tags: ,   

    Week In Core, July 6 – July 12 2016 

    Welcome back the latest issue of Week in Core, covering changes [37980-38039]. Here are the highlights:

    • 59 commits
    • 39 contributors
    • 61 tickets created
    • 3 tickets reopened
    • 20 tickets closed

    Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

    Code Changes


    • Add aria-button-if-js class to links in the media list table that behave like buttons when JavaScript is on. [38031] #26504, #36555




    • Fix panel indentation in Firefox. [37984] #34622
    • Ensure that WP_Customize_Setting::value() can return a previewed value for aggregated multidimensionals. [37982] #37294
    • Ensure that WP_Customize_Nav_Menu_Section is able to represent a placeholder nav menu. [37981] #37293


    • The $labels property in WP_Post_Type is of type object as returned from get_post_type_labels(), not an array. [38030] #36217
    • Standardize references to “meta box” or “meta boxes” as two distinct words throughout core documentation per the core spelling guide. [38029] #32246
    • Standardize capitalization of Ajax throughout core documentation per the core spelling guide. [38028] #32246
    • Link the 4.6 changelog entry in the DocBlock for register_meta() to its corresponding dev note on make/core. [38027] #35658, #37318
    • Fix a typo in the DocBlock for themes_api(), themes_api, plugins_api(), and plugins_api. [38025] #32246
    • Fix minor formatting and syntax for wp-admin/* elements introduced in 4.6. [38024] #37318
    • Cross-reference parent classes in DocBlocks for upgrader classes moved to their own files in 4.6 [38023] #36618, #37318
    • Improve usefulness of DocBlocks for ajax-actions.php functions introduced in 4.6. [38022] #37318
    • Fix a typo in the hook doc description for the enable_loading_advanced_cache_dropin run-time filter. [38021] #34936, #37318
    • Fix a typo in an inline hook reference in the DocBlock for comment_form(). [38018] #32246
    • Fix typo in a comment in Core_Upgrader::upgrade(). [38014] #37314
    • Correct the description of the $network_id in WP_Site_Query. [38008] #35791
    • Fix an incorrect @since comment. [37994] #36495
    • Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core. [37985] #36495


    • Include locale stylesheets after default styles. [38010] #36839
    • Don’t print the HTML for a featured image if a post has no featured image. [37988] #37288



    • I18N: Introduce an on/off switch for locales where comment number needs to be declined. [37987] #13651


    • Don’t use ‘full’ as array key in wp_calculate_image_srcset(). [37986] #36345


    • Add a missing @since param for wp_object_type_exists(). [38038] #35658
    • Don’t pass an empty $meta_key to get_metadata(). [37996] #35658
    • Introduce an initial set of tests for register_meta(). [37995] #35658
    • Make registration error conditions return consistently. [37991] #
    • Ensure $object_subtype is available before use in register_meta(). [37990] #35658


    • Use hash_equals() when comparing hashes to mitigate timing attacks. [38032] #37324
    • Correct logic used to display an Edit User link after adding a user. [38007] #37223
    • Add a nonce to the “Cancel” URL when changing a site’s admin email. [38006] #36954
    • Don’t store max_num_pages in WP_Network_Query query cache. [38003] #32504
    • Don’t store max_num_pages in WP_Site_Query query cache. [38002] #35791


    • Improve Ajax search of installed plugins. [38033] #37230
    • In plugin_basename() sort plugin paths before resolving symlinks. [37983] #28441

    Resource Hints

    • Remove schemes from dns-prefetch resource hint outputs. [38036] #37240



    • Remove an unnecessary double assignment in WP_Term_Query::get_terms(). [38020] #37254


    • Don’t change the memory_limit setting during tests. See #32075. [38016] #32075
    • Ensure that test for invalid user ID actually uses an invalid user ID. [38005] #37308
    • Add description for data_get_comments_number_text_declension(). [37997] #13651

    Text Changes


    • PHP 7 compatibility issues fixed in Twenty Thirteen and Twenty Fourteen [38026] #37227



    • Allow 0 as a value for the tabindex property of a menu item. [38035] #32495


    • Do not remove event handlers when trying to update a theme. [38019] #37285


    • After [37972], ensure that $box['args'] is an array before trying to access __widget_basename. [38004] #35021


    Thanks to @A5hleyRich, @adamsilverstein, @afercia, @azaozz, @birgire, @boonebgorges, @DrewAPicture, @elrae, @ericlewis, @Faison, @helen, @iseulde, @jaspermdegroot, @jdgrimes, @jeremyfelt, @joedolson, @joemcgill, @johnbillion, @jrf, @karmatosed, @metodiew, @niallkennedy, @ocean90, @pento, @peterwilsoncc, @rachelbaker, @ramiy, @rmccue, @sc0ttkclark, @scottbasgaard, @SergeyBiryukov, @spacedmonkey, @stubgo, @swissspidy, @valendesigns, @westonruter, @wpfo, @xknown, and @Zuige for their contributions!

  • Eric Binnion 2:56 pm on July 6, 2016 Permalink |
    Tags: ,   

    Week In Core, June 29 – July 5 2016 

    Welcome back the latest issue of Week in Core, covering changes [37903-37980]. Here are the highlights:

    • 77 commits
    • 50 contributors
    • 87 tickets created
    • 12 tickets reopened
    • 86 tickets closed

    Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

    Code Changes


    • List tables: Make the pagination links and text better responsive. [37912] #33962

    Build/Test Tools

    • Unit Tests: Change some @group annotations to @ticket. [37954]
    • Unit Tests: Remove @group foo annotation from Tests_WP_Resource_Hints::test_dns_prefetch_styles(). [37951]
    • Unit Tests: Remove an unused parameter from Tests_Ajax_DimComment::test_with_bad_id(). Prevents a “too few arguments” error in PHP 7.1.0. [37950] #37271



    • Fix site icon preview in RTL. [37964] #37286
    • Prevent image controls with selected images smaller than pane width from being distorted through stretching to fit width. [37957] #37277
    • Use the correct variable when referring to the media frame. [37955] #36236
    • Text change on Widgets and Menus screens for buttons directing users to the Customizer. [37904] #37159
    • Add a RTL version of “browser.png” for the site icon preview. [37963] #37063
    • Reverse order of setting sanitization/validation, validating prior to sanitizing. [37942] #34893, #37192, #37247



    • After [37745], check if a featured image exists before attaching an event listener. [37977] #35657


    • Docs: Fix a typo across some function and hook docs. s/filterss/filters. [37961] #32246
    • Remove the Pragma header from responses. [37944] #37250
    • Docs: Add changelog entries to the hook doc for the safe_style_css filter denoting recent CSS attribute additions. [37931] #35877, #32246
    • Return “O B” when passing 0 to size_format(). [37962] #36635


    • Add unit tests for wp_get_http_headers() and wp_remote_retrieve_headers(). [37907] #37090


    • Make the translator comment added in [37858] more explicit and consistent with other similar instances. [37948] #37147
    • Localize the jQuery UI datepicker. [37908] #29420
    • Adjust the regex in wp_maybe_decline_date() to avoid \w and \b, as they don’t work with Unicode characters correctly in PHP 5.3.3 and earlier versions. [37979] #36790
    • Add tests for wp_maybe_decline_date(). Reverts [37718], $wp_locale needs to be cloned. [37975] #36790


    • Avoid PHP notices when trying to show a parent post title of an orphaned post type. [37952] #37186
    • Only show parent post titles when the user can read said post. [37941] #37186
    • Improve form validation errors handling when editing images. [37966] #36316
    • In Walker_Nav_Menu_Edit::start_el() initialize $original_title with false. Prevents displaying “Original:” without a title when adding a menu item without a title. [37953] #36729

    Networks and Sites

    • Docs: Remove duplicate text for is_main_site() parameter. [37932] #37241
    • Simplify logic assigning orderby in get_site_by_path(). [37930] #37215
    • Revert [37874]. After [37923], get_blog_details() contained a now unnecessary attempt at back-compat for objects stored in cache. [37929] #36717
    • Revert property type changes in WP_Site. [37922] #34292
    • Docs: Supplement a changelog entry in the DocBlock for the $id property in WP_Network. [37919] #36717
    • Lazy load extended WP_Site properties when requested. [37918] #36935
    • Docs: Add changelog entries to the DocBlocks for the $blog_id and $site_id properties in WP_Site. [37917] #36717
    • Fire the ms_loaded action after multisite’s bootstrap has finished. [37916] #37235
    • Network Admin: Replace “Options saved.” notice with “Settings saved.”. [37959] #37279

    Options, Meta APIs

    • Make retrieving registered metadata actually work. The initial implementation used a single argument, which has now been added to the whitelist. [37934] #35658
    • Ensure $args is an array and simplify compat logic. [37933] #35658
    • Actually use fallback auth for the previous registration method. [37928] #35658
    • Introduce an expanded meta registration API. There still need to be lots of tests written for previous and new behaviors, and many things are subject to change. Maybe things will explode. #yolo [37924] #35658


    • Return the original value in apply_filters_deprecated() if no filter is registered for the tag. [37911] #10441
    • Tests: After [37861] move tests for deprecated filters into filters.php. [37909] #10441
    • Clean up uninstall_plugins option during database upgrade. [37965] #31625

    Posts, Post Type

    • In wp_ajax_inline_save(), do not apply level for non-hierarchical post types. [37913] #35010

    Post Thumbnails


    • Include a refreshed nonce in a X-WP-Nonce header when responding to an authenticated request. [37905] #35662
    • Include auto-discovery Link header when serving API requests. [37903] #35580
    • Reverse order of setting sanitization/validation, validating prior to sanitizing. [37943] #37247, #37192

    Script Loader

    Text Changes


    • Avoid announcing the theme search results too many times. [37967] #36848
    • After [37287], remove deprecated feature category. [37947] #33407
    • After [37287], add deprecated theme features to the tag list in WP_Theme::translate_header().
    • Add “Custom Logo” to the list of WordPress theme features. [37945] #33407, #36744
    • Docs: Fix typo in WP_Theme_Install_List_Table description. [37937] #37234
    • After [37742], fix the color of the “Upload Theme” button to match other page title actions. [37968] #35457


    • dbDelta() will no longer try to downgrade the size of TEXT and BLOB columns. [37939] [37938] #36748
    • Change priority for theme/update update rows. [37978] #13071
    • Reject invalid messages in the Shiny Updates postMessage handler. [37976] #37125
    • Fix plugin updates from the details modal on the Dashboard. 37974] #37131, #37126
    • Fix plugin updates from the details modal on update-core.php. [37973] #37126
    • Correctly decrement the update count after translation updates. [37971] #37127
    • Trigger a JS event when updating a theme. [37970] #37216
    • Trigger the correct event after installing an importer plugin. [37969] #37273


    • Docs: In wp_list_authors(), clarify that include and exclude arguments can also be an array. Fix duplicated exclude argument description. [37949] #37239
    • Check zxcvbn is defined before calling. [37940] #34905


    • Dashboard: Don’t add a “Configure” link to the toggle button. [37972] #35021


    Thanks to @aaires, @adamsilverstein, @afercia, @aidvu, @azaozz, @barryceelen, @birgire, @borgesbruno, @celloexpressions, @clubduece, @danielbachhuber, @DavidAnderson, @DrewAPicture, @ericlewis, @Faison, @flixos90, @Frozzare, @geekysoft, @grapplerulrich, @helen, @jeremyfelt, @jipmoors, @joemcgill, @jorbin, @Kenshino, @littler.chicken, @markjaquith, @nicholas_io, @Nikschavan, @ocean90, @Offereins, @patilswapnilv, @noahsilverstein, @pento, @peterwilsoncc, @polevaultweb, @Presskopp, @rabmalin, @rachelbaker, @ramiy, @rmccue, @sc0ttkclark, @schlessera, @SergeyBiryukov, @sidati, @spacedmonkey, @swissspidy, @voldemortensen, @welcher, and @westonruter for their contributions!

  • Dominik Schilling (ocean90) 12:38 pm on July 4, 2016 Permalink |
    Tags: ,   

    This Week in 4.6: July 4 – 10 

    This is the jump-start post for the eleventh week of the WordPress 4.6 release cycle.

    Beta 2 will land on Wednesday. Our target until then is to get the ticket count in the 4.6 milestone down to 80. (Beta 3 => 40, Beta 4 => 20, RC1 => 0.)

    Priority tickets/projects this week:

    Meetings this week:

    Bug Scrubs

    Feature Chats

    Weekly Chats

    * July 4 is a federal holiday in the US. Meeting could be canceled or postponed.

  • voldemortensen 11:13 am on June 16, 2016 Permalink |
    Tags: , ,   

    Dev Chat Summary: June 15th 2016 

    This post summarizes the weekly dev meeting on June 15th, 2016.

    Update on WordPress 4.5.3

    Still targeting Tuesday, June 21st 2016 at 14:00 UTC.

    Feature project updates

    Font Natively

    @helen updated the system fonts ticket with screenshots of the test page. The ticket still needs a few more screenshots and a patch for font-weight.

    Directly after the meeting @coderste submitted a patch for the remaining font-weight issues.

    Shiny Updates

    The results of Monday’s Shiny Updates meeting gave a partial merge approval. The commit was made today [37714]. Congratulations to the Shiny Updates team and all who were involved in any way. @swissspidy is going to lead the project for the rest of the cycle.

    Dev notes and initial field guide planning

    The Field Guide is an effort that the Core Team make each release to inform developers about important changes in the release. The Field Guide is made up of links to individual posts known as dev notes. Dev notes include things like new features, changes to watch for, and potential areas for breakage. As an example, here is the Field Guide for 4.5: https://make.wordpress.org/core/2016/03/30/wordpress-4-5-field-guide/

    Please note: dev notes do NOT need to be written by committers. Someone can work with first time authors to help them feel comfortable writing a post. If you would like to contribute to the 4.6 Field Guide please speak up in the #core Slack channel and someone will help you on your way.

    Topics that need dev notes and their potential authors:

    WCEU Contributor Day

    For the #core group there are currently ~140 signups. 20%-40% of these signups are new or not an experienced contributor (yet 🙂). Contributor days are meant to change that.

    Review handbook pages and good-first-bug report

    In order to effectively help those seeking to begin contributing to WordPress, both the contributor handbook pages and the good-first-bug report need to be reviewed and refined. These help guide new contributors in finding something to work on and properly submitting a patch.

    @lukecavanagh showed interest in helping with reviewing the handbook pages.

    Workshop about preparing a dev environment for core

    The core group is going to be huge and it will be way more productive for everyone if there was someone experienced to help new people set up their dev environments. The WCEU team is looking for someone (with a backup) to lead a workshop about preparing a dev environment for core. @adamsilverstein volunteered to help with the workshop. @jeremyfelt is going to help if any issues come up with VVV.

    If anyone else is interested please contact @_dorsvenabili or @petya.

    Component announcements/updates


    Open discussion

    • #12706 needs some eyes and an architectural decision before it can move forward. It may be a good candidate for a feature project.
    • In 4.5, the login <title> structure was fixed, but the admin pages were missed. #35774 aims to fix that.
    • #34923 is seeking feedback for accessibility, design, code review, docs, and general comments.
  • Eric Binnion 9:02 pm on June 15, 2016 Permalink |
    Tags: ,   

    Week In Core, June 7 – June 15 2016 

    Welcome back the latest issue of Week in Core, covering changes [37659-37720]. Here are the highlights:

    • 62 commits
    • 67 contributors
    • 61 tickets created
    • 15 tickets reopened
    • 80 tickets closed

    Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

    Code Changes



    • Set a defined line-height for number type inputs to fix display issue in Safari. [37693] #37024


    Bundled Theme

    • Twenty Ten: Revert pot changes after update test.[37715]



    • Do not flag a comment as a duplicate if the comment_author_email is provided but not a match. [37713] #37093
    • Fix pagination totals in the response of the inline delete actions when filtering the List Table by comment_type. [37664] #36991


    • Ensure MediaControl fetches the necessary attachment data for rendering when dynamically added via JS. [37701] #36521
    • Update server-sent setting validation notifications as changes are entered. [37700] #36944


    • Prevent jumping when using the backspace button in the Text editor in Firefox and IE. [37684] #37072
    • quickTags: when the user selects some text by triple-clicking, then wraps it in a tag, and the last selected char is \n, insert the closing tag before the line break. [37661] #29571
    • Adjust the sidebar position when moving a postbox from one column to another. [37659] #35230



    • Docs: Add extensive documentation to the remove_accents() DocBlock outlining the accented characters core replaces. 37669] #34677


    • After [37702], correct the expected result in test_size_format(). [37705] #37037
    • In size_format() and wp_convert_bytes_to_hr(), replace kB with KB for consistency with other units. [37702] #37037
    • Docs: Replace HTTP links with HTTPS. [37674] #36993
    • Docs: Improve the DocBlock summary for add_theme_support(). [37673] #32246
    • Docs: Add documentation for the variadic second parameter, $args, accepted by add_theme_support(). [37672] #37067
    • Docs: Improve documentation for the $feature parameter in the DocBlock for add_theme_support(). [37671] #32246, #37067



    • Revert the test added in [37716], as it causes errors when running the full suite. [37718] #36790
    • Adjust the regex in wp_maybe_decline_date() to handle word boundaries correctly. [37717] #36790
    • Add a unit test for wp_maybe_decline_date(). [37716] #36790
    • Add context and translator comments to Back to %s strings. [37703] #37095
    • In remove_accents(), add support for de_CH and de_CH_informal. [37698] #37076
    • Simplify the WordPress update notice for translators. [37675] #35721

    Login and Registration

    • Fire wp_no_robots() in wp_die() only if function exists. This covers cases where wp_die() is used before general-template.php is loaded. [37689] #34401


    Networks and Sites

    • Docs: Update the documentation for get_site() and the get_site filter following the removal of the $output parameter in [37652]. [37699] #35791
    • Use to_array() method on WP_Site objects in wp_get_sites(). [37667] #36717
    • Introduce get_current_network_id(). [37670] #33900
    • Tests: Split get_blog_details() test into individual tests [37666] #36566
    • Tests: Move get_blog_details() tests to their own file [37665] #36566
    • Tests: User a data provider for wp_get_sites() tests. [37662] #36566
    • Tests: Move wp_get_sites() tests to their own file [37660] #36566
    • Avoid a PHP notice in get_permalink() if default category is unavailable. [37707] #36529


    • Normalize WP_PLUGIN_DIR in the test added in [37332], otherwise it fails on Windows. [37719] #29154
    • Fix edge-case where the tab=upload page can be accessed directly. [37681] #35429

    Posts, Post Types

    • Docs: Improve the return description for wp_get_post_categories() to include more information about possible return values. [37686] #37002


    • After [37692], don’t skip set_found_posts() when no posts are found. [37712] #36687
    • Allow plugins to supply post results instead of having WP_Query fetch them from the database. [37692] #36687
    • Docs: Improve first-order clause documentation for the $meta_query parameter in the constructor for WP_Meta_Query. [37688] #32659


    • Introduce a redirect_term_location filter to change the redirect on term editing. [37696] #36367
    • More specific cap check when processing category data on post save. [37691] #36379
    • Introduce term_taxonomy_id parameter for WP_Term_Query. [37683] #37074
    • Tests: Move WP_Tax_Query tests to a more appropriate file. [37682] #37074

    Text Changes

    • Text Changes: Simplify two strings in wp_password_change_notification(). [37704] #35736


    • Make default “read more” link more accessible. [37706] #36572




    • Embeds: In WP_oEmbed::get_provider() and WP_oEmbed::get_html(), parse the $args string to an array, as we treat it as an array later. [37720] #37071
    • wp_signon() expects an array as the $credentials argument, not a string. [37697] #37071
    • Stop WP_List_Table notices from persisting on pagination navigation. [37663] #35620

    Thanks to @flixos90, @adamsilverstein, @AdamSoucie, @afercia, @afragen, @alexvandervegt, @azaozz, @boonebgorges, @dashaluna, @dd32, @dlh, @DrewAPicture, @EFAREM, @ethitter, @flixos90, @grapplerulrich, @Ipstenu, @iseulde, @j-falk, @jeherve, @jeremyfelt, @jipmoors, @jnylen0, @joelwills, @joemcgill, @john_schlick, @johnbillion, @johnjamesjacoby, @johnpgreen, @joostdevalk, @jorbin, @JoshuaGoodwin, @azaozz, @jpdavoutian, @Kau-Boy, @khag7, @kraftbj, @mapk, @melchoyce, @michael-arestad, @obenland, @ocean90, @odysseygate, @pansotdev, @paulwilde, @pento, @peterwilsoncc, @Presskopp, @rachelbaker, @ramiy, @ramiy, @rmccue, @ronalfy, @ryelle, @semil, @SergeyBiryukov, @simonvik, @spacedmonkey, @stephdau, @svovaf, @swissspidy, @TimothyBlynJacobs, @tlovett1, @westonruter, and @zakb8 for their contributions!

  • Eric Binnion 2:41 pm on June 9, 2016 Permalink |
    Tags: ,   

    Week In Core, May 31 – June 7 2016 

    Welcome back the latest issue of Week in Core, covering changes [37601-37658]. Here are the highlights:

    • 58 commits
    • 23 contributors
    • 67 tickets created
    • 14 tickets reopened
    • 87 tickets closed

    Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

    Code Changes



    • Allow for the consistent filtering of auth_redirect_scheme [37651] #37047


    • Introduce filters for skipping parts of the bootstrap process. [37626] #34936

    Build/Test Tools

    • Disable foreign_key_checks while dropping existing tables. [37654] #37046
    • Run prerelease as the precommit task for configuration file changes. [37650] #36528
    • Update grunt-patch-wordpress to 0.4.0. [37612] #35917


    • In wp_list_comments(), queries with custom pagination params should obey default comment_status logic. [37655] #37048
    • Improve caching for hierarchical queries. [37625] #36487
    • Remove debugging code left in WP_Comments_List_Table->get_views(). Originally introduced in [9556] and leftover from [15578]. [37624] #36938
    • Use clean_comment_cache() in wp_insert_comment(). [37614] #36906
    • Make the ‘comment’ cache group persistent. [37613] #36906
    • Add tests demonstrating individual comment cache invalidation. [37609] #36906
    • Break the inline display of comment content urls on the Moderate Comment screen. [37607] #36568


    • Template: Pass $blog_id to the get_custom_logo filter. [37645] #36639



    • 'undefined' !== 'undefiend' Fix a typo in [37630]. [37632] #36662
    • Do not use the modal-open class to determine when the wpLink modal is open. [37630] #36662
    • wpLink: swap the order of innerText and textContent to avoid getting styled text in IE. [37621] #36783
    • Ensure the page is refreshed when the users navigate to it with the Back or Forward buttons. [37619] #35852
    • Autoresize. Resize on backspace. Don’t make it smaller than the minimum height. [37603] #36482


    • Auto-embedding: We already match URLs on their own line, add another regex to match URLs in their own paragraphs. Always exclude the \s<>" characters when matching. Add more unit tests. [37627] #25387

    External Libraries


    • Docs: Relocate some @see tags and add missing @access tags to method and property DocBlocks in Walker_Nav_Menu. [37639] #32246
    • Autoload: Add missed @since tags to SPL shim. [37637] #36926
    • Docs: Reformat several parameter descriptions in Walker_Nav_Menu to directly reference wp_nav_menu() rather than use inline @see tags. [37638] #32246
    • Autoload: Introduce shim for SPL autoloading. [37636] #36926
    • Add tests for remove_query_arg(). [37631] #37008


    • Add tests demonstrating query cache invalidation on comment CRUD actions. [37608] #36909

    Networks and Sites

    • Fix switch( spacing after [37657] [37658] #36717
    • Allow access to network and site properties using current naming conventions. 37657] #36717
    • Deprecate wp_get_sites(). Defer to the new get_sites() replacement, offering fresh (…or cached) WP_Site objects via the new WP_Site_Query. [37653] #36994
    • Remove the output parameter from get_site(). Full WP_Site objects should be expected from get_site() rather than arrays. [37652] #35791
    • Remove superfluous code from network_edit_site_nav(). [37629] #15800
    • Add initial tests for WP_MS_Sites_List_Table. [37633] #36675
    • Replace $wpdb->blog queries in get_site_by_path() with get_sites() [37628] #35791
    • Replace $wpdb->blog queries in ms-functions.php with get_sites(). [37620] #35791
    • Bump last_changed cache on site update and creation. [37618] #35791
    • Replace wp_get_sites() internals with get_sites(). [37617] #35791
    • Introduce get_sites(). get_sites() is a wrapper for WP_Site_Query. [37616] #35791

    Rest API

    • Create the general wp_check_jsonp_callback() function for validating JSONP callback functions. [37646] #28523


    • Add a note about uniqueness to the doc block for get_term_by(). [37656] #36878
    • Tests: Compare wp_set_object_terms() results using term_taxonomy_id. Introduced in [37647]. [37649] #37009
    • Tests: Add tests demonstrating wp_set_object_terms() behavior when matching $terms. [37647] #37009
    • Tests: Move wp_set_object_terms() tests to their own file. This is a redo of [37642], this time not done in the not right place. [37644] #37009
    • Add test demonstrating that wp_insert_term() will suffix a slug if the new term’s auto-generated slug matches that of an existing term. [37641] #37009
    • Tests: Move wp_set_object_terms() tests to their own file. [37642] #37009
    • No, really, don’t pass results of ‘count’ query through ‘get_terms’ filter. [37634] #36992
    • Don’t pass results of ‘count’ query through ‘get_terms’ filter. [37623] #36992
    • Remove unused variable from get_terms(). Missed in [37572]. See #35381. [37622] #35381, #36992
    • Docs: Improve return descriptions for get_the_category() and get_the_term() to specifically notate that an array of WP_Term objects is returned on success. [37615] #32246



    • Don’t use Language_Pack_Upgrader_Skin::before() and Language_Pack_Upgrader_Skin::after() when translations are up to date. [37635] #36615
    • Database: dbDelta() will no longer try to downgrade the size of TEXT and BLOB columns. Merge of [37525] to the 4.5 branch. [37606] #36748



    Thanks to @achbed, @afercia, @azaozz, @boonebgorges, @borgesbruno, @dabnpits, @dougwollison, @DrewAPicture, @ericlewis, @flixos90, @iseulde, @javorszky, @jeremyfelt, @jorbin, @juanfra, @JustinSainton, @michaelbeil, @netweb, @ocean90, @pento, @rachelbaker, @rmccue, @smerriman, and @spacedmonkey for their contributions!

  • Eric Binnion 2:39 pm on May 18, 2016 Permalink |
    Tags: ,   

    Week In Core, May 11 – May 18 2016 

    Welcome back the latest issue of Week in Core, covering changes [37417-37457]. Here are the highlights:

    • 40 commits
    • 31 contributors
    • 74 tickets created
    • 12 tickets reopened
    • 78 tickets closed

    Ticket numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.


    • Make the tab order match the visual order in the Edit terms screens. [37439] #35664


    • System font: The stack does not work with the font shorthand property. [37442] #36753
    • Credits: Add a missing closing tag. [37434] #35911
    • Admin font: Remove a redundant sans-serif declaration. [37419] #36753


    Build/Test Tools


    • Add $data parameter to include the comment data in the edit_comment action. [37423] #36427


    • Change attachment condition in the site icon control to prevent errors. [37456] #36749
    • Include shortcut button in Custom Menu widget to edit the selected menu in the Customizer. [37437] #32683
    • Remove use of reserved word default in Underscore template which breaks IE8. Fixes #36793. [37450] [37417] #36793
    • Handle filtering sidebars_widgets when the underlying option is non-existent. Merge of [37352] to the 4.5 branch. Fixes #36660. [37453] #36389, #36660
    • Clean up media control CSS. Removes unnecessary wrapper elements and refactors class names to eliminate duplication of rule selectors. [37426] #30618


    • TinyMCE: prevent showing the placeholder URL when adding a link and clicking more than once on the Insert Link button. Merge of [37301] to the 4.5 branch. [37454] #36637
    • Editor: Merge two strings. [37441] #27756


    Filesystem API

    • Don’t add '.' to the list of directories which need to be checked/created when extracting a file. [37421] #36570


    • Docs: Standardize on ‘backward compatibility/compatible’ nomenclature in core inline docs. [37431] #36835


    • Use prepared JSON data correctly. This was modifying a variable that was never used. Oops. [37444] #36358
    • Pass array-like object to http_api_debug. This was mistakingly passing the Requests_Response object, which caused fatal errors with debugging tools. [37436] #33055
    • Fix compatibility with cURL < 7.22. [37430] #33055
    • Add browser compatibility hook for 3xx redirects. [37428] used the wrong method of adding this hook, now corrected. [37429] #33055
    • Replace internals with Requests library. [37428] #33055


    • In get_translations_for_domain() check if the global $l10n was set by _load_textdomain_just_in_time() before accessing it. [37440] #34114


    Networks and Sites

    • Tests: Set public to 1 in the default blog factory. [37418] #36566
    • Tests: Use factory method to generate fixtures for wp_unique_post_slug() tests. [37443] #20419

    Posts, Post Types

    • Fire a post_action_{$action} action for a custom post action request. [37424] #27056



    • Add changelog entries for when the classes were moved to its own file. [37432] #36618


    • List Tables: Pass the $which parameter to restrict_manage_posts and restrict_manage_users. [37422] #35307


    • Create WP_Widget_Mock as a mock of WP_Widget which can be used for widget tests. You cannot instantiate an abstract class. Not even in WordPress world. [37427] #35981
    • Make WP_Widget a real abstract class. [37425] #35981

    Thanks to @adamsilverstein, @afercia, @boonebgorges, @brianvan, @celloexpressions, @danielhuesken, @DrewAPicture, @dshanske, @helen, @iseulde, @jeremyfelt, @jfarthing84, @joemcgill, @johnbillion, @jorbin, @jrf, @martin.krcho, @mintindeed, @Mte90, @neverything, @ocean90, @pavelevap, @rachelbaker, @ramiy, @rmccue, @samantha-miller, @SergeyBiryukov, @sudar, @swissspidy, @tfrommen, and @westonruter for their contributions!

  • Eric Binnion 2:39 pm on April 27, 2016 Permalink
    Tags: ,   

    Week in Core, Apr 19– Apr 26 2016 

    Welcome back the latest issue of Week in Core, covering changes [37254-37314]. Here are the highlights:

    Ticket numbers based on trac timeline for the period above.

    Code Changes

    Build/Test Tools

    • Build/Test Tools: Reset the PHPMailer mock in Tests_Mail::tearDown(). [37307] #36609
    • Tests: Use the same incrementor for all fields belonging to a given text fixture. [37299] #35199
    • Don’t announce PR builds in Slack. People may submit a PR to our travis build repo, we shouldn’t notify slack when that happens. [37268] #36607
    • Tests: Allow override of MULTISITE and SUBDOMAIN_INSTALL constants [37266] #36567


    • Use get_the_terms() to verify that a post belongs to the requested %category%. The get_the_terms() wrapper provides cache support, and saves a database hit
      on sites with a persistent cache backend. [37262] #36602
    • Tests: After [37260], use WP’s setUpBeforeClass() wrappers. This ensures no leakage between tests of fixture IDs. [37261] #36602
    • Add tests for permastruct containing /%category%/. [37260] #36602


    •  Add a $comment parameter to get_comment_author_url_link(). Add unit tests (none exist). [37305] #36573
    • Add unordered list styling to Comments List Table rows and Moderate Comment screen. [37304] #36160
    • Keep comments safe in the Edit Post screen. Warns users that have added a new Comment or began editing an existing without saving their changes, before they press the “update” button which would wipe out their comment changes. [37303] #32818
    • Dashboard: toggle the “View” link for comments when Approving / Unapproving from the Dashboard widget. [37302] #35518


    • Suppress connection error messages when WP_DEBUG isn’t enabled. This is a partial revert of [35860], which has been causing un-catchable warnings to be generated on some server configurations. [37293] [37292] #36629, #21870


    • Tests: Pre-declare the $year_url property before initialization in Tests_Get_Archives::setUp(). [37271] #36611


    • Add missing return descriptions for WP_Filesystem_SSH2::chown() and WP_Filesystem_SSH2::run_command(). [37270] #30989
    • Clarify the return descriptions for get_the_time(), get_post_time(), and get_post_modified_time() to specify when an integer in the form of a Unix timestamp should be expected. [37265] #30989
    • Clarify return descriptions in the DocBlocks for set_user_setting() and delete_user_setting(). [37264] #30989
    • Clarify parameter and return descriptions in the DocBlock for wp_set_all_user_settings(). [37263] #30989
    • Capitalize URL – an acronym for Uniform Resource Locator – when used in the context of inline docs in wp-includes/link-template.php. [37259] #30406
    • Notate more optional parameter defaults for a variety of function DocBlocks in wp-includes/link-template.php. [37258] #30406
    • Notate optional parameter defaults for a variety of function DocBlocks in wp-includes/link-template.php. [37254] #30406


    • TinyMCE: prevent showing the placeholder URL when adding a link and clicking more than once on the Insert Link button. [37301] #36637


    • Smilies: Move convert_smilies to happen later in the the_content filter. [37298] #36306
    • The :roll: smiley is now an emoji. [37296] #36365
    • The diversity support test was incorrectly passing on all browsers. [37257] [37256] #36604


    • Revert [36230] which removed the rss-http feed content type. Removing this means that any feeds which are using this feed content type are now being served as application/octet-stream instead of text/xml. [37284] [37282] #36620


    • Customize/Formatting: Move sanitize_hex_color(), sanitize_hex_color_no_hash(), and maybe_hash_hex_color() from class-wp-customize-manager.php into formatting.php. Adds missing braces. [37283] #33413, #27583
    • Administration: Introduce admin_print_footer_scripts-$hook_suffix", a dynamic version of the admin_print_footer_scripts hook. This is now more consistent with the generic admin_print_scripts and the dynamic admin_print_scripts-$hook_suffix hooks fired in wp-admin/admin-header.php. [37279] #34334


    Networks and Sites

    • Tests: Account for flexible IDs in main network deletion test. [37300] #36566
    • Tests: Exclude ms-files test group from default PHPUnit config. [37269] #36566
    • Tests: Add speedTrapListener to multisite’s PHPUnit config [37267] #36566, #30017

    Posts, Post Types

    • Add parameter documentation for ‘post_category’ to wp_insert_post(). [37255] #36601

    Post Thumbnails

    • Fix logic bug and tests from [37308] where post-thumbnails support wasn’t added if there were no previous post_types with support already. [37313] #22080
    • When using add_theme_support( ‘post-thumbnails’, array( $post_types) ) merge the supported post_types. [37308] #22080


    • Tests: More explicit fixture content when testing s=0 query string. After [36647], the unit test generator sequence can put a 0 into the
      ‘post_excerpt’ field of a post fixture, causing false positives. [37280] #36622

    Rewrite Rules


    • Docs: Move the clarification of is_tax() and WP_Query::is_tax() return value added in [37235] to @return description. [37281] #36331

    Text Changes



    • Clear plugin/theme caches directly after a plugin/theme has been updated. This is a follow-up to [34751]. [37272] #34029, #36383


    • Remove the “Name” column of the Users table from appearing sortable. [37314] #28064
    • Docs: Reflect the new 'user' option for wp_new_user_notification()‘s $notify parameter added in [37276] in wp_send_new_user_notifications() docs as well. [37278] #36009
    • Add a unit test for [37276]. [37277] #36009
    • In wp_new_user_notification(), sdd 'user' option for the $notify parameter, which allows for sending notification only to the user created. [37276] #36009

    Thanks to @akibjorklund, @alexkingorg, @flixos90, @rachelbaker, @azaozz, @boonebgorges, @davewarfel, @downstairsdev, @DrewAPicture, @flixos90, @grapplerulrich, @helen, @iseulde, @jeremyfelt, @jesin, @jmichaelward, @joemcgill, @johnbillion, @jorbin, @juanfra, @Latz, @mpol, @ocean90, @pbearne, @pento, @polevaultweb, @rachelbaker, @rmccue, @SergeyBiryukov, @spacedmonkey, @swissspidy, @tfrommen, @tollmanz, @Unyson, @welcher, @westonruter, @WiZZarD_, and @wonderboymusic for their contributions!

  • 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

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