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');

John
335
Tutte le risposte alla domanda
3
1
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');
}
}

Bainternet
67.7K
31 gen 2013 00:22:59
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; }

Sabbir H
316
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();

Arthur Shlain
132
11 set 2020 11:17:55
Domande correlate
5
risposte