PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 4.6.8
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v4.6.8
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 3 years 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 3 years ago
widget.php
73 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 show_in_panel() {
20
21 $territory = $this->config()->get_template_territory();
22
23 if(empty($territory)) {
24 return true;
25 }
26
27 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- It's a fronted user part, not possible to verify nonce here
28 $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());
29
30 $current_template = Products::instance()->get_template_type_by_id($current_template_id);
31
32 return in_array($current_template, $territory);
33 }
34
35 public function shopengine_widget_before_render() {
36 //todo - remove shopengine later
37
38 echo '<div class="shopengine shopengine-widget">';
39 }
40
41 public function shopengine_widget_after_render() {
42 echo '</div>';
43 }
44
45 public function render() {
46 $this->shopengine_widget_before_render();
47 if( !is_null(WC()->cart) ) {
48 $this->screen();
49 }
50 $this->shopengine_widget_after_render();
51 }
52
53 public function get_name() {
54 return 'shopengine-' . $this->config()->get_name();
55 }
56
57 public function get_title() {
58 return $this->config()->get_title();
59 }
60
61 public function get_icon() {
62 return $this->config()->get_icon();
63 }
64
65 public function get_categories() {
66 return $this->config()->get_categories();
67 }
68
69 public function get_keywords() {
70 return $this->config()->get_keywords();
71 }
72 }
73