parent()->get('Version')); wp_enqueue_style( 'beauty-store-style', get_stylesheet_uri(), array( $beauty_store_parentcss ), $beauty_store_theme->get('Version')); require get_theme_file_path( '/custom-option.php' ); wp_add_inline_style( 'beauty-store-style',$beauty_store_theme_css ); require get_parent_theme_file_path( '/custom-option.php' ); wp_add_inline_style( 'beauty-cosmetic-store-style',$beauty_cosmetic_store_theme_css ); wp_enqueue_script( 'comment-reply', '/wp-includes/js/comment-reply.min.js', array(), false, true ); } add_action( 'wp_enqueue_scripts', 'beauty_store_enqueue_styles' ); if ( ! function_exists( 'beauty_store_setup' ) ) : /** * Sets up theme defaults and registers support for various WordPress features. * * Note that this function is hooked into the after_setup_theme hook, which * runs before the init hook. The init hook is too late for some features, such * as indicating support for post thumbnails. */ function beauty_store_setup() { add_theme_support( 'responsive-embeds' ); // Add default posts and comments RSS feed links to head. add_theme_support( 'automatic-feed-links' ); /* * Let WordPress manage the document title. * By adding theme support, we declare that this theme does not use a * hard-coded tag in the document head, and expect WordPress to * provide it for us. */ add_theme_support( 'title-tag' ); /* * Enable support for Post Thumbnails on posts and pages. * * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support( 'post-thumbnails' ); add_image_size('beauty-store-featured-header-image', 2000, 660, true); /* * Switch default core markup for search form, comment form, and comments * to output valid HTML5. * to output valid HTML5. */ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'beauty_cosmetic_store_custom_background_args', array( 'default-color' => '', 'default-image' => '', ) ) ); /** * Add support for core custom logo. * * @link https://codex.wordpress.org/Theme_Logo */ add_theme_support( 'custom-logo', array( 'height' => 50, 'width' => 50, 'flex-width' => true, ) ); add_editor_style( array( '/editor-style.css' ) ); add_theme_support( 'align-wide' ); add_theme_support( 'wp-block-styles' ); add_action('wp_ajax_beauty_store_dismissable_notice', 'beauty_store_dismissable_notice'); } endif; add_action( 'after_setup_theme', 'beauty_store_setup' ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function beauty_store_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'beauty-store' ), 'id' => 'sidebar', 'description' => esc_html__( 'Add widgets here.', 'beauty-store' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h5 class="widget-title">', 'after_title' => '</h5>', ) ); } add_action( 'widgets_init', 'beauty_store_widgets_init' ); function beauty_store_remove_my_action() { remove_action( 'remove_menu_page','beauty-cosmetic-store-info' ); remove_action( 'admin_menu','demo_importer_admin_page' ); remove_action( 'admin_enqueue_scripts', 'beauty_cosmetic_store_getpage_css' ); remove_action( 'admin_notices', 'beauty_cosmetic_store_deprecated_hook_admin_notice' ); remove_action( 'remove_menu_page','beauty-cosmetic-store-info' ); remove_action( 'admin_menu','beauty_cosmetic_store_demo_importer_admin_page' ); remove_action( 'admin_notices','beauty_cosmetic_store_deprecated_hook_admin_notice' ); } add_action( 'after_setup_theme', 'beauty_store_remove_my_action'); function beauty_store_remove_parent_theme_hooks() { remove_action('init', 'beauty_store_remove_my_action'); } add_action('after_setup_theme', 'beauty_store_remove_parent_theme_hooks', 20); add_action('admin_menu', 'beauty_store_remove_my_theme_page', 999); function beauty_store_remove_my_theme_page() { remove_submenu_page('themes.php','beauty-cosmetic-store-info'); } /** * Get CSS */ function beauty_store_getpage_css($hook) { wp_register_script( 'admin-notice-script', get_stylesheet_directory_uri() . '/inc/admin/js/admin-notice-script.js', array( 'jquery' ) ); wp_localize_script('admin-notice-script','beauty_store', array('admin_ajax' => admin_url('admin-ajax.php'),'wpnonce' => wp_create_nonce('beauty_store_dismissed_notice_nonce') ) ); wp_enqueue_script('admin-notice-script'); wp_localize_script( 'admin-notice-script', 'beauty_store_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); if ( 'appearance_page_beauty-store-info' != $hook ) { return; } } add_action( 'admin_enqueue_scripts', 'beauty_store_getpage_css' ); //Admin Notice For Getstart function beauty_store_ajax_notice_handler() { if ( isset( $_POST['type'] ) ) { $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); update_option( 'dismissed-' . $type, TRUE ); } } function beauty_store_deprecated_hook_admin_notice() { // Check if the notice has been dismissed by the user $dismissed = get_user_meta(get_current_user_id(), 'beauty_store_dismissable_notice', true); // Exclude the notice from being shown on the "Theme Importer" page $current_screen = get_current_screen(); if ($current_screen && $current_screen->id === 'appearance_page_theme-importer') { return; // Don't show the notice on this page } if (!$dismissed) { ?> <div class="updated notice notice-success is-dismissible notice-get-started-class" data-notice="get_started" style="background: #f7f9f9; padding: 20px 10px; display: flex;"> <div class="tm-admin-image"> <img style="width: 100%;max-width: 320px;line-height: 40px;display: inline-block;vertical-align: top;border: 2px solid #ddd;border-radius: 4px;" src="<?php echo esc_url(get_stylesheet_directory_uri()) .'/screenshot.png'; ?>" /> </div> <div class="tm-admin-content" style="padding-left: 30px; align-self: center"> <h2 style="font-weight: 600;line-height: 1.3; margin: 0px;"><?php esc_html_e('Thank You For Choosing ', 'beauty-store'); ?><?php echo wp_get_theme(); ?><h2> <p style="color: #3c434a; font-weight: 400; margin-bottom: 30px;"><?php _e('Get Started With Theme By Clicking On Getting Started.', 'beauty-store'); ?><p> <a class="admin-notice-btn button button-primary button-hero" href="<?php echo esc_url( admin_url( 'themes.php?page=beauty-store-info' )); ?>"><?php esc_html_e( 'Get started', 'beauty-store' ) ?></a> <a class="admin-notice-btn button button-primary button-hero notice-pro-btn" target="_blank" href="<?php echo esc_url( BEAUTY_COSMETIC_STORE_GET_PREMIUM_PRO ); ?>"><?php esc_html_e( 'Get Premium ', 'beauty-store' ) ?></a> <a class="admin-notice-btn button button-primary button-hero notice-bundle-btn" target="_blank" href="<?php echo esc_url( BEAUTY_COSMETIC_STORE_BUNDLE_LINK ); ?>"><?php esc_html_e( 'Buy All Themes - 120+ Templates', 'beauty-store' ) ?></a> <span style="padding-top: 15px; display: inline-block; padding-left: 8px;"> <span class="dashicons dashicons-admin-links"></span> <a class="admin-notice-btn" target="_blank" href="<?php echo esc_url( BEAUTY_COSMETIC_STORE_LIVE_DEMO ); ?>"><?php esc_html_e( 'View Demo', 'beauty-store' ) ?></a> </span> </div> </div> <?php } } add_action( 'admin_notices', 'beauty_store_deprecated_hook_admin_notice' ); function beauty_store_switch_theme() { delete_user_meta(get_current_user_id(), 'beauty_store_dismissable_notice'); } add_action('after_switch_theme', 'beauty_store_switch_theme'); function beauty_store_dismissable_notice() { update_user_meta(get_current_user_id(), 'beauty_store_dismissable_notice', true); die(); } // Demo Content Code // Ensure WordPress is loaded if (!defined('ABSPATH')) { exit; } // Add the AJAX action to trigger theme mods import add_action('wp_ajax_import_theme_mods', 'beauty_store_demo_importer_ajax_handler'); // Handle the AJAX request function beauty_store_demo_importer_ajax_handler() { // Sample data to import $theme_mods_data = array( 'header_textcolor' => '000000', // Example: change header text color 'background_color' => 'ffffff', // Example: change background color 'custom_logo' => 123, // Example: set a custom logo by attachment ID 'footer_text' => 'Custom Footer Text', // Example: custom footer text ); // Call the function to import theme mods if (beauty_store_demo_theme_importer($theme_mods_data)) { // After importing theme mods, create the menu beauty_store_create_demo_menu(); wp_send_json_success(array( 'msg' => 'Theme mods imported successfully.', 'redirect' => home_url() )); } else { wp_send_json_error('Failed to import theme mods.'); } wp_die(); } // Function to set theme mods function beauty_store_demo_theme_importer($import_data) { if (is_array($import_data)) { foreach ($import_data as $mod_name => $mod_value) { set_theme_mod($mod_name, $mod_value); } return true; } else { return false; } } // Function to create demo menu function beauty_store_create_demo_menu() { $menu_structure = [ [ 'title' => 'Home', 'slug' => 'home', 'template' => 'page-template/home-template.php', ], [ 'title' => 'Shop', 'slug' => 'shop', 'children' => [ ['title' => 'Marketing', 'slug' => 'marketing'], ] ], [ 'title' => 'Blog', 'slug' => 'blog', ], [ 'title' => 'Cheeks', 'slug' => 'cheeks', 'children' => [ ['title' => 'Marketing', 'slug' => 'marketing'], ] ], [ 'title' => 'Pages', 'slug' => 'pages', 'children' => [ ['title' => 'Marketing', 'slug' => 'marketing'], ] ], [ 'title' => 'Contact Us', 'slug' => 'contact us', ], ]; // ---------------------------------------------------- // Do not modify below this line unless needed // ---------------------------------------------------- $created_pages = []; $menu_name = 'Primary Menu'; $location = 'primary'; $menu = wp_get_nav_menu_object($menu_name); $menu_id = (!$menu) ? wp_create_nav_menu($menu_name) : $menu->term_id; $create_page_and_menu = function($item, $parent_menu_id = 0, $parent_page_id = 0) use (&$create_page_and_menu, &$created_pages, $menu_id) { $page = get_page_by_title($item['title']); if (!$page) { $page_id = wp_insert_post([ 'post_title' => $item['title'], 'post_type' => 'page', 'post_status' => 'publish', 'post_name' => $item['slug'], 'post_parent' => $parent_page_id, 'post_content' => !empty($item['content']) ? $item['content'] : '', ]); if (!empty($item['template'])) { update_post_meta($page_id, '_wp_page_template', $item['template']); } } else { $page_id = $page->ID; } $created_pages[$item['title']] = $page_id; $menu_item_id = wp_update_nav_menu_item($menu_id, 0, [ 'menu-item-title' => $item['title'], 'menu-item-object' => 'page', 'menu-item-object-id' => $page_id, 'menu-item-type' => 'post_type', 'menu-item-parent-id' => $parent_menu_id, 'menu-item-status' => 'publish' ]); if (!empty($item['children'])) { foreach ($item['children'] as $child) { $create_page_and_menu($child, $menu_item_id, $page_id); } } }; foreach ($menu_structure as $item) { $create_page_and_menu($item); } if (!empty($created_pages['Home'])) { update_option('page_on_front', $created_pages['Home']); update_option('show_on_front', 'page'); } if (!empty($created_pages['Blog'])) { update_option('page_for_posts', $created_pages['Blog']); } $locations = get_theme_mod('nav_menu_locations'); $locations[$location] = $menu_id; set_theme_mod('nav_menu_locations', $locations); //Popular Categories if (class_exists('WooCommerce')) { // Define category with name, slug, description $categories = [ [ 'name' => 'Hair Care', 'slug' => 'hair-care', 'image' => 'category/cat1.png' // Must be in your theme/demo importer images folder ], [ 'name' => 'Skin Care', 'slug' => 'skin-care', 'image' => 'category/cat2.png' ], [ 'name' => 'Lipstick', 'slug' => 'lipstick', 'image' => 'category/cat3.png' ], [ 'name' => 'Face Pack', 'slug' => 'face-pack', 'image' => 'category/cat4.png' ], [ 'name' => 'Blusher', 'slug' => 'blusher', 'image' => 'category/cat5.png' ], [ 'name' => 'Natural', 'slug' => 'natural', 'image' => 'category/cat6.png' ], [ 'name' => 'Body Care', 'slug' => 'body-care', 'image' => 'category/cat7.png' ], [ 'name' => 'Cheeks', 'slug' => 'cheeks', 'image' => 'category/cat8.png' ], [ 'name' => 'Eyes', 'slug' => 'eyes', 'image' => 'category/cat9.png' ], [ 'name' => 'Nails', 'slug' => 'nails', 'image' => 'category/cat10.png' ] ]; foreach ($categories as $cat) { // Create the product category $result = wp_insert_term( $cat['name'], 'product_cat', [ 'slug' => $cat['slug'], 'description' => $cat['description'], ] ); // Only proceed if category was inserted without error if (!is_wp_error($result)) { $term_id = $result['term_id']; // Upload the image and get attachment ID $image_path = get_template_directory() . '/assets/img/' . $cat['image']; $upload = wp_upload_bits($cat['image'], null, file_get_contents($image_path)); if (!$upload['error']) { $attachment = [ 'post_mime_type' => 'image/jpeg', 'post_title' => sanitize_file_name($cat['image']), 'post_content' => '', 'post_status' => 'inherit' ]; $attach_id = wp_insert_attachment($attachment, $upload['file']); require_once(ABSPATH . 'wp-admin/includes/image.php'); $attach_data = wp_generate_attachment_metadata($attach_id, $upload['file']); wp_update_attachment_metadata($attach_id, $attach_data); // Assign image to category update_term_meta($term_id, 'thumbnail_id', $attach_id); } } } } //Top Header set_theme_mod( 'beauty_cosmetic_store_facebook_icon', 'fab fa-facebook-f' ); set_theme_mod( 'beauty_cosmetic_store_facebook_url', 'www.facebook.com' ); set_theme_mod( 'beauty_cosmetic_store_twitter_icon', 'fab fa-twitter' ); set_theme_mod( 'beauty_cosmetic_store_twitter_url', 'www.twitter.com' ); set_theme_mod( 'beauty_cosmetic_store_intagram_icon', 'fab fa-instagram' ); set_theme_mod( 'beauty_cosmetic_store_intagram_url', 'www.instagram.com' ); set_theme_mod( 'beauty_cosmetic_store_linkedin_icon', 'fab fa-linkedin-in' ); set_theme_mod( 'beauty_cosmetic_store_linkedin_url', 'www.linkedin.com' ); set_theme_mod( 'beauty_cosmetic_store_pintrest_icon', 'fab fa-pinterest-p' ); set_theme_mod( 'beauty_cosmetic_store_pintrest_url', 'www.pinterest.com' ); set_theme_mod( 'beauty_cosmetic_store_topbar_text', 'Enjoy Free Shipping For Orders Over $30!' ); set_theme_mod( 'beauty_cosmetic_store_topbar_text_button_url', '#' ); set_theme_mod( 'beauty_cosmetic_store_phone_text', 'Hotline 24/7' ); set_theme_mod( 'beauty_cosmetic_store_phone_number', '(025) 3686 25 16' ); set_theme_mod( 'beauty_cosmetic_store_header_sell_button', 'Sell on swoo' ); set_theme_mod( 'beauty_cosmetic_store_header_sell_button_url', '#' ); set_theme_mod( 'beauty_cosmetic_store_header_tracking_button', 'Order Tracking' ); set_theme_mod( 'beauty_cosmetic_store_header_tracking_button_url', '#' ); set_theme_mod( 'beauty_cosmetic_store_header_recent_view_button', 'Recently Viewed' ); set_theme_mod( 'beauty_cosmetic_store_header_recent_view_url', '#' ); set_theme_mod( 'beauty_cosmetic_store_topbar1_wishlist_url', '#' ); //Slider set_theme_mod( 'beauty_cosmetic_store_activities_section_setting', true ); set_theme_mod( 'beauty_cosmetic_store_services_heading', 'Popular Categories' ); //Slider set_theme_mod( 'beauty_cosmetic_store_slider_section_setting', true ); for($i=1;$i<=3;$i++){ $title = 'Free Shipping Beauty'; $content = 'Shop Top Quality Haircare, Makeup, Skincare, Nailcare & Much More.'; // Create post object $my_post = array( 'post_title' => wp_strip_all_tags( $title ), 'post_content' => $content, 'post_status' => 'publish', 'post_type' => 'page', ); // Insert the post into the database $post_id = wp_insert_post( $my_post ); if ($post_id) { // Set the theme mod for the slider page set_theme_mod('beauty_cosmetic_store_top_slider_page' . $i, $post_id); $image_url = get_theme_file_uri().'/assets/img/slider.png'; $image_id = media_sideload_image($image_url, $post_id, null, 'id'); if (!is_wp_error($image_id)) { // Set the downloaded image as the post's featured image set_post_thumbnail($post_id, $image_id); } } } set_theme_mod( 'beauty_cosmetic_store_image_box_1_image', get_theme_file_uri().'/assets/img/box1.png' ); set_theme_mod( 'beauty_cosmetic_store_contact_image_box_1_heading', 'Beauty & Care' ); set_theme_mod( 'beauty_cosmetic_store_image_box_1_content', 'From $299' ); set_theme_mod( 'beauty_cosmetic_store_image_box_1_button_url', '#' ); set_theme_mod( 'beauty_cosmetic_store_image_box_2_image', get_template_directory_uri().'/assets/img/box2.png' ); set_theme_mod( 'beauty_cosmetic_store_image_box_2_heading', 'Get Your 50% Off' ); set_theme_mod( 'beauty_cosmetic_store_image_box_2_content', 'Nourish your skin with toxin-free cosmetic products.' ); set_theme_mod( 'beauty_cosmetic_store_image_box_2_button_url', '#' ); set_theme_mod( 'beauty_cosmetic_store_image_box_3_image', get_template_directory_uri().'/assets/img/box3.png' ); set_theme_mod( 'beauty_cosmetic_store_image_box_3_heading', 'Check This Out' ); set_theme_mod( 'beauty_cosmetic_store_image_box_3_content', '$169' ); set_theme_mod( 'beauty_cosmetic_store_image_box_4_image', get_template_directory_uri().'/assets/img/box4.png' ); set_theme_mod( 'beauty_cosmetic_store_image_box_4_heading', 'Body Lotion' ); set_theme_mod( 'beauty_cosmetic_store_image_box_4_content' ,'$39' ); set_theme_mod( 'beauty_cosmetic_store_image_box_4_button_url' ,'#' ); } // Enqueue necessary scripts add_action('admin_enqueue_scripts', 'beauty_store_demo_importer_enqueue_scripts'); function beauty_store_demo_importer_enqueue_scripts() { wp_enqueue_script( 'demo-theme-importer', get_template_directory_uri() . '/assets/js/theme-importer.js', // Path to your JS file array('jquery'), null, true ); wp_enqueue_style('demo-importer-style', get_template_directory_uri() . '/assets/css/importer.css', array(), ''); // Localize script to pass AJAX URL to JS wp_localize_script( 'demo-theme-importer', 'demoImporter', array( 'ajax_url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('theme_importer_nonce') ) ); }