WC_Admin_Notices::init │ public static │ WC 1.0

Initializes the class.

Method of the class: WC_Admin_Notices{}

No Hooks.

Returns

void. Nothing (null).

Usage

$result = WC_Admin_Notices::init();

WC_Admin_Notices::init() code WC 11.1.2

public static function init() {
	self::$is_multisite = is_multisite();
	self::set_notices( get_option( 'woocommerce_admin_notices', array() ) );
	if ( defined( 'WC_PHP_MIN_REQUIREMENTS_NOTICE' ) ) {
		self::remove_notice( WC_PHP_MIN_REQUIREMENTS_NOTICE );
	}

	add_action( 'switch_theme', array( __CLASS__, 'reset_admin_notices' ) );
	add_action( 'woocommerce_installed', array( __CLASS__, 'reset_admin_notices' ) );
	add_action( 'admin_init', array( __CLASS__, 'hide_notices' ), 20 );
	add_action( 'wp_ajax_woocommerce_hide_notice', array( __CLASS__, 'ajax_hide_notice' ) );

	// @TODO: This prevents Action Scheduler async jobs from storing empty list of notices during WC installation.
	// That could lead to OBW not starting and 'Run setup wizard' notice not appearing in WP admin, which we want
	// to avoid.
	if ( ! WC_Install::is_new_install() || ! wc_is_running_from_async_action_scheduler() ) {
		add_action( 'shutdown', array( __CLASS__, 'store_notices' ) );
	}

	if ( current_user_can( 'manage_woocommerce' ) ) {
		add_action( 'admin_print_styles', array( __CLASS__, 'add_notices' ) );
	}
}