PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 4.8.7
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v4.8.7
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 7 months ago base-content.php 2 years ago base.php 1 year ago cart.php 7 months ago checkout.php 7 months ago shop.php 4 years ago single.php 7 months 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