set_vars( $config );
$this->init();
}
/**
* Set some settings
* @since 1.0.0
* @param $config Our config parameters
*/
public function set_vars( $config ) {
require_once trailingslashit( WHIZZIE_DIR ) . 'tgm/class-tgm-plugin-activation.php';
require_once trailingslashit( WHIZZIE_DIR ) . 'tgm/tgm.php';
if( isset( $config['automotive_services_page_slug'] ) ) {
$this->automotive_services_page_slug = esc_attr( $config['automotive_services_page_slug'] );
}
if( isset( $config['automotive_services_page_title'] ) ) {
$this->automotive_services_page_title = esc_attr( $config['automotive_services_page_title'] );
}
if( isset( $config['steps'] ) ) {
$this->config_steps = $config['steps'];
}
$this->automotive_services_plugin_path = trailingslashit( dirname( __FILE__ ) );
$relative_url = str_replace( get_template_directory(), '', $this->automotive_services_plugin_path );
$this->automotive_services_plugin_url = trailingslashit( get_template_directory_uri() . $relative_url );
$automotive_services_current_theme = wp_get_theme();
$this->automotive_services_theme_title = $automotive_services_current_theme->get( 'Name' );
$this->automotive_services_theme_name = strtolower( preg_replace( '#[^a-zA-Z]#', '', $automotive_services_current_theme->get( 'Name' ) ) );
$this->automotive_services_page_slug = apply_filters( $this->automotive_services_theme_name . '_theme_setup_wizard_automotive_services_page_slug', $this->automotive_services_theme_name . '-wizard' );
$this->parent_slug = apply_filters( $this->automotive_services_theme_name . '_theme_setup_wizard_parent_slug', '' );
}
/**
* Hooks and filters
* @since 1.0.0
*/
public function init() {
if ( class_exists( 'TGM_Plugin_Activation' ) && isset( $GLOBALS['tgmpa'] ) ) {
add_action( 'init', array( $this, 'get_tgmpa_instance' ), 30 );
add_action( 'init', array( $this, 'set_tgmpa_url' ), 40 );
}
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
add_action( 'admin_menu', array( $this, 'menu_page' ) );
add_action( 'admin_init', array( $this, 'get_plugins' ), 30 );
add_filter( 'tgmpa_load', array( $this, 'tgmpa_load' ), 10, 1 );
add_action( 'wp_ajax_setup_plugins', array( $this, 'setup_plugins' ) );
add_action( 'wp_ajax_setup_widgets', array( $this, 'setup_widgets' ) );
}
public function enqueue_scripts() {
wp_enqueue_style( 'automotive-services-demo-import-style', get_template_directory_uri() . '/demo-import/assets/css/demo-import-style.css');
wp_register_script( 'automotive-services-demo-import-script', get_template_directory_uri() . '/demo-import/assets/js/demo-import-script.js', array( 'jquery' ), time() );
wp_localize_script(
'automotive-services-demo-import-script',
'whizzie_params',
array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'wpnonce' => wp_create_nonce( 'whizzie_nonce' ),
'verify_text' => esc_html( 'verifying', 'automotive-services' )
)
);
wp_enqueue_script( 'automotive-services-demo-import-script' );
}
public static function get_instance() {
if ( ! self::$instance ) {
self::$instance = new self;
}
return self::$instance;
}
public function tgmpa_load( $status ) {
return is_admin() || current_user_can( 'install_themes' );
}
/**
* Get configured TGMPA instance
*
* @access public
* @since 1.1.2
*/
public function get_tgmpa_instance() {
$this->tgmpa_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
}
/**
* Update $tgmpa_menu_slug and $tgmpa_parent_slug from TGMPA instance
*
* @access public
* @since 1.1.2
*/
public function set_tgmpa_url() {
$this->tgmpa_menu_slug = ( property_exists( $this->tgmpa_instance, 'menu' ) ) ? $this->tgmpa_instance->menu : $this->tgmpa_menu_slug;
$this->tgmpa_menu_slug = apply_filters( $this->automotive_services_theme_name . '_theme_setup_wizard_tgmpa_menu_slug', $this->tgmpa_menu_slug );
$tgmpa_parent_slug = ( property_exists( $this->tgmpa_instance, 'parent_slug' ) && $this->tgmpa_instance->parent_slug !== 'themes.php' ) ? 'admin.php' : 'themes.php';
$this->tgmpa_url = apply_filters( $this->automotive_services_theme_name . '_theme_setup_wizard_tgmpa_url', $tgmpa_parent_slug . '?page=' . $this->tgmpa_menu_slug );
}
/**
* Make a modal screen for the wizard
*/
public function menu_page() {
add_theme_page( esc_html( $this->automotive_services_page_title ), esc_html( $this->automotive_services_page_title ), 'manage_options', $this->automotive_services_page_slug, array( $this, 'wizard_page' ) );
}
/**
* Make an interface for the wizard
*/
public function wizard_page() {
tgmpa_load_bulk_installer();
if ( ! class_exists( 'TGM_Plugin_Activation' ) || ! isset( $GLOBALS['tgmpa'] ) ) {
die( esc_html__( 'Failed to find TGM', 'automotive-services' ) );
}
$url = wp_nonce_url( add_query_arg( array( 'plugins' => 'go' ) ), 'whizzie-setup' );
$method = '';
$fields = array_keys( $_POST );
if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields ) ) ) {
return true;
}
if ( ! WP_Filesystem( $creds ) ) {
request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, $fields );
return true;
}
$automotive_services_theme = wp_get_theme();
$automotive_services_theme_title = $automotive_services_theme->get( 'Name' );
$automotive_services_theme_version = $automotive_services_theme->get( 'Version' );
?>
%s %s', esc_html( $automotive_services_theme_title ), esc_html( '(Version :- ' . $automotive_services_theme_version . ')' ) );
?>
config_steps;
$automotive_services_steps = array(
'intro' => array(
'id' => 'intro',
'title' => __( 'Welcome to ', 'automotive-services' ) . $this->automotive_services_theme_title,
'icon' => 'dashboard',
'view' => 'get_step_intro',
'callback' => 'do_next_step',
'button_text' => __( 'Start Now', 'automotive-services' ),
'can_skip' => false
),
'plugins' => array(
'id' => 'plugins',
'title' => __( 'Plugins', 'automotive-services' ),
'icon' => 'admin-plugins',
'view' => 'get_step_plugins',
'callback' => 'install_plugins',
'button_text' => __( 'Install Plugins', 'automotive-services' ),
'can_skip' => true
),
'widgets' => array(
'id' => 'widgets',
'title' => __( 'Demo Importer', 'automotive-services' ),
'icon' => 'welcome-widgets-menus',
'view' => 'get_step_widgets',
'callback' => 'install_widgets',
'button_text' => __( 'Import Demo Content', 'automotive-services' ),
'can_skip' => true
),
'done' => array(
'id' => 'done',
'title' => __( 'All Done', 'automotive-services' ),
'icon' => 'yes',
'view' => 'get_step_done',
'callback' => ''
)
);
// Iterate through each step and replace with dev config values
if( $automotive_services_dev_steps ) {
// Configurable elements - these are the only ones the dev can update from demo-import-settings.php
$can_config = array( 'title', 'icon', 'button_text', 'can_skip' );
foreach( $automotive_services_dev_steps as $automotive_services_dev_step ) {
// We can only proceed if an ID exists and matches one of our IDs
if( isset( $automotive_services_dev_step['id'] ) ) {
$id = $automotive_services_dev_step['id'];
if( isset( $automotive_services_steps[$id] ) ) {
foreach( $can_config as $element ) {
if( isset( $automotive_services_dev_step[$element] ) ) {
$automotive_services_steps[$id][$element] = $automotive_services_dev_step[$element];
}
}
}
}
}
}
return $automotive_services_steps;
}
/**
* Print the content for the intro step
*/
public function get_step_intro() { ?>
automotive_services_theme_title)
); ?>
get_plugins();
$content = array(); ?>
';
// Add each plugin into a list
foreach( $plugins['all'] as $slug=>$plugin ) {
if ( $slug != 'yith-woocommerce-wishlist' ) {
$content['detail'] .= '' . esc_html( $plugin['name'] ) . '';
$keys = array();
if ( isset( $plugins['install'][ $slug ] ) ) {
$keys[] = 'Installation';
}
if ( isset( $plugins['update'][ $slug ] ) ) {
$keys[] = 'Update';
}
if ( isset( $plugins['activate'][ $slug ] ) ) {
$keys[] = 'Activation';
}
$content['detail'] .= implode( ' and ', $keys ) . ' required';
$content['detail'] .= '';
}
}
$content['detail'] .= '';
return $content;
}
/**
* Print the content for the widgets step
* @since 1.1.0
*/
public function get_step_widgets() { ?>
array(),
'install' => array(),
'update' => array(),
'activate' => array()
);
foreach( $instance->plugins as $slug=>$plugin ) {
if( $instance->is_plugin_active( $slug ) && false === $instance->does_plugin_have_update( $slug ) ) {
// Plugin is installed and up to date
continue;
} else {
$plugins['all'][$slug] = $plugin;
if( ! $instance->is_plugin_installed( $slug ) ) {
$plugins['install'][$slug] = $plugin;
} else {
if( false !== $instance->does_plugin_have_update( $slug ) ) {
$plugins['update'][$slug] = $plugin;
}
if( $instance->can_plugin_activate( $slug ) ) {
$plugins['activate'][$slug] = $plugin;
}
}
}
}
return $plugins;
}
/**
* Get the widgets.wie file from the /content folder
* @return Mixed Either the file or false
* @since 1.1.0
*/
public function has_widget_file() {
if( file_exists( $this->widget_file_url ) ) {
return true;
}
return false;
}
public function setup_plugins() {
if ( ! check_ajax_referer( 'whizzie_nonce', 'wpnonce' ) || empty( $_POST['slug'] ) ) {
wp_send_json_error( array( 'error' => 1, 'message' => esc_html__( 'No Slug Found','automotive-services' ) ) );
}
$json = array();
// send back some json we use to hit up TGM
$plugins = $this->get_plugins();
// what are we doing with this plugin?
foreach ( $plugins['activate'] as $slug => $plugin ) {
if ( $_POST['slug'] == $slug ) {
$json = array(
'url' => admin_url( $this->tgmpa_url ),
'plugin' => array( $slug ),
'tgmpa-page' => $this->tgmpa_menu_slug,
'plugin_status' => 'all',
'_wpnonce' => wp_create_nonce( 'bulk-plugins' ),
'action' => 'tgmpa-bulk-activate',
'action2' => - 1,
'message' => esc_html__( 'Activating Plugin','automotive-services' ),
);
break;
}
}
foreach ( $plugins['update'] as $slug => $plugin ) {
if ( $_POST['slug'] == $slug ) {
$json = array(
'url' => admin_url( $this->tgmpa_url ),
'plugin' => array( $slug ),
'tgmpa-page' => $this->tgmpa_menu_slug,
'plugin_status' => 'all',
'_wpnonce' => wp_create_nonce( 'bulk-plugins' ),
'action' => 'tgmpa-bulk-update',
'action2' => - 1,
'message' => esc_html__( 'Updating Plugin','automotive-services' ),
);
break;
}
}
foreach ( $plugins['install'] as $slug => $plugin ) {
if ( $_POST['slug'] == $slug ) {
$json = array(
'url' => admin_url( $this->tgmpa_url ),
'plugin' => array( $slug ),
'tgmpa-page' => $this->tgmpa_menu_slug,
'plugin_status' => 'all',
'_wpnonce' => wp_create_nonce( 'bulk-plugins' ),
'action' => 'tgmpa-bulk-install',
'action2' => - 1,
'message' => esc_html__( 'Installing Plugin','automotive-services' ),
);
break;
}
}
if ( $json ) {
$json['hash'] = md5( serialize( $json ) ); // used for checking if duplicates happen, move to next plugin
wp_send_json( $json );
} else {
wp_send_json( array( 'done' => 1, 'message' => esc_html__( 'Success','automotive-services' ) ) );
}
exit;
}
public function automotive_services_customizer_nav_menu() {
// ---------------- Create Primary Menu ---------------- //
$automotive_services_themename = 'Automotive Services';
$automotive_services_menuname = $automotive_services_themename . ' Primary Menu';
$automotive_services_menulocation = 'primary';
$automotive_services_menu_exists = wp_get_nav_menu_object($automotive_services_menuname);
if (!$automotive_services_menu_exists) {
$automotive_services_menu_id = wp_create_nav_menu($automotive_services_menuname);
// Home
wp_update_nav_menu_item($automotive_services_menu_id, 0, array(
'menu-item-title' => __('Home', 'automotive-services'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url('/'),
'menu-item-status' => 'publish'
));
// About
$automotive_services_page_about = get_page_by_path('about');
if($automotive_services_page_about){
wp_update_nav_menu_item($automotive_services_menu_id, 0, array(
'menu-item-title' => __('About', 'automotive-services'),
'menu-item-classes' => 'about',
'menu-item-url' => get_permalink($automotive_services_page_about),
'menu-item-status' => 'publish'
));
}
// Services
$automotive_services_page_services = get_page_by_path('services');
if($automotive_services_page_services){
wp_update_nav_menu_item($automotive_services_menu_id, 0, array(
'menu-item-title' => __('Services', 'automotive-services'),
'menu-item-classes' => 'services',
'menu-item-url' => get_permalink($automotive_services_page_services),
'menu-item-status' => 'publish'
));
}
// Blog
$automotive_services_page_blog = get_page_by_path('blog');
if($automotive_services_page_blog){
wp_update_nav_menu_item($automotive_services_menu_id, 0, array(
'menu-item-title' => __('Blog', 'automotive-services'),
'menu-item-classes' => 'blog',
'menu-item-url' => get_permalink($automotive_services_page_blog),
'menu-item-status' => 'publish'
));
}
// 404 Page
$automotive_services_notfound = get_page_by_path('404 Page');
if($automotive_services_notfound){
wp_update_nav_menu_item($automotive_services_menu_id, 0, array(
'menu-item-title' => __('404 Page', 'automotive-services'),
'menu-item-classes' => '404',
'menu-item-url' => get_permalink($automotive_services_notfound),
'menu-item-status' => 'publish'
));
}
// Contact Us
$automotive_services_page_contact = get_page_by_path('contact');
if($automotive_services_page_contact){
wp_update_nav_menu_item($automotive_services_menu_id, 0, array(
'menu-item-title' => __('Contact Us', 'automotive-services'),
'menu-item-classes' => 'contact',
'menu-item-url' => get_permalink($automotive_services_page_contact),
'menu-item-status' => 'publish'
));
}
if (!has_nav_menu($automotive_services_menulocation)) {
$automotive_services_locations = get_theme_mod('nav_menu_locations');
$automotive_services_locations[$automotive_services_menulocation] = $automotive_services_menu_id;
set_theme_mod('nav_menu_locations', $automotive_services_locations);
}
}
}
/**
* Imports the Demo Content
* @since 1.1.0
*/
public function setup_widgets(){
//................................................. MENUS .................................................//
// Creation of home page //
$automotive_services_home_content = '';
$automotive_services_home_title = 'Home';
$automotive_services_home = array(
'post_type' => 'page',
'post_title' => $automotive_services_home_title,
'post_content' => $automotive_services_home_content,
'post_status' => 'publish',
'post_author' => 1,
'post_slug' => 'home'
);
$automotive_services_home_id = wp_insert_post($automotive_services_home);
add_post_meta( $automotive_services_home_id, '_wp_page_template', 'templates/template-frontpage.php' );
$automotive_services_home = get_page_by_title( 'Home' );
update_option( 'page_on_front', $automotive_services_home->ID );
update_option( 'show_on_front', 'page' );
// Creation of blog page //
$automotive_services_blog_title = 'Blog';
$automotive_services_blog_check = get_page_by_path('blog');
if (!$automotive_services_blog_check) {
$automotive_services_blog = array(
'post_type' => 'page',
'post_title' => $automotive_services_blog_title,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'blog'
);
$automotive_services_blog_id = wp_insert_post($automotive_services_blog);
if (!is_wp_error($automotive_services_blog_id)) {
update_option('page_for_posts', $automotive_services_blog_id);
}
}
// Creation of contact us page //
$automotive_services_contact_title = 'Contact Us';
$automotive_services_contact_content = 'What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys 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. It was popularised in the 1960s 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.
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Where does it come from?
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Where does it come from?
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.';
$automotive_services_contact_check = get_page_by_path('contact');
if (!$automotive_services_contact_check) {
$automotive_services_contact = array(
'post_type' => 'page',
'post_title' => $automotive_services_contact_title,
'post_content' => $automotive_services_contact_content,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'contact' // Unique slug for the Contact Us page
);
wp_insert_post($automotive_services_contact);
}
// Creation of services page //
$automotive_services_services_title = 'Services';
$automotive_services_services_content = 'What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys 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. It was popularised in the 1960s 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.
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Where does it come from?
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Where does it come from?
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.';
$automotive_services_services_check = get_page_by_path('services');
if (!$automotive_services_services_check) {
$automotive_services_services = array(
'post_type' => 'page',
'post_title' => $automotive_services_services_title,
'post_content' => $automotive_services_services_content,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'services' // Unique slug for the Services page
);
wp_insert_post($automotive_services_services);
}
// Creation of 404 page //
$automotive_services_notfound_title = '404 Page';
$automotive_services_notfound = array(
'post_type' => 'page',
'post_title' => $automotive_services_notfound_title,
'post_status' => 'publish',
'post_author' => 1,
'post_slug' => '404'
);
$automotive_services_notfound_id = wp_insert_post($automotive_services_notfound);
add_post_meta($automotive_services_notfound_id, '_wp_page_template', '404.php');
$automotive_services_slider_title = 'Where Adventure Meets The Road.';
$automotive_services_slider_content = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s,';
$automotive_services_slider_check = get_page_by_path('slider-page');
// Check if the page already exists, if not, create the page
if (!$automotive_services_slider_check) {
// Insert the page
$automotive_services_slider = array(
'post_type' => 'page',
'post_title' => $automotive_services_slider_title,
'post_content' => $automotive_services_slider_content,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'slider-page'
);
// Insert the post (page)
$page_id = wp_insert_post($automotive_services_slider);
// Get the image URL (replace 'slider.png' with the actual path to the image)
$image_path = get_template_directory() . '/assets/images/slider.png'; // Path to your image in theme folder
// If the image exists, upload it to the media library and set it as the featured image
if (file_exists($image_path)) {
// Upload the image
$upload = wp_upload_bits('slider.png', null, file_get_contents($image_path));
// Check if the upload was successful
if (!$upload['error']) {
// Create an attachment post
$attachment = array(
'guid' => $upload['url'],
'post_mime_type' => 'image/png',
'post_title' => basename($image_path),
'post_content' => '',
'post_status' => 'inherit'
);
// Insert the attachment into the media library
$attachment_id = wp_insert_attachment($attachment, $upload['file'], $page_id);
// Generate the metadata for the attachment
$attachment_data = wp_generate_attachment_metadata($attachment_id, $upload['file']);
wp_update_attachment_metadata($attachment_id, $attachment_data);
// Set the image as the featured image for the page
set_post_thumbnail($page_id, $attachment_id);
}
}
}
$automotive_services_slider_title = 'Where Adventure Meets The Road 1.';
$automotive_services_slider_content = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s,';
$automotive_services_slider_check = get_page_by_path('slider-pages');
// Check if the page already exists, if not, create the page
if (!$automotive_services_slider_check) {
// Insert the page
$automotive_services_slider = array(
'post_type' => 'page',
'post_title' => $automotive_services_slider_title,
'post_content' => $automotive_services_slider_content,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'slider-pages'
);
// Insert the post (page)
$page_id = wp_insert_post($automotive_services_slider);
// Get the image URL (replace 'slider1.png' with the actual path to the image)
$image_path = get_template_directory() . '/assets/images/slider1.png'; // Path to your image in theme folder
// If the image exists, upload it to the media library and set it as the featured image
if (file_exists($image_path)) {
// Upload the image
$upload = wp_upload_bits('slider1.png', null, file_get_contents($image_path));
// Check if the upload was successful
if (!$upload['error']) {
// Create an attachment post
$attachment = array(
'guid' => $upload['url'],
'post_mime_type' => 'image/png',
'post_title' => basename($image_path),
'post_content' => '',
'post_status' => 'inherit'
);
// Insert the attachment into the media library
$attachment_id = wp_insert_attachment($attachment, $upload['file'], $page_id);
// Generate the metadata for the attachment
$attachment_data = wp_generate_attachment_metadata($attachment_id, $upload['file']);
wp_update_attachment_metadata($attachment_id, $attachment_data);
// Set the image as the featured image for the page
set_post_thumbnail($page_id, $attachment_id);
}
}
}
$automotive_services_slider_title = 'Where Adventure Meets The Road 2.';
$automotive_services_slider_content = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s,';
$automotive_services_slider_check = get_page_by_path('slider-pagess');
// Check if the page already exists, if not, create the page
if (!$automotive_services_slider_check) {
// Insert the page
$automotive_services_slider = array(
'post_type' => 'page',
'post_title' => $automotive_services_slider_title,
'post_content' => $automotive_services_slider_content,
'post_status' => 'publish',
'post_author' => 1,
'post_name' => 'slider-pagess'
);
// Insert the post (page)
$page_id = wp_insert_post($automotive_services_slider);
// Get the image URL (replace 'slider2.png' with the actual path to the image)
$image_path = get_template_directory() . '/assets/images/slider2.png'; // Path to your image in theme folder
// If the image exists, upload it to the media library and set it as the featured image
if (file_exists($image_path)) {
// Upload the image
$upload = wp_upload_bits('slider2.png', null, file_get_contents($image_path));
// Check if the upload was successful
if (!$upload['error']) {
// Create an attachment post
$attachment = array(
'guid' => $upload['url'],
'post_mime_type' => 'image/png',
'post_title' => basename($image_path),
'post_content' => '',
'post_status' => 'inherit'
);
// Insert the attachment into the media library
$attachment_id = wp_insert_attachment($attachment, $upload['file'], $page_id);
// Generate the metadata for the attachment
$attachment_data = wp_generate_attachment_metadata($attachment_id, $upload['file']);
wp_update_attachment_metadata($attachment_id, $attachment_data);
// Set the image as the featured image for the page
set_post_thumbnail($page_id, $attachment_id);
}
}
}
/* -------------- Blogs ------------------*/
wp_delete_post(1);
$post_title = array('Automobile Analysis','Automobile Consultancy','Target Marketing','Vehicle Performance Evaluation','Automobile Trends','Automobile Market Research');
for($i=1;$i<=6;$i++){
$content = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry';
$my_post = array(
'post_title' => $post_title[$i-1],
'post_content' => $content,
'post_status' => 'publish',
'post_type' => 'post',
'post_category' => array($column_left)
);
$tcpost_id = wp_insert_post( $my_post );
$image_url = get_template_directory_uri().'/assets/images/services'.$i.'.png';
$image_name= 'services'.$i.'.png';
$upload_dir = wp_upload_dir();
// Set upload folder
$image_data = file_get_contents($image_url);
// Get image data
$unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name );
// Generate unique name
$filename= basename( $unique_file_name );
// Create image file name
// Check folder permission and define file location
if( wp_mkdir_p( $upload_dir['path'] ) ) {
$file = $upload_dir['path'] . '/' . $filename;
} else {
$file = $upload_dir['basedir'] . '/' . $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, $image_data, FS_CHMOD_FILE ) ) {
wp_die( 'Error saving file!' );
}
// Check image file type
$wp_filetype = wp_check_filetype( $filename, null );
// Set attachment data
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name( $filename ),
'post_content' => '',
'post_type' => 'post',
'post_status' => 'inherit'
);
// Create the attachment
$attach_id = wp_insert_attachment( $attachment, $file, $tcpost_id );
// Include image.php
require_once(ABSPATH . 'wp-admin/includes/image.php');
// Define attachment metadata
$attach_data = wp_generate_attachment_metadata( $attach_id, $file );
// Assign metadata to attachment
wp_update_attachment_metadata( $attach_id, $attach_data );
// And finally assign featured image to post
set_post_thumbnail( $tcpost_id, $attach_id );
}
/* -------------- Services ------------------*/
set_theme_mod('automotive_services_slider_short_heading', 'FOR EVERY JOURNEY, BIG OR SMALL');
set_theme_mod('automotive_services_service_about_us_content', 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s,');
set_theme_mod('automotive_services_service_sub_heading', 'Best Service');
set_theme_mod('automotive_services_location', '1901 Thornridge Cir. Shiloh, Hawaii 81063');
set_theme_mod('automotive_services_call', '(+33)7 35 55 21 02');
set_theme_mod('automotive_services_header_button', 'Get Consultant');
set_theme_mod('automotive_services_header_link', '#');
set_theme_mod('automotive_services_slider_setting', true);
$automotive_services_iconbox_icon = array('fas fa-car','fas fa-bullseye','fas fa-tools','fas fas fa-oil-can','fas fa-wrench','fas fa-cogs');
for($i=1; $i<=6; $i++) {
set_theme_mod( 'automotive_services_services_icon'.$i, $automotive_services_iconbox_icon[$i-1] );
}
$automotive_services_sliders = array('slider-pages', 'slider-pagess', 'slider-page');
for ($i = 0; $i < count($automotive_services_sliders); $i++) {
$page = get_page_by_path($automotive_services_sliders[$i]);
if ($page) {
set_theme_mod('automotive_services_slider_page' . ($i + 1), $page->ID);
} else {
set_theme_mod('automotive_services_slider_page' . ($i + 1), 0);
}
}
$this->automotive_services_customizer_nav_menu();
exit;
}
}