Here we go again! It’s time to look at what’s going on in WordPress core 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 beta 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 accessibility 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 admin (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()
and body_class()
. [31979] #30883
- In
WP_Posts_List_Table::get_views()
, don’t add the current
class to the all
status link if ->user_posts_count
has a value, which triggers the additional mine
status. [31959] #24869
Users
WP_User_Query
: When querying users with fields=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
General
Emoji
- Enhance twemoji.js to support passing of additional attributes for the replacement images. [31948] #31627
- When encoding emoji into HTML 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 an alt
attribute 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 filter 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 widget 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 “sidebar 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 Category 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 plugin 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
beforeunload
string for shiny updates. [31989] #31769
- Update aria-label when doing a shiny plugin update [31982] #31722
- Add some logic into
wp_tempnam
to prevent it creating ‘falsey’ directory names that might get used elsewhere within WordPress. [31936] #31811
I18N 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 network (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 invalid 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
url
and return
URL 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
Administration
- Admin notices: Make (most) core notices dismissible. These no longer return upon refreshing the page when JS 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
postMessage
support for header_textcolor
to improve the user experience in the Customizer 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
- Alter the regex in
wptexturize()
to properly handle input like: <> "Hello world" <>
. [31965] #30344
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
width
or caption
), don’t bail without first checking that the alignment’s value is not alignnone
. If so, add the class
to 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 iOS 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 supports utf8mb4
. It’s possible that the environment may have changed since upgrading the DB, so we can fall back to utf8
when that happens. [31947] #31771
- When we’re checking to see if the MySQL 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 for mysqlnd
versions, which using different version numbering to libmysqlclient
. [31939] #31644
Login and Registration
- Disable body scrolling when session expired log in modal is open. [31945] #31610
Media
- Revert using
require
for JS modules because that made them read-only for the public. [31935] #31684, #28510
Menus
- Fix duplicate ID for Save Menu button on Menus screen. [31927] #31803
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!
#4-2, #week-in-core