set_vars( $config ); $this->init(); } /** * Set variables based on configuration * @param $config Configuration parameters */ public function set_vars( $config ) { if ( isset( $config['page_slug'] ) ) { $this->page_slug = esc_attr( $config['page_slug'] ); } if ( isset( $config['page_title'] ) ) { $this->page_title = esc_attr( $config['page_title'] ); } if ( isset( $config['steps'] ) ) { $this->config_steps = $config['steps']; } $current_theme = wp_get_theme(); $this->theme_title = $current_theme->get( 'Name' ); $this->theme_name = strtolower( preg_replace( '#[^a-zA-Z]#', '', $current_theme->get( 'Name' ) ) ); $this->page_slug = apply_filters( $this->theme_name . '_theme_setup_wizard_page_slug', $this->theme_name . '-wizard' ); $this->parent_slug = apply_filters( $this->theme_name . '_theme_setup_wizard_parent_slug', '' ); } /*** Initialize hooks and actions ***/ public function init() { add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); add_action( 'admin_menu', array( $this, 'menu_page' ) ); add_action( 'wp_ajax_setup_widgets', array( $this, 'setup_widgets' ) ); add_action( 'admin_init', array( $this, 'ensure_woocommerce_installed' ) ); } public function enqueue_scripts() { wp_enqueue_style( 'theme-wizard-style', get_template_directory_uri() . '/theme-wizard/assets/css/theme-wizard-style.css'); wp_register_script( 'theme-wizard-script', get_template_directory_uri() . '/theme-wizard/assets/js/theme-wizard-script.js', array( 'jquery' )); wp_localize_script( 'theme-wizard-script', 'aster_it_courses_whizzie_params', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'verify_text' => esc_html( 'verifying', 'aster-it-courses' ) ) ); wp_enqueue_script( 'theme-wizard-script' ); } public function menu_page() { add_theme_page( esc_html( $this->page_title ), esc_html( $this->page_title ), 'manage_options', $this->page_slug, array( $this, 'aster_it_courses_setup_wizard' ) ); } /*** Display the wizard page content ***/ public function wizard_page() { ?>
wizard_page(); ?>
array( 'id' => 'intro', 'title' => __( 'Welcome to ', 'aster-it-courses' ) . $this->theme_title, 'view' => 'get_step_intro', 'callback' => 'do_next_step', 'button_text' => __( 'Start Now', 'aster-it-courses' ), 'can_skip' => false ), 'widgets' => array( 'id' => 'widgets', 'title' => __( 'Demo Importer', 'aster-it-courses' ), 'view' => 'get_step_widgets', 'callback' => 'install_widgets', 'button_text' => __( 'Import Demo', 'aster-it-courses' ), 'can_skip' => true ), 'done' => array( 'id' => 'done', 'title' => __( 'All Done', 'aster-it-courses' ), 'view' => 'get_step_done' ) ); return $steps; } /*** Display the content for the intro step ***/ public function get_step_intro() { ?>

  1. > Pages >> Add New','aster-it-courses'); ?>

  1. > Appearance >> Menu','aster-it-courses'); ?>

  1. > Appearance >> Widgets','aster-it-courses'); ?>
install('https://downloads.wordpress.org/plugin/woocommerce.latest-stable.zip'); } // Activate the plugin activate_plugin($aster_it_courses_plugin_file); } } // ------------- MENUS ----------------- // public function aster_it_courses_customizer_primary_menu(){ // ------- Create Primary Menu -------- $aster_it_courses_menuname = $aster_it_courses_themename . 'Primary Menu'; $aster_it_courses_bpmenulocation = 'primary'; $aster_it_courses_menu_exists = wp_get_nav_menu_object( $aster_it_courses_menuname ); if( !$aster_it_courses_menu_exists){ $aster_it_courses_menu_id = wp_create_nav_menu($aster_it_courses_menuname); $aster_it_courses_parent_item = wp_update_nav_menu_item($aster_it_courses_menu_id, 0, array( 'menu-item-title' => __('Home','aster-it-courses'), 'menu-item-classes' => 'home', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish')); wp_update_nav_menu_item($aster_it_courses_menu_id, 0, array( 'menu-item-title' => __('Courses','aster-it-courses'), 'menu-item-classes' => 'courses', 'menu-item-url' => get_permalink(get_page_by_title('Courses')), 'menu-item-status' => 'publish')); wp_update_nav_menu_item($aster_it_courses_menu_id, 0, array( 'menu-item-title' => __('Teachers','aster-it-courses'), 'menu-item-classes' => 'teachers', 'menu-item-url' => get_permalink(get_page_by_title('Teachers')), 'menu-item-status' => 'publish')); wp_update_nav_menu_item($aster_it_courses_menu_id, 0, array( 'menu-item-title' => __('Blogs','aster-it-courses'), 'menu-item-classes' => 'blog', 'menu-item-url' => get_permalink(get_page_by_title('Blogs')), 'menu-item-status' => 'publish')); wp_update_nav_menu_item($aster_it_courses_menu_id, 0, array( 'menu-item-title' => __('Contact','aster-it-courses'), 'menu-item-classes' => 'contact', 'menu-item-url' => get_permalink(get_page_by_title('Contact')), 'menu-item-status' => 'publish')); if( !has_nav_menu( $aster_it_courses_bpmenulocation ) ){ $locations = get_theme_mod('nav_menu_locations'); $locations[$aster_it_courses_bpmenulocation] = $aster_it_courses_menu_id; set_theme_mod( 'nav_menu_locations', $locations ); } } } // ------------- /*** Imports demo content ***/ ----------------- // public function setup_widgets() { // Create a front page and assigned the template $aster_it_courses_home_title = 'Home'; $aster_it_courses_home_check = get_page_by_title($aster_it_courses_home_title); $aster_it_courses_home = array( 'post_type' => 'page', 'post_title' => $aster_it_courses_home_title, 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => 'home' ); $aster_it_courses_home_id = wp_insert_post($aster_it_courses_home); //Set the static front page $aster_it_courses_home = get_page_by_title( 'Home' ); update_option( 'page_on_front', $aster_it_courses_home->ID ); update_option( 'show_on_front', 'page' ); // Create a posts page and assigned the template $aster_it_courses_blog_title = 'Blogs'; $aster_it_courses_blog = get_page_by_title($aster_it_courses_blog_title); if (!$aster_it_courses_blog) { $aster_it_courses_blog = array( 'post_type' => 'page', 'post_title' => $aster_it_courses_blog_title, 'post_status' => 'publish', 'post_author' => 1, 'post_name' => 'blog' ); $aster_it_courses_blog_id = wp_insert_post($aster_it_courses_blog); if (is_wp_error($aster_it_courses_blog_id)) { // Handle error } } else { $aster_it_courses_blog_id = $aster_it_courses_blog->ID; } // Set the posts page update_option('page_for_posts', $aster_it_courses_blog_id); // Create a about and assigned the template $aster_it_courses_about_title = 'Courses'; $aster_it_courses_about_check = get_page_by_title($aster_it_courses_about_title); $aster_it_courses_about = array( 'post_type' => 'page', 'post_title' => $aster_it_courses_about_title, 'post_content' => '

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960 with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

