theme = wp_get_theme(); $this->slug = $this->theme->template; $this->pro_name = str_replace( ' Lite', '', $this->theme->name ); $this->lite_slug = $this->slug . '-lite'; $this->utm = '?utm_source=WordPress&utm_medium=link&utm_campaign=' . $this->slug; add_action( 'admin_menu', array( $this, 'add_menu' ) ); add_action( 'admin_notices', array( $this, 'notice' ) ); } /** * Add theme dashboard page. */ public function add_menu() { $page = add_theme_page( $this->theme->name, $this->theme->name, 'edit_theme_options', $this->slug, array( $this, 'render' ) ); add_action( "admin_print_styles-$page", array( $this, 'enqueue_scripts' ) ); } public function get_tabs() { $tabs = [ 'getting-started' => __( 'Getting Started', 'blogz' ), 'actions' => __( 'Actions', 'blogz' ), 'pro' => __( 'Free vs Pro', 'blogz' ), ]; return apply_filters( 'blogz_dashboard_tabs', $tabs ); } /** * Show dashboard page. */ public function render() { $tabs = $this->get_tabs(); ?>
$name ) { include get_template_directory() . '/inc/dashboard/sections/' . $id . '.php'; } ?>
slug}-dashboard-style", get_template_directory_uri() . '/inc/dashboard/css/dashboard-style.css', '', '1.0.0' ); wp_enqueue_script( 'slick', get_template_directory_uri() . '/inc/dashboard/js/slick.js', array( 'jquery' ), '1.8.0', true ); wp_enqueue_script( "{$this->slug}-dashboard-script", get_template_directory_uri() . '/inc/dashboard/js/script.js', array( 'slick' ), '1.0.0', true ); } /** * Add a notice after theme activation. */ public function notice() { global $pagenow; if ( is_admin() && isset( $_GET['activated'] ) && 'themes.php' === $pagenow ) { ?>

welcome page.', 'blogz' ), $this->theme->name, esc_url( admin_url( 'themes.php?page=' . $this->slug ) ) ) ); ?>

theme->name ) ); ?>

1 ) { $action['title'] = esc_html__( 'Install The Recommended Plugins', 'blogz' ); /* translators: theme name. */ $action['body'] = sprintf( esc_html__( '%s needs some plugins to working properly. Please install and activate our required plugins.', 'blogz' ), $this->theme->name ); $action['button_text'] = esc_html__( 'Install Plugins', 'blogz' ); } else { $plugin_name = $plugins[0]['name']; /* translators: theme name. */ $action['body'] = sprintf( __( '%1$s needs %2$s to working properly. Please install and activate it.', 'blogz' ), $this->theme->name, $plugin_name ); /* translators: plugin name. */ $action['button_text'] = sprintf( esc_html__( 'Install %s', 'blogz' ), $plugin_name ); $action['title'] = $action['button_text']; } if ( $installer->is_tgmpa_complete() ) { if ( $plugins_number > 1 ) { $action['body'] = '' . esc_html__( 'You have installed and active all required plugins', 'blogz' ) . ''; } else { /* translators: plugin name. */ $action['body'] = sprintf( __( '%s has been installed and activated', 'blogz' ), $plugin_name ); } $action['button_text'] = ''; } return $action; } /** * Check if Jetpack is recommended */ public function jetpack_is_recommended() { $plugins = blogz_required_plugins(); foreach ( $plugins as $plugin ) { if ( 'jetpack' === $plugin['slug'] ) { return true; } } } }