Week in Core: Sept. 13-21, 2015

Welcome to the Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. — Week Four, with super-exciting news from around WordPress-land, and Core changes and updates for Sept. 13–21, 2015 (commits [34093][34361]). This week’s core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. number 106! I’m especially jazzed about the number of new names on the list, and want to thank everyone for your effort this week.

News you can use

The WP REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. team submitted a proposal to merge the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party into core, with a two-phase integration plan. The merge proposal blog post also does a nice job of presenting the history of the plugin and some use cases.

Do you use my-hacks.php in your site? Don’t. (A quick search through the plugin and theme repos shows only 10 plugins and 3 themes that mention the file.)

Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site is making some pretty big changes, including the addition of the  WP_Network class. Check out this blog post, which outlines some of the changes and a roadmap for future updates for 4.4.

Interested in the user-focused part of WordPress? Of course you are! Join in the conversation about “Potential UI/UX projects in core.”

Code changes

Here are some highlights from the 268 change sets published to TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.; the complete report is available online in plain-text format for a bit more in-depth coverage.

Actions, filters, functions, and parameters

  • New action: 'clean_user_cache' added at the end of clean_user_cache(). This is mighty similar to clean_post_cache(). [34318] #31918
  • New action: 'wp_mail_failed' fires when a mail exception is thrown due to a phpmailer issue. [34221] #18926
  • New actions: several new actions added that replace direct calls to wp_new_user_notification() and use wp_send_new_user_notifications() as the default callback to send notifications. [34251] #33587
  • New filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.: 'mejs_settings' added to allow devs to pass more config settings to MediaElement. [34311] #33506
  • New filter: 'export_wp_filename' added to change the filename of the file to download when exporting. [34327] #29500
  • New filter: 'get_sample_permalink'. [34309] #22338
  • New function: get_preview_post_link(), to DRY the logic for applying the 'preview_post_link' filter to a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. [34170] #24345
  • New function: public method get_primary_column() in WP_List_Table. [34128] #33854
  • New functions: multiple methods added to the WP_Customize_Manager class to help reduce peak memory usage by JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.-encoding settings and controls individually. [34269] #33898
  • Parameter changes: in wp_new_user_notification(), deprecate $plaintext_pass and introduce $notify to replace it. [34116] #33654
  • New parameter: $update_meta_cache added to update_comment_cache(), which matches the pattern we use for priming post caches. [34268] #16894
  • New parameter: $post added to parent_dropdown() to allow it to be called for an arbitrary post. [34111] #23162
  • New parameter: $menu_tag added to wp_page_menu(); it defaults to div but can be overridden to allow HTML5 tags like nav. [34280] #10968
  • New parameter: $options added to WP_Screen::render_screen_options()[34093] #33182
  • New parameter: $menu_id added to wp_page_menu() so that fallback menus have the same attributes as wp_nav_menu(). [34330] #31656
  • New parameters: $title_reply_before and $title_reply_after added to comment_form() to allow the “Leave a Reply” heading level to be changed. [34308] #33775
  • New parameter$comment_ID added to wp_new_comment_notify_moderator() and  wp_new_comment_notify_postauthor()[34252] #33587
  • Updated filter parameter: Pass the $update parameter to the 'insert_user_meta' filter introduced in [33708]. [34266] #31549
  • Updated parameters in WP_Comment_Query: add comment__in to allowed values for $orderby ([34212] #33883), and add parent__in and parent__not_in query vars ([34205] #33882).

Miscellaneous features and updates

  • Implement a ‘Mine’ link on post listing screens in the adminadmin (and super admin) area for all users who have authored posts. This feature was previously only available to users who cannot edit other users’ posts (namely Authors and Contributors). [34360] #19609
  • WP_Comment_Query now fetches comments in two stages: (1) a query to get the IDs of comments matching the query vars, and (2) a query to populate the objects corresponding to the matched IDs. [34310] #8071
  • Remove support for my-hacks.php[34291] #33741
  • Allow taxonomies to be non-public when registered with  public=false[34247] #21949
  • Add register_post_type_args filter for changing register_post_type() arguments before further processing. [34242] #17447
  • Enforce limits in the Admin UIUI User interface for user_login and user_nicename fields, which are already set in the database schema. [34218] #33793
  • Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. to send email notifications for password changes ([34107] #33587) and comments ([34106] #33587).
  • Introduce the WP_Network class for multisite. [34097] #31985
  • Remove the ability to view the term editing screen for taxonomies with show_ui set to false, which is unintended behavior. [34359] #33938

Thanks to @duck_, @A5hleyRich, @aaroncampbell, @adamsilverstein, @afercia, @alireza1375, @ankit-k-gupta, @azaozz, @betzster, @bigdawggi, @bobbingwide, @boonebgorges, @bradt, @bradyvercher, @brentvr, @cfinke, @charlestonsw, @chiragswadia, @chriscct7, @Corphi, @danielbachhuber, @dd32, @dipeshkakadiya, @dllh, @DrewAPicture, @drozdz, @dshanske, @elliott-stocks, @engelen, @enshrined, @ericlewis, @ericmann, @filosofo, @GautamGupta, @geminorum, @GregLone, @helen, @iehsanir, @iworks, @jdgrimes, @jeremyfelt, @jesin, @jfarthing84, @jjeaton, @jliman, @joedolson, @joemcgill, @johnbillion, @johnjamesjacoby, @jorbin, @juhise, @junsuijin, @JustinSainton, @kitchin, @Kloon, @kraftbj, @lancewillett, @ldinclaux, @liljimmi, @linuxologos, @mbrandys, @MikeHansenMe, @MikeSchinkel, @mindctrl, @mrahmadawais, @nacin, @nbachiyski, @nerrad, @nickciske, @obenland, @ocean90, @Offereins, @paulwilde, @PhilipLakin, @polevaultweb, @psoluch, @rabmalin, @Rahe, @ramiy, @rhyswynne, @sdavis2702, @SergeyBiryukov, @sgrant, @Shelob9, @solarissmoke, @soulseekah, @stebbiv, @stevegrunwell, @swissspidy, @tharsheblows, @thomaswm, @TomHarrigan, @tommarshall, @Toro_Unit, @tychay, @tywayne, @tyxla, @UmeshSingla, @utkarshpatel, @voldemortensen, @welcher, @wenthemes, @westonruter, @wonderboymusic, @wpdev101, and @wpsmith for your contributions this week!

#4-4, #week-in-core