Come caricare gli script nelle pagine di aggiunta/modifica dei post personalizzati?

14 lug 2011, 17:28:15
Visualizzazioni: 31.5K
Voti: 27

Sto cercando di accodare uno script JS solo quando qualcuno sta aggiungendo o modificando un custom post type che ho creato chiamato "recipes". Attualmente lo script funziona correttamente quando faccio questo:

if (is_admin()){
    wp_enqueue_script( 'my-script' );
}

Ma questo lo carica in ogni pagina di amministrazione. Immagino di dover agganciarlo a una funzione ma non ho idea di quale potrebbe essere.

Grazie in anticipo!

1
Commenti

Per uso futuro, una domanda simile è stata risposta con quello che ritengo fosse un modo più semplice: http://wordpress.stackexchange.com/q/34894/93169

Frits Frits
29 apr 2016 09:37:01
Tutte le risposte alla domanda 3
3
57

Puoi farlo in questo modo (inserisci nel tuo functions.php):

function add_admin_scripts( $hook ) {

    global $post;

    if ( $hook == 'post-new.php' || $hook == 'post.php' ) {
        if ( 'recipes' === $post->post_type ) {     
            wp_enqueue_script(  'myscript', get_stylesheet_directory_uri().'/js/myscript.js' );
        }
    }
}
add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 );
14 lug 2011 17:38:47
Commenti

Posso anche caricare gli stili utilizzando questa funzione?

Sisir Sisir
14 nov 2011 13:16:55

@Sisir Utilizza l'hook "admin_print_styles-{$page}". $page può contenere il codice completo di add_(sub)menu_page() e essere utilizzato per indirizzare la pagina quando si usa @see wp_enqueue_style().

kaiser kaiser
14 nov 2011 20:04:08

Un modo più aggiornato per farlo: http://wordpress.stackexchange.com/a/34897/93169 (è anche un po' più semplice grazie ai cambiamenti nelle funzionalità di WordPress...)

Frits Frits
29 apr 2016 09:38:19
4
-3

C'è un hook per quello, ed è estremamente semplice da usare. Vedi questo tutorial per un esempio di implementazione.

Modifica

Justin ha spostato i suoi tutorial da DevPress al suo sito personale. Ecco il link aggiornato per il tutorial.

14 lug 2011 17:39:49
Commenti

La pagina elencata non è più disponibile. Ecco un mirror/archivio su Wayback Machine.

Robert K Robert K
8 mar 2012 23:42:31

Grazie per averlo segnalato. Ho aggiornato la mia risposta con un link funzionante.

Chip Bennett Chip Bennett
9 mar 2012 00:04:26

Perché non postare la soluzione qui e linkare il tutorial come fonte...

Christine Cooper Christine Cooper
8 nov 2014 18:33:14

Soprattutto considerando che tutti i link ora non sono validi.

Carl Brubaker Carl Brubaker
8 lug 2021 22:39:27
0
-4

Rootstheme (che è basato su Twitter Bootstrap) ha un modo davvero elegante di caricare gli script in base al tipo di pagina/post come si può vedere nella funzione roots_scripts che puoi visualizzare qui su github.

In sostanza, registra tutti i tuoi script e stili e poi utilizza istruzioni condizionali per racchiudere le tue dichiarazioni wp_enqueue_script o wp_enqueue_style.

31 mar 2013 22:22:27