Existe uma maneira de usar wp_enqueue_script () para scripts embutidos?
Estou fazendo isso porque meu script embutido depende de outro script e eu gostaria da flexibilidade de inseri-lo após o carregamento.
Além disso, é um script embutido porque estou passando variáveis php para o javascript (como caminho do tema, etc.)
Desde já, obrigado.
wp-enqueue-script
chrisjlee
fonte
fonte
wp_add_inline_script()
wp_add_inline_script com o wordpress jqueryApenas não faça dele um script embutido e passe os parâmetros dinâmicos para ele como variáveis. Otto escreveu um ótimo guia sobre como fazer isso de forma eficaz.
O WordPress 3.3 também tornará isso mais poderoso: https://core.trac.wordpress.org/ticket/11520
fonte
Essa solução é semelhante à resposta do @ scribu , mas segue a forma de
wp_enquque_script()
, e colocará o script no cabeçalho se suas dependências estiverem incluídas no cabeçalho.Nota: isso usa o uso de funções anônimas, mas para versões do PHP anteriores à 5.3, isso pode ser facilmente convertido em uma classe.
fonte
Desde o WordPress 4.5, você pode usar wp_add_inline_script () :
fonte
A melhor maneira que eu encontrei é usando
wp_localize_script()
, como sugeriu @scribu.Geralmente, eu decidia usar o Javascript em linha porque precisava fornecer algumas variáveis PHP ao meu script. Isso pode ser resolvido com
wp_localize_script()
. Vou dar um exemplo:Você tem uma matriz
$aFoo
com algumas opções e precisa transmiti-la para um script.Usando script em linha:
Usando
wp_localize_script()
:Então,
pathToScript/script.js
seria:Dessa forma, você não precisa mais de scripts em linha.
fonte
scribu está absolutamente correto. De qualquer forma, quero adicionar algumas informações:
Quero que minha função produza um script uma vez, não importa com que frequência seja chamado. É uma função relacionada ao conteúdo, por isso não posso esperar por nenhum gancho. Usei informações do scribus e algumas leituras do núcleo do WP para fazer isso:
Usando esse método, sou capaz de imprimir um script embutido uma vez. No meu caso, tenho uma função que cria um botão de compartilhamento e precisa de um script para ser executado para todos os botões. Mas apenas uma vez.
fonte
echo
abordagem do script embutido é como o tema dos vinte e dezessete foi construído, pelo menos em um ponto. E eu uso essa técnica também. Funciona muito bem e permite conectar-se a lugares diferentes.