Pregunta sobre Developing with WordPress de Wordpress:

Llamar a la función desde functions.php

Un usuario preguntó 👇

Hola, quiero agregar una función onclick = «myFunction ()» a un botón en header.php

¿Dónde está la ubicación correcta para la función? Lo agregué en functions.php:

function myFunction() {
    console.log("myFunction");
}
add_action('wp_footer', 'myFunction');

Pero me sale el error:

myFunction no está definido

¿Algun consejo? ¡Gracias!

(@subrataemfluence)

Hace 2 años

No está dando la función usted mismo. Realmente está dando su salida, es decir console.log.

Tienes que proporcionar lo real js functon a través de la función php a la que se conectó wp_footer acción o puede escribir la función en su footer.php.

Espero que esto ayude.

Lanzador de hilos

(@bashibazouk)

Hace 2 años

Gracias por su respuesta. Entonces, ¿es ese el método de mejores prácticas de WordPress para llamar a funciones? Parece un poco alargado

(@wpgear)

Hace 2 años

Yo footer.php


<script type="text/javascript">
	function myFunction() {
		console.log("myFunction");
	}
<script>

(@bcworkz)

Hace 2 años

¡Las “mejores prácticas” de WP van más allá de eso! Se nos pide poner en cola el código JS a través de él. wp_enqueue_script(). TBH, esto es demasiado controvertido para un simple JS. Lo que sugiere Subrata es suficiente para un simple JS.

JS y PHP parecen mezclados y confusos. Si bien existe alguna intersección para que uno haga que suceda el otro, son esencialmente dos entidades separadas que operan en dos entornos diferentes. JS se ejecuta en el navegador del visitante y tiene acceso limitado a los recursos de su servidor. PHP se ejecuta en su servidor, tiene acceso completo a los recursos del servidor, pero tiene acceso limitado a los recursos del navegador.

Puede usar la acción «wp_footer» en PHP para generar una declaración de función JS:

function my_php_function() {
  echo '<script>
    function myFunction() {
      console.log("myFunction() was called.");
    }
  </script>';
}
add_action('wp_footer', 'my_php_function');

Lanzador de hilos

(@bashibazouk)

Hace 2 años

@bcworkz tienes toda la razón, ¡confundí PHP con JS!

Descubrí que la mejor manera era tener un script externo en el pie de página como lo sugiere @wpgear

Gracias por tu ayuda

(@subrataemfluence)

Hace 2 años

Cambie el estado para resolver si está satisfecho. ¡Gracias!

Lanzador de hilos

(@bashibazouk)

Hace 2 años

Resuelto, gracias

¿Solucionó tu problema??

0 / 2

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.