include_files(); /** * Redirect to option page after plugin activate */ $this->plugin_redirect_option_page(); /** * Add plugin setting link to the plugin. */ add_filter('plugin_action_links_' . PIXELAVO_PLUGIN_BASE, [$this, 'plugins_setting_links']); } /** * Include Require Files */ function include_files() { require_once (PIXELAVO_PL_PATH . 'includes/helper-functions.php'); require_once (PIXELAVO_PL_PATH . 'admin/admin-setting.php'); require_once (PIXELAVO_PL_PATH . 'includes/add-pixel.php'); require_once (PIXELAVO_PL_PATH . 'includes/pixel-events-data.php'); if(pixelavo_get_option('product_feed', 'pixelavo_settings') == 'on') { require_once (PIXELAVO_PL_PATH . 'includes/pixel-feed.php'); } if( is_admin() ){ require_once (PIXELAVO_PL_PATH . 'admin/class-diagnostic-data.php'); } } /** * Scripts * * Enqueue style and scripts for frontend part * @return void */ function scripts() { if(pixelavo_pixel_status()) { wp_enqueue_script('pixelavo', PIXELAVO_DIR_URL . 'assets/public/js/main.js', ['jquery'], PIXELAVO_VERSION, true); wp_localize_script('pixelavo', 'pixelavo', [ 'ajax_url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('pixelavo_ajax_event_nonce'), 'custom_events' => json_encode(pixelavo_get_custom_events()), 'additional_user_info' => apply_filters('pixelavo_additional_user_info', [], [] ) ]); wp_localize_script('pixelavo', 'pixelavo_event', []); } } /** * Plugins setting links * @param array plugin default action links * @return array plugin action link */ function plugins_setting_links($links) { $link = sprintf( '%2$s', admin_url('admin.php?page=pixelavo#/pixels'), __( 'Settings', 'pixelavo' ) ); array_unshift($links, $link); return $links; } /** * Plugin Active Hook * Run when plugin is activated */ public function plugin_activate_hook() { $events = get_option('pixelavo_events', [ 'search' => 'on', 'view_content' => 'on', 'view_category' => 'on', ]); update_option('pixelavo_events', $events); add_option('pixelavo_do_activation_redirect', true); flush_rewrite_rules(); } /** * After Active the plugin then redirect to option page * @return void */ public function plugin_redirect_option_page() { if ( get_option( 'pixelavo_do_activation_redirect', false ) ) { delete_option('pixelavo_do_activation_redirect'); if( !isset( $_GET['activate-multi'] ) ){ wp_redirect( admin_url("admin.php?page=pixelavo#/pixels") ); } } } } /** * Initialize Base Class */ Base::instance();