', 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => 'courses' ); $aster_it_courses_about_id = wp_insert_post($aster_it_courses_about); // Create a contact and assigned the template $aster_it_courses_contact_title = 'Teachers'; $aster_it_courses_contact_check = get_page_by_title($aster_it_courses_contact_title); $aster_it_courses_contact = array( 'post_type' => 'page', 'post_title' => $aster_it_courses_contact_title, 'post_content' => '

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960 with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

', 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => 'teachers' ); $aster_it_courses_contact_id = wp_insert_post($aster_it_courses_contact); // Create a contact and assigned the template $aster_it_courses_contact_title = 'Contact'; $aster_it_courses_contact_check = get_page_by_title($aster_it_courses_contact_title); $aster_it_courses_contact = array( 'post_type' => 'page', 'post_title' => $aster_it_courses_contact_title, 'post_content' => '

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960 with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

', 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => 'contact' ); $aster_it_courses_contact_id = wp_insert_post($aster_it_courses_contact); /* Enable Topbar */ set_theme_mod('aster_it_courses_enable_topbar',true); set_theme_mod('aster_it_courses_enable_header_search_section',true); set_theme_mod('aster_it_courses_phone_number', '123 456 7890'); set_theme_mod('aster_it_courses_email_topbar_address', 'info@example.com'); set_theme_mod('aster_it_courses_topheader_button_text', 'Call Now'); set_theme_mod('aster_it_courses_topheader_button_url', '#'); /* Slider Section */ set_theme_mod('aster_it_courses_enable_banner_section',true); $aster_it_courses_category_slider = get_term_by('name', 'Banner', 'category'); if (!$aster_it_courses_category_slider) { $aster_it_courses_category_slider = wp_create_category('Banner'); } else { $aster_it_courses_category_slider = $aster_it_courses_category_slider->term_id; } // Set the theme mod with the Banner category ID set_theme_mod('aster_it_courses_banner_slider_category', 'Banner'); // Post titles and banner image filenames $banner_post_titles = array( 'Unlock Your Tech Career Potential', 'Master Coding From Scratch', 'Build Real-World Projects with Confidence', ); $banner_images = array( 'banner1.png', 'banner2.png', 'banner3.png' ); // Path to theme images $banner_img_base_path = get_template_directory() . '/resource/img/'; $banner_img_base_url = get_template_directory_uri() . '/resource/img/'; foreach ($banner_post_titles as $i => $title) { // Avoid duplicates $post_exists = get_page_by_title($title, OBJECT, 'post'); if ($post_exists) { continue; } // Insert the post $post_id = wp_insert_post(array( 'post_title' => $title, 'post_content' => 'Master the latest in IT, software, and tech with expert-led online courses designed for every level.', 'post_status' => 'publish', 'post_category' => array($aster_it_courses_category_slider), )); // Attach image as featured image $filename = $banner_images[$i]; $file = $banner_img_base_path . $filename; if (file_exists($file)) { require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; $upload = wp_upload_bits($filename, null, file_get_contents($file)); if (!$upload['error']) { $wp_filetype = wp_check_filetype($upload['file'], null); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name($filename), 'post_content' => '', 'post_status' => 'inherit' ); $attach_id = wp_insert_attachment($attachment, $upload['file'], $post_id); $attach_data = wp_generate_attachment_metadata($attach_id, $upload['file']); wp_update_attachment_metadata($attach_id, $attach_data); set_post_thumbnail($post_id, $attach_id); } } } set_theme_mod('aster_it_courses_banner_button_label', 'START LEARNING'); set_theme_mod( 'aster_it_courses_right_image_text', 'Trusted by 20k people'); set_theme_mod( 'aster_it_courses_slider_team_image_1', esc_url( get_template_directory_uri().'/resource/img/team1.png')); set_theme_mod( 'aster_it_courses_slider_team_image_2', esc_url( get_template_directory_uri().'/resource/img/team2.png')); set_theme_mod( 'aster_it_courses_slider_team_image_3', esc_url( get_template_directory_uri().'/resource/img/team3.png')); /* Courses Section */ set_theme_mod( 'aster_it_courses_enable_service_section', true ); set_theme_mod('aster_it_courses_trending_post_content', 'NEW COURSES'); set_theme_mod( 'aster_it_courses_trending_post_heading', 'Featured Of This Months'); set_theme_mod( 'aster_it_courses_service_post_count', '4' ); // Course Titles $aster_it_courses_title_array = array( "UI Design Tools for Beginners Course", "Mastering JavaScript for Web Development", "Data Science and Machine Learning Essentials", "Full Stack Development Bootcamp" ); // Author Names $aster_it_courses_author_names = array( "Kathreen Johnson", "Michael Lee", "Samantha Brown", "David Thompson" ); // Paper Counts $aster_it_courses_paper_counts = array("50", "65", "40", "55"); // Degree Counts $aster_it_courses_degree_counts = array("450", "520", "390", "480"); // Prices $aster_it_courses_regular_prices = array("$50.00", "$75.00", "$60.00", "$80.00"); for ($aster_it_courses_i = 1; $aster_it_courses_i <= 4; $aster_it_courses_i++) { set_theme_mod( 'aster_it_courses_author_name'.$aster_it_courses_i, $aster_it_courses_author_names[$aster_it_courses_i - 1] ); set_theme_mod( 'aster_it_courses_paper_count'.$aster_it_courses_i, $aster_it_courses_paper_counts[$aster_it_courses_i - 1] ); set_theme_mod( 'aster_it_courses_degree_count'.$aster_it_courses_i, $aster_it_courses_degree_counts[$aster_it_courses_i - 1] ); set_theme_mod( 'aster_it_courses_regular_price'.$aster_it_courses_i, $aster_it_courses_regular_prices[$aster_it_courses_i - 1] ); // Author image (author1.png, author2.png, etc.) set_theme_mod( 'aster_it_courses_author_image'.$aster_it_courses_i, get_template_directory_uri().'/resource/img/author'.$aster_it_courses_i.'.png' ); // Create post $aster_it_courses_title = $aster_it_courses_title_array[$aster_it_courses_i - 1]; $aster_it_courses_content = 'Lorem Ipsum is simply dummy text of the printing and typesetting.'; $aster_it_courses_my_post = array( 'post_title' => wp_strip_all_tags($aster_it_courses_title), 'post_content' => $aster_it_courses_content, 'post_status' => 'publish', 'post_type' => 'post', ); $aster_it_courses_post_id = wp_insert_post($aster_it_courses_my_post); set_theme_mod('aster_it_courses_service_content_post_' . $aster_it_courses_i, $aster_it_courses_post_id); // Get image URL $aster_it_courses_image_url = get_template_directory_uri() . '/resource/img/post' . $aster_it_courses_i . '.png'; $aster_it_courses_image_data = wp_remote_get($aster_it_courses_image_url); if (!is_wp_error($aster_it_courses_image_data)) { $aster_it_courses_image_body = wp_remote_retrieve_body($aster_it_courses_image_data); $aster_it_courses_upload_dir = wp_upload_dir(); $aster_it_courses_image_name = 'post' . $aster_it_courses_i . '.png'; $uploaded_file = wp_upload_bits($aster_it_courses_image_name, null, $aster_it_courses_image_body); if (!$uploaded_file['error']) { // Set attachment data $attachment = array( 'post_mime_type' => $uploaded_file['type'], 'post_title' => sanitize_file_name($aster_it_courses_image_name), 'post_content' => '', 'post_status' => 'inherit', ); $aster_it_courses_attach_id = wp_insert_attachment($attachment, $uploaded_file['file'], $aster_it_courses_post_id); require_once(ABSPATH . 'wp-admin/includes/image.php'); $aster_it_courses_attach_data = wp_generate_attachment_metadata($aster_it_courses_attach_id, $uploaded_file['file']); wp_update_attachment_metadata($aster_it_courses_attach_id, $aster_it_courses_attach_data); set_post_thumbnail($aster_it_courses_post_id, $aster_it_courses_attach_id); } } } // ---------------------------------------- Related post_tag --------------------------------------------------- // set_theme_mod('aster_it_courses_post_related_post_label','Related Posts'); set_theme_mod('aster_it_courses_related_posts_count','3'); set_theme_mod('aster_it_courses_post_hide_header_sidebar', true); $this->aster_it_courses_customizer_primary_menu(); } }