Go to file
Felix Arntz c29d019762 Multisite: Complete the new CRUD API for managing sites.
New functions `wp_insert_site( $data )`, `wp_update_site( $id, $data )` and `wp_delete_site( $id )` are introduced to manage site rows in the `wp_blogs` table, forming the new CRUD API together with the existing `get_site()` / `get_sites()`. The new API provides various benefits over the previously existing API, fixing several cache invalidation issues and being hook-driven so that normalization and validation of the passed data can be fully customized.

New hooks introduced as part of this are the actions `wp_insert_site`, `wp_update_site`, `wp_delete_site`, `wp_validate_site_data` and the filter `wp_normalize_site_data`.

At this point, `wp_insert_site()` does not handle setting up the site's database tables, and `wp_delete_site()` does not handle dropping the site's database tables, so the two can not yet be used directly as full replacements of `wpmu_create_blog()` and `wpmu_delete_blog()`. Managing the site's database tables will be added via hooks as part of the follow-up ticket #41333.

The existing functions `wpmu_create_blog()`, `update_blog_details()`, and `wpmu_delete_blog()` make use of the respective new counterpart and will be obsolete once #41333 has been completed.

Props flixos90, jeremyfelt, spacedmonkey.
Fixes #40364.


git-svn-id: https://develop.svn.wordpress.org/trunk@43548 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-01 13:05:44 +00:00
src Multisite: Complete the new CRUD API for managing sites. 2018-08-01 13:05:44 +00:00
tests Multisite: Complete the new CRUD API for managing sites. 2018-08-01 13:05:44 +00:00
tools/i18n Remove the svn:executable property from files that don't need it. 2017-11-17 02:57:27 +00:00
.editorconfig General: Instruct file editors not to trim trailing whitespace in markdown files. 2018-03-20 22:14:53 +00:00
.gitignore Build/Tools: Update PHPCS ruleset for WP Core and related Composer setup. 2018-06-15 15:56:58 +00:00
.jshintrc General: Remove .jshintrc and *.json from the 2-space-indent .editorconfig group. 2017-10-12 01:57:45 +00:00
.npmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.nvmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.travis.yml BUILD/TEST TOOLS: Report Travis test results to make/hosting PHPUnit test results 2018-01-16 20:28:42 +00:00
composer.json Build/Tools: Update PHPCS ruleset for WP Core and related Composer setup. 2018-06-15 15:56:58 +00:00
composer.lock Build/Tools: Update PHPCS ruleset for WP Core and related Composer setup. 2018-06-15 15:56:58 +00:00
Gruntfile.js Build/Test Tools: Avoid running full PHPUnit test suite for every PHP file change. 2018-06-08 04:40:18 +00:00
jsdoc.conf.json Build Tools: Fix JSDoc configuration include paths. 2018-06-14 12:45:06 +00:00
package-lock.json Emoji: Update Twemoji to version 11.0. 2018-06-20 04:20:32 +00:00
package.json Emoji: Update Twemoji to version 11.0. 2018-06-20 04:20:32 +00:00
phpcs.xml.dist Build/Tools: Update PHPCS ruleset for WP Core and related Composer setup. 2018-06-15 15:56:58 +00:00
phpunit.xml.dist Build/Test Tools: Allow code coverage reports to be generated. 2018-02-07 22:20:25 +00:00
webpack.config.dev.js Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
webpack.config.prod.js Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
wp-cli.yml Tools: Update wp-cli.yml to point to the build directory. 2018-05-25 00:14:14 +00:00
wp-config-sample.php Code is Poetry. 2017-11-30 23:09:33 +00:00
wp-tests-config-sample.php Build/Test Tools: Roses are red, this fixes stuff. 2018-05-23 17:54:44 +00:00