WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Как отключить стандартные JS скрипты WordPress?

Подскажите, пожалуйста, как можно отключить все js скрипты, в url которых содержаться /wp-includes/js/.

<script src='https://site.info/wp-includes/js/jquery/jquery.js'></script>

Пробывал использовать:

wp_deregister_script('jquery');

Все стандартные скрипты отключаются как мне и нужно, но перестают работать корректно плагины.

Заметки к вопросу:
DzmitRock 18 Мар. 2019

а вешать на action wp_enqueue_scripts пробовал? в доках же есть прям в описании функции

petrozavodsky 22 Мар. 2019

Все потому что плагины которые перестают корректно работать зависят от jquery и если его отключить работать не могут

0
Дмитрий
17 марта 2019
  • 1
    petrozavodsky795 alkoweb.ru

    Собственно ответ в том что некоторые плагины без jquery не могут работать

    Комментировать
  • 0

    Вукоммерц, пытаюсь отключить скрипт, подтягивающий страны и прочую гео:

    function child_manage_woocommerce_styles() {
    
    	// убираем generator meta tag
    	remove_action( 'wp_head', array( $GLOBALS['woocommerce'], 'generator' ) );
    
    	// для начала проверяем, активен ли WooCommerce, дабы избежать ошибок
    	if ( function_exists( 'is_woocommerce' ) ) {
    		//отменяем загрузку скриптов и стилей
    		if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
    			wp_dequeue_style( 'woocommerce_frontend_styles' );
    			wp_dequeue_style( 'woocommerce_fancybox_styles' );
    			wp_dequeue_style( 'woocommerce_chosen_styles' );
    			wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
    			wp_dequeue_script( 'wc_price_slider' );
    			wp_dequeue_script( 'wc-single-product' );
    			wp_dequeue_script( 'wc-add-to-cart' );
    			wp_dequeue_script( 'wc-cart-fragments' );
    			wp_dequeue_script( 'wc-checkout' );
    			wp_dequeue_script( 'wc-add-to-cart-variation' );
    			wp_dequeue_script( 'wc-single-product' );
    			wp_dequeue_script( 'wc-cart' );
    			wp_dequeue_script( 'wc-chosen' );
    			wp_dequeue_script( 'woocommerce' );
    			wp_dequeue_script( 'prettyPhoto' );
    			wp_dequeue_script( 'prettyPhoto-init' );
    			wp_dequeue_script( 'jquery-blockui' );
    			wp_dequeue_script( 'jquery-placeholder' );
    			wp_dequeue_script( 'fancybox' );
    			wp_dequeue_script( 'jqueryui' );
    			wp_dequeue_script( 'wc-country-select' );
    			wp_dequeue_script( 'wc-address-i18n' );
    			wp_dequeue_script( 'wcqi-js' );
    			wp_dequeue_script( 'jquery-cookie' );
    		}
    	}
    
    }

    То, что мне надо, происходит, если сделать

    // не так:
    if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() )
    // а так:
    if ( ! is_woocommerce() )

    Но тогда, разумеется, при подтверждении заказа выдаёт ошибку:

    Warning: DOMDocument::saveHTML(): unknown encoding in C:\os\OSPanel\domains\krepestet.ru\wp-content\plugins\woocommerce\vendor\pelago\emogrifier\src\Emogrifier.php on line 298
    
    Warning: DOMDocument::saveHTML(): unknown encoding in C:\os\OSPanel\domains\krepestet.ru\wp-content\plugins\woocommerce\vendor\pelago\emogrifier\src\Emogrifier.php on line 298
    
    Warning: Cannot modify header information - headers already sent by (output started at C:\os\OSPanel\domains\krepestet.ru\wp-content\plugins\woocommerce\vendor\pelago\emogrifier\src\Emogrifier.php:298) in C:\os\OSPanel\domains\krepestet.ru\wp-includes\pluggable.php on line 1281
    
    Warning: Cannot modify header information - headers already sent by (output started at C:\os\OSPanel\domains\krepestet.ru\wp-content\plugins\woocommerce\vendor\pelago\emogrifier\src\Emogrifier.php:298) in C:\os\OSPanel\domains\krepestet.ru\wp-includes\pluggable.php on line 1284

    Побывал на https://wp-kama.ru/function/Emogrifier
    Возникла мысль - надо отключить, но - как?

    Или можно по-другому решить вопрос с wc-country-select и wc-address-i18n? (В смысле - чтобы не подгружались)

    function remove_script_country_select() {
    	wp_deregister_script('wc-country-select');
    	wp_deregister_script('wc-address-i18n');
    }
    add_action('wp_enqueue_scripts', 'remove_script_country_select');

    Не работает (вообще-то, работает. Только при нажатии "подтвердить заказ" - ошибка, озвученная выше.). В настройках ВК: продавать в определенные страны (Россия), отключить доставку и расчет доставки.

    Всё это дело с кантри выползает только на страницах вукоммерца (товар, корзина и т.п.).
    105 кб текста

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация