WooCommerce script carichi di frontend e gli stili in class-wc-frontend-scripts.php
di file, e si possono trovare come vengono registrati gli script, accodato, localizzato e dipendenze.
Il posto preferito per accodare gli script in Wordpress è il hook di azione wp_enqueue_scripts
, perché quello è il momento dopo che Wordpress è stato caricato completamente ma prima che venga prodotto qualsiasi output. E mi piace anche accodare tutti i miei script e stili correlati in una sezione di codice.
Quando si desidera rimuovere completamente alcuni script, è sufficiente chiamare wp_deregister_script()
o wp_dequeue_script()
. Ma a volte, se vuoi apportare alcune modifiche e lasciare le dipendenze, le variabili e la localizzazione esistenti, c'è un problema perché i plugin vengono caricati prima dei temi. Quindi le funzioni di accodamento non funzioneranno come ci si aspetterebbe. Semplice wp_dequeue_script() => wp_enqueue_script()
sarà not work, wp_deregister_script() => wp_register_script
() funzionerà, ma i dati localizzati verranno persi.
Questo può essere risolto lavorando direttamente con $wp_scripts
oggetto globale che contiene e gestisce tutti gli script caricati tramite wp_enqueue_script()
o registrati 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';
}
Vuoi disabilitare completamente il loro scripting o di esclusione un particolare comportamento o evento? –
Beh, stavo per sovrascrivere completamente il file javascript (add-to-cart-variation.js) perché ci sono alcune modifiche che devo apportare. – Sebastien
In quel file, sembra che ci siano solo due eventi da rileggere su doc ready. Potresti semplicemente separarli nel tuo script. linea 4, e la linea 216-https://github.com/woothemes/woocommerce/blob/master/assets/js/frontend/add-to-cart-variation.js. Non ho lavorato con quel plugin, ma presumo che tu possa modificare manualmente anche quel file. –