woocommerce skrypty ładunki frontend i style w class-wc-frontend-scripts.php
pliku i tam można znaleźć, jak skrypty są zarejestrowane, Enqueued, zlokalizowane i zależności.
Preferowanym miejscem do wpisywania skryptów w Wordpress jest hak akcji wp_enqueue_scripts
, ponieważ jest to moment po pełnym załadowaniu Wordpress, ale przed wykonaniem jakichkolwiek danych wyjściowych. A także lubię dołączać wszystkie moje powiązane scenariusze i style w jednej sekcji kodu.
Jeśli chcesz całkowicie usunąć niektóre skrypty, wystarczy zadzwonić pod numer wp_deregister_script()
lub wp_dequeue_script()
. Ale czasami, jeśli chcesz wprowadzić pewne zmiany i pozostawić istniejące zależności, zmienne i lokalizację, istnieje problem, ponieważ wtyczki są ładowane przed motywami. Więc funkcje kolejkowania nie będą działać tak, jak byś tego oczekiwał. Proste wp_dequeue_script() => wp_enqueue_script()
będzie not work, wp_deregister_script() => wp_register_script
() będzie działać, ale zlokalizowane dane zostaną utracone.
ten może być rozwiązany przez pracę bezpośrednio z $wp_scripts
globalnego obiektu, który zawiera i zarządza wszystkie skrypty ładowane przez wp_enqueue_script()
lub zarejestrowana 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';
}
Czy chcesz całkowicie wyłączyć ich włączony lub przesłanianie szczególne zachowanie lub wydarzenie? –
Cóż, zamierzałem całkowicie zastąpić plik javascript (add-to-cart-variation.js), ponieważ jest kilka zmian, które muszę wprowadzić. – Sebastien
W tym pliku wygląda na to, że tylko dwa zdarzenia są związane z gotowym dokumentem. Możesz po prostu odpiąć je w swoim własnym scenariuszu. line-4 i line-216 https://github.com/woothemes/woocommerce/blob/master/assets/js/frontend/add-to-cart-variation.js. Nie współpracowałem z tą wtyczką, ale zakładam, że możesz również ręcznie zmodyfikować ten plik. –