PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution with eCommerce Templates & Woo Widgets / 4.9.3
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution with eCommerce Templates & Woo Widgets v4.9.3
4.9.5 4.9.4 4.9.3 4.9.2 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 / core / builders / templates.php
shopengine / core / builders Last commit date
action.php 3 weeks ago api.php 4 years ago base.php 1 year ago hooks.php 3 weeks ago templates.php 3 years ago
templates.php
117 lines
1 <?php
2
3 namespace ShopEngine\Core\Builders;
4
5 use ShopEngine\Core\PageTemplates\Page_Templates;
6
7 class Templates {
8
9 const BODY_CLASS = 'shopengine-template';
10
11 public static function get_template_types(): array {
12
13 return Page_Templates::instance()->getTemplates();
14 }
15
16 public static function get_registered_template_data($template_id) {
17
18 $type = self::get_template_type_by_id($template_id);
19
20 return Page_Templates::instance()->getTemplate($type);
21 }
22
23 public static function get_template_type_by_id($pid): string {
24
25 $pm = get_post_meta($pid, Action::get_meta_key_for_type(), true);
26
27 return empty($pm) ? 'shop' : $pm;
28 }
29
30 public static function get_registered_template_id($template_type) {
31
32 if(!empty($_GET['change_template']) && !empty($_GET['shopengine_template_id']) && !empty($_GET['preview_nonce'])) {
33
34 $nonce_status = apply_filters(
35 'shopengine/demo/bypass_nonce',
36 (wp_verify_nonce(sanitize_text_field(wp_unslash($_GET['preview_nonce'])), 'template_preview_' . sanitize_text_field(wp_unslash($_GET['shopengine_template_id']))))
37 );
38
39 if($nonce_status === false ) {
40 return ;
41 }
42
43 return (int)$_GET['shopengine_template_id'];
44 }
45
46 $activated_templates = Action::get_activated_templates();
47
48 if(empty($activated_templates)) {
49 return;
50 }
51
52 $language_code = apply_filters('shopengine_language_code', 'en');
53
54 if(isset($activated_templates[$template_type]['lang'][$language_code])) {
55 $templates = $activated_templates[$template_type]['lang'][$language_code];
56
57 $category_id = apply_filters('shopengine_template_category_id', 0);
58
59 if(0 === $category_id) {
60 $key = Action::get_template_key($templates);
61 } else {
62 $key = Action::get_template_key($templates, 'category_id', $category_id);
63 if(is_bool($key)) {
64 $key = Action::get_template_key($templates);
65 }
66 }
67
68 if(is_integer($key)) {
69 $template_data = $templates[$key];
70
71 if($template_data['status']) {
72 return $template_data['template_id'];
73 }
74 }
75 }
76 return;
77 }
78
79 public static function has_simple_product($in_status = ['publish', 'draft'])
80 {
81 global $wpdb;
82
83 $result = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE post_type = 'product' AND post_status IN('publish', 'draft')");
84
85 return ! empty($result);
86 }
87
88 public static function create_wc_simple_product() {
89
90 $product = new \WC_Product_Simple();
91
92 $product->set_name( 'Shopengine preview product [do not delete it]' );
93 $product->set_description( 'This is a shopengine demo preview product' );
94 $product->set_short_description( 'This is a shopengine demo preview product' );
95 $product->set_status( 'draft' );
96
97 $product->set_regular_price( 100 );
98 $product->set_sale_price( 79 );
99 $product->set_price( 79 );
100
101 $product->set_sku( 'shopengine-demo-preview-01' );
102
103 $product->set_manage_stock( false );
104 $product->set_stock_status( 'instock' );
105
106 $product->set_weight( 11 );
107 $product->set_length( 12 );
108 $product->set_width( 10 );
109 $product->set_height( 9 );
110
111 //$product->set_image_id( 'image_id' );
112 //$product->set_gallery_image_ids( [] );
113
114 return $product->save();
115 }
116 }
117