automobile_detailing_shop_add( 'WPTRT\\Customize\\Section', get_theme_file_path( 'vendor/wptrt/customize-section-button/src' ) ); $Automobile_Detailing_Shop_Loader->automobile_detailing_shop_register(); if ( ! function_exists( 'automobile_detailing_shop_setup' ) ) : function automobile_detailing_shop_setup() { /* * Enable support for Post Formats. * * See: https://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array('image','video','gallery','audio',) ); 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( 'woocommerce' ); add_theme_support( 'title-tag' ); add_theme_support( 'post-thumbnails' ); add_image_size('automobile-detailing-shop-featured-header-image', 2000, 660, true); register_nav_menus( array( 'primary' => esc_html__( 'Primary','automobile-detailing-shop' ), ) ); add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) ); add_theme_support( 'custom-background', apply_filters( 'automobile_detailing_shop_custom_background_args', array( 'default-color' => 'ffffff', '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_automobile_detailing_shop_dismissable_notice', 'automobile_detailing_shop_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', 'automobile_detailing_shop_setup' ); if ( ! function_exists( 'automobile_detailing_shop_file_setup' ) ) : function automobile_detailing_shop_file_setup() { define( 'FREE_MNSSP_API_URL', 'https://license.themagnifico.net/api/general/' ); /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_CONTACT_SUPPORT' ) ) { define('AUTOMOBILE_DETAILING_SHOP_CONTACT_SUPPORT',__('https://wordpress.org/support/theme/automobile-detailing-shop/','automobile-detailing-shop')); } if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_REVIEW' ) ) { define('AUTOMOBILE_DETAILING_SHOP_REVIEW',__('https://wordpress.org/support/theme/automobile-detailing-shop/reviews/','automobile-detailing-shop')); } if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_LIVE_DEMO' ) ) { define('AUTOMOBILE_DETAILING_SHOP_LIVE_DEMO',__('https://demo.themagnifico.net/automobile-detailing-shop-pro/','automobile-detailing-shop')); } if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_GET_PREMIUM_PRO' ) ) { define('AUTOMOBILE_DETAILING_SHOP_GET_PREMIUM_PRO',__('https://www.themagnifico.net/products/auto-detailing-wordpress-theme','automobile-detailing-shop')); } if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_PRO_DOC' ) ) { define('AUTOMOBILE_DETAILING_SHOP_PRO_DOC',__('https://demo.themagnifico.net/eard/wathiqa/automobile-detailing-shop-pro-doc/','automobile-detailing-shop')); } if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_FREE_DOC' ) ) { define('AUTOMOBILE_DETAILING_SHOP_FREE_DOC',__('https://demo.themagnifico.net/eard/wathiqa/automobile-detailing-shop-free-doc/','automobile-detailing-shop')); } if ( ! defined( 'AUTOMOBILE_DETAILING_SHOP_BUNDLE_LINK' ) ) { define('AUTOMOBILE_DETAILING_SHOP_BUNDLE_LINK',__('https://www.themagnifico.net/products/wordpress-theme-bundle','automobile-detailing-shop')); } } endif; add_action( 'after_setup_theme', 'automobile_detailing_shop_file_setup' ); /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Menu */ require get_template_directory() . '/inc/class-navigation-menu.php'; /** * Functions which enhance the theme by hooking into WordPress. */ require get_template_directory() . '/inc/template-functions.php'; function automobile_detailing_shop_content_width() { $GLOBALS['content_width'] = apply_filters( 'automobile_detailing_shop_content_width', 1170 ); } add_action( 'after_setup_theme', 'automobile_detailing_shop_content_width', 0 ); /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function automobile_detailing_shop_widgets_init() { require_once get_theme_file_path( 'inc/wptt-webfont-loader.php' ); register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'automobile-detailing-shop' ), 'id' => 'sidebar', 'description' => esc_html__( 'Add widgets here.', 'automobile-detailing-shop' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__( 'Sidebar 1', 'automobile-detailing-shop' ), 'id' => 'sidebar1', 'description' => esc_html__( 'Add widgets here.', 'automobile-detailing-shop' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__( 'Sidebar 2', 'automobile-detailing-shop' ), 'id' => 'sidebar2', 'description' => esc_html__( 'Add widgets here.', 'automobile-detailing-shop' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Column 1', 'automobile-detailing-shop' ), 'id' => 'automobile-detailing-shop-footer1', 'description' => '', 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Column 2', 'automobile-detailing-shop' ), 'id' => 'automobile-detailing-shop-footer2', 'description' => '', 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Column 3', 'automobile-detailing-shop' ), 'id' => 'automobile-detailing-shop-footer3', 'description' => '', 'before_widget' => '', 'before_title' => '', ) ); } add_action( 'widgets_init', 'automobile_detailing_shop_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 ) ); } if ( class_exists( 'WP_Customize_Control' ) ) { // Image Toggle Radio Buttpon class Automobile_Detailing_Shop_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 automobile_detailing_shop_sanitize_checkbox( $input ) { // Boolean check return ( ( isset( $input ) && true == $input ) ? true : false ); } /*radio button sanitization*/ function automobile_detailing_shop_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; } } function automobile_detailing_shop_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 automobile_detailing_shop_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', 'automobile_detailing_shop_loop_columns'); if (!function_exists('automobile_detailing_shop_loop_columns')) { function automobile_detailing_shop_loop_columns() { $columns = get_theme_mod( 'automobile_detailing_shop_products_per_row', 3 ); return $columns; // 3 products per row } } /*dropdown page sanitization*/ function automobile_detailing_shop_sanitize_dropdown_pages( $page_id, $setting ) { $page_id = absint( $page_id ); return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default ); } //Change number of products that are displayed per page (shop page) add_filter( 'loop_shop_per_page', 'automobile_detailing_shop_shop_per_page', 9 ); function automobile_detailing_shop_shop_per_page( $cols ) { $cols = get_theme_mod( 'automobile_detailing_shop_product_per_page', 9 ); return $cols; } /** * Get CSS */ function automobile_detailing_shop_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','automobile_detailing_shop', array('admin_ajax' => admin_url('admin-ajax.php'),'wpnonce' => wp_create_nonce('automobile_detailing_shop_dismissed_notice_nonce') ) ); wp_enqueue_script('admin-notice-script'); wp_localize_script( 'admin-notice-script', 'automobile_detailing_shop_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); if ( 'appearance_page_automobile_detailing_shop-info' != $hook ) { return; } } add_action( 'admin_enqueue_scripts', 'automobile_detailing_shop_getpage_css' ); //Admin Notice For Getstart function automobile_detailing_shop_ajax_notice_handler() { if ( isset( $_POST['type'] ) ) { $type = sanitize_text_field( wp_unslash( $_POST['type'] ) ); update_option( 'dismissed-' . $type, TRUE ); } } function automobile_detailing_shop_deprecated_hook_admin_notice() { // Check if the notice has been dismissed by the user $dismissed = get_user_meta(get_current_user_id(), 'automobile_detailing_shop_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 (demo_theme_importer($theme_mods_data)) { // After importing theme mods, create the menu 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 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 create_demo_menu() { // Page import process $pages_to_create = array( array( 'title' => 'Home', 'slug' => 'home', 'template' => 'page-template/home-template.php', ), array( 'title' => 'About', 'slug' => 'about', 'template' => '', ), array( 'title' => 'Services', 'slug' => 'services', 'template' => '', ), array( 'title' => 'Blog', 'slug' => 'blog', 'template' => '', ), array( 'title' => 'Contact', 'slug' => 'contact', '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_name' => $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 && !empty($page_data['template'])) { 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 Primary 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', 'automobile-detailing-shop'), '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' => __('About', 'automobile-detailing-shop'), 'menu-item-classes' => 'about', 'menu-item-url' => home_url('/about'), 'menu-item-status' => 'publish' )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Services ', 'automobile-detailing-shop'), 'menu-item-classes' => 'services', 'menu-item-url' => home_url('/services'), 'menu-item-status' => 'publish' )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Blog', 'automobile-detailing-shop'), 'menu-item-classes' => 'blog', 'menu-item-url' => home_url('/blog'), 'menu-item-status' => 'publish' )); wp_update_nav_menu_item($menu_id, 0, array( 'menu-item-title' => __('Contact', 'automobile-detailing-shop'), 'menu-item-classes' => 'contact', 'menu-item-url' => home_url('/contact'), '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 Header set_theme_mod( 'automobile_detailing_shop_facebook_icon', 'fab fa-facebook-f' ); set_theme_mod( 'automobile_detailing_shop_facebook_url', 'www.facebook.com' ); set_theme_mod( 'automobile_detailing_shop_twitter_icon', 'fab fa-twitter' ); set_theme_mod( 'automobile_detailing_shop_twitter_url', 'www.twitter.com' ); set_theme_mod( 'automobile_detailing_shop_intagram_icon', 'fab fa-instagram' ); set_theme_mod( 'automobile_detailing_shop_intagram_url', 'www.instagram.com' ); set_theme_mod( 'automobile_detailing_shop_linkedin_icon', 'fab fa-linkedin-in' ); set_theme_mod( 'automobile_detailing_shop_linkedin_url', 'www.linkedin.com' ); set_theme_mod( 'automobile_detailing_shop_pintrest_icon', 'fab fa-pinterest-p' ); set_theme_mod( 'automobile_detailing_shop_pintrest_url', 'www.pinterest.com' ); set_theme_mod( 'automobile_detailing_shop_topbar_location', '92 Bowery St., New York, NY 10013' ); set_theme_mod( 'automobile_detailing_shop_topbar_email', 'car@example.com' ); set_theme_mod( 'automobile_detailing_shop_topbar_phone_number', '(00) 123 456 7890' ); set_theme_mod( 'automobile_detailing_shop_topbar_button_text_1', 'News & Media' ); set_theme_mod( 'automobile_detailing_shop_topbar_button_url_1', '#' ); set_theme_mod( 'automobile_detailing_shop_topbar_button_text_2', 'Register' ); set_theme_mod( 'automobile_detailing_shop_topbar_button_url_2', '#' ); set_theme_mod( 'automobile_detailing_shop_topbar_button_text_3', 'Support' ); set_theme_mod( 'automobile_detailing_shop_topbar_button_url_3', '#' ); set_theme_mod( 'automobile_detailing_shop_header_button_text', 'Request A Call' ); set_theme_mod( 'automobile_detailing_shop_header_button_url', '#' ); //Slider set_theme_mod( 'automobile_detailing_shop_slider_section_setting', true ); set_theme_mod( 'automobile_detailing_shop_slider_short_heading', 'Welcome To Our Car' ); for($i=1;$i<=3;$i++){ $title = 'Mechanical & Car Services For Car'; $content = 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.'; // 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('automobile_detailing_shop_top_slider_page' . $i, $post_id); $image_url = get_template_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); } } } set_theme_mod( 'automobile_detailing_shop_slider_video_button_url', 'https://www.youtube.com/embed/yAoLSRbwxL8' ); // Categories set_theme_mod( 'automobile_detailing_shop_service_section_setting', true ); set_theme_mod( 'automobile_detailing_shop_service_sub_heading', 'More Experience' ); set_theme_mod( 'automobile_detailing_shop_service_heading', 'Make Your Car Cleaner Than Its Ever Been' ); set_theme_mod( 'automobile_detailing_shop_service_button_text', 'View All' ); set_theme_mod( 'automobile_detailing_shop_service_button_url', '#' ); set_theme_mod( 'automobile_detailing_shop_service_number', 3 ); set_theme_mod( 'automobile_detailing_shop_service_icon1', 'fas fa-car' ); set_theme_mod( 'automobile_detailing_shop_service_raised_amount1', '80' ); set_theme_mod( 'automobile_detailing_shop_service_icon2', 'fas fa-car' ); set_theme_mod( 'automobile_detailing_shop_service_raised_amount2', '90' ); set_theme_mod( 'automobile_detailing_shop_service_icon3', 'fas fa-headset' ); set_theme_mod( 'automobile_detailing_shop_service_raised_amount3', '70' ); set_theme_mod('automobile_detailing_shop_service_category' ,'service'); for($i=1;$i<=3;$i++){ $title = array('Car Repair', 'Car Washer','Support 24/7'); $content = 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.'; // Create post object $my_post = array( 'post_title' => wp_strip_all_tags( $title[$i-1] ), 'post_content' => $content, 'post_status' => 'publish', 'post_type' => 'post', ); // Insert the post into the database $post_id = wp_insert_post( $my_post ); wp_set_object_terms($post_id,'service', 'category'); } } // Enqueue necessary scripts add_action('admin_enqueue_scripts', 'demo_importer_enqueue_scripts'); function 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 automobile_detailing_shop_theme_info_load() { require get_theme_file_path( '/inc/theme-installation/theme-installation.php' ); } add_action( 'init', 'automobile_detailing_shop_theme_info_load' ); // add_action( 'automobile_detailing_shop_navigation_action','automobile_detailing_shop_single_post_navigation',30 ); if( !function_exists('automobile_detailing_shop_content_offcanvas') ): // Offcanvas Contents function automobile_detailing_shop_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 = ''; } else { $args->before = ''; $args->after = ''; } } return $args; } endif; add_filter( 'nav_menu_item_args', 'automobile_detailing_shop_sub_menu_toggle_button', 10, 3 ); add_action('wp_ajax_import_theme_mods', 'automobile_detailing_shop_import_function'); function automobile_detailing_shop_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 : ''; ?>
<?php echo esc_attr($product_obj->title); ?>
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 []; }