PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 4.8.9
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v4.8.9
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 / base / widget.php
shopengine / base Last commit date
api.php 2 months ago common.php 4 years ago cpt.php 4 years ago list-model.php 4 years ago widget-config.php 4 years ago widget.php 11 months ago
widget.php
77 lines
1 <?php
2
3 namespace ShopEngine\Base;
4
5 defined('ABSPATH') || exit;
6
7 use ShopEngine\Widgets\Products;
8
9 abstract class Widget extends \Elementor\Widget_Base {
10
11 abstract public function config();
12
13 abstract protected function screen();
14
15 public function get_help_url() {
16 return 'https://wpmet.com/knowledgebase/shopengine/?ref__widget=' . $this->config()->get_name();
17 }
18
19 public function has_widget_inner_wrapper(): bool {
20 return ! \Elementor\Plugin::$instance->experiments->is_feature_active('e_optimized_markup');
21 }
22
23 public function show_in_panel() {
24
25 $territory = $this->config()->get_template_territory();
26
27 if(empty($territory)) {
28 return true;
29 }
30
31 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- It's a fronted user part, not possible to verify nonce here
32 $current_template_id = (int)((isset($_GET['action']) && sanitize_text_field(wp_unslash($_GET['action'])) == 'elementor' && !empty($_GET['post']) ) ? sanitize_text_field(wp_unslash($_GET['post'])) : get_the_ID());
33
34 $current_template = Products::instance()->get_template_type_by_id($current_template_id);
35
36 return in_array($current_template, $territory);
37 }
38
39 public function shopengine_widget_before_render() {
40 //todo - remove shopengine later
41
42 echo '<div class="shopengine shopengine-widget">';
43 }
44
45 public function shopengine_widget_after_render() {
46 echo '</div>';
47 }
48
49 public function render() {
50 $this->shopengine_widget_before_render();
51 if( !is_null(WC()->cart) ) {
52 $this->screen();
53 }
54 $this->shopengine_widget_after_render();
55 }
56
57 public function get_name() {
58 return 'shopengine-' . $this->config()->get_name();
59 }
60
61 public function get_title() {
62 return $this->config()->get_title();
63 }
64
65 public function get_icon() {
66 return $this->config()->get_icon();
67 }
68
69 public function get_categories() {
70 return $this->config()->get_categories();
71 }
72
73 public function get_keywords() {
74 return $this->config()->get_keywords();
75 }
76 }
77