create_new_site returning false - replaced insert_blog with wp_insert_site
Description of the Change
Replaced deprecated function insert_blog() with wp_insert_site().
When running wp mu-migration import all without passing a value for --blog_id, create_new_site() returned false . This update returns the ID of a newly created site and also creates the site.
Error received:
PHP Deprecated: insert_blog is <strong>deprecated</strong> since version 5.1.0! Use wp_insert_site() instead. in .../functions.php on line 4861
Benefits
This fix uses the WP replacement for wp_insert_site(), wp_insert_site() which also returns an int for the ID of the newly created site: https://developer.wordpress.org/reference/functions/wp_insert_site/ . This should simply replace a deprecated function (which is no longer working when testing with WP v5.7.2).
Possible Drawbacks
The array defined as $new_site_meta var includes predefined values for public, archived, mature, etc. These could present a problem if a migration originates from a multisite. My use test case was for a single site origin.
Verification Process
Manually running and local unit tests; have not pushed any new tests with this update.
Checklist:
- [ ] I have read the CONTRIBUTING document.
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my change.
- [ ] All new and existing tests passed.
@simondw looks like there are a couple test failures, mind taking a look at those to see if your PR might need to account for something there?
@simondw any thoughts on the questions above?