Czy istnieje sposób użycia wp_enqueue_script () dla skryptów wbudowanych?
Robię to, ponieważ mój skrypt wbudowany zależy od innego skryptu i chciałbym mieć elastyczność wstawiania go po załadowaniu.
Ponadto jest to skrypt wbudowany, ponieważ przekazuję zmienne php do javascript (np. Ścieżka motywu itp.)
Z góry dziękuję.
wp-enqueue-script
chrisjlee
źródło
źródło
wp_add_inline_script()
wp_add_inline_script z wordpress jqueryPo prostu nie rób z niego wbudowanego skryptu, a następnie przekaż mu parametry dynamiczne jako zmienne. Otto napisał świetny przewodnik, jak to zrobić skutecznie.
WordPress 3.3 sprawi również, że będzie to mocniejsze: https://core.trac.wordpress.org/ticket/11520
źródło
Rozwiązanie to jest podobne do @ scribu za odpowiedź , ale wynika formę
wp_enquque_script()
i będzie umieścić skrypt w nagłówku, jeżeli jego zależności są zawarte w nagłówku.Uwaga: używa to anonimowych funkcji, ale w wersjach PHP wcześniejszych niż 5.3 można to łatwo przekształcić w klasę.
źródło
Od WordPress 4.5 możesz używać wp_add_inline_script () :
źródło
Lepszym sposobem, jaki znalazłem, jest używanie
wp_localize_script()
, jak sugerował @scribu.Zazwyczaj decydowałem się na użycie wbudowanego Javascript, ponieważ musiałem podać kilka zmiennych PHP do mojego skryptu. Można to rozwiązać za pomocą
wp_localize_script()
. Podam przykład:Masz tablicę
$aFoo
z kilkoma opcjami i musisz przekazać ją do skryptu.Za pomocą skryptu wbudowanego:
Używanie
wp_localize_script()
:Wtedy
pathToScript/script.js
byłoby:W ten sposób nie potrzebujesz już skryptów wbudowanych.
źródło
scribu ma absolutną rację. W każdym razie chcę dodać informacje:
Chcę, aby moja funkcja wypisała skrypt raz, bez względu na to, jak często jest wywoływany. Jest to funkcja związana z treścią, więc nie mogę się doczekać żadnych haków. Użyłem informacji o skryptach i przeczytaniu rdzenia WP, aby wymyślić:
Korzystając z tej metody, mogę raz wydrukować skrypt wbudowany. W moim przypadku mam funkcję, która tworzy przycisk udostępniania i wymaga wykonania jednego skryptu dla wszystkich przycisków. Ale tylko raz.
źródło
echo
Podejście skrypt inline jest jak motyw Twenty Siedemnaście została skonstruowana, przynajmniej w jednym punkcie. I również używam tej techniki. Działa świetnie i pozwala zaczepić się w różnych miejscach.