parent()->get('Version'));
wp_enqueue_style( 'bookseller-publication-style', get_stylesheet_uri(), array( $parentcss ), $theme->get('Version'));
wp_enqueue_script( 'comment-reply', '/wp-includes/js/comment-reply.min.js', array(), false, true );
wp_enqueue_script('bookseller-publication-custom-js',get_theme_file_uri() . '/assets/js/custom-script.js', array('jquery'), '', true );
}
add_action( 'wp_enqueue_scripts', 'bookseller_publication_enqueue_styles' );
function bookseller_publication_admin_scripts() {
// demo CSS
wp_enqueue_style( 'bookseller-publication-demo-css', get_theme_file_uri( 'assets/css/demo.css' ) );
}
add_action( 'admin_enqueue_scripts', 'bookseller_publication_admin_scripts' );
function bookseller_publication_customize_register($wp_customize){
// Pro Version
class Bookseller_Publication_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,'bookseller-publication' ) .'';
echo '';
}
}
// Custom Controls
function Bookseller_Publication_sanitize_custom_control( $input ) {
return $input;
}
//Slider
$wp_customize->add_section('bookseller_publication_slider_section',array(
'title' => esc_html__('Slider Setting','bookseller-publication'),
'description' => esc_html__('Here you have to add 3 different Post in below dropdown. Note: Image Dimensions 1400 x 600 px','bookseller-publication'),
));
$wp_customize->add_setting('bookseller_publication_slider_title_setting', array(
'default' => 1,
'sanitize_callback' => 'digital_books_sanitize_checkbox'
));
$wp_customize->add_control( new WP_Customize_Control($wp_customize,'bookseller_publication_slider_title_setting',array(
'label' => __( 'Enable Disable Slider Title', 'digital-books' ),
'section' => 'bookseller_publication_slider_section',
'settings' => 'bookseller_publication_slider_title_setting',
'type' => 'checkbox',
)));
$wp_customize->add_setting('bookseller_publication_slider_per_page', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_slider_per_page', array(
'label' => __('Slider Count', 'bookseller-publication'),
'section' => 'bookseller_publication_slider_section',
'type' => 'number',
));
$categories = get_categories();
$cat_post = array();
$cat_post[]= 'select';
$i = 0;
foreach($categories as $category){
if($i==0){
$default = $category->slug;
$i++;
}
$cat_post[$category->slug] = $category->name;
}
$wp_customize->add_setting('bookseller_publication_slider_sec_category',array(
'default' => 'select',
'sanitize_callback' => 'digital_books_sanitize_select',
));
$wp_customize->add_control('bookseller_publication_slider_sec_category',array(
'type' => 'select',
'choices' => $cat_post,
'label' => __('Select Category to display Slider ','bookseller-publication'),
'section' => 'bookseller_publication_slider_section',
));
$wp_customize->add_setting('bookseller_publication_slider_2_per_page', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_slider_2_per_page', array(
'label' => __('Right Slider Count', 'bookseller-publication'),
'section' => 'bookseller_publication_slider_section',
'type' => 'number',
));
$categories = get_categories();
$cat_post = array();
$cat_post[]= 'select';
$i = 0;
foreach($categories as $category){
if($i==0){
$default = $category->slug;
$i++;
}
$cat_post[$category->slug] = $category->name;
}
$wp_customize->add_setting('bookseller_publication_slider_2_category',array(
'default' => 'select',
'sanitize_callback' => 'digital_books_sanitize_select',
));
$wp_customize->add_control('bookseller_publication_slider_2_category',array(
'type' => 'select',
'choices' => $cat_post,
'label' => __('Select Category to display Right Slider','bookseller-publication'),
'section' => 'bookseller_publication_slider_section',
));
$wp_customize->add_setting('bookseller_publication_slider_title', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_slider_title', array(
'label' => __('Title', 'bookseller-publication'),
'section' => 'bookseller_publication_slider_section',
'type' => 'text',
));
$wp_customize->add_setting('bookseller_publication_slider_time', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_slider_time', array(
'label' => __('Time', 'bookseller-publication'),
'section' => 'bookseller_publication_slider_section',
'type' => 'text',
));
// Pro Version
$wp_customize->add_setting( 'pro_version_slider_settings', array(
'sanitize_callback' => 'Bookseller_Publication_sanitize_custom_control'
));
$wp_customize->add_control( new Bookseller_Publication_Customize_Pro_Version ( $wp_customize,'pro_version_slider_settings', array(
'section' => 'bookseller_publication_slider_section',
'type' => 'pro_options',
'label' => esc_html__( 'Customizer Options', 'bookseller-publication' ),
'description' => esc_url( DIGITAL_BOOKS_URL ),
'priority' => 100
)));
//Latest Product
$wp_customize->add_section('bookseller_publication_latest_product',array(
'title' => esc_html__('Latest Product','bookseller-publication'),
'description' => esc_html__('Here you have to select product category which will display perticular latest product in the home page.','bookseller-publication'),
));
$wp_customize->add_setting('bookseller_publication_latest_product_title', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_latest_product_title', array(
'label' => __('Section Title', 'bookseller-publication'),
'section' => 'bookseller_publication_latest_product',
'priority' => 1,
'type' => 'text',
));
$wp_customize->add_setting('bookseller_publication_latest_product_sub_title', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_latest_product_sub_title', array(
'label' => __('Section Sub Title', 'bookseller-publication'),
'section' => 'bookseller_publication_latest_product',
'priority' => 2,
'type' => 'text',
));
$wp_customize->add_setting('bookseller_publication_latest_number', array(
'sanitize_callback' => 'sanitize_text_field',
));
$wp_customize->add_control('bookseller_publication_latest_number', array(
'label' => __('Product Count', 'bookseller-publication'),
'section' => 'bookseller_publication_latest_product',
'priority' => 2,
'type' => 'number',
));
$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
);
$categories = get_categories( $args );
$cats = array();
$i = 0;
foreach($categories as $category){
if($i==0){
$default = $category->slug;
$i++;
}
$cats[$category->slug] = $category->name;
}
$wp_customize->add_setting('bookseller_publication_latest_product',array(
'sanitize_callback' => 'digital_books_sanitize_select',
));
$wp_customize->add_control('bookseller_publication_latest_product',array(
'type' => 'select',
'choices' => $cats,
'label' => __('Select Product Category','bookseller-publication'),
'section' => 'bookseller_publication_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 Bookseller_Publication_Customize_Pro_Version ( $wp_customize,'pro_version_latest_product_setting', array(
'section' => 'bookseller_publication_latest_product',
'type' => 'pro_options',
'label' => esc_html__( 'Customizer Options', 'bookseller-publication' ),
'description' => esc_url( DIGITAL_BOOKS_URL ),
'priority' => 100
)));
}
add_action('customize_register', 'bookseller_publication_customize_register');
if ( ! function_exists( 'bookseller_publication_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 bookseller_publication_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('bookseller-publication-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', 'bookseller_publication_setup' );
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function bookseller_publication_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'bookseller-publication' ),
'id' => 'sidebar',
'description' => esc_html__( 'Add widgets here.', 'bookseller-publication' ),
'before_widget' => '',
'before_title' => '',
) );
}
add_action( 'widgets_init', 'bookseller_publication_widgets_init' );
function bookseller_publication_remove_customize_register() {
global $wp_customize;
$wp_customize->remove_section( 'digital_books_color_option' );
$wp_customize->remove_section( 'digital_books_top_slider' );
$wp_customize->remove_section( 'digital_books_social_link' );
$wp_customize->remove_setting( 'digital_books_sticky_header' );
$wp_customize->remove_control( 'digital_books_sticky_header' );
}
add_action( 'customize_register', 'bookseller_publication_remove_customize_register', 11 );
function bookseller_publication_remove_my_action() {
remove_action( 'after_switch_theme','digital_books_setup_options' );
remove_action( 'admin_menu','bookseller_publication_themepage' );
remove_action( 'admin_menu','demo_importer_admin_page' );
remove_action( 'admin_notices','bookseller_publication_deprecated_hook_admin_notice' );
}
add_action( 'init', 'bookseller_publication_remove_my_action');
// Demo Content Code
// Ensure WordPress is loaded
if (!defined('ABSPATH')) {
exit;
}
// Add admin menu page to trigger theme import
add_action('admin_menu', 'bookseller_publication_demo_importer_admin_page');
function bookseller_publication_demo_importer_admin_page() {
add_theme_page(
'Demo Theme Importer', // Page title
'Theme Importer', // Menu title
'manage_options', // Capability
'theme-importer', // Menu slug
'bookseller_publication_demo_importer_page', // Callback function
);
}
// Display the page content with the button
function bookseller_publication_demo_importer_page() {
?>
'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 (bookseller_publication_demo_theme_importer($theme_mods_data)) {
// After importing theme mods, create the menu
bookseller_publication_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 bookseller_publication_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 bookseller_publication_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','bookseller-publication'),
'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','bookseller-publication'),
'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','bookseller-publication'),
'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','bookseller-publication'),
'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','bookseller-publication'),
'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','bookseller-publication'),
'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);
}
}
//Slider
set_theme_mod( 'digital_books_slider_loop', true );
// Import Categories
$categories = [
['name' => 'Left Slider', 'slug' => 'left-slider'],
['name' => 'Right Slider', 'slug' => 'right-slider']
];
$category_ids = [];
foreach ($categories as $category) {
$term = wp_insert_term($category['name'], 'category', ['slug' => $category['slug']]);
if (!is_wp_error($term)) {
$category_ids[$category['slug']] = $term['term_id'];
}
}
// Import Posts
$posts = [
['title' => 'Recollect your past for the future',
'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
'categories' => ['left-slider'],
'image_url' => get_stylesheet_directory_uri().'/assets/img/slider.png'],
['title' => 'Library Guides',
'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
'categories' => ['right-slider']],
['title' => 'Borrow, Reserve, Renew',
'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
'categories' => ['right-slider']],
['title' => 'Study Spaces & PCs',
'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
'categories' => ['right-slider']]
];
foreach ($posts as $post) {
$post_categories = array_map(function ($slug) use ($category_ids) {
return $category_ids[$slug];
}, $post['categories']);
$post_id = wp_insert_post([
'post_title' => $post['title'],
'post_content' => $post['content'],
'post_status' => 'publish',
'post_category' => $post_categories,
]);
if ($post_id && !is_wp_error($post_id)) {
// Upload the featured image
$image_id = media_sideload_image($post['image_url'], $post_id, null, 'id');
if (!is_wp_error($image_id)) {
// Set the featured image
set_post_thumbnail($post_id, $image_id);
}
}
}
set_theme_mod( 'bookseller_publication_slider_sec_category', 'left-slider' );
set_theme_mod( 'bookseller_publication_slider_per_page', '1' );
set_theme_mod( 'bookseller_publication_slider_2_category', 'right-slider' );
set_theme_mod( 'bookseller_publication_slider_2_per_page', '3' );
set_theme_mod( 'bookseller_publication_slider_title', 'The library is open today' );
set_theme_mod( 'bookseller_publication_slider_time', '6:00AM - 8:00PM' );
//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" );
update_post_meta( $post_id, '_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( 'bookseller_publication_latest_product_title', 'Featured Books' );
set_theme_mod( 'bookseller_publication_latest_product_sub_title', 'Lorem Ipsum' );
set_theme_mod( 'bookseller_publication_latest_number', 5);
if ( class_exists( 'WooCommerce' ) ) {
$product_category= array(
'Latest Product' => array(
'Lorem Ipsum 1',
'Lorem Ipsum 2',
'Lorem Ipsum 3',
'Lorem Ipsum 4',
'Lorem Ipsum 5',
),
);
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" );
update_post_meta( $post_id, '_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( 'bookseller_publication_latest_product', 'latest-product' );
}
// Enqueue necessary scripts
add_action('admin_enqueue_scripts', 'bookseller_publication_demo_importer_enqueue_scripts');
function bookseller_publication_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')
)
);
}