wordpress-develop/src/wp-includes
Felix Arntz 1795dbe25a Multisite: Introduce a site initialization and uninitialization API.
This changeset makes the new CRUD API for sites introduced in [43548] usable for real-world sites. A new function `wp_initialize_site()`, which takes care of creating a site's database tables and populating them with initial values, is hooked into the site insertion process that is initiated when calling `wp_insert_site()`. Similarly, a new function `wp_uninitialize_site()`, which takes care of dropping a site's database tables, is hooked into the site deletion process that is initiated when calling `wp_delete_site()`.

A new function `wp_is_site_initialized()` completes the API, allowing to check whether a site is initialized. Since this function always makes a database request in its default behavior, it should be called with caution. Plugins that would like to use site initialization in special ways can leverage a `pre_wp_is_site_initialized` filter to alter that default behavior.

The separate handling of the site's row in the `wp_blogs` database table and the actual site setup allows for more flexibility in controlling whether or how a site's data is set up. For example, a unit test that only checks data from the site's database table row can unhook the site initialization process to improve performance. At the same time, developers consuming the new sites API only need to know about the CRUD functions, since the initialization and uninitialization processes happen internally.

With this changeset, the foundation for a sites REST API endpoint is fully available. The previously recommended functions `wpmu_create_blog()` and `wpmu_delete_blog()` now call the new respective function internally. Further follow-up work to this includes replacing calls to `wpmu_create_blog()` with `wp_insert_site()`, `update_blog_details()` with `wp_update_site()` and `wpmu_delete_blog()` with `wp_delete_blog()` throughout the codebase.

As a side-effect of this work, the `wpmu_new_blog`, `delete_blog`, and `deleted_blog` actions and the `install_blog()` function have been deprecated.

Fixes #41333. See #40364.


