Hi Everyone!
It’s that time again: WordPress Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Weekly is here. This is a catchup post and covers all commits since the last post up until 11/9/2014.
First, a couple quick notes!
- A large number of 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. changes, listed below, continue the Taxonomy Roadmap.
- There were a flurry of commits from @wonderboymusic with additional Scrutinizer cleanup, visible at #30224.
- A huge pass at Unit Test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. updates and speed optimization landed, primarily from @boonebgorges, @jeremyfelt, and @jorbin. Full details in the log on Trac.
- Just outside of the scope of this post, the first pass at the Focus feature plugin landed, so go test it out!
Taxonomies
- Do not create shared taxonomy terms. [30240] #21950; See #5809.
- Split shared taxonomy terms during term update. [30238] [30239] [30241] #5809
- Don’t force
child_of=0
for non-hierarchical taxonomies in get_terms()
. [30265] #30275
- In
get_adjacent_post()
, $excluded_terms
should check term_id
rather than term_taxonom_id
. [30263] #29663, #22112.
- Allow
resource_type
to be specified in get_ancestors()
. Being explicit about resource type (taxonomy
vs post_type
) allows for the proper resolution of conflicts when a taxonomy
and post_type
share a slug. [30141] #15029
- In
wp_insert_term()
, clean up accidental duplicate terms after insert. [30238] See #22023, #5809.
- Add some unit tests for
is_object_in_term()
. These tests check a number of the ways that different kinds of values for $terms
(integers that match term_id
, strings that match term_id
or name
or slug) are handled. [30204] #29467
- In
in_object_in_term()
, only check numeric string values against term_id
. [30205] #29467
- Introduce
term_template
param to get_the_taxonomies()
to allow theme and 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 authors to specify the formatting on term links as they are parsed into the taxonomy list. [30209] See #27238.
- Allow duplicate slugs across different post types. [30158] #18962
- In
get_terms()
, do not override hierarchical
and pad_count
when parent
is present. The previous behavior resulted in descendant terms being improperly excluded from the results when passing a parent
, even when hierarchical
had been set to true
. [30107] #29815
- Clean up
get_term_by()
caching, fix cache key/group modification that was missed in [30073], and update unit tests. [30108] #21760
Twenty Fifteen
- Use new core navigation tags. [30216] #30189
- Support for
title-tag
. [30097] #30146
- Improve support for 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.. [30274] [30275] #29988; [30230] #30164 #29980; [30272] #30165
- Improve 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) by clarifying link context #30108 [30208], adding accessible alt text for post thumbnail links. [30231] #30076, and using continue reading links for auto-generated excerpts [30237] #30135.
- Prevent a flash of visible sub menus before scripts load. [30211] #30056.
- Detach widgets from the 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. in mobile views. [30243] #30252
- Improve Styles for playlists [30213] [30269] #30163, user-selected custom colors [30221] #30234, and image alignment for RTL [30222] #30239, and body class for page templates [30100] #23470.
- Make sure that the edit link will always be right of its icon. [30215] #30171
- Add a fallback icon for social links where we don’t have an icon. [30212] #30148
- Use the new archive template tags and make archive template titling simpler. [30236] #30246
Database
- Bump
db_version
and add upgrade routine for schema change in [30056]. [30121] [30134] #22023
- WPDB’s
__get()
function should perform strict comparisons against member names. [30292]
Revisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.
- Allow revision Backbone classes to be used on pages other than revision.php. [30128] #30221
- Add a single responsibility function for outputting Revisions JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. templates:
wp_print_revision_templates()
. Use it in wp-admin/revision.php
. [30129] #30220
- Revisions modules should not rely on global settings; only pass in global settings on init, this allows the classes to be used agnostically elsewhere. [30131] #30219
Metadata
- Pass all updated 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. IDs to filters in
update_metadata()
. [30140] #11683
- Unserialize
get_metadata()
results when key
is omitted. [30115] #15030
Queries
Admin (and super admin)
- Display error message when Media Library upload fails. [30156] [30177] #29891
- Delete
admin_created_user_subject()
rather than deprecate. As it was never used as anything more than a callback to 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. before the MU merge, and is only available in user-new.php
in multisite 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, it is safe to remove this function entirely. [30176] #29915
Customizer
- Improve/introduce Customizer JavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. models for Controls, Sections, and Panels, along with a reference. [30102] see #28032, #28579, #28580, #28650, #28709, #29758. Fixes #29529.
- Improve
ColorControl
‘s wpColorPicker
to update UI User interface based on setting changes. Update Twenty Fifteen’s colorScheme
control to properly interact with the 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., using wp.customize.control()
. [30126] #30031
- Add stable sorting for panels, sections and controls in JS. Improve sorting in PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. [30214] #30225
- Bind
input
and propertychange
events for range input types. [30219] #30223
- Twenty Fourteen: Make featured content in Customizer contextual to the front page. [30143] #29578
Templates
- Introduce new template functions for archive titles and descriptions: [30223] #21995
get_the_archive_title()
and the_archive_title()
for returning/displaying the title of the current term, date, post type, post format, or author archive.
get_the_archive_description()
and the_archive_description()
for returning/displaying the description associated with the current term archive.
- In
get_page_children()
, only check $page->ancestors
once to avoid duplicates when the function recurses. Adds an argument, $ancestors
. [30246] #18962
- Allow
get_pages()
, with child_of
passed to it, to work with interrupted hierarchies. [30159] #18962
Thanks to @afercia, @avryl, @azaozz, @bobbingwide, @boonebgorges, @bradyvercher, @Caspie, @celloexpressions, @dancameron, @davidakennedy, @davidjlaietta, @dikiy_forester, @dlh, @donutz, @DrewAPicture, @ericlewis, @filosofo, @florianziegler, @garyc40, @gcorne, @greuben, @hereswhatidid, @iamtakashi, @iandstewart, @imath, @Jayjdk, @jeremyfelt, @jesin, @joedolson, @johnbillion, @jorbin, @kitchin, @kovshenin, @kraftbj, @kurtpayne, @lancewillett, @landakram, @loushou, @markjaquith, @mattkeys, @mattwiebe, @mboynes, @MikeHansenMe, @mlteal, @mordauk, @morganestes, @nacin, @NikV, @nobinobi, @obenland, @ocean90, @pento, @philiparthurmoore, @realloc, @rmccue, @ryankienstra, @sakinshrestha, @SergeyBiryukov, @slobodanmanic, @TobiasBg, @tollmanz, @tywayne, @voldemortensen, @wedi, @westonruter, and @wonderboymusic for their core contributions!
Revisions covered: [30094] to [30292]. For the complete list of commits to trunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., check out the log on Trac.
Interested in joining in? Write or test a patch for 4.1.
#4-1, #week-in-core