id ) { return; } printf( '

%s

', esc_html( sprintf( /* translators: 1: minimum PHP version, 2: minimum WordPress version, 3: PHP version of this site, 4: WordPress version of this site. */ __( 'aiModelka needs PHP %1$s and WordPress %2$s or newer. This site has PHP %3$s and WordPress %4$s. Ask your hosting provider to update them.', 'aimodelka' ), AIMODELKA_MIN_PHP, AIMODELKA_MIN_WP, PHP_VERSION, get_bloginfo( 'version' ) ) ) ); } require_once AIMODELKA_PLUGIN_DIR . 'src/class-autoloader.php'; \Aimodelka\Autoloader::register(); // Включение и выключение плагина: фоновые задачи регистрируются и снимаются здесь // (Documents/WPPlugin-HLD.md §4.3, раздел «Jobs»). register_activation_hook( __FILE__, array( \Aimodelka\Jobs\Scheduler::class, 'on_activation' ) ); register_deactivation_hook( __FILE__, array( \Aimodelka\Jobs\Scheduler::class, 'on_deactivation' ) ); // Объявление совместимости с возможностями WooCommerce. Событие срабатывает внутри // загрузки WooCommerce, поэтому подписаться на него нужно заранее, ещё до «plugins_loaded». add_action( 'before_woocommerce_init', array( \Aimodelka\Plugin::class, 'declare_woocommerce_compatibility' ) ); // Сам запуск — после загрузки всех плагинов: папка «aimodelka» по алфавиту раньше // «woocommerce», и в момент подключения этого файла WooCommerce ещё не загружен. add_action( 'plugins_loaded', array( \Aimodelka\Plugin::class, 'boot' ) );