WC_Admin_Notices::init
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() 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' ) );
}
}