PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 3.1.0
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v3.1.0
4.9.1 4.9.0 2.0.0 2.1.0 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.0 2.5.1 3.0.0 3.1.0 3.1.1 4.0.0 4.0.1 4.1.0 4.1.1 4.2.0 4.2.1 4.3.0 4.3.1 4.4.0 4.5.0 4.5.1 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.6.8 4.6.9 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 trunk 0.1.2-beta 0.1.3-beta 0.1.4-beta 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.5.0 1.5.1 1.6.0 1.6.1 1.7.0 1.8.0 1.8.1 1.9.0
shopengine / modules / quick-view / quick-view.php
shopengine / modules / quick-view Last commit date
assets 3 years ago quick-view.php 3 years ago
quick-view.php
97 lines
1 <?php
2
3 namespace ShopEngine\Modules\Quick_View;
4
5 use ShopEngine\Traits\Singleton;
6 use ShopEngine\Utils\Helper;
7 use ShopEngine\Widgets\Products;
8 /**
9 * Class Wish_List
10 *
11 * Main Module Class
12 *
13 * @since 1.0.0
14 */
15 class Quick_View
16 {
17
18 use Singleton;
19
20 /**
21 * Constructor
22 *
23 * @since 1.0.0
24 * @access public
25 */
26 public function init() {
27
28 add_filter('shopengine/page_templates', [$this, 'add_quick_view'], 1);
29
30 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Just checking current page
31 if(!empty($_REQUEST['shopengine_quickview'])) {
32 // In quickview modal we will not show anything
33 return;
34 }
35
36 add_action('wp_enqueue_scripts', function () {
37
38 wp_enqueue_script('flexslider');
39
40 // Modal Stylesheet
41 wp_enqueue_style( 'shopengine-modal-styles' );
42
43 // Modal Script
44 wp_enqueue_script(
45 'shopengine-quickview',
46 plugin_dir_url(__FILE__) . 'assets/js/script.js',
47 ['jquery', 'shopengine-modal-script']
48 );
49
50 wp_localize_script('shopengine-quickview', 'shopEngineQuickView', [
51 'rest_nonce' => wp_create_nonce('wp_rest')
52 ]);
53 });
54
55 add_filter('woocommerce_loop_add_to_cart_link', [$this, 'print_button'], 10, 3);
56
57 // Modal Wrapper
58 add_action( 'wp_footer', [$this, 'qc_modal_wrapper'] );
59 }
60
61 public function add_quick_view($list) {
62
63 return array_merge($list, [
64 'quick_view' => [
65 'title' => esc_html__('Quick View', 'shopengine'),
66 'package' => 'free',
67 'class' => '\ShopEngine\Modules\Quick_View\Quick_View',
68 'opt_key' => 'quick_view',
69 'css' => 'quick-view',
70 'url' => get_permalink(Products::instance()->get_preview_product()),
71 ],
72 ]);
73 }
74
75 public function qc_modal_wrapper() {
76 ?>
77 <div class="shopengine-quick-view-modal se-modal-wrapper"></div>
78 <?php
79 }
80
81 function print_button($add_to_cart_html, $product, $args = []) {
82 $eye_icon = '<i class="shopengine-icon-quick_view_1"></i>';
83 $view = esc_html__('Quick View','shopengine');
84
85 $after = ''; // Add some text or HTML here as well.
86 $before = "<a title='" . $view . "' class='shopengine-quickview-trigger se-btn'
87 data-source-url='" . get_permalink($product->get_id()) . "'
88 href='" . get_permalink($product->get_id()) . "'>
89 " . $eye_icon . "
90 </a>";
91
92 $before = apply_filters('shopengine_quick_view_button_content', $before);
93
94 return $before . $add_to_cart_html . $after;
95 }
96 }
97