Come caricare gli script nelle pagine di aggiunta/modifica dei post personalizzati?
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!

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

@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()
.

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...)

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.

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

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

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

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.
