PluginProbe
Gutenberg / 22.7.1
Gutenberg v22.7.1
23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 7.4.0 All 402 releases
gutenberg / lib / upgrade.php

upgrade.php in Gutenberg 22.7.1, at lib/upgrade.php

65 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Upgrading Gutenberg's database.
4 *
5 * @package gutenberg
6 */
7
8 if ( ! defined( '_GUTENBERG_VERSION_MIGRATION' ) ) {
9 // It's necessary to update this version every time a new migration is needed.
10 define( '_GUTENBERG_VERSION_MIGRATION', '22.6.0' );
11 }
12
13 /**
14 * Migrate Gutenberg's database on upgrade.
15 *
16 * @access private
17 * @internal
18 */
19 function _gutenberg_migrate_database() {
20 // The default value used here is the first version before migrations were added.
21 $gutenberg_installed_version = get_option( 'gutenberg_version_migration', '9.7.0' );
22
23 if ( _GUTENBERG_VERSION_MIGRATION !== $gutenberg_installed_version ) {
24 if ( version_compare( $gutenberg_installed_version, '9.8.0', '<' ) ) {
25 _gutenberg_migrate_remove_fse_drafts();
26 }
27
28 if ( version_compare( $gutenberg_installed_version, '22.6.0', '<' ) ) {
29 _gutenberg_migrate_enable_real_time_collaboration();
30 }
31
32 update_option( 'gutenberg_version_migration', _GUTENBERG_VERSION_MIGRATION );
33 }
34 }
35
36 /**
37 * Remove FSE auto drafts and associated terms.
38 *
39 * @access private
40 * @internal
41 */
42 function _gutenberg_migrate_remove_fse_drafts() {
43 // Delete auto-draft templates and template parts.
44 $delete_query = new WP_Query(
45 array(
46 'post_status' => array( 'auto-draft' ),
47 'post_type' => array( 'wp_template', 'wp_template_part' ),
48 'posts_per_page' => -1,
49 )
50 );
51 foreach ( $delete_query->posts as $post ) {
52 wp_delete_post( $post->ID, true );
53 }
54
55 // Delete _wp_file_based term.
56 $term = get_term_by( 'name', '_wp_file_based', 'wp_theme' );
57 if ( $term ) {
58 wp_delete_term( $term->term_id, 'wp_theme' );
59 }
60
61 // Delete useless options.
62 delete_option( 'gutenberg_last_synchronize_theme_template_checks' );
63 delete_option( 'gutenberg_last_synchronize_theme_template-part_checks' );
64 }
65