<?php /** * Bootstraps synchronization (collaborative editing). * * @package gutenberg */ /** * Initializes the collaborative editing secret. */ function gutenberg_rest_api_init_collaborative_editing() { $gutenberg_experiments = get_option( 'gutenberg-experiments' ); if ( ! $gutenberg_experiments || ! array_key_exists( 'gutenberg-sync-collaboration', $gutenberg_experiments ) ) { return; } $collaborative_editing_secret = get_site_option( 'collaborative_editing_secret' ); if ( ! $collaborative_editing_secret ) { $collaborative_editing_secret = wp_generate_password( 64, false ); } add_site_option( 'collaborative_editing_secret', $collaborative_editing_secret ); wp_add_inline_script( 'wp-sync', 'window.__experimentalCollaborativeEditingSecret = "' . $collaborative_editing_secret . '";', 'before' ); } add_action( 'admin_init', 'gutenberg_rest_api_init_collaborative_editing' );