define_constants(); /** * Make sure ADD AUTOLOAD is scoped/vendor/scoper-autoload.php file * * @return void * @since 2.0.1 */ require_once TABLE_BUILDER_BLOCK_PLUGIN_DIR . '/scoped/vendor/scoper-autoload.php'; /** * Fires after initialization of the GutenKit plugin * * @return void * @since 1.0.0 */ add_action( 'plugins_loaded', [ $this, 'on_plugins_loaded' ] ); } private function define_constants(): void { define( 'TABLE_BUILDER_BLOCK_PLUGIN_VERSION', self::VERSION ); define( 'TABLE_BUILDER_BLOCK_PLUGIN_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) ); define( 'TABLE_BUILDER_BLOCK_PLUGIN_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) ); define( 'TABLE_BUILDER_BLOCK_INC_DIR', TABLE_BUILDER_BLOCK_PLUGIN_DIR . 'includes/' ); define( 'TABLE_BUILDER_BLOCK_STYLE_DIR', TABLE_BUILDER_BLOCK_PLUGIN_DIR . 'build/styles/' ); define( 'TABLE_BUILDER_BLOCK_DIR', TABLE_BUILDER_BLOCK_PLUGIN_DIR . 'build/blocks/' ); } public function on_plugins_loaded(): void { do_action( 'tablebuilder/before_init' ); TableBuilder\Hooks\AssetGenerator::instance(); TableBuilder\Core\Enqueue::instance(); TableBuilder\Config\Blocks::instance(); TableBuilder\Admin\Admin::instance(); // Data migration // TODO:: WIll be removed in next upcoming version (new TableBuilder\Core\DataMigration()); add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), [ $this, 'plugin_action_link' ] ); } public function plugin_action_link( array $plugin_actions ): array { return $plugin_actions; } } if ( class_exists( 'TableBuilder' ) ) { TableBuilder::get_instance(); }