Here we go again! It’s time to look at what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. This edition of WordPress Core Weekly covers March 28, 2015 [31916] through April 4, 2015 [32002].
Note: 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.
Highlights from this week
This week WordPress 4.2 Beta 4 got released. This hopefully last betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. saw lots of 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) improvements and added the ability to make adminadmin (and super admin) notices dismissible. Emoji support in core is now pretty stable – maybe the next weekly post is written in emojis only? Also, there were some notes posted on utf8mb4 and the term splitting in WordPress 4.2.
Last but not least, @obenland and @wonderboymusic were announced as release leads for WordPress 4.3 and 4.4, respectively. Congrats! 🎉
Code Updates
Posts, Post Types
- After [31114] and [31323], ‘View Post’ generated in
get_sample_permalink_html()should go to pretty permalink. [32002] #30910 - Avoid duplicate classes for different terms with UTF–8 slugs in
post_class()andbody_class(). [31979] #30883 - In
WP_Posts_List_Table::get_views(), don’t add thecurrentclass to theallstatus link if->user_posts_counthas a value, which triggers the additionalminestatus. [31959] #24869
Users
WP_User_Query: When querying users withfields=all, ensure that caps and roles are filled for the current site. [32001] #31878- When updating the email address for an existing user, make sure the email address is not already in use. [31963] #30647
Comments
- Remove hidden
user_idinput fromwp_comment_reply(). [31999] #30307 - Use a more specific selector for comment moderation hotkeys after [31513]. [31929] #31545
General
- WordPress 4.2-beta4 [31997][31998]
- Respect numerical keys in
add_query_arg(). Avoid the use ofarray_replace()inadd_query_arg(). [31966][31967] #31306 - TinyMCE: always focus the editor after using the floated toolbar. [31972] #30619
Emoji
- Enhance twemoji.js to support passing of additional attributes for the replacement images. [31948] #31627
- When encoding emoji into HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities, 0 was being incorrectly trimmed from the right side of the hex string, causing some characters to be encoded incorrectly. [31926]
- When staticizing emoji into
<img>tags, include analtattribute of the original Emoji, to match both Smiley and Twemoji<img>tags. [31924] - Change the emoji CDN to w.org, from wp.com. [31938][31977] #31651
Themes
- Accessibility improvements for Themes screen: fix keyboard events and callbacks for the Search field, increase trigger timeout a bit, improve Esc. key handling. [31994] #26600
- Improve focus styling of add-new-theme link. [31952] #31203
- Add a 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. to short-circuit
wp_prepare_themes_for_js(). [31943] #31789
Administration
- Accessibility improvements for Options general screen: add missing labels and aria attributes. [31993] #31144
- Accessibility: Add landmark roles to WordPress admin areas. [31955] #31450
- Make sure the update button in “At a Glance” dashboard widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. does not overlap with long strings. [31928] #30766
Press This
- Prevent pasting of HTML in the title H2. Insert the clipboard text instead. [31987] #31768
- Use more accurate wording on Tools screen. [31980] #31836
- Use the error message returned by
wp_update_post()instead of a generic one. [31930] #31808 - Fix accessibility for the post options “sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.”. Fix size of the Add CategoryCategory The ‘category’ taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. button. [31925] #31575
Upgrade/Install
- Introduce a string representing bulk 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. update success, ready for string freeze. Not used yet. [31991] #31770
- Plugins Browser: Replace the download count with the number of Active installs of the plugin. [31990] #31865
- Add
beforeunloadstring for shiny updates. [31989] #31769 - Update aria-label when doing a shiny plugin update [31982] #31722
- Add some logic into
wp_tempnamto prevent it creating ‘falsey’ directory names that might get used elsewhere within WordPress. [31936] #31811
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.
- Merge title strings on Edit Site screens. [31962] #31844
- Remove unused
printf()on networknetwork (versus site, blog) setup screen. [31961] #31841 - Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings. [31941][31951] #28502
Customize
- Theme Switcher: Navigation streamlining. [31975] #31289
- Theme Switcher: Remove “Add New” references. [31968] #31837
- Theme Switcher: Switch the details/live preview buttons. [31954] #31791
- Theme Switcher: Use the global panel back button instead of adding a new one. [31918] #31794
- Theme Switcher: Fix invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. HTML markup when New Theme control is added. [31950] #31203
- Make the available widgets overlay closable on narrow screens. [31974] #28784
- Defer rendering theme controls until the section is displayed. [31944] #31793
- Revert [31911]. We want to preserve
urlandreturnURLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parameters to make the experience smoother. [31933] #31782 - Increase size of search field and disable text size adjustment to prevent auto zooming. [31917] #31794
- Increase initial-scale viewport specification to 1.0. [31921] #31794, #28784
- Fix selector for container which includes the controls. Broken since [30102]. [31916] #31794, #31014
XML-RPC
- Correctly set the post author in
wp_xmlrpc_server::mw_editPost()when the current user is not the author of the post. [31983] #24916
Networks and Sites
- Check for an active blogblog (versus network, site) before generating the
my-sites.phpURL.[31981] #31755 - Unit tests for
wpmu_validate_user_signup(). [31970][31978] #17904, #26784
Administration
- Admin notices: Make (most) core notices dismissible. These no longer return upon refreshing the page when JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. is on and working, so users should be able to dismiss them. [31973] #31233, #23367
Bundled Theme
- Twenty Eleven: add
postMessagesupport forheader_textcolorto improve the user experience in 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.. [31971] #24128 - Twenty Fifteen: adjust scroll behavior to make sure sidebar height is calculated during scroll events, not just resize events. [31934] #31734
- Twenty Thirteen: make sure submenu links work correctly on small screens with touch events. [31932] #31762
Formatting
Permalinks
- When shifting
WP_Rewrite::flush_rules()to a later action if it was called too early, make sure to do a hard flush if requested. [31964] #30501
Media
- When editing an image from the editor, and the image has a value for alignment (but not for
widthorcaption), don’t bail without first checking that the alignment’s value is notalignnone. If so, add theclassto the<a>before bailing. [31958] #21848 - Media Library: Add a label for attachment type select in list mode. [31942] #31795
Editor
- wpLink: Enable smooth scrolling on iOSiOS The operating system used on iPhones and iPads. devices. [31957] #31612
Database
- When we check the character set of a column, and find that it’s
utf8mb4, we should also check that the current connection supportsutf8mb4. It’s possible that the environment may have changed since upgrading the DB, so we can fall back toutf8when that happens. [31947] #31771 - When we’re checking to see if the MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com client library supports
utf8mb4, we need a separate check formysqlndversions, which using different version numbering tolibmysqlclient. [31939] #31644
Login and Registration
Media
- Revert using
requirefor JS modules because that made them read-only for the public. [31935] #31684, #28510
Menus
Thanks to @A5hleyRich, @adamsilverstein, @afercia, @azaozz, @boonebgorges, @cdog, @celloexpressions, @davideugenepratt, @dd32, @deconf, @Denis-de-Bernardy, @designsimply @dllh, @DrewAPictur, @DrewAPicture, @ericlewis, @evansolomon, @folletto, @helen, @iseulde, @jeremyfelt, @joedolson, @johnbillion, @jorbin, @jorbin, @kraftbj, @lancewillett, @markoheijnen, @mattheu, @mattwiebe, @MattyRob, @mehulkaklotar, @MikeHansenMe, @miqrogroove, @mordauk, @mrahmadawais, @ocean90, @paulwilde, @pento, @ramiy, @redsweater, @rittesh.patel, @sagarjadhav, @SergeyBiryukov, @sgrant, @stephdau, @swissspidy, @tyxla, @valendesigns, @westonruter, and @wonderboymusic for their contributions!