register( new AB_Veh_Take_Elementor_Widget() ); } add_action( 'elementor/elements/categories_registered', 'abvt_register_elementor_category' ); function abvt_register_elementor_category( $elements_manager ) { $elements_manager->add_category( 'ab-veh-take', array( 'title' => __( 'AB Veh Take', 'ab-veh-take' ), 'icon' => 'fa fa-car', ) ); } /** * Activation: create / upgrade the bookings table + seed default settings. */ function abvt_activate_plugin() { AB_Veh_Take_DB::create_table(); AB_Veh_Take_Settings::maybe_set_defaults(); } register_activation_hook( __FILE__, 'abvt_activate_plugin' ); /** * Load plugin textdomain for translations. */ function abvt_load_textdomain() { load_plugin_textdomain( 'ab-veh-take', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); } add_action( 'init', 'abvt_load_textdomain', 0 ); /** * Boot the plugin. */ function abvt_boot() { abvt_maybe_upgrade_db(); AB_Veh_Take_Settings::maybe_migrate_theme_v2(); new AB_Veh_Take_Shortcode(); new AB_Veh_Take_Ajax(); if ( is_admin() ) { new AB_Veh_Take_Admin(); } } add_action( 'init', 'abvt_boot', 5 ); /** * Keeps the database schema current on automatic updates. */ function abvt_maybe_upgrade_db() { if ( get_option( 'abvt_db_version' ) !== ABVT_DB_VERSION ) { AB_Veh_Take_DB::create_table(); update_option( 'abvt_db_version', ABVT_DB_VERSION ); } }