Я знаю, что могу добавить файл сценария в нижний колонтитул WordPress, который требует jquery, используя этот код:
<?php
function my_scripts_method() {
// register your script location, dependencies and version
wp_register_script('custom_script',
get_template_directory_uri() . '/js/custom_script.js',
array('jquery'),
'1.0',
true);
// enqueue the script
wp_enqueue_script('custom_script');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
?>
Но что, если я хочу добавить просто обычный фрагмент встроенного jquery, а не файл. Как это может быть сделано.
редактировать
Я знаю, что могу использовать этот скрипт, чтобы добавить что-то в нижний колонтитул:
<?php
function myscript() {
?>
<script type="text/javascript">
// This depends on jquery
</script>
<?php
}
add_action('wp_footer', 'myscript');
Но как мне указать используемый скрипт требует запуска jquery .
plugin-development
jquery
wp-enqueue-script
Саиф Бечан
источник
источник
wp_register_script
иwp_enqueue_script
существует, но вы можете проверить это с помощью самого jquery.wp_enqueue_script
файл сценария находился в нижнем колонтитуле, я хочу добавить фрагмент в нижний колонтитул, который требует jquery. Я понизил ответ прямо взятый из кодекса. Я прочитал кодекс и не нашел ответа, поэтому задаю вопрос. Если вы перенаправите меня на кодекс снова, я понизлю.Ответы:
Самый простой способ сделать это - это сочетание
wp_enqueue_script
действий и нижнего колонтитула, на которые Saif и v0idless уже ссылались. Я часто использую jQuery в своих темах и плагинах, но я помещаю и все остальные скрипты в нижний колонтитул.Лучший способ поставить вещи в очередь:
Но этот фрагмент кода предполагает, что вы являетесь тем, кто ставит сценарий в очередь, т.е. вы делаете это в своем собственном плагине или теме.
На данный момент нет способа добавить встроенный скрипт в нижний колонтитул WordPress, а также загрузить его с зависимостями. Но есть альтернатива, если вы готовы.
Альтернатива
Когда WordPress работает со скриптами, он загружает их внутренне в объект, чтобы отслеживать их. По сути, внутри объекта есть 3 списка:
Когда вы впервые регистрируете скрипт,
wp_register_scripts()
он помещается в зарегистрированный список. Когда выwp_enqueue_script()
выполняете сценарий, он копируется в список очередей. После того, как он был напечатан на странице, он добавляется в список готовых.Таким образом, вместо того, чтобы ставить скрипт в нижний колонтитул в очередь, требующий jQuery, вы можете задокументировать, что ему нужно использовать jQuery, и просто выполнить программную проверку, чтобы убедиться, что jQuery загружен.
Используется
wp_script_is()
для проверки того, где находится скрипт.Вы могли бы быть в состоянии использовать этот же код , чтобы заставить JQuery для загрузки в сноске , а также, но я не проверял , что ... поэтому пробег моей отличаться.
источник
Начиная с WordPress 4.5 вы можете добавить встроенный скрипт
wp_add_inline_script()
. Чтобы добавить фрагмент javascript в нижний колонтитул, для которого требуется jQuery, этот код поможет вамwp_add_inline_script с WordPress JQuery
источник
Используйте
wp_footer
действие как это:источник
Я знаю, что OP хочет указать требование к jQuery, и авторы WordPress должны были разрешить помещать фрагменты в очередь рядом с файлами сценариев, но они этого не сделали, поэтому я рекомендую не пытаться форсировать его. Если вы вообще не хотите связываться с очередью или ее порядком, как я (потому что я использую другие плагины, которые объединяют и оптимизируют скрипты), тогда ответ на самом деле заключается в использовании
wp_footer
действия следующим образом:источник
Вы можете использовать
wp_footer
действие для этого. Проверьте кодекс для wp_footer .источник
in_footer
аргументеwp_enqueue_script
? Прочитайте это: codex.wordpress.org/Function_Reference/wp_enqueue_script . Он говорит вам, как использовать его сwp_footer
действием.