PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / trunk
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution vtrunk
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 2 months ago api.php 4 years ago base.php 1 year ago hooks.php 2 months 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