Welcome back the latest issue of Week in Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [39233-39340]. Here are the highlights:
- 108 commits
- 53 contributors
- 114 tickets created
- 16 tickets reopened
- 101 tickets closed
Ticket 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
Bundled Theme
- Twenty Seventeen: CSS Cascading Style Sheets. coding standards [39340] #38901
- Twenty Seventeen: Ensure galleries display correctly in IE11. [39339] #38872
- Twenty Seventeen: Avoid an undefined index notice after [39291]. [39317] #38847
- Twenty Seventeen: Adds
background-attachment: fixed;
to devices that should support it [39297] #38395
- Twenty Seventeen: Ensure the use of proper image size for custom header The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. image [39291] #38847
- Twenty Seventeen: Remove some extraneous function calls. [39286] #38848
- Twenty Seventeen: Additional default header image optimizations. [39279] #38793
- Twenty Seventeen: Add styles for custom header video controls. [39273] #38697
- Twenty Seventeen: Compress the default header image. [39248] #38793
Comments
- REST 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/.: On Comment create, limit the ability to set the
author_ip
value directly. [39302] #38819
- REST API: Change “ipv4” types to “ip” to support ipv6. [39296] #38818
- REST API: Remove the
karma
property and query parameter from the Comments endpoints. [39292] #38821
- REST API: On comment create, return an error if the
type
property is set to anything other than comment
. [39290] #38820
- REST API: On comment create, return an error if the
post
parameter does not relate to a valid WP_Post object. [39288] #38816
- REST API: On comment create, fallback to the
user_agent
header value. [39287] #38817
- Query used to fill comment descendants should reset ‘offset’ and ‘number’ params. [39274] #37696
Customize
- Prevent selective refresh from causing infinite fallback refreshes when nav menu contains 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. items. [39333] #38890
- Remove iframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.-specific behaviors from customize preview when previewing on frontend and not contained inside iframe. [39332] #30937, #38867
- Ensure that
WP_Customize_Manager::save_changeset_post()
returns setting_validities
even for supplied values that are unchanged from values in changeset. [39320] #38705, #30937, #38865
- Ensure
WP_Customize_Setting::value()
returns previewed value for custom types utilizing the customize_value_{$id_base}
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.. [39318] #38864
- Autoprefixer for [39249]. [39301] #29158
- Remove obsolete edit shortcut style rules from Twenty Seventeen. [39285] #38776
- Ensure Close button actually closes 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. (instead of going back) after switching to a different theme inside a
customize-loader
iframe. [39271] #38833
- Prevent edit shortcut buttons from being inserted into container elements in the
head
or into elements which should not get interactive children. [39270] #27403, #38672, #38830
- Allow URL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for Codex link in Additional CSS section to be translated. [39268] #35395, #38823
- More visible focus and hover states for close and back buttons. [39249] #29158
- Ensure edit shortcuts have same background color regardless of theme colors. [39243] #38776
- Add
!important
line-height
to edit shortcut buttons. [39242] #38787
- Allow starter content to apply in a new theme when switching from another theme containing changes. [39241] #38114, #38541
- Only show video header controls if previewing front page; show explanatory notice when controls are hidden. [39237] #38796, #38778
- Adjust layout for edit shortcuts only when shown. [39233] #38651
Database
- Add support for
LIKE
-escaped tables in ::get_table_from_query()
. [39275] #38751
Emoji
General
- 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 install: De-duplicate a conditional, introduced in [38172]. [39336] #38190
- Docs: Use 3-digit, x.x.x style semantic versioning for
@since 4.7.0
entries. [39281] #37770
- Tests: Add a missing
$message
argument for assertEquals()
in [39265]. [39267] #23626
- Tests: Use
assertEquals()
‘ native functionality for delta comparison in test_wp_convert_bytes_to_hr()
. [39265] #23626
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.
- In
wp_dropdown_languages()
rename the new show_site_locale_default
argument to show_option_site_default
. [39331] #38632, #38871
- Add an additional caching layer for
_load_textdomain_just_in_time()
. [39330] #37997
- Introduce more translator comments for strings that contain placeholders but don’t have an accompanying translator comment. [39326] #38882
- Move the support forums URL in update-related HTTP 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. API 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. error messages to a separate translatable string that is already used elsewhere. [39325] #38880
- Remove an erroneous
@TODO
introduced in [39323]. [39324] #38882
- Begin introducing translator comments for strings which include placeholders but no accompanying translator comment. [39323] #38882
- REST API: Merge two error messages for edit / update. [39322] #38879
- REST API: Update error messages in
WP_REST_Comments_Controller
to use the common text for permission errors. [39321] #38875
- Use ‘WordPress hook name’ instead of ‘PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher hook name’ in translator comments added in [39315]. [39316] #38862
- Add translator comments for strings in
_deprecated_*()
functions. [39315] #38862
- Remove unnecessary
__()
calls in _rotate_image_resource()
and _flip_image_resource()
. [39314] #38862
- REST API: Merge some more permission error strings missed in [39309]. [39313] #38857
- Text Changes: Merge strings referring to
list_users
capability. [39312] #38857
- Merge two ‘RSS Error:’ strings. [39311] #38861
- REST API: After [39306], move
author_ip
argument to the correct place. [39310] #38822
- REST API: Merge and clarify some permission error strings. [39309] #38857
- Text Changes: Merge and clarify some permission error strings in the admin (and super admin). [39308] #38857
- Merge two ‘ERROR:’ strings. [39307] #38860
- REST API: After [39302], clarify
author_ip
parameter in error message. [39306] #38822
- REST API: Merge two similar permission error strings in
class-wp-rest-comments-controller.php
. [39305] #38857
- REST API: Merge two similar permission error strings. [39304] #38857
- REST API: Clarify parameters when used in error strings. [39298] #38822
- REST API: After [39252] and [39264], uppercase some more ‘ID’ references in translatable strings. [39266] #38791
- REST API: Uppercase ‘ID’ in endpoint descriptions and error messages for consistency with other strings. [39264] #38791
- REST API: Unify some more permission error messages. [39259] #38803
- REST API: Unify permission error messages. [39257] #38803
- Remove “ tags from translatable strings in
wp-includes/class-wp-customize-manager.php
. [39254] #38802
- REST API: Remove two duplicate strings, use the ones we already have. [39252] #38791
- REST API: Unify permission error messages. [39251] #38791, #34521
- REST API: After [39238] and [39239], move the remaining translator comments to preceding line. [39245] #38791
- Docs: Apply documentation standards to the new
get_available_languages
filter. [39244] #38788
- REST API: Move translator comments to preceding line. [39239] #38791
- REST API: Add translator comments to text with placeholders. [39238] #38791
- Add the
get_available_languages
filter. [39235] #38788
Media
Misc
- REST API: Check read permissions on posts when viewing comments. [39295]
- Small coding standards cleanup of wp-custom-header.js. [39277]
- Post-4.7 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. 4 bump. [39263]
- WordPress 4.7 Beta 4. [39262]
Options, Meta 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
- REST API: Update description strings to match already existing ones in the admin. [39335] #38807
Posts, Post Types
- 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): Improve the Post Attributes meta box fields labels. [39247] #38790
- Improve sanitisation of templates’ post types. [39236] #38766
REST API
Taxonomy 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.
- Update
register_taxonomy
hook to use WP_Taxonomy
object. [39283] #38765
- Prevent
wp_list_categories()
from producing not well-nested output if hide_title_if_empty
is true. [39280] #38839, #33460
Text Changes
- Merge some duplicate strings with the same meaning in error messages, adjust some other strings for consistency and accuracy. [39278] #38808
- Unify permission error messages in
wp-admin/users.php
. [39258] #38804
- Unify permission error message in
wp-ajax-response.js
. [39253] #34521
Themes
- Prevent unneeded database updates in
wp_get_custom_css_post()
. [39338] #38866
- Twenty Seventeen: Make all Codex links in DocBlocks use HTTPS 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. [39300] #38854
- Twenty Seventeen: Rename the starter content menus to match the menu area names. [39294] #38615
- Improve a11y 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) and extendability of custom video headers. [39272] #38678
- Theme starter content: Add reference IDs for most default widgets. [39261] #38615
- Theme starter content: Refine the content for pages. [39260] #38615
- Theme starter content: Add more social link items to select from. [39256] #38615
- Theme starter content: Revamp the credits 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. into an about widget. [39255] #38615
- Remove front page restriction from video header functions. [39240] #38738
- Customize: Use video-specific labels for buttons in Header Video media control. [39234] #38172
TinyMCE
- Avoid calling
editor.focus()
on loading the content in the editor. It may trigger scroll-into-view in the browser. Call the quirks fix in TinyMCE directly. [39334] #38511
- Fix automatic scroll on page load. [39299] #38511
- Remove extra space in tooltip. [39284] #38063
- Tews: fix Firefox issues. [39282] #36434, #38511
Upgrade/Install
Users
- In
edit_user()
fall back to site’s locale 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. instead of en_US
for invalid user locales. [39269] #38632, #29783, #38798
Thanks to @adamsilverstein, @afercia, @andy, @azaozz, @boonebgorges, @bradyvercher, @celloexpressions, @chesio, @ChrisWiegman, @danielbachhuber, @davidakennedy, @dd32, @derrickkoo, @dimadin, @flixos90, @folletto, @gitlost, @helen, @iseulde, @jnylen0, @joehoyle, @joemcgill, @johnbillion, @johnpgreen, @jrf, @laurelfulford, @lucasstark, @lukecavanagh, @markoheijnen, @melchoyce, @mikeschroder, @netweb, @ocean90, @odysseygate, @pento, @peterwilsoncc, @Presskopp, @rachelbaker, @ramiy, @rianrietveld, @rmccue, @schlessera, @SergeyBiryukov, @sharkomatic, @sirbrillig, @sstoqnov, @swissspidy, @tharsheblows, @timmyc, @transl8or, @welcher, @westonruter, and @yoavf for their contributions!
#4-7, #week-in-core