Las soluciones que he visto son desde la perspectiva de agregar funciones de JavaScript a un tema. Sin embargo, el OP preguntó, específicamente, "¿Cómo lo agrego exactamente para una sola página de WordPress?" Parece que es así como uso JavaScript en mi blog de Wordpress, donde las publicaciones individuales pueden tener diferentes "widgets" basados en JavaScript. Por ejemplo, una publicación podría permitir al usuario cambiar variables (controles deslizantes, casillas de verificación, campos de entrada de texto) y trazar o enumerar los resultados.
A partir de la perspectiva de JavaScript:
- Escriba sus funciones de JavaScript en un archivo ".js" separado
Ni siquiera piense en incluir JavaScript significativo en el html de su publicación: cree un archivo o archivos JavaScript con su código.
- Interfase su JavaScript con el html de su publicación
Si su widget de JavaScript interactúa con los controles y campos html, deberá comprender cómo consultar y establecer esos elementos desde JavaScript, y también cómo permitir que los elementos de la interfaz de usuario llamen a sus funciones de JavaScript. Aquí hay un par de ejemplos; primero, desde JavaScript:
var val = document.getElementById(“AM_Freq_A_3”).value;
Y desde html:
<input type="range" id="AM_Freq_A_3" class="freqSlider" min="0" max="1000" value="0" oninput='sliderChanged_AM_widget(this);'/>
- Use jQuery para llamar a la función de inicialización de su widget de JavaScript
Agregue esto a su archivo .js, usando el nombre de su función que configura y dibuja su widget de JavaScript cuando la página está lista para ello:
jQuery(document).ready(function( $ ) {
your_init_function();
});
- En el código html de su publicación, cargue los scripts necesarios para su publicación
En el editor de código de Wordpress, normalmente especifico los scripts al final de la publicación. Por ejemplo, tengo una carpeta de scripts en mi directorio principal. Dentro tengo un directorio de utilidades con JavaScript común que algunas de mis publicaciones pueden compartir, en este caso algunas de mis propias funciones de utilidad matemática y la biblioteca de trazado flotr2. Me parece más conveniente agrupar el JavaScript específico de la publicación en otro directorio, con subdirectorios basados en la fecha en lugar de usar el administrador de medios, por ejemplo.
<script type="text/javascript" src="/scripts/utils/flotr2.min.js"></script>
<script type="text/javascript" src="/scripts/utils/math.min.js"></script>
<script type="text/javascript" src="/scripts/widgets/20161207/FreqRes.js"></script>
- Enqueue jQuery
Wordpress registra jQuery, pero no está disponible a menos que le diga a Wordpress que lo necesita, al ponerlo en cola. Si no lo hace, el comando jQuery fallará. Muchas fuentes le dicen cómo agregar este comando a su functions.php, pero suponga que conoce otros detalles importantes.
Primero, es una mala idea editar un tema: cualquier actualización futura del tema eliminará sus cambios. Haz un tema infantil. Así es cómo:
https://developer.wordpress.org/themes/advanced-topics/child-themes/
El archivo functions.php del niño no anula el archivo del tema principal del mismo nombre, sino que lo agrega. El tutorial de temas secundarios sugiere cómo poner en cola el archivo style.css primario y secundario. Simplemente podemos agregar otra línea a esa función para poner en cola también jQuery. Aquí está todo mi archivo functions.php para el tema hijo:
<?php
add_action( 'wp_enqueue_scripts', 'earlevel_scripts_enqueue' );
function earlevel_scripts_enqueue() {
// styles
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
// posts with js widgets need jquery
wp_enqueue_script('jquery');
}