Come caricare JavaScript su un template di pagina personalizzato?

31 gen 2013, 00:11:03
Visualizzazioni: 23.3K
Voti: 12

Ho un template di pagina personalizzato dove vorrei caricare del JavaScript. Potrei sempre includere il JavaScript direttamente nel file, ma non sembra una soluzione elegante. C'è un modo per identificare quando WordPress sta caricando il mio file custom-page.php così da poter accodare lo script solo in quella pagina?

Dovrebbe funzionare in modo dinamico, quindi controllare l'ID della pagina non è un'opzione.

// Soluzione 1: Usando is_page_template() function carica_script_custom_template() { if (is_page_template('custom-page.php')) { wp_enqueue_script('mio-script', get_template_directory_uri() . '/js/mio-script.js'); } } add_action('wp_enqueue_scripts', 'carica_script_custom_template'); // Soluzione 2: Usando get_page_template_slug() function carica_script_per_template() { $template_slug = get_page_template_slug(); if ($template_slug == 'custom-page.php') { wp_enqueue_script('mio-script', get_template_directory_uri() . '/js/mio-script.js'); } } add_action('wp_enqueue_scripts', 'carica_script_per_template');
0
Tutte le risposte alla domanda 3
1
29

Puoi utilizzare is_page_template per verificare se il tuo template è in uso e caricare gli script in base a questo, ad esempio:

Aggiungi questo codice al tuo functions.php:

add_action('wp_enqueue_scripts','Load_Template_Scripts_wpa83855');
function Load_Template_Scripts_wpa83855(){
    if ( is_page_template('custom-page.php') ) {
        wp_enqueue_script('my-script', 'path/to/script.js');
    } 
}
31 gen 2013 00:22:59
Commenti

Sto cercando di utilizzare uno script javascript da uno dei miei plugin e dice: Failed to load resource: the server responded with a status of 403 (Forbidden)

HOY HOY
2 apr 2017 10:50:56
0

Puoi usare qualcosa come questo .....

 add_filter( 'template_include', 'wpm_load_script_for_template', 1000 );
        function wpm_load_script_for_template( $template ){
             if(is_page_template('lead_capture_full.php')){

// codice standard per aggiungere js

            }
        return $template; }
7 mar 2016 09:09:09
0

Puoi aggiungere nuovi wp_enqueue_scripts nel tuo file template prima della chiamata a get_header():

/**
 * Template name: Pagina personalizzata
 */

function my_page_scripts(){
    wp_enqueue_script('my_script', get_template_directory_uri() . '/js/my-page-script.js', [], '1.0', true);
}
add_action( 'wp_enqueue_scripts', 'my_page_scripts' );

get_header();
11 set 2020 11:17:55