Le soluzioni che ho visto provengono dal punto di vista dell'aggiunta di funzionalità JavaScript a un tema. Tuttavia, l'OP ha chiesto, in particolare, "Come posso aggiungerlo esattamente per una singola pagina WordPress?" Questo potrebbe essere il modo in cui utilizzo javascript nel mio blog Wordpress, dove i singoli post possono avere diversi "widget" basati su javascript. Ad esempio, un post potrebbe consentire all'utente di modificare le variabili (cursori, caselle di controllo, campi di input di testo) e tracciare o elencare i risultati.
Partendo dalla prospettiva JavaScript:
- Scrivi le tue funzioni JavaScript in un file ".js" separato
Non pensare nemmeno di includere JavaScript significativo nell'html del tuo post: crea uno o più file JavaScript con il tuo codice.
- Interfaccia il tuo JavaScript con l'html del tuo post
Se il tuo widget JavaScript interagisce con i controlli e i campi html, dovrai capire come eseguire query e impostare tali elementi da JavaScript e anche come consentire agli elementi dell'interfaccia utente di chiamare le tue funzioni JavaScript. Qui ci sono un paio di esempi; in primo luogo, da JavaScript:
var val = document.getElementById(“AM_Freq_A_3”).value;
E da html:
<input type="range" id="AM_Freq_A_3" class="freqSlider" min="0" max="1000" value="0" oninput='sliderChanged_AM_widget(this);'/>
- Usa jQuery per chiamare la funzione di inizializzazione del tuo widget JavaScript
Aggiungilo al tuo file .js, usando il nome della tua funzione che configura e disegna il tuo widget JavaScript quando la pagina è pronta per questo:
jQuery(document).ready(function( $ ) {
your_init_function();
});
- Nel codice html del tuo post, carica gli script necessari per il tuo post
Nell'editor di codice di Wordpress, in genere specifico gli script alla fine del post. Ad esempio, ho una cartella degli script nella mia directory principale. All'interno ho una directory di utilità con JavaScript comune che alcuni dei miei post potrebbero condividere, in questo caso alcune delle mie funzioni di utilità matematica e la libreria di plottaggio flotr2. Trovo più conveniente raggruppare il JavaScript post-specifico in un'altra directory, con sottodirectory basate sulla data invece di utilizzare il gestore multimediale, ad esempio.
<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, ma non è disponibile a meno che tu non dica a Wordpress che ne hai bisogno, accodandolo. In caso contrario, il comando jQuery fallirà. Molte fonti ti dicono come aggiungere questo comando al tuo functions.php, ma presumi di conoscere altri dettagli importanti.
Innanzitutto, è una cattiva idea modificare un tema: qualsiasi aggiornamento futuro del tema cancellerà le modifiche. Crea un tema figlio. Ecco come:
https://developer.wordpress.org/themes/advanced-topics/child-themes/
Il file functions.php del bambino non sovrascrive il file del tema principale con lo stesso nome, si aggiunge ad esso. Il tutorial sui temi figlio suggerisce come accodare il file style.css genitore e figlio. Possiamo semplicemente aggiungere un'altra riga a quella funzione per accodare anche jQuery. Ecco il mio intero file functions.php per il tema figlio:
<?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');
}