Come accodare gli script sulle pagine personalizzate di aggiunta / modifica dei post?


23

Sto cercando di accodare uno script JS solo quando qualcuno sta aggiungendo o modificando un tipo di post personalizzato che ho creato chiamato "ricette". Attualmente lo script funziona bene quando faccio questo:

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

Ma questo lo carica in ogni pagina di amministrazione, presumo che debba collegarlo a una funzione ma non ho idea di cosa sarebbe.

Grazie in anticipo!


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

Risposte:


43

Puoi farlo in questo modo (inserisci il 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 );

Posso anche accodare lo stile usando questa funzione?
Sisir,

1
@Sisir Usa il "admin_print_styles-{$page}"gancio. $pagepuò contenere il add_(sub)menu_page()codice completo e può essere utilizzato per indirizzare la pagina durante l'utilizzo @see wp_enqueue_style().
Kaiser

Un modo più aggiornato per farlo: wordpress.stackexchange.com/a/34897/93169 (sembra anche essere un po 'più facile grazie ai cambiamenti di funzionalità in wordpress ...)
Frits

-2

C'è un gancio per questo, ed è semplicissimo da usare. Vedi questo tutorial per un'implementazione di esempio .

modificare

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


La pagina elencata è andata. Ecco un mirror / archivio sulla macchina Wayback .
Robert K

Grazie per quello Ho aggiornato la mia risposta con un collegamento corrente.
Chip Bennett

3
Perché non pubblicare qui la soluzione e collegare il tutorial come fonte ...
Christine Cooper

-3

Rootstheme (che si basa su Twitter Bootstrap) ha un modo davvero elegante di caricare script a seconda del tipo di pagina / post come si vede nella funzione roots_scripts che può essere visto qui su github .

Fondamentalmente registra tutti i tuoi script e stili, quindi hai istruzioni condizionali che racchiudano le tue istruzioni wp_enqueue_script o wp_enqueue_style .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.