constants(); // PSR-4 autoload. $psr4_autoload = dirname( __DIR__ ) . '/vendor/autoload.php'; if ( file_exists( $psr4_autoload ) ) { require $psr4_autoload; } // Register autoload for classes. require_once RWMB_INC_DIR . 'autoloader.php'; $autoloader = new RWMB_Autoloader(); $autoloader->add( RWMB_INC_DIR, 'RW_' ); $autoloader->add( RWMB_INC_DIR, 'RWMB_' ); $autoloader->add( RWMB_INC_DIR . 'about', 'RWMB_' ); $autoloader->add( RWMB_INC_DIR . 'fields', 'RWMB_', '_Field' ); $autoloader->add( RWMB_INC_DIR . 'walkers', 'RWMB_Walker_' ); $autoloader->add( RWMB_INC_DIR . 'interfaces', 'RWMB_', '_Interface' ); $autoloader->add( RWMB_INC_DIR . 'storages', 'RWMB_', '_Storage' ); $autoloader->add( RWMB_INC_DIR . 'helpers', 'RWMB_Helpers_' ); $autoloader->add( RWMB_INC_DIR . 'update', 'RWMB_Update_' ); $autoloader->register(); // Plugin core. $core = new RWMB_Core(); $core->init(); $shortcode = new RWMB_Shortcode(); $shortcode->init(); // Validation module. new RWMB_Validation(); $sanitizer = new RWMB_Sanitizer(); $sanitizer->init(); $media_modal = new RWMB_Media_Modal(); $media_modal->init(); // WPML Compatibility. $wpml = new RWMB_WPML(); $wpml->init(); // Update. $update_option = new \MetaBox\Updater\Option(); $update_checker = new \MetaBox\Updater\Checker( $update_option ); $update_checker->init(); $update_settings = new \MetaBox\Updater\Settings( $update_checker, $update_option ); $update_settings->init(); $update_notification = new \MetaBox\Updater\Notification( $update_checker, $update_option ); $update_notification->init(); // Register categories for page builders. new \MetaBox\Block\Register(); new \MetaBox\Oxygen\Register(); new \MetaBox\Elementor\Register(); new \MetaBox\Bricks\Register(); if ( is_admin() ) { $about = new RWMB_About( $update_checker ); $about->init(); } // Public functions. require_once RWMB_INC_DIR . 'functions.php'; } }