Files
Roman Pyrih c2e100a763 first commit
2023-07-24 08:30:51 +02:00

65 lines
1.6 KiB
PHP

<?php
class Brizy_Compatibilities_Woocommerce {
public function __construct() {
add_action( 'woocommerce_checkout_terms_and_conditions', [ $this, 'woocommerce_checkout_terms_and_conditions' ], 29 );
add_action( 'wp_enqueue_scripts', [ $this, 'wp_enqueue_scripts' ], 11 );
add_filter( 'brizy_html_entity_decode', '__return_false' );
add_filter( 'brizy_template_content_compiled', [ $this, 'insertWooNotice' ] );
}
/*
* Dont allow woo to render post_content of the terms page if it is edited with the brizy,
* will lead to the display of the unformatted our html above the place order button on checkout page.
*/
public function woocommerce_checkout_terms_and_conditions() {
$terms_page_id = wc_terms_and_conditions_page_id();
if ( ! $terms_page_id || ! Brizy_Editor_Entity::isBrizyEnabled( $terms_page_id ) ) {
return;
}
remove_action( 'woocommerce_checkout_terms_and_conditions', 'wc_terms_and_conditions_page_content', 30 );
}
public function wp_enqueue_scripts() {
if ( ! isset( $_GET[ Brizy_Editor::prefix( '-edit' ) ] ) && ! isset( $_GET[ Brizy_Editor::prefix( '-edit-iframe' ) ] ) ) {
return;
}
if ( 'geolocation_ajax' === get_option( 'woocommerce_default_customer_address' ) ) {
wp_dequeue_script( 'wc-geolocation' );
}
}
public function insertWooNotice( $content ) {
$notices = wc_print_notices( true );
if ( empty( $content ) || empty( $notices ) || false == strpos( $content, 'brz-section__header ' ) ) {
return $content;
}
$dom = Brizy_Parser_Pquery::parseStr( $content );
$dom->query('section.brz-section__header')->after( $notices );
return $dom->html();
}
}