Это проблема на стороне сервера, поэтому решать её должен ваш хостинг-провайдер. Чаще всего причина — устаревшие правила mod_security.
Вариант 1. Попросить хостинг обновить правила
Это лучший вариант, так как после обновления всё будет работать корректно без дополнительных изменений.
Обратитесь в поддержку вашего хостинга и попросите обновить набор правил mod_security.
Вариант 2. Переименовать файлы и изменить functions.php
Этот способ работает только с WooCommerce версии 2.6.14 и ниже. Если у вас WooCommerce 3.0.0 или новее — используйте вариант 1 или 3.
В качестве альтернативы можно изменить способ подключения файлов в WooCommerce. Учтите, что после обновления плагина изменения придётся вносить заново.
Переименуйте файлы:
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.js
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery.cookie.min.js
в:
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery_cookie.js
wp-content/plugins/woocommerce/assets/js/jquery-cookie/jquery_cookie.min.js
Затем добавьте следующий код в файл functions.php вашей темы:
add_action( 'wp_enqueue_scripts', 'custom_frontend_scripts' );
function custom_frontend_scripts() {
global $post, $woocommerce;
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
wp_deregister_script( 'jquery-cookie' );
wp_register_script(
'jquery-cookie',
$woocommerce->plugin_url() . '/assets/js/jquery-cookie/jquery_cookie' . $suffix . '.js',
array( 'jquery' ),
'1.3.1',
true
);
}
Вариант 3. Использовать плагин
Если предыдущие способы не подходят, можно установить плагин, который переименует подключаемый файл:
- Для WooCommerce 2.6.14 и ниже: woocommerce-jquery-cookie-fix.zip
- Для WooCommerce 3.0.0 и выше: woocommerce-js-cookie-fix
Перед установкой убедитесь, что вы удалили все предыдущие попытки исправления этой проблемы.
