WooCommerce scripts y estilos cargas frontend en class-wc-frontend-scripts.php
archivo, y no se puede encontrar cómo se registran los guiones, enqueued, localizado y dependencias.
El lugar preferido para poner en cola las secuencias de comandos en Wordpress es el gancho de acción wp_enqueue_scripts
, porque ese es el momento después de que Wordpress está completamente cargado pero antes de que se realice cualquier salida. Y también me gusta poner en cola todos mis guiones y estilos relacionados en una sección de código.
Cuando desee eliminar por completo algunas secuencias de comandos, es suficiente llamar a wp_deregister_script()
o wp_dequeue_script()
. Pero a veces, si desea realizar algunos cambios y dejar las dependencias, variables y localización existentes, existe un problema porque los complementos se cargan antes que los temas. Así que las funciones en cola no funcionarán como es de esperar. Simple wp_dequeue_script() => wp_enqueue_script()
not work, wp_deregister_script() => wp_register_script
() funcionará, pero se perderán los datos localizados.
Esto se puede resolver mediante el trabajo directo con $wp_scripts
objeto global que contiene y gestiona todos los scripts cargan a través de wp_enqueue_script()
o registrados con wp_register_script()
:
add_action('wp_enqueue_scripts', 'load_theme_scripts');
function load_theme_scripts() {
global $wp_scripts;
$wp_scripts->registered[ 'wc-add-to-cart' ]->src = get_template_directory_uri() . '/woocommerce/js/wc-add-to-cart.js';
}
¿Quieres desactivar por completo su scripting, o anulación un comportamiento o evento en particular? –
Bueno, iba a sobrescribir completamente el archivo javascript (add-to-cart-variation.js) porque hay bastantes cambios que debo hacer. – Sebastien
En ese archivo, parece que solo hay dos eventos vinculados en el doc ready. Podrías desvincularlos en tu propia secuencia de comandos. línea-4 y línea-216 https://github.com/woothemes/woocommerce/blob/master/assets/js/frontend/add-to-cart-variation.js. No he trabajado con ese complemento, pero supongo que también puedes modificar manualmente ese archivo. –