beauty_cosmetic_store_add( 'WPTRT\\Customize\\Section', get_theme_file_path( 'vendor/wptrt/customize-section-button/src' ) );
$Beauty_Cosmetic_Store_Loader->beauty_cosmetic_store_register();
if ( ! function_exists( 'beauty_cosmetic_store_setup' ) ) :
function beauty_cosmetic_store_setup() {
/*
* Enable support for Post Formats.
*
* See: https://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array('image','video','gallery','audio',) );
load_theme_textdomain( 'beauty-cosmetic-store', get_template_directory() . '/languages' );
add_theme_support( 'woocommerce' );
add_theme_support( "responsive-embeds" );
add_theme_support( "align-wide" );
add_theme_support( "wp-block-styles" );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
add_image_size('beauty-cosmetic-store-featured-header-image', 2000, 660, true);
register_nav_menus( array(
'primary' => esc_html__( 'Primary','beauty-cosmetic-store' ),
) );
add_theme_support( 'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
add_theme_support( 'custom-background', apply_filters( 'beauty_cosmetic_store_custom_background_args', array(
'default-color' => 'f7ebe5',
'default-image' => '',
) ) );
add_theme_support( 'customize-selective-refresh-widgets' );
add_theme_support( 'custom-logo', array(
'height' => 200,
'width' => 200,
'flex-width' => true,
) );
add_editor_style( array( '/editor-style.css' ) );
add_action('wp_ajax_beauty_cosmetic_store_dismissable_notice', 'beauty_cosmetic_store_dismissable_notice');
add_action( 'wp_ajax_tm-check-plugin-exists', 'tm_check_plugin_exists' );
add_action( 'wp_ajax_tm_install_and_activate_plugin', 'tm_install_and_activate_plugin' );
}
endif;
add_action( 'after_setup_theme', 'beauty_cosmetic_store_setup' );
function beauty_cosmetic_store_content_width() {
$GLOBALS['content_width'] = apply_filters( 'beauty_cosmetic_store_content_width', 1170 );
}
add_action( 'after_setup_theme', 'beauty_cosmetic_store_content_width', 0 );
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function beauty_cosmetic_store_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'beauty-cosmetic-store' ),
'id' => 'sidebar',
'description' => esc_html__( 'Add widgets here.', 'beauty-cosmetic-store' ),
'before_widget' => '',
'before_title' => '
',
) );
register_sidebar( array(
'name' => esc_html__( 'Sidebar 1', 'beauty-cosmetic-store' ),
'id' => 'sidebar1',
'description' => esc_html__( 'Add widgets here.', 'beauty-cosmetic-store' ),
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Sidebar 2', 'beauty-cosmetic-store' ),
'id' => 'sidebar2',
'description' => esc_html__( 'Add widgets here.', 'beauty-cosmetic-store' ),
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 1', 'beauty-cosmetic-store' ),
'id' => 'beauty-cosmetic-store-footer1',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 2', 'beauty-cosmetic-store' ),
'id' => 'beauty-cosmetic-store-footer2',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 3', 'beauty-cosmetic-store' ),
'id' => 'beauty-cosmetic-store-footer3',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Column 4', 'beauty-cosmetic-store' ),
'id' => 'beauty-cosmetic-store-footer4',
'description' => '',
'before_widget' => '',
'before_title' => '',
) );
}
add_action( 'widgets_init', 'beauty_cosmetic_store_widgets_init' );
function tm_install_and_activate_plugin() {
$post_plugin_details = $_POST['plugin_details'];
$plugin_text_domain = $post_plugin_details['plugin_text_domain'];
$plugin_main_file = $post_plugin_details['plugin_main_file'];
$plugin_url = $post_plugin_details['plugin_url'];
$plugin = array(
'text_domain' => $plugin_text_domain,
'path' => $plugin_url,
'install' => $plugin_text_domain . '/' . $plugin_main_file
);
wp_cache_flush();
$plugin_path = plugin_basename( trim( $plugin['install'] ) );
$activate_plugin = activate_plugin( $plugin_path );
if($activate_plugin) {
echo $activate_plugin;
} else {
echo $activate_plugin;
}
$msg = 'installed';
$response = array( 'status' => true, 'msg' => $msg );
wp_send_json( $response );
exit;
}
function tm_check_plugin_exists() {
$plugin_text_domain = $_POST['plugin_text_domain'];
$main_plugin_file = $_POST['main_plugin_file'];
$plugin_path = $plugin_text_domain . '/' . $main_plugin_file;
$get_plugins = get_plugins();
$is_plugin_installed = false;
$activation_status = false;
if ( isset( $get_plugins[$plugin_path] ) ) {
$is_plugin_installed = true;
$activation_status = is_plugin_active( $plugin_path );
}
wp_send_json_success(
array(
'install_status' => $is_plugin_installed,
'active_status' => $activation_status,
'plugin_path' => $plugin_path,
'plugin_slug' => $plugin_text_domain
)
);
}
/**
* Enqueue scripts and styles.
*/
function beauty_cosmetic_store_scripts() {
require_once get_theme_file_path( 'inc/wptt-webfont-loader.php' );
wp_enqueue_style(
'inter',
wptt_get_webfont_url( 'https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet"' ),
array(),
'1.0'
);
wp_enqueue_style(
'elsie',
wptt_get_webfont_url( 'https://fonts.googleapis.com/css2?family=Elsie:wght@400;900&display=swap' ),
array(),
'1.0'
);
wp_enqueue_style( 'beauty-cosmetic-store-block-editor-style', get_theme_file_uri('/assets/css/block-editor-style.css') );
// load bootstrap css
wp_enqueue_style( 'bootstrap-css', get_template_directory_uri() . '/assets/css/bootstrap.css');
wp_enqueue_style( 'owl.carousel-css', get_template_directory_uri() . '/assets/css/owl.carousel.css');
wp_enqueue_style( 'beauty-cosmetic-store-style', get_stylesheet_uri() );
require get_parent_theme_file_path( '/custom-option.php' );
wp_add_inline_style( 'beauty-cosmetic-store-style',$beauty_cosmetic_store_theme_css );
// fontawesome
wp_enqueue_style( 'fontawesome-style', get_template_directory_uri() .'/assets/css/fontawesome/css/all.css' );
wp_enqueue_script('beauty-cosmetic-store-theme-js', get_template_directory_uri() . '/assets/js/theme-script.js', array('jquery'), '', true );
wp_enqueue_script('owl.carousel-js', get_template_directory_uri() . '/assets/js/owl.carousel.js', array('jquery'), '', true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'beauty_cosmetic_store_scripts' );
/**
* Enqueue Preloader.
*/
function beauty_cosmetic_store_preloader() {
$beauty_cosmetic_store_theme_color_css = '';
$beauty_cosmetic_store_preloader_bg_color = get_theme_mod('beauty_cosmetic_store_preloader_bg_color');
$beauty_cosmetic_store_preloader_dot_1_color = get_theme_mod('beauty_cosmetic_store_preloader_dot_1_color');
$beauty_cosmetic_store_preloader_dot_2_color = get_theme_mod('beauty_cosmetic_store_preloader_dot_2_color');
$beauty_cosmetic_store_preloader2_dot_color = get_theme_mod('beauty_cosmetic_store_preloader2_dot_color');
$beauty_cosmetic_store_logo_max_height = get_theme_mod('beauty_cosmetic_store_logo_max_height');
$beauty_cosmetic_store_scroll_bg_color = get_theme_mod('beauty_cosmetic_store_scroll_bg_color');
$beauty_cosmetic_store_scroll_color = get_theme_mod('beauty_cosmetic_store_scroll_color');
$beauty_cosmetic_store_scroll_font_size = get_theme_mod('beauty_cosmetic_store_scroll_font_size');
$beauty_cosmetic_store_scroll_border_radius = get_theme_mod('beauty_cosmetic_store_scroll_border_radius');
$beauty_cosmetic_store_related_product_display_setting = get_theme_mod('beauty_cosmetic_store_related_product_display_setting', true);
if(get_theme_mod('beauty_cosmetic_store_logo_max_height') == '') {
$beauty_cosmetic_store_logo_max_height = '200';
}
if(get_theme_mod('beauty_cosmetic_store_preloader_dot_1_color') == '') {
$beauty_cosmetic_store_preloader_dot_1_color = '#ffffff';
}
if(get_theme_mod('beauty_cosmetic_store_preloader_dot_2_color') == '') {
$beauty_cosmetic_store_preloader_dot_2_color = '#000000';
}
// Start CSS build
$beauty_cosmetic_store_theme_color_css = '';
if (!$beauty_cosmetic_store_related_product_display_setting) {
$beauty_cosmetic_store_theme_color_css .= '
.related.products,
.related h2 {
display: none !important;
}
';
}
$beauty_cosmetic_store_theme_color_css .= '
.custom-logo-link img{
max-height: '.esc_attr($beauty_cosmetic_store_logo_max_height).'px;
}
.loading, .loading2{
background-color: '.esc_attr($beauty_cosmetic_store_preloader_bg_color).';
}
@keyframes loading {
0%,
100% {
transform: translatey(-2.5rem);
background-color: '.esc_attr($beauty_cosmetic_store_preloader_dot_1_color).';
}
50% {
transform: translatey(2.5rem);
background-color: '.esc_attr($beauty_cosmetic_store_preloader_dot_2_color).';
}
}
.load hr {
background-color: '.esc_attr($beauty_cosmetic_store_preloader2_dot_color).';
}
a#button{
background-color: '.esc_attr($beauty_cosmetic_store_scroll_bg_color).';
color: '.esc_attr($beauty_cosmetic_store_scroll_color).' !important;
font-size: '.esc_attr($beauty_cosmetic_store_scroll_font_size).'px;
border-radius: '.esc_attr($beauty_cosmetic_store_scroll_border_radius).'%;
}
';
wp_add_inline_style( 'beauty-cosmetic-store-style',$beauty_cosmetic_store_theme_color_css );
}
add_action( 'wp_enqueue_scripts', 'beauty_cosmetic_store_preloader' );
if ( class_exists( 'WP_Customize_Control' ) ) {
// Image Toggle Radio Buttpon
class Beauty_Cosmetic_Store_Image_Radio_Control extends WP_Customize_Control {
public function render_content() {
if (empty($this->choices))
return;
$name = '_customize-radio-' . $this->id;
?>
label); ?>
manager->get_control( $setting->id )->choices;
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}
function beauty_cosmetic_store_preloader1(){
if(get_theme_mod('beauty_cosmetic_store_preloader_type', 'Preloader 1') == 'Preloader 1' ) {
return true;
}
return false;
}
function beauty_cosmetic_store_preloader2(){
if(get_theme_mod('beauty_cosmetic_store_preloader_type', 'Preloader 1') == 'Preloader 2' ) {
return true;
}
return false;
}
/** * Posts pagination. */
if ( ! function_exists( 'beauty_cosmetic_store_blog_posts_pagination' ) ) {
function beauty_cosmetic_store_blog_posts_pagination() {
$pagination_type = get_theme_mod( 'beauty_cosmetic_store_blog_pagination_type', 'blog-nav-numbers' );
if ( $pagination_type == 'blog-nav-numbers' ) {
the_posts_pagination();
} else {
the_posts_navigation();
}
}
}
function beauty_cosmetic_store_sanitize_number_range( $number, $setting ) {
// Ensure input is an absolute integer.
$number = absint( $number );
// Get the input attributes associated with the setting.
$atts = $setting->manager->get_control( $setting->id )->input_attrs;
// Get minimum number in the range.
$min = ( isset( $atts['min'] ) ? $atts['min'] : $number );
// Get maximum number in the range.
$max = ( isset( $atts['max'] ) ? $atts['max'] : $number );
// Get step.
$step = ( isset( $atts['step'] ) ? $atts['step'] : 1 );
// If the number is within the valid range, return it; otherwise, return the default
return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default );
}
function beauty_cosmetic_store_sanitize_checkbox( $input ) {
// Boolean check
return ( ( isset( $input ) && true == $input ) ? true : false );
}
/*radio button sanitization*/
function beauty_cosmetic_store_sanitize_choices( $input, $setting ) {
global $wp_customize;
$control = $wp_customize->get_control( $setting->id );
if ( array_key_exists( $input, $control->choices ) ) {
return $input;
} else {
return $setting->default;
}
}
/*dropdown page sanitization*/
function beauty_cosmetic_store_sanitize_dropdown_pages( $page_id, $setting ) {
$page_id = absint( $page_id );
return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default );
}
function beauty_cosmetic_store_sanitize_phone_number( $phone ) {
return preg_replace( '/[^\d+]/', '', $phone );
}
function beauty_cosmetic_store_sanitize_number_absint( $number, $setting ) {
// Ensure $number is an absolute integer (whole number, zero or greater).
$number = absint( $number );
// If the input is an absolute integer, return it; otherwise, return the default
return ( $number ? $number : $setting->default );
}
// Change number or products per row to 3
add_filter('loop_shop_columns', 'beauty_cosmetic_store_loop_columns');
if (!function_exists('beauty_cosmetic_store_loop_columns')) {
function beauty_cosmetic_store_loop_columns() {
$columns = get_theme_mod( 'beauty_cosmetic_store_products_per_row', 3 );
return $columns; // 3 products per row
}
}
//Change number of products that are displayed per page (shop page)
add_filter( 'loop_shop_per_page', 'beauty_cosmetic_store_shop_per_page', 9 );
function beauty_cosmetic_store_shop_per_page( $cols ) {
$cols = get_theme_mod( 'beauty_cosmetic_store_product_per_page', 9 );
return $cols;
}
// Filter to change the number of related products displayed
add_filter( 'woocommerce_output_related_products_args', 'beauty_cosmetic_store_products_args' );
function beauty_cosmetic_store_products_args( $args ) {
$args['posts_per_page'] = get_theme_mod( 'custom_related_products_number', 6 );
$args['columns'] = get_theme_mod( 'custom_related_products_number_per_row', 3 );
return $args;
}
function beauty_cosmetic_store_get_page_id_by_title($beauty_cosmetic_store_pagename){
$args = array(
'post_type' => 'page',
'posts_per_page' => 1,
'post_status' => 'publish',
'title' => $beauty_cosmetic_store_pagename
);
$query = new WP_Query( $args );
$page_id = '1';
if (isset($query->post->ID)) {
$page_id = $query->post->ID;
}
return $page_id;
}
/**
* Get CSS
*/
function beauty_cosmetic_store_getpage_css($hook) {
wp_register_script( 'admin-notice-script', get_template_directory_uri() . '/inc/admin/js/admin-notice-script.js', array( 'jquery' ) );
wp_localize_script('admin-notice-script','beauty_cosmetic_store',
array('admin_ajax' => admin_url('admin-ajax.php'),'wpnonce' => wp_create_nonce('beauty_cosmetic_store_dismissed_notice_nonce')
)
);
wp_enqueue_script('admin-notice-script');
wp_localize_script( 'admin-notice-script', 'beauty_cosmetic_store_ajax_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )
);
if ( 'appearance_page_beauty_cosmetic_store-info' != $hook ) {
return;
}
}
add_action( 'admin_enqueue_scripts', 'beauty_cosmetic_store_getpage_css' );
//Admin Notice For Getstart
function beauty_cosmetic_store_ajax_notice_handler() {
if ( isset( $_POST['type'] ) ) {
$type = sanitize_text_field( wp_unslash( $_POST['type'] ) );
update_option( 'dismissed-' . $type, TRUE );
}
}
function beauty_cosmetic_store_deprecated_hook_admin_notice() {
// Check if the notice has been dismissed by the user
$dismissed = get_user_meta(get_current_user_id(), 'beauty_cosmetic_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) {
?>
'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_cosmetic_store_demo_theme_importer($theme_mods_data)) {
// After importing theme mods, create the menu
beauty_cosmetic_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_cosmetic_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_cosmetic_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_cosmetic_store_demo_importer_enqueue_scripts');
function beauty_cosmetic_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')
)
);
}
/**
* Theme Info.
*/
function beauty_cosmetic_store_theme_info_load() {
require get_theme_file_path( '/inc/theme-installation/theme-installation.php' );
}
add_action( 'init', 'beauty_cosmetic_store_theme_info_load' );
// add_action( 'beauty_cosmetic_store_navigation_action','beauty_cosmetic_store_single_post_navigation',30 );
if( !function_exists('beauty_cosmetic_store_content_offcanvas') ):
// Offcanvas Contents
function beauty_cosmetic_store_content_offcanvas(){ ?>
theme_location == 'primary' && isset( $args->show_toggles ) ) {
// Wrap the menu item link contents in a div, used for positioning
$args->before = '';
} elseif ( $args->theme_location == 'primary' ) {
if ( in_array( 'menu-item-has-children', $item->classes ) ) {
$args->before = '';
$args->after = '
';
} else {
$args->before = '';
$args->after = '';
}
}
return $args;
}
endif;
add_filter( 'nav_menu_item_args', 'beauty_cosmetic_store_sub_menu_toggle_button', 10, 3 );
add_action('wp_ajax_import_theme_mods', 'beauty_cosmetic_store_import_function');
function beauty_cosmetic_store_import_function() {
check_ajax_referer('your-nonce-key', '_ajax_nonce');
wp_send_json_success([
'msg' => 'Demo imported successfully',
'redirect' => admin_url('themes.php?page=theme-options')
]);
}
// Getstart Function
function free_mnssp_get_filtered_products($cursor = '', $search = '', $collection = 'pro') {
$endpoint_url = FREE_MNSSP_API_URL . 'getFilteredProducts';
$remote_post_data = array(
'collectionHandle' => $collection,
'productHandle' => $search,
'paginationParams' => array(
"first" => 12,
"afterCursor" => $cursor,
"beforeCursor" => "",
"reverse" => true
)
);
$body = wp_json_encode($remote_post_data);
$options = [
'body' => $body,
'headers' => [
'Content-Type' => 'application/json'
]
];
$response = wp_remote_post($endpoint_url, $options);
if (!is_wp_error($response)) {
$response_body = wp_remote_retrieve_body($response);
$response_body = json_decode($response_body);
if (isset($response_body->data) && !empty($response_body->data)) {
if (isset($response_body->data->products) && !empty($response_body->data->products)) {
return array(
'products' => $response_body->data->products,
'pagination' => $response_body->data->pageInfo
);
}
}
return [];
}
return [];
}
function free_mnssp_get_filtered_products_ajax() {
$cursor = isset($_POST['cursor']) ? sanitize_text_field(wp_unslash($_POST['cursor'])) : '';
$search = isset($_POST['search']) ? sanitize_text_field(wp_unslash($_POST['search'])) : '';
$collection = isset($_POST['collection']) ? sanitize_text_field(wp_unslash($_POST['collection'])) : 'pro';
check_ajax_referer('free_mnssp_create_pagination_nonce_action', 'mnssp_pagination_nonce');
$get_filtered_products = free_mnssp_get_filtered_products($cursor, $search, $collection);
ob_start();
if (isset($get_filtered_products['products']) && !empty($get_filtered_products['products'])) {
foreach ( $get_filtered_products['products'] as $product ) {
$product_obj = $product->node;
if (isset($product_obj->inCollection) && !$product_obj->inCollection) {
continue;
}
$product_obj = $product->node;
$demo_url = isset($product->node->metafield->value) ? $product->node->metafield->value : '';
$product_url = isset($product->node->onlineStoreUrl) ? $product->node->onlineStoreUrl : '';
$image_src = isset($product->node->images->edges[0]->node->src) ? $product->node->images->edges[0]->node->src : '';
$price = isset($product->node->variants->edges[0]->node->price) ? '$' . $product->node->variants->edges[0]->node->price : ''; ?>
$output,
'pagination' => $pagination
));
}
add_action('wp_ajax_free_mnssp_get_filtered_products', 'free_mnssp_get_filtered_products_ajax');
add_action('wp_ajax_nopriv_free_mnssp_get_filtered_products', 'free_mnssp_get_filtered_products_ajax');
function free_mnssp_get_collections() {
$endpoint_url = FREE_MNSSP_API_URL . 'getCollections';
$options = [
'body' => [],
'headers' => [
'Content-Type' => 'application/json'
]
];
$response = wp_remote_post($endpoint_url, $options);
if (!is_wp_error($response)) {
$response_body = wp_remote_retrieve_body($response);
$response_body = json_decode($response_body);
if (isset($response_body->data) && !empty($response_body->data)) {
return $response_body->data;
}
return [];
}
return [];
}