Gutenberg and WooCommerce (>3.5) to be installed and active.', 'wc-admin' ), 'https://wordpress.org/plugins/gutenberg/', 'https://wordpress.org/plugins/woocommerce/' ); printf( '

%s

', $message ); /* WPCS: xss ok. */ } /** * Returns true if all dependencies for the wc-admin plugin are loaded. * * @return bool */ function dependencies_satisfied() { return ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) || defined( 'GUTENBERG_VERSION' ) ) && class_exists( 'WooCommerce' ) && version_compare( WC_VERSION, '3.5', '>' ); } /** * Activates wc-admin plugin when installed. */ function activate_wc_admin_plugin() { if ( ! dependencies_satisfied() ) { return; } // Initialize the WC API extensions. require_once dirname( __FILE__ ) . '/includes/class-wc-admin-api-init.php'; WC_Admin_Api_Init::install(); } register_activation_hook( WC_ADMIN_PLUGIN_FILE, 'activate_wc_admin_plugin' ); /** * Deactivate wc-admin plugin if dependencies not satisfied. */ function deactivate_wc_admin_plugin() { if ( ! dependencies_satisfied() ) { deactivate_plugins( plugin_basename( WC_ADMIN_PLUGIN_FILE ) ); unset( $_GET['activate'] ); } } add_action( 'admin_init', 'deactivate_wc_admin_plugin' ); /** * Set up the plugin, only if we can detect both Gutenberg and WooCommerce */ function wc_admin_plugins_loaded() { if ( ! dependencies_satisfied() ) { add_action( 'admin_notices', 'wc_admin_plugins_notice' ); return; } // Initialize the WC API extensions. require_once dirname( __FILE__ ) . '/includes/class-wc-admin-api-init.php'; // Some common utilities. require_once dirname( __FILE__ ) . '/lib/common.php'; // Register script files. require_once dirname( __FILE__ ) . '/lib/client-assets.php'; // Create the Admin pages. require_once dirname( __FILE__ ) . '/lib/admin.php'; } add_action( 'plugins_loaded', 'wc_admin_plugins_loaded' );