parent()->get('Version')); wp_enqueue_style( 'book-publisher-style', get_stylesheet_uri(), array( $book_publisher_parentcss ), $book_publisher_theme->get('Version')); require get_theme_file_path( '/custom-option.php' ); wp_add_inline_style( 'book-publisher-style',$digital_books_theme_css ); require get_parent_theme_file_path( '/custom-option.php' ); wp_add_inline_style( 'digital-books-style',$digital_books_theme_css ); wp_enqueue_script( 'comment-reply', '/wp-includes/js/comment-reply.min.js', array(), false, true ); } add_action( 'wp_enqueue_scripts', 'book_publisher_enqueue_styles' ); function book_publisher_admin_scripts() { // demo CSS wp_enqueue_style( 'book-publisher-demo-css', get_theme_file_uri( 'assets/css/demo.css' ) ); } add_action( 'admin_enqueue_scripts', 'book_publisher_admin_scripts' ); function book_publisher_customize_register($wp_customize){ // Pro Version class Book_Publisher_Customize_Pro_Version extends WP_Customize_Control { public $type = 'pro_options'; public function render_content() { echo 'For More '. esc_html( $this->label ) .'?'; echo ''; echo ''; echo ' '. esc_html( DIGITAL_BOOKS_BUY_TEXT,'book-publisher' ) .''; echo ''; } } $wp_customize->add_setting('book_publisher_topbar_text', array( 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control('book_publisher_topbar_text', array( 'label' => __('Topbar Text', 'book-publisher'), 'section' => 'digital_books_social_link', 'priority' => 1, 'type' => 'text', )); //Latest Product $wp_customize->add_section('book_publisher_latest_product',array( 'title' => esc_html__('Latest Product','book-publisher'), 'description' => esc_html__('Here you have to select product category which will display perticular latest product in the home page.','book-publisher'), )); $wp_customize->add_setting('book_publisher_latest_product_section_setting', array( 'default' => 1, 'sanitize_callback' => 'digital_books_sanitize_checkbox' )); $wp_customize->add_control( new WP_Customize_Control($wp_customize,'book_publisher_latest_product_section_setting',array( 'label' => __( 'Enable Disable Latest Product', 'book-publisher' ), 'section' => 'book_publisher_latest_product', 'settings' => 'book_publisher_latest_product_section_setting', 'type' => 'checkbox', ))); $wp_customize->add_setting('book_publisher_latest_product_title', array( 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control('book_publisher_latest_product_title', array( 'label' => __('Section Title', 'book-publisher'), 'section' => 'book_publisher_latest_product', 'type' => 'text', )); $book_publisher_args = array( 'type' => 'product', 'child_of' => 0, 'parent' => '', 'orderby' => 'term_group', 'order' => 'ASC', 'hide_empty' => false, 'hierarchical' => 1, 'number' => '', 'taxonomy' => 'product_cat', 'pad_counts' => false ); $book_publisher_categories = get_categories( $book_publisher_args ); $book_publisher_cats = array(); $i = 0; foreach($book_publisher_categories as $category){ if($i==0){ $default = $category->slug; $i++; } $book_publisher_cats[$category->slug] = $category->name; } $wp_customize->add_setting('book_publisher_latest_product',array( 'sanitize_callback' => 'digital_books_sanitize_select', )); $wp_customize->add_control('book_publisher_latest_product',array( 'type' => 'select', 'choices' => $book_publisher_cats, 'label' => __('Select Product Category','book-publisher'), 'section' => 'book_publisher_latest_product', )); // Pro Version $wp_customize->add_setting( 'pro_version_latest_product_setting', array( 'sanitize_callback' => 'Digital_Books_sanitize_custom_control' )); $wp_customize->add_control( new Book_Publisher_Customize_Pro_Version ( $wp_customize,'pro_version_latest_product_setting', array( 'section' => 'book_publisher_latest_product', 'type' => 'pro_options', 'label' => esc_html__( 'Customizer Options', 'book-publisher' ), 'description' => esc_url( DIGITAL_BOOKS_URL ), 'priority' => 100 ))); } add_action('customize_register', 'book_publisher_customize_register'); if ( ! function_exists( 'book_publisher_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 book_publisher_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('book-publisher-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( 'digital_books_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' ); } endif; add_action( 'after_setup_theme', 'book_publisher_setup' ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function book_publisher_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'book-publisher' ), 'id' => 'sidebar', 'description' => esc_html__( 'Add widgets here.', 'book-publisher' ), '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', 'book_publisher_widgets_init' ); /** * Enqueue theme color style. */ function book_publisher_theme_color() { $book_publisher_theme_color_css = ''; $digital_books_theme_color = get_theme_mod('digital_books_theme_color'); $digital_books_theme_color_2 = get_theme_mod('digital_books_theme_color_2'); $digital_books_preloader_bg_color = get_theme_mod('digital_books_preloader_bg_color'); $digital_books_preloader_dot_1_color = get_theme_mod('digital_books_preloader_dot_1_color'); $digital_books_preloader_dot_2_color = get_theme_mod('digital_books_preloader_dot_2_color'); if(get_theme_mod('digital_books_preloader_bg_color') == '') { $digital_books_preloader_bg_color = '#000'; } if(get_theme_mod('digital_books_preloader_dot_1_color') == '') { $digital_books_preloader_dot_1_color = '#fff'; } if(get_theme_mod('digital_books_preloader_dot_2_color') == '') { $digital_books_preloader_dot_2_color = '#fc3656'; } $book_publisher_theme_color_css = ' .sticky .entry-title::before, .main-navigation .sub-menu, #button, .sidebar input[type="submit"], .comment-respond input#submit, .post-navigation .nav-previous a:hover, .post-navigation .nav-next a:hover, .posts-navigation .nav-previous a:hover, .posts-navigation .nav-next a:hover, .woocommerce .woocommerce-ordering select, .woocommerce ul.products li.product .onsale, .woocommerce span.onsale, .pro-button a, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .wp-block-button__link, .serv-box:hover, .woocommerce-account .woocommerce-MyAccount-navigation ul li, .btn-primary, .sidebar h5, .toggle-nav i, span.onsale, .slide-btn a, .serach_inner [type="submit"],span.cart-value,.slide-btn a:hover,.woocommerce a.added_to_cart,a.account-btn:hover,.main-navigation .menu > li > a:hover { background: '.esc_attr($digital_books_theme_color).'; } a, .sidebar ul li a:hover, #colophon a:hover, #colophon a:focus, p.price, .woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce-message::before, .woocommerce-info::before, .slider-inner-box a h2,.slider-inner-box h2,.main-navigation .menu > li > a:hover,.woocommerce .star-rating span::before,.pro-button a:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,.woocommerce a.added_to_cart:hover,.product-box h5.price { color: '.esc_attr($digital_books_theme_color).'; } .pro-button a:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,.woocommerce a.added_to_cart:hover { border-color: '.esc_attr($digital_books_theme_color).'; } .wp-block-quote, .wp-block-quote:not(.is-large):not(.is-style-large), .wp-block-pullquote { border-color: '.esc_attr($digital_books_theme_color).'!important; } #colophon,.top-info,.serach_inner,#top-slider { background: '.esc_attr($digital_books_theme_color_2).'; } .loading{ background-color: '.esc_attr($digital_books_preloader_bg_color).'; } @keyframes loading { 0%, 100% { transform: translatey(-2.5rem); background-color: '.esc_attr($digital_books_preloader_dot_1_color).'; } 50% { transform: translatey(2.5rem); background-color: '.esc_attr($digital_books_preloader_dot_2_color).'; } } '; wp_add_inline_style( 'book-publisher-style',$book_publisher_theme_color_css ); } add_action( 'wp_enqueue_scripts', 'book_publisher_theme_color' ); // Demo Content Code // Ensure WordPress is loaded if (!defined('ABSPATH')) { exit; } // Add admin menu page to trigger theme import add_action('admin_menu', 'book_publisher_demo_importer_admin_page'); function book_publisher_demo_importer_admin_page() { add_theme_page( 'Demo Theme Importer', // Page title 'Theme Importer', // Menu title 'manage_options', // Capability 'theme-importer', // Menu slug 'book_publisher_demo_importer_page', // Callback function ); } // Display the page content with the button function book_publisher_demo_importer_page() { ?> <div class="wrap-main-box"> <div class="main-box"> <h2><?php echo esc_html('Welcome to Book Publisher','book-publisher'); ?></h2> <h3><?php echo esc_html('Create your website in just one click','book-publisher'); ?></h3> <hr> <p><?php echo esc_html('The "Begin Installation" helps you quickly set up your website by importing sample content that mirrors the demo version of the theme. This tool provides you with a ready-made layout and structure, so you can easily see how your site will look and start customizing it right away. It\'s a straightforward way to get your site up and running with minimal effort.','book-publisher'); ?></p> <p><?php echo esc_html('Click the button below to install the demo content.','book-publisher'); ?></p> <hr> <button id="import-theme-mods" class="button button-primary"><?php echo esc_html('Begin Installation','book-publisher'); ?></button> <div id="import-response"></div> </div> </div> <?php } // Add the AJAX action to trigger theme mods import add_action('wp_ajax_import_theme_mods', 'book_publisher_demo_importer_ajax_handler'); // Handle the AJAX request function book_publisher_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 (book_publisher_demo_theme_importer($theme_mods_data)) { // After importing theme mods, create the menu book_publisher_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 book_publisher_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 book_publisher_create_demo_menu() { // Page import process $pages_to_create = array( array( 'title' => 'Home', 'slug' => 'home', 'template' => 'page-template/home-template.php', ), array( 'title' => 'Events', 'slug' => 'events', 'template' => '', ), array( 'title' => 'Causes', 'slug' => 'causes', 'template' => '', ), array( 'title' => 'Projects', 'slug' => 'projects', 'template' => '', ), array( 'title' => 'News', 'slug' => 'News', 'template' => '', ), array( 'title' => 'Contact Us', 'slug' => 'contact-us', 'template' => '', ), ); // Loop through each page data to create pages foreach ($pages_to_create as $page_data) { $page_check = get_page_by_title($page_data['title']); // Check if the page doesn't exist already if (!$page_check) { $page = array( 'post_type' => 'page', 'post_title' => $page_data['title'], 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => $page_data['slug'], ); // Insert the page and get the inserted page ID $page_id = wp_insert_post($page); // Set the page template if ($page_id) { add_post_meta($page_id, '_wp_page_template', $page_data['template']); } } } // Set 'Home' as the front page $home_page = get_page_by_title('Home'); if ($home_page) { update_option('page_on_front', $home_page->ID); update_option('show_on_front', 'page'); } // Set 'Blog' as the posts page $blog_page = get_page_by_title('Blog'); if ($blog_page) { update_option('page_for_posts', $blog_page->ID); } // ------- Create Main Menu -------- $menuname = 'Primary Menu'; $bpmenulocation = 'primary'; $menu_exists = wp_get_nav_menu_object($menuname); if (!$menu_exists) { $menu_id = wp_create_nav_menu($menuname); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Home','book-publisher'), 'menu-item-classes' => 'home', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish')); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Events','book-publisher'), 'menu-item-classes' => 'events', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish', )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Causes','book-publisher'), 'menu-item-classes' => 'causes', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish' )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Projects','book-publisher'), 'menu-item-classes' => 'projects', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish' )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('News','book-publisher'), 'menu-item-classes' => 'news', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish' )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Contact Us','book-publisher'), 'menu-item-classes' => 'contact-us', 'menu-item-url' => home_url( '/' ), 'menu-item-status' => 'publish' )); // Assign the menu to the location if (!has_nav_menu($bpmenulocation)) { $locations = get_theme_mod('nav_menu_locations'); $locations[$bpmenulocation] = $menu_id; set_theme_mod('nav_menu_locations', $locations); } } //Top Bar set_theme_mod( 'digital_books_social_on_of_setting', 1 ); set_theme_mod( 'digital_books_facebook_icon', 'fab fa-facebook-f' ); set_theme_mod( 'digital_books_facebook_url', 'www.facebook.com' ); set_theme_mod( 'digital_books_twitter_icon', 'fab fa-twitter' ); set_theme_mod( 'digital_books_twitter_url', 'www.twitter.com' ); set_theme_mod( 'digital_books_intagram_icon', 'fab fa-instagram' ); set_theme_mod( 'digital_books_intagram_url', 'www.instagram.com' ); set_theme_mod( 'digital_books_linkedin_icon', 'fab fa-linkedin-in' ); set_theme_mod( 'digital_books_linkedin_url', 'www.linkedin.com' ); set_theme_mod( 'digital_books_pintrest_icon', 'fab fa-pinterest-p' ); set_theme_mod( 'digital_books_pintrest_url', 'www.pinterest.com' ); //Slider set_theme_mod( 'digital_books_top_slider_section_setting', true ); //$tab_title = array('','Exceptional Kindergarten Learning Experience','Excellence in Kindergarten Education'); for($i=1;$i<=3;$i++){ $title = 'Lorem ipsum dolor amet'; $content = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s.'; // 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('digital_books_top_slider_page' . $i, $post_id); $image_url = get_stylesheet_directory_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); } } } //About Us set_theme_mod( 'digital_books_product_section_setting', 1 ); set_theme_mod( 'digital_books_home_product_number1', '80k' ); set_theme_mod( 'digital_books_home_product_text1', 'Active Readers' ); set_theme_mod( 'digital_books_home_product_number2', '+3k' ); set_theme_mod( 'digital_books_home_product_text2', 'Total Pages' ); set_theme_mod( 'digital_books_home_product_number3', '283' ); set_theme_mod( 'digital_books_home_product_text3', 'Cup of Coffee' ); set_theme_mod( 'digital_books_home_product_number4', '14k' ); set_theme_mod( 'digital_books_home_product_text4', 'Facebook Fans' ); if ( class_exists( 'WooCommerce' ) ) { $product_category= array( 'Best Seller' => array( 'Lorem Ipsum Dolor Amet', ), ); foreach ( $product_category as $product_cats => $products_name ) { // Insert porduct cats Start $content = 'This is sample product category'; $parent_category = wp_insert_term( $product_cats, // the term 'product_cat', // the taxonomy array( 'description'=> $content, 'slug' => str_replace( ' ', '-', $product_cats) ) ); // -------------- create subcategory END ----------------- // create Product START foreach ( $products_name as $key => $product_title ) { $content = 'Lorem Ipsum has been the industrys 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 when an unknown printer took a galley of type and scrambled it to make a type specimen book.'; // Create post object $my_post = array( 'post_title' => wp_strip_all_tags( $product_title ), 'post_content' => $content, 'post_status' => 'publish', 'post_type' => 'product', 'post_category' => [$parent_category['term_id']] ); // Insert the post into the database $post_id = wp_insert_post($my_post); wp_set_object_terms( $post_id, str_replace( ' ', '-', $product_cats), 'product_cat', true ); update_post_meta( $post_id, '_regular_price', "$25.00" ); update_post_meta( $post_id, '_sale_price', "$20.00" ); // Now replace meta w/ new updated value array $image_url = get_template_directory_uri().'/assets/img/' . str_replace(' ', '-', strtolower($product_title)).'.png'; // $image_url = get_template_directory_uri().'/assets/images/product/'.$product_cats.'/'.$product_title.'.png'; $image_name = $product_title.'.png'; $upload_dir = wp_upload_dir(); // Set upload folder $image_data = file_get_contents(esc_url($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; } // Create the image file on the server file_put_contents($file, $image_data); // 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_type' => 'product', 'post_status' => 'inherit', ); // Create the attachment $attach_id = wp_insert_attachment($attachment, $file, $post_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($post_id, $attach_id); // Create product END wp_update_post($post_id); } } } set_theme_mod( 'digital_books_home_product', 'best-seller' ); //Our Services set_theme_mod( 'book_publisher_latest_product_section_setting', true ); set_theme_mod( 'book_publisher_latest_product_title', 'Latest Releases' ); if ( class_exists( 'WooCommerce' ) ) { $product_category= array( 'Latest Product' => array( 'Lorem Ipsum 1', 'Lorem Ipsum 2', 'Lorem Ipsum 3', 'Lorem Ipsum 4', ), ); foreach ( $product_category as $product_cats => $products_name ) { // Insert porduct cats Start $content = 'This is sample product category'; $parent_category = wp_insert_term( $product_cats, // the term 'product_cat', // the taxonomy array( 'description'=> $content, 'slug' => str_replace( ' ', '-', $product_cats) ) ); // -------------- create subcategory END ----------------- // create Product START foreach ( $products_name as $key => $product_title ) { $content = 'Lorem Ipsum has been the industrys 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 when an unknown printer took a galley of type and scrambled it to make a type specimen book.'; // Create post object $my_post = array( 'post_title' => wp_strip_all_tags( $product_title ), 'post_content' => $content, 'post_status' => 'publish', 'post_type' => 'product', 'post_category' => [$parent_category['term_id']] ); // Insert the post into the database $post_id = wp_insert_post($my_post); wp_set_object_terms( $post_id, str_replace( ' ', '-', $product_cats), 'product_cat', true ); update_post_meta( $post_id, '_regular_price', "$25.00" ); update_post_meta( $post_id, '_sale_price', "$20.00" ); // Now replace meta w/ new updated value array $image_url = get_stylesheet_directory_uri().'/assets/img/' . str_replace(' ', '-', strtolower($product_title)).'.png'; // $image_url = get_template_directory_uri().'/assets/images/product/'.$product_cats.'/'.$product_title.'.png'; $image_name = $product_title.'.png'; $upload_dir = wp_upload_dir(); // Set upload folder $image_data = file_get_contents(esc_url($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; } // Create the image file on the server file_put_contents($file, $image_data); // 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_type' => 'product', 'post_status' => 'inherit', ); // Create the attachment $attach_id = wp_insert_attachment($attachment, $file, $post_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($post_id, $attach_id); // Create product END wp_update_post($post_id); } } } set_theme_mod( 'book_publisher_latest_product', 'latest-product' ); } // Enqueue necessary scripts add_action('admin_enqueue_scripts', 'book_publisher_demo_importer_enqueue_scripts'); function book_publisher_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') ) ); } // add_action( 'lms_education_study_navigation_action','lms_education_study_single_post_navigation',30 ); if( !function_exists('book_publisher_content_offcanvas') ): // Offcanvas Contents function book_publisher_content_offcanvas(){ ?> <div id="offcanvas-menu"> <div class="offcanvas-wraper"> <div class="close-offcanvas-menu"> <div class="offcanvas-close"> <a href="javascript:void(0)" class="skip-link-menu-start"></a> <button type="button" class="button-offcanvas-close"> <span class="offcanvas-close-label"> <i class="fas fa-times"></i> </span> </button> </div> </div> <div id="primary-nav-offcanvas" class="offcanvas-item offcanvas-main-navigation"> <nav class="primary-menu-wrapper" aria-label="<?php esc_attr_e('Horizontal', 'book-publisher'); ?>" role="navigation"> <ul class="primary-menu theme-menu"> <?php if (has_nav_menu('primary')) { wp_nav_menu( array( 'container' => '', 'items_wrap' => '%3$s', 'theme_location' => 'primary', 'show_toggles' => true, ) ); }else{ wp_list_pages( array( 'match_menu_classes' => true, 'show_sub_menu_icons' => true, 'title_li' => false, 'show_toggles' => true, 'walker' => new Digital_Books_Menu_Page(), ) ); } ?> </ul> </nav><!-- .primary-menu-wrapper --> </div> <a href="javascript:void(0)" class="skip-link-menu-end"></a> </div> </div> <?php } endif; add_action( 'book_publisher_before_footer_content_action','book_publisher_content_offcanvas',30 ); function book_publisher_remove_my_action() { remove_action( 'remove_menu_page','digital-books-info' ); remove_action( 'admin_menu','demo_importer_admin_page' ); remove_action( 'admin_notices','digital_books_deprecated_hook_admin_notice' ); } add_action( 'init', 'book_publisher_remove_my_action'); add_action('admin_menu', 'remove_my_theme_page', 999); function remove_my_theme_page() { remove_submenu_page('themes.php','digital-books-info'); } /** * Get CSS */ function book_publisher_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','book_publisher', array('admin_ajax' => admin_url('admin-ajax.php'),'wpnonce' => wp_create_nonce('book_publisher_dismissed_notice_nonce') ) ); wp_enqueue_script('admin-notice-script'); wp_localize_script( 'admin-notice-script', 'book_publisher_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); if ( 'appearance_page_book-publisher-info' != $hook ) { return; } } add_action( 'admin_enqueue_scripts', 'book_publisher_getpage_css' ); //Admin Notice For Getstart function book_publisher_ajax_notice_handler() { if ( isset( $_POST['type'] ) ) { $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); update_option( 'dismissed-' . $type, TRUE ); } } function book_publisher_deprecated_hook_admin_notice() { // Check if the notice has been dismissed by the user $dismissed = get_user_meta(get_current_user_id(), 'book_publisher_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 ', 'book-publisher'); ?><?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.', 'book-publisher'); ?><p> <a class="admin-notice-btn button button-primary button-hero" target="_blank" href="<?php echo esc_url( admin_url( 'admin.php?page=theme-importer' )); ?>"><?php esc_html_e( 'Start Demo Import', 'book-publisher' ) ?></a> <a class="admin-notice-btn button button-primary button-hero" href="<?php echo esc_url( admin_url( 'themes.php?page=book-publisher-info.php' )); ?>"><?php esc_html_e( 'Get started', 'book-publisher' ) ?></a> <a class="admin-notice-btn button button-primary button-hero" target="_blank" href="<?php echo esc_url( DIGITAL_BOOKS_FREE_DOC ); ?>"><?php esc_html_e( 'Documentation', 'book-publisher' ) ?></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( DIGITAL_BOOKS_LIVE_DEMO ); ?>"><?php esc_html_e( 'View Demo', 'book-publisher' ) ?></a> </span> </div> </div> <?php } } add_action( 'admin_notices', 'book_publisher_deprecated_hook_admin_notice' ); function book_publisher_switch_theme() { delete_user_meta(get_current_user_id(), 'book_publisher_dismissable_notice'); } add_action('after_switch_theme', 'book_publisher_switch_theme'); function book_publisher_dismissable_notice() { update_user_meta(get_current_user_id(), 'book_publisher_dismissable_notice', true); die(); }