plugin_name = $plugin_name; $this->version = $version; } public function enqueue_styles() { if( isset($_GET['page']) && $_GET['page'] == $this->settings_page_slug ){ global $wp_styles; wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'assets/css/admin.css', array(), $this->version, 'all' ); } } public function enqueue_scripts() { if( isset($_GET['page']) && $_GET['page'] == $this->settings_page_slug ){ wp_enqueue_script( "{$this->plugin_name}-manifest", plugin_dir_url( __FILE__ ) . 'assets/js/manifest.js', null, $this->version, true ); wp_enqueue_script( "{$this->plugin_name}-vendor", plugin_dir_url( __FILE__ ) . 'assets/js/vendor.js', array( "{$this->plugin_name}-manifest" ), $this->version, true ); wp_enqueue_script( "{$this->plugin_name}-main", plugin_dir_url( __FILE__ ) . 'assets/js/main.js', array( 'lodash', "{$this->plugin_name}-vendor", 'wp-i18n', 'wp-api-fetch' ), $this->version, true ); wp_set_script_translations( "{$this->plugin_name}-main", $this->plugin_name ); wp_localize_script( "{$this->plugin_name}-main", 'adfy_wp_locolizer', array( 'admin_url' => admin_url( '/' ), 'ajax_url' => admin_url( 'admin-ajax.php' ), 'rest_namespace' => 'addonify_quick_view_options_api', 'version_number' => $this->version, ) ); } } // check if woocommerce is active private function is_woocommerce_active() { if ( class_exists( 'woocommerce' ) ) { return true; } return false; } // callback function // admin menu public function add_menu_callback(){ // do not show menu if woocommerce is not active if ( ! $this->is_woocommerce_active() ) return; add_menu_page( 'Addonify Settings', 'Addonify', 'manage_options', $this->settings_page_slug, array($this, 'get_settings_screen_contents'), 'dashicons-superhero', 70 ); // redirects to main plugin link add_submenu_page( $this->settings_page_slug, 'Addonify Quick View Settings', 'Quick View', 'manage_options', $this->settings_page_slug, array($this, 'get_settings_screen_contents'), 0 ); } // callback function // add custom "settings" link in the plugins.php page public function custom_plugin_link_callback( $links, $file ) { if ( $file == plugin_basename(dirname(__FILE__, 2) . '/addonify-quick-view.php') ) { // add "Settings" link $links[] = '' . __('Settings','addonify-quick-view') . ''; } return $links; } // callback function // get contents for settings page screen public function get_settings_screen_contents() { ?>
is_woocommerce_active() ) { add_action('admin_notices', 'woocommerce_not_active_notice' ); } function woocommerce_not_active_notice() { ob_start(); require dirname( __FILE__ ) .'/templates/woocommerce_not_active_notice.php'; echo ob_get_clean(); } } }