Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [38456-38570]. Here are the highlights:
- 114 commits
- 56 contributors
- 92 tickets created
- 6 tickets reopened
- 72 tickets closed
- WordPress 4.6.1 was released
Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.
Code Changes
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)
- Improve 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 Theme Installer initial focus. [38520] #29158, #33228, #27705
- Make links in the Customizer underlined by default. [38503] #37527
Administration
Bootstrap
class-wp-locale.phpneeds to berequire_once()-ed. [38496] #37827- goodnight sweet prince. [38480] #36335
- do not go gentle into that good night r38411, r38412, and parts of r38389. [38470] #36335
- Check that
ini_get_all()exists before calling it, allows us to work around hosts who disable the function for “security purposes”. Merges [38431] to the 4.6 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a “branch”, such as “the 4.0 branch”.. [38460] #37680
Comments
- Revert [38497] Restore direct SQL query when fetching descendants. [38537] #37696, #37966
- Don’t do direct SQL query when fetching decendants. Merge of [38446] to the 4.6 branch. [38497] #37696
Customize
- Fix php warning due to
WP_Customize_Manager::prepare_setting_validity_for_js()incorrectly assuming thatWP_Errorwill only ever have arrays in its$error_data. [38513] #37890 - Introduce
paneVisiblestate and ensure pane is visible when a construct is expanded (or focused). Fixes #36678. [38492] #27403, #36678 - Fix 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. by re-using the
add_new_itempost type label instead of using a post type name in a generic string. [38479] #34923, #37895 - Use new
$status_codeparameter forwp_send_json_error()instead of callingstatus_header()separately. [38478] #35666, #37897 - Improve handling of active state for dynamically-created controls/sections/panels. [38464] #37270
Database
Docs
- Update the
$messageparameter for_default_wp_die_handler()to notate that it can also accept aWP_Errorobject. [38518] #37770 - Correct
@sinceentry for thesmiliesfilterFilter 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. added in [38504]. [38505] #35905 - Move
term_description()reference from filter docblockdocblock (phpdoc, xref, inline docs) toget_the_archive_description()function docblock. [38495] #37259
Editor
- fix jumpiness on pressing backspace and delete in the Text editor. Merge of [38426] to the 4.6 branch. [38487] #37690
Embeds
- Clarify some assertion failure messages and correct a test URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for Twitter timelines. [38514] #32360
- Update the oEmbed provider test suite. [38512] #32360
Formatting
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.
- Handle an edgecase within the URI parsing library included in Requests, where if a double slash exists at the start of the path the URL is passed to cURL malformed. Merge of [38429] to the 4.6 branch. [38485] #37733
- Accept non-string values in cookies, fixing a regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A “3.6 regression” would be a bug in 3.6 that worked as intended in 3.5. since 4.5. Merges [38430] to the 4.6 branch. [38461] #37768
HTTP 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.
- Revert changes to
wp_parse_url()while PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 5.2 errors are investigated. [38456] #36356
General
- revert [38386],
functions.phpwas probably too tempting for some people to not load by itself. [38469] #36335 - revert [38467],
wp_is_IE()should not exist. [38468] #37699 - use a new function,
wp_is_IE(), instead of the$is_IEglobal in a number of places. [38467] #37699 - use
get_bloginfo( 'version' )instead ofglobal $wp_versionin several locations – excluding those locations which reloadversion.phpmid-flight. [38459] #37699
Help/About
I18N
Login and Registration
Media
- Sanitize upload filename. [38538] #
Menus
- Correct the docblocks for
Walker_Nav_Menu,wp_nav_menu(), andwalk_nav_menu_tree(). See #35206, #37770 [38559] #24587, #35206, #37770 - Add white space option to
wp_nav_menu()andwp_list_pages(). [38523] #35206
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
- Deprecate
wp_get_network(). [38515] #37553 - use
get_current_site()instead of$GLOBALS['current_site'](stop yelling!) in a few remaining spots. [38458] #37699 - use
get_current_blog_id()where applicable, in lieu of plucking the$blog_idglobal from outer space. [38457] #37699
Post Thumbnails
- Prevent post thumbnail previews from spilling into other images. Merge of [38433] to the 4.6 branch. [38476] #37697
Press This
- don’t check for already-hoisted global in
press-this.php. [38466] #37699 - in
wp_ajax_press_this_save_post()andwp_ajax_press_this_add_category(), don’t check for a global instance.WP_Press_Thisis a Controller, but not really a Singleton. This also keeps it from being a pluggable class, which it is right now. [38465] #37699 - in
get_shortcut_link(), just check a class constant onWP_Press_Thisinstead of instantiating the object and reading an instance prop. [38462] #37699
Query
- ‘orderby=include’ should support comma-separated lists. [30052] assumed that ‘include’ would be an array. [38500] #37904
- Use
ANDin a SQL query rather than&&. [38491] #37903 - r38356, you were not long for this world. [38471] #37830
- in
wp_old_slug_redirect(), useget_query_var()instead of importing and touching the global$wp_querydirectly. [38463] #37699
Role/Capabilitycapability A capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability).
- Correct the multisite cap tests after [38521]. See #32394 [38522] #35614, #32394
- Split 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. and primitive capabilitiescapability A capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the
current_user_canfunction. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). in the helper functions in the roles and capability tests so primitive capability tests can be made more accurate. See #32394 [38521] #35614, #32394 - Add two missing meta capabilities to the caps tests. [38482] #32394
Script Loader
- Correct default value for
$srcinwp_enqueue_script()andwp_enqueue_style(). [38519] #37770 - Close the
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.) inwp_resource_hints(). Merge of [38443] and [38447] to the 4.6 branch. [38473] #37800
Shortcodes
Smilies
TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.
- Introduce some taxonomy capability tests in preparation for introducing more fine grained capabilities for terms. [38516] #35614
- Introduce
wp_insert_term_dataandwp_update_term_datafilters for altering term data before it is inserted/updated in the database. [38484] #22293 - Correct the function description for
wp_ajax_add_link_category(). [38490] #37770 - Update various docs for parameters which are now
WP_Termobjects. See #14162 [38489] #37770, #14162
Template
- After [38486], actually use the
$descriptionvariable inget_the_archive_description(). [38493] #37259 - In
get_the_archive_description(), add support for author archives. [38486] #37259
Text Changes
- Improve Error messages in XML-RPC [38509] #37792
- Improve the timezone setting description in General Settings. Makes more clear users can set either a city or a UTC timezone offset. [38483] #34789
TinyMCE
- fix toolbars alignment in RTL. Merge of [38349] to the 4.6 branch. [38488] #37760
- change the default font for the vi localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. to the same stack as he_IL. Merge of [38427] to the 4.6 branch. [38472] #37755
Toolbar
Upgrade/Install
- After [37687], fix the number of params passed to the upgrade 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.. Merge of [38415] to the 4.6 branch. [38475] #37731
- Sanitize file name in
File_Upload_Upgrader. [38524] #
Upload
Users
- After [33766], don’t reset the password when clicking “Show Password” and then “Cancel” on Add New User screen. [38494] #37902, #33419
Pass $profileuser parameter to user_profile_picture_description filter on “Edit User” screen. [38481] #37379
Widgets
- Make the Delete/Remove links red. For consistency and accessibility, all the UIUI User interface controls that perform destructive actions should be red. [38536] #35622, #37016
## Props
Thanks to @afercia, @Akeif, @akibjorklund, @andrewp, @atimmer, @azaozz, @batmoo, @boonebgorges, @celloexpressions, @Chaos, @curdin, @dd32, @deremohan, @dlh, @DrewAPicture, @Engine, @flixos90, @Frank, @fronaldaraujo, @GaryJ, @geminorum, @gitlost, @GrantDerepas, @henrywright, @ibachal, @ideag, @ionutst, @jeremyfelt, @joemcgill, @johnbillion, @johnjamesjacoby, @johnpgreen, @jorbin, @Klein, @lukecavanagh, @monikarao, @mte90, @netweb, @nmt90, @patilswapnilv, @pento, @peterwilsoncc, @PieWP, @Presskopp, @ramiy, @Rarst, @sayedwp, @scrappy@…, @SergeyBiryukov, @smerriman, @swissspidy, @TimothyBlynJacobs, @turtlepod, @westonruter, and @wonderboymusic for their contributions!