Chciałbym usunąć kilka brzydko wyglądających strzałek, które są standardowe na przyciskach koszyka w WooCommerce. Aby to osiągnąć, znalazłem wskazówkę dotyczącą dodania następującego kodu, który powinien usunąć strzałki po załadowaniu dokumentu.
Zakładam, że zamierzam to umieścić w moich funkcjach. Php? Jak dokładnie miałbym to zrobić?
$(document).ready(function() {
$(".woocommerce-cart").html(function(i, val) {
return val.replace(" →", "");
});
$(".woocommerce-cart").html(function(i, val) {
return val.replace("← ", "");
});
});
EDYTOWAĆ
W porządku. Próbowałem tego podejścia:
Utworzyłem plik o nazwie „removeArrows.js” i umieściłem go w folderze wtyczek. Ma taką samą treść jak oryginalny kod, z wyjątkiem jQuery zamiast $. Następnie dodałem następujące do functions.php:
function wpb_adding_scripts() {
wp_register_script('my_amazing_script', plugins_url('removeArrows.js', FILE), array('jquery'),'1.1', true);
wp_enqueue_script('my_amazing_script');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );
Nie mogę wymyślić, jak poprawnie wyświetlić kod. To nie zadziałało. Jakieś sugestie, aby to zadziałało?
php
jquery
woocommerce
użytkownik2806026
źródło
źródło
wp-enqueue-script
. Musisz także zmienić$
s najQuery
(patrz sekcja 7 strony)Odpowiedzi:
Twój
$scr
w swojejwp_register_script()
funkcji jest źle. Biorąc pod uwagę, że twoja functions.php znajduje się we wtyczce, a plik removeArrows.js znajduje się w katalogu głównym wtyczki,$scr
powinieneś wyglądać tak:Innym ważnym punktem jest to, że zawsze dobrą praktyką jest ładowanie skryptów i stylów na końcu. Zapewni to, że nie zostaną zastąpione przez inne skrypty i style. Aby to zrobić, po prostu dodaj bardzo niski priorytet (bardzo wysoka liczba) do parametru priorytetu (
$priority
) zadd_action
.I zawsze ładuj / kolejkuj skrypty i style za pomocą
wp_enqueue_scripts
haka akcji, ponieważ jest to właściwy hak do użycia. Nie ładuj skryptów i stylów bezpośrednio dowp_head
lubwp_footer
EDYTOWAĆ
W przypadku motywów, jak już wskazałeś, że wszystko przeniosłeś na swój motyw,
$scr
zmieniłbyś to nadla motywów nadrzędnych i tego
dla motywów potomnych. Twój pełny kod powinien wyglądać następująco
źródło
$scr
byłbyget_template_directory_uri() . '/removeArrows.js'
dla dominujących tematów, aget_templatestylesheet_directory_uri() . '/removeArrows.js'
dla childthemesget_template_directory_uri() . '/removeArrows.js', FILE)
powinien po prostu byćget_template_directory_uri() . '/removeArrows.js'
Nie dodawałbym innego zewnętrznego pliku js, jest to tylko dodatkowy i niepotrzebny zasób do pobrania, i to jest coś, co chcemy ograniczyć pod względem czasu ładowania strony.
Dodałbym ten fragment jQuery do twojej strony za pomocą
wp_head
haka. Wkleisz następujące elementy w pliku funkcji motywu lub wtyczek. Upewniłem się również, że jQuery jest w trybie bez konfliktów, jak widać poniżej.Po wykonaniu tej czynności i odświeżeniu strony sprawdź źródło strony, aby upewnić się, że ten fragment kodu jQuery jest faktycznie ładowany na twoją stronę. Jeśli tak, to powinno działać, chyba że jest to wyłączone w rzeczywistym fragmencie jQuery, którego używasz.
źródło
wp_enqueue_script()
po więcej informacji.wp_enqueue_script()
dokumentów nawet Jest to zalecana metoda łączenia JavaScript ze stroną generowaną przez WordPress .Ponieważ odpowiedź została już zaakceptowana, chcę tylko powiedzieć, że istnieje inny sposób kolejkowania kodu javascript w stopce, który zrobiłem wiele razy.
w pliku functions.php:
możesz załadować ten skrypt do konkretnego szablonu strony tylko przy użyciu warunku
jeśli page-template.php znajduje się w katalogu (powiedz katalog szablonów w katalogu głównym motywu), możesz napisać:
źródło
wp_enqueue_script()
prawie zawsze jest on ogólnie lepszy i bardziej elastyczny.Aby odpowiedzieć na pytanie, musimy najpierw rozróżnić javascript i JQuery.
Mówiąc to w prosty sposób:
W rzeczywistości zadajesz dwa różne pytania:
Ponieważ wyniki Google pokazują Twój tytuł, a cała zawartość strony mówi o JQuery, może to być bardzo frustrujące dla osób szukających rozwiązania javascript.
A teraz rozwiązanie JQuery:
I rozwiązanie javascript:
Ten kod można dodać do swoich funkcji. Php Lokalizacja skryptów w obu przypadkach to
wp-content/themes/theme-name/js/script.js
Miłego kodowania!
źródło