PluginProbe ʕ •ᴥ•ʔ
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution / 4.7.2
ShopEngine Elementor WooCommerce Builder Addon – All in One WooCommerce Solution v4.7.2
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 year ago base-content.php 2 years ago base.php 3 years ago cart.php 2 years ago checkout.php 2 years ago shop.php 4 years ago single.php 1 year ago
checkout.php
66 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 protected function get_page_type_option_slug(): string {
55 if(!empty($_REQUEST['nonce']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_REQUEST['nonce'])), 'wp_rest')) {
56 return !empty($_REQUEST['shopengine_quick_checkout']) && $_REQUEST['shopengine_quick_checkout'] === 'modal-content' ? 'quick_checkout' : $this->page_type;
57 }
58 return $this->page_type;
59 }
60
61 protected function template_include_pre_condition(): bool {
62 //phpcs:ignore WordPress.Security.NonceVerification.Recommended -- It's a fronted user part, not possible to verify nonce here
63 return (is_checkout() && !is_wc_endpoint_url('order-received') && !is_checkout_pay_page()) || (isset($_REQUEST['wc-ajax']) && $_REQUEST['wc-ajax'] == 'update_order_review');
64 }
65 }
66