git-svn-id: https://develop.svn.wordpress.org/trunk@43654 602fd350-edb4-49c9-b593-d223f7449a82
2018-09-24 15:08:32 +00:00
..
certificates
css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
customize I18n: Improve translators comments [2]. 2018-08-30 12:35:08 +00:00
fonts
ID3 Media: update the getID3 library to version 1.9.14 to avoid fatal errors in PHP7. 2017-07-31 19:49:31 +00:00
images
IXR XML-RPC: Add default values to IXR_Message for PHP 7.2 compatibility to avoid PHP Warnings. 2018-02-06 02:55:38 +00:00
pomo General: PHP7.3 throws an E_WARNING when using continue to target a switch 2018-09-23 22:49:02 +00:00
random_compat External Libraries: Update Random_Compat from 1.2.1 to 2.0.11. 2017-11-08 11:47:04 +00:00
Requests
rest-api REST API: Pass correct ID to meta->update_value to permit setting term meta during term creation. 2018-09-12 23:55:47 +00:00
SimplePie
Text External Libraries: Remove usage of each() from the Text_Diff_Engine_native class. 2017-10-26 12:51:51 +00:00
theme-compat Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
widgets Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
admin-bar.php Multisite: Display registered new_item text for post post type in My Sites menu. 2018-08-29 15:50:00 +00:00
atomlib.php General: Remove most uses of create_function() 2016-12-13 01:48:41 +00:00
author-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
bookmark-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
bookmark.php Code is Poetry. 2017-11-30 23:09:33 +00:00
cache.php Code is Poetry. 2017-11-30 23:09:33 +00:00
canonical.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
capabilities.php Docs: Update @since version to 4.9.8 for meta registration subtype handling. 2018-07-23 17:01:02 +00:00
category-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
category.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-feed.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-http.php Docs: Add missing HTTP methods to the list of those supported. 2018-05-14 15:22:45 +00:00
class-IXR.php
class-json.php Docs: Fix typo in Services_JSON DocBlocks. 2018-05-27 19:41:16 +00:00
class-oembed.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-phpass.php
class-phpmailer.php Update PHPMailer to 5.2.22. 2017-01-11 01:22:46 +00:00
class-pop3.php Docs: Fix multiple trivial typos throughout a variety of core files. 2016-10-31 06:27:53 +00:00
class-requests.php
class-simplepie.php
class-smtp.php Update PHPMailer to 5.2.22. 2017-01-11 01:22:46 +00:00
class-snoopy.php
class-walker-category-dropdown.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-walker-category.php Taxonomy: Make sure wp_list_categories() correctly outputs term name of 0. 2018-09-02 22:08:05 +00:00
class-walker-comment.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-walker-nav-menu.php Docs: Correct and improve various inline documentation. 2018-03-25 19:34:31 +00:00
class-walker-page-dropdown.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-walker-page.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 18:09:56 +00:00
class-wp-admin-bar.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-ajax-response.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-comment-query.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 18:09:56 +00:00
class-wp-comment.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-customize-control.php Docs: Remove @static notations from property DocBlocks in wp-admin/* and wp-includes/* classes. 2018-02-25 20:31:33 +00:00
class-wp-customize-manager.php Customize: Safeguard a check on the customize_validate_{$setting_id} filter value to ensure it is a WP_Error. 2018-08-19 16:37:12 +00:00
class-wp-customize-nav-menus.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-customize-panel.php Docs: Remove @static notations from property DocBlocks in wp-admin/* and wp-includes/* classes. 2018-02-25 20:31:33 +00:00
class-wp-customize-section.php Docs: Remove @static notations from property DocBlocks in wp-admin/* and wp-includes/* classes. 2018-02-25 20:31:33 +00:00
class-wp-customize-setting.php General: Introduce WP_Error::has_errors() method and use it where appropriate. 2018-02-27 02:30:46 +00:00
class-wp-customize-widgets.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-dependency.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-editor.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-embed.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-error.php General: Introduce WP_Error::has_errors() method and use it where appropriate. 2018-02-27 02:30:46 +00:00
class-wp-feed-cache-transient.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-feed-cache.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-hook.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-http-cookie.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-http-curl.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-http-encoding.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-http-ixr-client.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class-wp-http-proxy.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-http-requests-hooks.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-http-requests-response.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-http-response.php HTTP API: Use WP_HTTP_Response::set_data() in ::__construct() instead of directly accessing the $data property. 2017-10-03 15:17:09 +00:00
class-wp-http-streams.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-image-editor-gd.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-image-editor-imagick.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-image-editor.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-list-util.php General: Allow wp_list_pluck() to operate on arrays of references without overwriting the referenced items. 2018-01-18 05:17:23 +00:00
class-wp-locale-switcher.php Docs: Add @since version for WP_Locale_Switcher::init(). 2017-12-15 00:31:55 +00:00
class-wp-locale.php I18N: Remove unused $start_of_week property from WP_Locale. 2018-02-18 16:31:57 +00:00
class-wp-matchesmapregex.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-meta-query.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-metadata-lazyloader.php Docs: Correct and improve various inline documentation. 2018-03-25 19:34:31 +00:00
class-wp-network-query.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class-wp-network.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class-wp-oembed-controller.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-post-type.php Docs: Remove @access notations from method DocBlocks in wp-includes/* classes. 2017-07-27 00:40:27 +00:00
class-wp-post.php Docs: Update and correct various inline documentation. 2018-05-07 17:19:48 +00:00
class-wp-query.php Docs: Correct and improve various inline documentation. 2018-08-27 14:27:22 +00:00
class-wp-rewrite.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-role.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class-wp-roles.php Docs: Document WP_Roles properties with typed array notation. 2018-03-22 18:55:20 +00:00
class-wp-session-tokens.php Docs: Correct and improve docblocks for user session management functionality. 2018-09-14 13:44:50 +00:00
class-wp-simplepie-file.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-simplepie-sanitize-kses.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-site-query.php Multisite: Add meta query functionality to WP_Site_Query. 2018-04-27 11:40:35 +00:00
class-wp-site.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-tax-query.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-taxonomy.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-term-query.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-term.php Docs: Remove @static notations from method DocBlocks in wp-includes/* classes. 2018-02-25 20:21:37 +00:00
class-wp-text-diff-renderer-inline.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-text-diff-renderer-table.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-theme.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-user-meta-session-tokens.php Docs: Correct and improve docblocks for user session management functionality. 2018-09-14 13:44:50 +00:00
class-wp-user-query.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class-wp-user.php Users: Add LIMIT 1 to SQL query in WP_User::get_data_by(), as only one row is requested. 2018-09-23 15:32:48 +00:00
class-wp-walker.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-widget-factory.php Code is Poetry. 2017-11-30 23:09:33 +00:00
class-wp-widget.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp-xmlrpc-server.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
class-wp.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class.wp-dependencies.php Docs: Document more parameters and properties using typed array notation. 2018-03-25 19:32:24 +00:00
class.wp-scripts.php Docs: Improve inline documentation for WP_Scripts. 2018-08-27 14:33:35 +00:00
class.wp-styles.php Script/Style Dependencies: Simplify some logic in WP_Styles::do_item(). 2018-08-11 17:41:02 +00:00
comment-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
comment.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
compat.php General: In the is_countable() polyfill, if the provided object implements SimpleXMLElement or ResourceBundle, consider it countable. 2018-05-10 17:57:38 +00:00
cron.php Cron API: Clarify documentation for wp_reschedule_event(). 2018-09-03 04:03:10 +00:00
date.php Docs: Correct and improve various inline documentation. 2018-03-25 19:34:31 +00:00
default-constants.php Docs: Fix a copy paste error in the DocBlock summary for wp_ssl_constants(), see [13062]. 2018-02-09 18:20:15 +00:00
default-filters.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
default-widgets.php Widgets: Introduce Gallery widget for displaying image galleries. 2017-09-25 06:27:32 +00:00
deprecated.php Administration: Change all the occurrences of "(opens in a new window)" to "(opens in a new tab)". 2018-05-05 09:44:21 +00:00
embed-template.php
embed.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed-atom-comments.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed-atom.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed-rdf.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed-rss2-comments.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed-rss2.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed-rss.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
feed.php Docs: Remove erroneous zero-width space before URL in fetch_feed() DocBlock. 2017-12-21 02:39:21 +00:00
formatting.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
functions.php Media: Improve display and accessibility of meta data in detail view. 2018-09-08 04:19:40 +00:00
functions.wp-scripts.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
functions.wp-styles.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
general-template.php Date/Time: Make get_the_date() call get_post_time() for consistency with get_the_time(). 2018-08-30 08:49:40 +00:00
http.php HTTP: Don't treat localhost as same host by default. 2018-04-03 14:59:44 +00:00
kses.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
l10n.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
link-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
load.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
locale.php Load: No-op locale.php 2016-12-03 04:15:33 +00:00
media-template.php Media: Improve display and accessibility of meta data in detail view. 2018-09-08 04:19:40 +00:00
media.php Media: Improve display and accessibility of meta data in detail view. 2018-09-08 04:19:40 +00:00
meta.php Docs: Correct and improve various inline documentation. 2018-08-27 14:27:22 +00:00
ms-blogs.php Multisite: Introduce a site initialization and uninitialization API. 2018-09-24 15:08:32 +00:00
ms-default-constants.php Code is Poetry. 2017-11-30 23:09:33 +00:00
ms-default-filters.php Multisite: Introduce a site initialization and uninitialization API. 2018-09-24 15:08:32 +00:00
ms-deprecated.php Multisite: Introduce a site initialization and uninitialization API. 2018-09-24 15:08:32 +00:00
ms-files.php Code is Poetry. 2017-11-30 23:09:33 +00:00
ms-functions.php Multisite: Introduce a site initialization and uninitialization API. 2018-09-24 15:08:32 +00:00
ms-load.php Networks and Sites: In get_site_by_path(), use single domain and path parameters if there's only one item to look for. 2018-02-11 17:08:58 +00:00
ms-settings.php Code is Poetry. 2017-11-30 23:09:33 +00:00
nav-menu-template.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
nav-menu.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
option.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
pluggable-deprecated.php
pluggable.php Docs: Correct and improve some docblocks. 2018-09-14 13:34:50 +00:00
plugin.php Code is Poetry. 2017-11-30 23:09:33 +00:00
post-formats.php Post Formats: Don't assign a variable inside if statement in get_post_format(). 2018-08-30 09:00:42 +00:00
post-template.php Docs: Remove an erroneous closing brace from the description of wp_list_pages(). 2018-08-19 11:16:59 +00:00
post-thumbnail-template.php Pinking shears. 2018-03-18 14:22:09 +00:00
post.php Docs: Correct @since value for _wp_privacy_statuses(). 2018-09-13 10:19:28 +00:00
query.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
registration-functions.php Code is Poetry. 2017-11-30 23:09:33 +00:00
registration.php Code is Poetry. 2017-11-30 23:09:33 +00:00
rest-api.php Code is Poetry. 2017-11-30 23:09:33 +00:00
revision.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
rewrite.php Code is Poetry. 2017-11-30 23:09:33 +00:00
rss-functions.php Code is Poetry. 2017-11-30 23:09:33 +00:00
rss.php Docs: Fix multiple trivial typos throughout a variety of core files. 2016-10-31 06:27:53 +00:00
script-loader.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
session.php Code is Poetry. 2017-11-30 23:09:33 +00:00
shortcodes.php Docs: Correct parameter name in strip_shortcodes_tagnames filter DocBlock. 2018-08-02 15:12:56 +00:00
spl-autoload-compat.php General: Move the __autoload() compat function into its own file to prevent deprecated notices being thrown by the compiler in PHP 7.2. 2017-07-28 01:14:03 +00:00
taxonomy.php Docs: Update @since version for (un)registered_taxonomy_for_object_type actions introduced in [43558]. 2018-09-06 07:48:32 +00:00
template-loader.php Code is Poetry. 2017-11-30 23:09:33 +00:00
template.php Docs: Add missing code formatting to various @since entries. 2018-02-09 16:54:58 +00:00
theme.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
update.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
user.php Privacy: When clicking a confirmation link for a privacy request, return a WP_Error object if the link has expired. 2018-09-03 21:43:13 +00:00
vars.php Code is Poetry. 2017-11-30 23:09:33 +00:00
version.php TinyMCE: update to 4.8.0, changelog: https://www.tiny.cloud/docs/changelog/#version480july112018 2018-07-16 08:06:32 +00:00
widgets.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
wlwmanifest.xml
wp-db.php Coding Standards: Upgrade WPCS to 1.0.0 2018-08-17 01:50:26 +00:00
wp-diff.php Code is Poetry. 2017-11-30 23:09:33 +00:00