WordPress Core Weekly

Howdy, and welcome to this week’s installment of WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Weekly – covering February 26, 2015 [31545] through March 4, 2015 [31620].

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

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

Build/Test Tools: @voldemortensen
Comments: @rachelbaker
Editor – Press This: @michael-arestad, @stephdau
General: @SergeyBiryukov
I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: @SergeyBiryukov
Options, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. APIs: @MikeHansenMe
Themes – Customize: @voldemortensen
Users: @justinsainton

These maintainers are vital to keeping WordPress development running as smoothly as possible. They triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors.

Dev Chat Notes

This week’s Dev Chat was a lively one, with updates on the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. and Press This (with an emphasis on accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility), hooray!), Shiny Updates (needs helping hands, see the todo list), Emoji (not just for smiles), and Accessibility (revisiting the age-old a vs button question).

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

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

Tickets needing a look:

Code Updates

It’s been a busy week with lots of commits, so let’s get into the ticketticket Created for both bug reports and feature development on the bug tracker. overview:


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


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



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



  • Autocomplete: Update CSS based on both jQuery UIUI User interface and general visual changes. [31611] #31427
  • Add wp.a11y.speak() for audible alerts/updates in screen readers. [31594] #31368
  • Remove the once-placeholder-esque “tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) hint”, which has not worked in quite some time. [31607] #31485
  • When sanitizing a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to redirect to, UTF-8 characters can be URL encoded, instead of being removed. [31587] #31486
  • Introduce get_object_terms 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. in wp_get_object_terms(). [31581] #18828
  • In get_avatar_data() and get_avatar(), allow height and width to be specified separately (both default to size). Also allow arbitrary attributes on the <img> via the extra_attr arg. [31561] #31469
  • Permalinks: In wp_get_attachment_url(), convert to HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. when possible. [31614] #15928

Posts, Post Types

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

Press This

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

[31601] #31493

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

[31595] #31373

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

[31588] #31373

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


  • TinyMCE: set ‘directionality’ and add the LTR button when in RTL. [31580] #31474
  • RTL improvements: [31577] #31478, #31474
  • Fix and update buttons styles. [31598] #31498
  • When there is a protocol mismatch (httpHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. vs. https), use server-side media detection instead of submitting a form as it triggers “Unsafe data” warning in some browsers. [31584] #31468
  • Fix selecting a post format (radio buttons) with the keyboard. [31583] #31440
  • Accessibility enhancements [31566] #31449
  • Enable scrollbars in Firefox, remove overflow-x: hidden from the html element. [31565] #31455
  • Fix notices/errors classes. [31549] #31456


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

External Libraries


  • Settings APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: Allow passing a class to add_settings_field() via the $args array. [31560] #30168, #28975

Build/Test Tools

  • RTL CSS generation: Switch from CSSJanus to RTLCSS. [31573] #31332
  • Run unit tests on Travis CI with PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher nightlies. With PHP7 in active development, this will help us identify issues there. [31558] #31454
  • Update grunt-patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.-wordpress to 0.3.0. [31557] #31466

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

#4-2, #week-in-core