PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 4.9.1
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v4.9.1
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 / page-templates / hooks / checkout.php
shopengine / core / page-templates / hooks Last commit date
archive.php 1 week ago base-content.php 2 years ago base.php 1 week ago cart.php 1 week ago checkout.php 1 week ago shop.php 4 years ago single.php 1 week ago
checkout.php
108 lines
1 <?php
2
3 namespace ShopEngine\Core\Page_Templates\Hooks;
4
5 use ShopEngine;
6 use ShopEngine\Core\Register\Module_List;
7 use ShopEngine\Widgets\Widget_Helper;
8
9 defined('ABSPATH') || exit;
10
11 class Checkout extends Base {
12
13 protected $page_type = 'checkout';
14 protected $template_part = 'content-checkout.php';
15
16 public function init(): void {
17
18 add_filter('wc_get_template', function ( $template ) {
19 if ( strpos( $template, 'checkout/review-order.php' ) !== false ) {
20 return ShopEngine::widget_dir() . 'checkout-review-order/screens/review-order-template.php';
21 }
22 return $template;
23 });
24
25 if (class_exists('ShopEngine_Pro\Modules\Multistep_Checkout\Multistep_Checkout')) {
26
27 $module_list = Module_List::instance();
28
29 if ($module_list->get_list()['multistep-checkout']['status'] === 'active') {
30 \ShopEngine_Pro\Modules\Multistep_Checkout\Multistep_Checkout::instance()->load();
31 }
32 }
33
34 Widget_Helper::instance()->wc_template_replace_multiple(
35 [
36 'checkout/review-order.php',
37 'checkout/payment-method.php',
38 ]
39 );
40
41 remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_login_form', 10);
42
43 remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form');
44
45
46 /**
47 * Remove checkout template extra markup;
48 */
49 remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10);
50
51 do_action( 'woocommerce_check_cart_items' );
52
53
54 $this->delayed_hook_conflicts();
55
56 add_action('wp_enqueue_scripts', function () {
57
58 if(is_plugin_active('auxin-shop/auxin-shop.php')) {
59
60 wp_dequeue_style('auxin-shop');
61
62 }
63
64 $themeName = get_template();
65 if ($themeName == 'phlox-pro') {
66
67 wp_dequeue_style('auxin-elementor-base');
68 }
69
70 }, 20);
71 }
72
73 public function delayed_hook_conflicts() {
74
75 if ( is_plugin_active( 'auxin-shop/auxin-shop.php' ) ) {
76
77 remove_filter('wc_get_template', 'auxshp_get_wc_template', 11, 2);
78
79 // Remove Auxin Shop template loader filter
80 global $wp_filter;
81 if (isset($wp_filter['woocommerce_locate_template'])) {
82 foreach ($wp_filter['woocommerce_locate_template']->callbacks as $priority => $callbacks) {
83 foreach ($callbacks as $key => $callback) {
84 if (is_array($callback['function']) &&
85 is_object($callback['function'][0]) &&
86 get_class($callback['function'][0]) === 'AUXSHP_Template_Loader' &&
87 $callback['function'][1] === 'load_templates') {
88 unset($wp_filter['woocommerce_locate_template']->callbacks[$priority][$key]);
89 }
90 }
91 }
92 }
93 }
94 }
95
96 protected function get_page_type_option_slug(): string {
97 if(!empty($_REQUEST['nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_REQUEST['nonce'])), 'wp_rest')) {
98 return !empty($_REQUEST['shopengine_quick_checkout']) && $_REQUEST['shopengine_quick_checkout'] === 'modal-content' ? 'quick_checkout' : $this->page_type;
99 }
100 return $this->page_type;
101 }
102
103 protected function template_include_pre_condition(): bool {
104 //phpcs:ignore WordPress.Security.NonceVerification.Recommended -- It's a fronted user part, not possible to verify nonce here
105 return (is_checkout() && !is_wc_endpoint_url('order-received') && !is_checkout_pay_page()) || (isset($_REQUEST['wc-ajax']) && $_REQUEST['wc-ajax'] == 'update_order_review');
106 }
107 }
108