Como passar variáveis PHP para JavaScript no WordPress
Quando você está construindo um tema ou plugin do WordPress, às vezes você tem um código JavaScript que precisa usar dados / valores do PHP. Por exemplo, você precisa destes valores em seu código JavaScript:
-
Homepage URL
Theme option values
WordPress posts data
etc
A maneira mais fácil de fazer isso é inicializando esses valores em objetos JavaScript em seu arquivo de tema header.php ou gancho wp_head. Por exemplo :
<script> var myThemeParams = { homeURL: <?php echo home_url(); ?>, themeOptions: <?php echo get_theme_mod( 'mytheme_options', false ); ?>, } </script>
Embora funcione, o WordPress nos forneceu uma função para fazer algo assim. É chamado de wp_add_inline_script.
wp_add_inline_script( $handle, $data, $position = 'after' )
-
$ handle: nome do script ao qual adicionar o script embutido.
$ data: String contendo o JavaScript a ser adicionado.
$ position: se deseja adicionar o script embutido antes ou depois do identificador.
Essa função adicionará um script embutido antes ou depois do seu código JavaScript. Na verdade, ele pode fazer mais além de passar variáveis PHP para JavaScript. Você pode ver outro caso de uso aqui.
Portanto, para usar wp_add_inline_script para passar variáveis de PHP para JavaScript, você precisa definir as propriedades de posição como antes para que ele adicione o script embutido antes de seu arquivo JS. Em seguida, inicialize um objeto JavaScript e defina o valor com dados do PHP.
$myThemeParams = array( 'homeURL' => home_url(), 'themeOptions' => get_theme_mod( 'mytheme_options', false ) ); wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/script.js' ); wp_add_inline_script( 'my-theme-script', 'var myThemeParams = ' . wp_json_encode( $myThemeParams ), 'before' );
Em seu JavaScript, você pode acessá-lo assim:
console.log( myThemeParams.homeURL ); console.log( myThemeParams.themeOptions );
Questões relacionadas
- 2024-04-25 A Apple disse estar trabalhando em um chip de servidor AI personalizado baseado no processo de 3nm da TSMC
- 2024-04-25 pesquisadores usam peças de supercapacitores para construir um novo tipo de bateria de íon de sódio
- 2022-08-20 O Google está tentando melhorar os resultados de pesquisa impedindo conteúdo não original
- 2022-08-16 A Microsoft desativará o TLS 1.0 e 1.1 no Internet Explorer e EdgeHTML em 13 de setembro
- 2022-08-15 Google lança Read Along para a web: ensinando as crianças a ler
Os seus comentários
- forex 1楼
- Hi would you mind letting me know which hosting company you're working with? I've loaded your blog in 3 completely different web browsers and I must say this blog loads a lot faster then most. Can you recommend a good web hosting provider at a fair price? Thank you, I appreciate it!
- 发布于 2022/03/17 09:11
- Ranking de Qualidade
-
- Como atualizar do Windows 10 para o Windows 11 gratuitamente
- Como evitar a duplicação de páginas de formulários
- Como passar variáveis PHP para JavaScript no WordPress
- A diferença entre quebras de linha e marcas de parágrafo
- O que é uma linguagem de programação fracamente tipada
- O que é a window.postMessage em HTML5?
- Como implementar funções de avanço e retrocesso do navegador para botões de formulários web
- O layout da mesa é de repente muito confuso
- Como determinar se o PHP é bom para o meu site ou WordPress?
- O que é uma linguagem de script
- O papel da lista não-ordenada ul tag
- O que é uma declaração de documento XML?
- O impacto do caching automático nas páginas dinâmicas
- Quais valores podem ser usados para a propriedade background-position?
- Qual é a diferença entre fixo e absoluto?
- Respostas mais recentes
-
-
Como evitar a duplicação de páginas de formulários
binary options system strategy page Resposta 2022-04-01 03:42:00
-
Como determinar se o PHP é bom para o meu site ou WordPress?
แอพเปลี่ยนรูปเป็นภาพวาด Resposta 2022-03-27 18:27:12
-
O impacto do caching automático nas páginas dinâmicas
50 deposit binary options Resposta 2022-03-24 05:31:20
-
Como evitar a duplicação de páginas de formulários
free binary options signals providers of goods Resposta 2022-03-20 12:29:02
-
Como evitar a duplicação de páginas de formulários
binary options strategy 5 minutes 15 min no loss acord Resposta 2022-03-20 09:44:29
-