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' ) );
}
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_dental_clinic_whizzie_params',
array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'verify_text' => esc_html( 'verifying', 'aster-dental-clinic' )
)
);
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_dental_clinic_setup_wizard' ) );
}
/*** Display the wizard page content ***/
public function wizard_page() { ?>
array(
'id' => 'intro',
'title' => __( 'Welcome to ', 'aster-dental-clinic' ) . $this->theme_title,
'view' => 'get_step_intro',
'callback' => 'do_next_step',
'button_text' => __( 'Start Now', 'aster-dental-clinic' ),
'can_skip' => false
),
'widgets' => array(
'id' => 'widgets',
'title' => __( 'Demo Importer', 'aster-dental-clinic' ),
'view' => 'get_step_widgets',
'callback' => 'install_widgets',
'button_text' => __( 'Import Demo', 'aster-dental-clinic' ),
'can_skip' => true
),
'done' => array(
'id' => 'done',
'title' => __( 'All Done', 'aster-dental-clinic' ),
'view' => 'get_step_done'
)
);
return $steps;
}
/*** Display the content for the intro step ***/
public function get_step_intro() { ?>
__('Home','aster-dental-clinic'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'));
wp_update_nav_menu_item($aster_dental_clinic_menu_id, 0, array(
'menu-item-title' => __('About Us','aster-dental-clinic'),
'menu-item-classes' => 'about',
'menu-item-url' => get_permalink(get_page_by_title('About Us')),
'menu-item-status' => 'publish'));
wp_update_nav_menu_item($aster_dental_clinic_menu_id, 0, array(
'menu-item-title' => __('Services','aster-dental-clinic'),
'menu-item-classes' => 'services',
'menu-item-url' => get_permalink(get_page_by_title('Services')),
'menu-item-status' => 'publish'));
wp_update_nav_menu_item($aster_dental_clinic_menu_id, 0, array(
'menu-item-title' => __('News','aster-dental-clinic'),
'menu-item-classes' => 'news',
'menu-item-url' => get_permalink(get_page_by_title('News')),
'menu-item-status' => 'publish'));
wp_update_nav_menu_item($aster_dental_clinic_menu_id, 0, array(
'menu-item-title' => __('Blogs','aster-dental-clinic'),
'menu-item-classes' => 'blog',
'menu-item-url' => get_permalink(get_page_by_title('Blogs')),
'menu-item-status' => 'publish'));
if( !has_nav_menu( $aster_dental_clinic_bpmenulocation ) ){
$locations = get_theme_mod('nav_menu_locations');
$locations[$aster_dental_clinic_bpmenulocation] = $aster_dental_clinic_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_dental_clinic_home_title = 'Home';
$aster_dental_clinic_home_check = get_page_by_title($aster_dental_clinic_home_title);
$aster_dental_clinic_home = array(
'post_type' => 'page',
'post_title' => $aster_dental_clinic_home_title,
'post_status' => 'publish',
'post_author' => 1,
'post_slug' => 'home'
);
$aster_dental_clinic_home_id = wp_insert_post($aster_dental_clinic_home);
//Set the static front page
$aster_dental_clinic_home = get_page_by_title( 'Home' );
update_option( 'page_on_front', $aster_dental_clinic_home->ID );
update_option( 'show_on_front', 'page' );
// Create a posts page and assigned the template
$aster_dental_clinic_blog_title = 'Blogs';
$aster_dental_clinic_blog = get_page_by_title($aster_dental_clinic_blog_title);
if (!$aster_dental_clinic_blog) {
$aster_dental_clinic_blog = array(
'post_type' => 'page',
'post_title' => $aster_dental_clinic_blog_title,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'blog'
);
$aster_dental_clinic_blog_id = wp_insert_post($aster_dental_clinic_blog);
if (is_wp_error($aster_dental_clinic_blog_id)) {
// Handle error
}
} else {
$aster_dental_clinic_blog_id = $aster_dental_clinic_blog->ID;
}
// Set the posts page
update_option('page_for_posts', $aster_dental_clinic_blog_id);
// Create a about and assigned the template
$aster_dental_clinic_about_title = 'About Us';
$aster_dental_clinic_about_check = get_page_by_title($aster_dental_clinic_about_title);
$aster_dental_clinic_about = array(
'post_type' => 'page',
'post_title' => $aster_dental_clinic_about_title,
'post_status' => 'publish',
'post_author' => 1,
'post_slug' => 'blog'
);
$aster_dental_clinic_about_id = wp_insert_post($aster_dental_clinic_about);
// Create a Services and assigned the template
$aster_dental_clinic_services_title = 'Services';
$aster_dental_clinic_services_check = get_page_by_title($aster_dental_clinic_services_title);
$aster_dental_clinic_services = array(
'post_type' => 'page',
'post_title' => $aster_dental_clinic_services_title,
'post_status' => 'publish',
'post_author' => 1,
'post_slug' => 'blog'
);
$aster_dental_clinic_services_id = wp_insert_post($aster_dental_clinic_services);
// Create a News and assigned the template
$aster_dental_clinic_news_title = 'News';
$aster_dental_clinic_news_check = get_page_by_title($aster_dental_clinic_news_title);
$aster_dental_clinic_news = array(
'post_type' => 'page',
'post_title' => $aster_dental_clinic_news_title,
'post_status' => 'publish',
'post_author' => 1,
'post_slug' => 'blog'
);
$aster_dental_clinic_news_id = wp_insert_post($aster_dental_clinic_news);
/*----------------------------------------- Header Button --------------------------------------------------*/
set_theme_mod( 'aster_dental_clinic_header_button_label_','Get Appointment');
set_theme_mod( 'aster_dental_clinic_header_button_link_','#');
set_theme_mod( 'aster_dental_clinic_contact_number','123456789');
set_theme_mod( 'aster_dental_clinic_menu_custom_button_url','fas fa-phone-alt');
// ------------------------------------------ Blogs for Sections --------------------------------------
$slider_category = 'slider';
$slider_category_id = get_cat_ID($slider_category);
if ($slider_category_id == 0) { // Category doesn't exist, create it
$slider_category_id = wp_create_category($slider_category);
}
// Loop to create posts
for ($i = 1; $i <= 3; $i++) {
$title = array('Your Trusted Partner in Dental Excellence',
'Your Trusted Partner in Dental Excellence',
'Your Trusted Partner in Dental Excellence');
$content = 'Lorem ipsum dolor sit amet';
// Create post object
$my_post = array(
'post_title' => wp_strip_all_tags( $title[$i-1] ),
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'post',
);
// Insert the post into the database
$post_id = wp_insert_post($my_post);
// Assign the post to the "slider" category
wp_set_post_terms($post_id, array($slider_category_id), 'category');
$aster_dental_clinic_image_url = get_template_directory_uri() . '/resource/img/slider.png';
$aster_dental_clinic_image_name = 'slider.png';
$aster_dental_clinic_upload_dir = wp_upload_dir();
$aster_dental_clinic_image_data = file_get_contents($aster_dental_clinic_image_url);
$aster_dental_clinic_unique_file_name = wp_unique_filename($aster_dental_clinic_upload_dir['path'], $aster_dental_clinic_image_name);
$aster_dental_clinic_filename = basename($aster_dental_clinic_unique_file_name);
if (wp_mkdir_p($aster_dental_clinic_upload_dir['path'])) {
$file = $aster_dental_clinic_upload_dir['path'] . '/' . $aster_dental_clinic_filename;
} else {
$file = $aster_dental_clinic_upload_dir['basedir'] . '/' . $aster_dental_clinic_filename;
}
if ( ! function_exists( 'WP_Filesystem' ) ) {
require_once( ABSPATH . 'wp-admin/includes/file.php' );
}
WP_Filesystem();
global $wp_filesystem;
if ( ! $wp_filesystem->put_contents( $file, $aster_dental_clinic_image_data, FS_CHMOD_FILE ) ) {
wp_die( 'Error saving file!' );
}
$wp_filetype = wp_check_filetype($aster_dental_clinic_filename, null);
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($aster_dental_clinic_filename),
'post_content' => '',
'post_status' => 'inherit'
);
$aster_dental_clinic_attach_id = wp_insert_attachment($attachment, $file, $post_id);
require_once(ABSPATH . 'wp-admin/includes/image.php');
$aster_dental_clinic_attach_data = wp_generate_attachment_metadata($aster_dental_clinic_attach_id, $file);
wp_update_attachment_metadata($aster_dental_clinic_attach_id, $aster_dental_clinic_attach_data);
set_post_thumbnail($post_id, $aster_dental_clinic_attach_id);
}
// ---------------------------------------- Slider --------------------------------------------------- //
set_theme_mod('aster_dental_clinic_banner_short_heading','Transforming Smiles, One Appointment at a Time');
for($i=1; $i<=3; $i++) {
set_theme_mod('aster_dental_clinic_banner_button_label_'.$i,'Browse Service');
set_theme_mod('aster_dental_clinic_banner_button_link_'.$i,'');
set_theme_mod('aster_dental_clinic_banner_second_button_label_'.$i,'Book a Consultaion');
set_theme_mod('aster_dental_clinic_banner_second_button_link_'.$i,'');
}
// ---------------------------------------- About --------------------------------------------------- //
set_theme_mod('aster_dental_clinic_about_heading','First Impressions begin with a Smile');
set_theme_mod('aster_dental_clinic_about_text','Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500s, 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.');
set_theme_mod('aster_dental_clinic_about_button_label','Discover More');
set_theme_mod('aster_dental_clinic_about_button_link','#');
set_theme_mod( 'aster_dental_clinic_about_left_image_1',get_template_directory_uri().'/resource/img/about01.png');
set_theme_mod( 'aster_dental_clinic_about_left_image_2',get_template_directory_uri().'/resource/img/about02.png');
set_theme_mod('aster_dental_clinic_enable_service_section',true);
// ---------------------------------------- Footer section --------------------------------------------------- //
set_theme_mod('aster_dental_clinic_footer_background_color_setting','#000000');
// ---------------------------------------- Related post_tag --------------------------------------------------- //
set_theme_mod('aster_dental_clinic_post_related_post_label','Related Posts');
set_theme_mod('aster_dental_clinic_related_posts_count','3');
$this->aster_dental_clinic_customizer_primary_menu();
}
}