Current Path : /home/theafprt/conviviality360.com/wp-content/themes/salient/nectar/woo/ |
Current File : /home/theafprt/conviviality360.com/wp-content/themes/salient/nectar/woo/quick-view.php |
<?php /** * Salient WooCommerce Quickview * * @package Salient WordPress Theme * @version 10.1 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Quickview option. * * @since 9.0 */ class Nectar_Woo_Quickview { function __construct() { add_action( 'wp_ajax_nectar_woo_get_product', array($this,'nectar_woo_get_product_info') ); add_action( 'wp_ajax_nopriv_nectar_woo_get_product', array($this,'nectar_woo_get_product_info') ); add_action( 'nectar_woocommerce_before_add_to_cart', array($this,'nectar_woo_add_quick_view_button') ); add_action( 'wp_enqueue_scripts', array($this,'enqueue_scripts')); add_action( 'wp_footer', array($this, 'nectar_quick_view_markup')); $this->nectar_add_template_actions(); } function enqueue_scripts() { wp_register_script('nectar_woo_quick_view_js', get_template_directory_uri() . '/nectar/woo/js/quick_view_actions.js', array('jquery'), '1.1', true); wp_enqueue_script( 'wc-add-to-cart-variation' ); wp_enqueue_script('nectar_woo_quick_view_js'); wp_enqueue_script('flickity'); } public function nectar_woo_add_quick_view_button() { global $nectar_options; global $post; $product_style = (!empty($nectar_options['product_style'])) ? $nectar_options['product_style'] : 'classic'; $button_class = ($product_style === 'classic') ? 'button' : ''; $button_icon = ($product_style !== 'material') ? '<i class="normal icon-salient-m-eye"></i>' : ''; $get_product = wc_get_product( $post->ID ); if($get_product->is_type( 'grouped' ) || $get_product->is_type( 'external' ) ) { return; } echo '<a class="nectar_quick_view no-ajaxy '.$button_class.'" data-product-id="'.$post->ID.'"> '.$button_icon.' <span>' . esc_html__('Quick View', 'salient') . '</span></a>'; } public function nectar_quick_view_markup() { global $nectar_options; $quick_view_sizing = 'cropped'; echo '<div class="nectar-quick-view-box-backdrop"></div> <div class="nectar-quick-view-box" data-image-sizing="'.$quick_view_sizing.'"> <div class="inner-wrap"> <div class="close"> <a href="#" class="no-ajaxy"> <span class="close-wrap"> <span class="close-line close-line1"></span> <span class="close-line close-line2"></span> </span> </a> </div> <div class="product-loading"> <span class="dot"></span> <span class="dot"></span> <span class="dot"></span> </div> <div class="preview_image"></div> <div class="inner-content"> <div class="product"> <div class="product type-product"> <div class="woocommerce-product-gallery"> </div> <div class="summary entry-summary scrollable"> <div class="summary-content"> </div> </div> </div> </div> </div> </div> </div>'; } public function nectar_add_template_actions() { add_action('nectar_quick_view_summary_content','woocommerce_template_single_title'); add_action('nectar_quick_view_summary_content','woocommerce_template_single_rating'); add_action('nectar_quick_view_summary_content','woocommerce_template_single_price'); add_action('nectar_quick_view_summary_content','woocommerce_template_single_excerpt'); add_action('nectar_quick_view_summary_content','woocommerce_template_single_add_to_cart'); add_action('nectar_quick_view_sale_content','woocommerce_show_product_sale_flash'); } public function nectar_woo_get_product_info() { global $woocommerce; global $post; $product_id = intval($_POST['product_id']); if( intval($product_id) ) { wp('p=' . $product_id . '&post_type=product'); ob_start(); while ( have_posts() ) : the_post(); ?> <script> var wc_add_to_cart_variation_params = {}; </script> <div class="product"> <div itemscope id="product-<?php the_ID(); ?>" <?php post_class('product'); ?> > <?php do_action('nectar_quick_view_sale_content'); global $product; if ( has_post_thumbnail() ) { ?> <div class="images"> <div class="nectar-product-slider generate-markup"> <div class="carousel-cell woocommerce-product-gallery__image"> <a href="#"> <?php echo get_the_post_thumbnail( $post->ID, 'large'); ?> </a> </div> <?php $product_attach_ids = $product->get_gallery_image_ids(); if ( $product_attach_ids ) { foreach ($product_attach_ids as $product_attach_id) { $img_link = wp_get_attachment_url( $product_attach_id ); if (!$img_link) continue; printf( '<div class="carousel-cell woocommerce-product-gallery__image"><a href="%s" title="%s"> %s </a></div>', wp_get_attachment_url($product_attach_id),esc_attr( get_post($product_attach_id)->post_title ), wp_get_attachment_image($product_attach_id, 'large')); }// foreach } //if attach ids echo '</div> <!--nectar-product-slider--> </div>'; } else { $html = '<div class="woocommerce-product-gallery__image--placeholder">'; $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src() ), esc_html__( 'Awaiting product image', 'woocommerce' ) ); $html .= '</div>'; } ?> <div class="summary entry-summary scrollable"> <div class="summary-content"> <?php echo '<div class="nectar-full-product-link"><a href="'.esc_url(get_permalink()).'"><span>'. esc_html__('More Information', 'salient') .'</span></a></div>'; do_action('nectar_quick_view_summary_content'); ?> </div> </div> </div> </div> <?php endwhile; echo ob_get_clean(); exit(); } } } $nectar_quick_view = new Nectar_Woo_Quickview(); ?>