url = admin_url( 'admin.php' ); self::$_instance->url = add_query_arg( array( 'page' => 'admire-extra' ), self::$_instance->url ); self::$_instance->title = esc_html__( 'Admire Options', 'admire-extra' ); $theme = wp_get_theme(); if ( 'Admire' == $theme->name || 'admire' == $theme->template ) { add_action( 'admin_menu', array( self::$_instance, 'admire_extra_add_menu' ), 5 ); } add_action( 'admin_enqueue_scripts', array( self::$_instance, 'admire_extra_scripts' ) ); add_action( 'admire/dashboard/main', array( self::$_instance, 'admire_extra_box_links' ), 10 ); add_action( 'admire/dashboard/sidebar', array( self::$_instance, 'admire_extra_box_plugins' ), 10 ); add_action( 'admire/dashboard/sidebar', array( self::$_instance, 'admire_extra_box_recommend_plugins' ), 20 ); add_action( 'admire/dashboard/sidebar', array( self::$_instance, 'admire_extra_box_community' ), 25 ); add_action( 'admin_bar_menu', array( self::$_instance, 'admire_extra_admin_bar_button' ), 100 ); } return self::$_instance; } function admire_extra_add_url_args( $args = array() ){ return add_query_arg( $args, self::$_instance->url ); } function admire_extra_add_menu(){ add_theme_page( $this->title, $this->title, 'manage_options', 'admire', array( $this, 'admire_extra_page' ) ); } function admire_extra_admin_bar_button($wp_admin_bar){ if (current_user_can('manage_options')) { $args = array( 'id' => $this->title, 'title' => 'Admire Theme', 'href' => admin_url( 'themes.php?page=admire' ), 'meta' => array( 'class' => 'admire-admin' ) ); $wp_admin_bar->add_node($args); } } /** * Register scripts * * @param $id */ function admire_extra_scripts($id) { wp_enqueue_style( 'admire-extra-notice', plugin_dir_url( __FILE__ ) . 'css/notice.css' ); if ( $id != 'appearance_page_admire' && $id != 'themes.php' ) { return; } wp_enqueue_style('admire-admin', plugin_dir_url( __FILE__ ) . '/css/dashboard.css', false, ''); if ( $id != 'themes' ) { wp_enqueue_style('plugin-install'); wp_enqueue_script('plugin-install'); wp_enqueue_script('updates'); add_thickbox(); } } function admire_extra_setup(){ $theme = wp_get_theme(); $this->config = array( 'name' => $theme->get('Name'), 'theme_uri' => $theme->get('ThemeURI'), 'desc' => $theme->get('Description'), 'author' => $theme->get('Author'), 'author_uri' => $theme->get('AuthorURI'), 'version' => $theme->get('Version'), ); if ( sanitize_text_field( wp_unslash( isset( $_REQUEST['REQUEST_URI_nonce'] ) ) ) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_REQUEST['REQUEST_URI_nonce'], 'REQUEST_URI_nonce_action' ) ) ) ) { echo esc_html( '' ); } $this->current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] )) : ''; } function admire_extra_page(){ $this->admire_extra_setup(); $this->page_header(); echo '
'.esc_html( $info->name ).'
'; if ($status) { $button_class = 'activate-now'; // $button_txt = esc_html__('Activate', 'admire-extra'); $url = wp_nonce_url('plugins.php?action=activate&plugin=' . urlencode($plugin_file), 'activate-plugin_' . $plugin_file); } else { $button_class = 'install-now'; // $button_txt = esc_html__('Install Now', 'admire-extra'); $url = wp_nonce_url( add_query_arg( array( 'action' => 'install-plugin', 'plugin' => $plugin_slug ), network_admin_url('update.php') ), 'install-plugin_' . $plugin_slug ); } $detail_link = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => $plugin_slug, 'TB_iframe' => 'true', 'width' => '772', 'height' => '349', ), network_admin_url('plugin-install.php') ); $class = 'action-btn plugin-card-' . $plugin_slug; $html .= '