Eu sei que posso adicionar um arquivo de script ao rodapé do wordpress que requer jquery usando este código:
<?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');
?>
Mas e se eu quiser adicionar apenas um trecho normal do jquery inline, não um arquivo. Como isso pode ser feito.
Editar
Eu sei que posso usar esse script para adicionar algo ao rodapé:
<?php
function myscript() {
?>
<script type="text/javascript">
// This depends on jquery
</script>
<?php
}
add_action('wp_footer', 'myscript');
Mas como especificar o script usado requer que o jquery seja executado.
plugin-development
jquery
wp-enqueue-script
Saif Bechan
fonte
fonte
wp_register_script
ewp_enqueue_script
existe, mas você pode verificar usando o próprio jquery.wp_enqueue_script
um arquivo de script no rodapé, quero adicionar um trecho ao rodapé que requer jquery. Eu diminuí a votação da resposta diretamente retirada do códice. Eu li o códice e não encontrei uma resposta, é por isso que faço uma pergunta. Se você me redirecionar para o códice novamente eu voto negativo.Respostas:
A maneira mais fácil de fazer isso é na verdade uma combinação
wp_enqueue_script
e as ações de rodapé que Saif e v0idless já fizeram referência. Eu freqüentemente uso jQuery em meus temas e plugins, mas também coloquei todos os outros scripts no rodapé.A melhor maneira de realmente enfileirar as coisas seria esta:
Mas esse código cortado pressupõe que você é quem enfileira o script, ou seja, você está fazendo isso em seu próprio plugin ou tema.
No momento, não há como adicionar um script em linha ao rodapé do WordPress e também carregá-lo com dependências. Mas há uma alternativa, se você estiver disposto.
A alternativa
Quando o WordPress trabalha com scripts, ele os carrega internamente em um objeto para acompanhá-los. Existem essencialmente 3 listas dentro do objeto:
Quando você registra um script pela primeira vez,
wp_register_scripts()
ele é colocado na lista de registrados. Quando vocêwp_enqueue_script()
usa o script, ele é copiado para a lista de filas. Depois de impresso na página, é adicionado à lista de tarefas concluídas.Portanto, em vez de enfileirar o script de rodapé para exigir o jQuery, você pode documentar que ele precisa usar o jQuery e apenas verificar programaticamente para garantir que o jQuery esteja carregado.
Isso usa
wp_script_is()
para verificar onde o script está listado.Você pode usar esse mesmo código para forçar o jQuery a carregar no rodapé também, mas eu não testei isso ... então sua milhagem pode variar.
fonte
Desde o wordpress 4.5, você pode adicionar scripts embutidos por
wp_add_inline_script()
. Para adicionar um snippet javascript ao rodapé que requer jQuery, esse código ajuda vocêwp_add_inline_script com jquery do wordpress
fonte
Use a
wp_footer
ação assim:fonte
Eu sei que o OP quer especificar um requisito no jQuery, e os autores do WordPress deveriam permitir que os snippets fossem enfileirados ao lado dos arquivos de script, mas não o fizeram, por isso recomendo não tentar forçá-lo. Se você não quiser mexer na fila ou na ordem em que está, como eu (porque estou usando outros plugins que combinam e otimizam scripts), a resposta é realmente usar a
wp_footer
ação da seguinte maneira:fonte
Você pode usar a
wp_footer
ação para fazer isso. Verifique o codex para wp_footer .fonte
in_footer
argumentowp_enqueue_script
? Leia isto: codex.wordpress.org/Function_Reference/wp_enqueue_script . Ele mostra como usá-lo com awp_footer
ação.