Script para ejecutar al completar la carga de la página

3 oct 2012, 01:47:25
Vistas: 25.6K
Votos: 5

En la página de inicio tengo 2 líneas de código que me gustaría ejecutar en JavaScript.

¿Dónde debería colocar estas dos líneas de código?

¿WordPress tiene una forma específica de hacer esto? ¿O debería simplemente añadirlo en el último archivo .js que se carga?

// Opción 1: Usando wp_enqueue_script con jQuery
function agregar_mi_script() {
    wp_enqueue_script('mi-script', get_template_directory_uri() . '/js/mi-script.js', array('jquery'), '1.0', true);
}
add_action('wp_enqueue_scripts', 'agregar_mi_script');

// En mi-script.js
jQuery(document).ready(function($) {
    // Tu código aquí
});

// Opción 2: Usando wp_add_inline_script
function agregar_codigo_inline() {
    wp_add_inline_script('jquery-core', '
        jQuery(document).ready(function($) {
            // Tu código aquí
        });
    ');
}
add_action('wp_enqueue_scripts', 'agregar_codigo_inline');
2
Comentarios

Depende de qué sea el javascript. ¿Qué es? Añade el código js a tu pregunta.

markratledge markratledge
3 oct 2012 02:37:25

Es simplemente para eliminar un elemento.

User User
3 oct 2012 03:21:29
Todas las respuestas a la pregunta 2
1

Depende de qué sea el javascript. ¿Qué es? Añade el código js a tu pregunta.

Si es un script cargado externamente que no hace más que rastrear las cargas de página - como el código de Google Analytics u otros contadores de estadísticas - no hay razón para usar wp_enqueue_script. A veces puedes simplemente añadirlo a footer.php o header.php

Si necesitas que el js se ejecute específicamente cuando la página haya terminado de cargar, entonces necesitas envolverlo en una función jQuery llamada .ready()

jQuery(document).ready(function($) {
  // Código usando $ como de costumbre va aquí.
});

Ver http://api.jquery.com/ready/

Y si el código es jQuery, puede que necesites envolverlo en un wrapper noConflict para prevenir conflictos con otros js.

<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // El código que usa el $ de jQuery puede ir aquí.
  });
  // El código que usa el $ de otras librerías puede ir aquí.
</script>
3 oct 2012 02:37:13
Comentarios

eso fue lo que terminé haciendo... agregándolo al pie de página.

User User
3 oct 2012 03:22:00
0

sí, WordPress tiene una función para cargar archivos javascript: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

el último argumento acepta true o false para cargar en el footer

3 oct 2012 02:32:07