web-dev-qa-db-fra.com

Comment mettre en file d'attente des scripts sur des pages d'ajout/modification personnalisées?

J'essaie de mettre en file d'attente un script JS uniquement lorsque quelqu'un ajoute ou modifie un type de publication personnalisé que j'ai créé et appelé "recettes". Actuellement, le script fonctionne bien quand je fais ceci:

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

Mais cela le charge dans chaque page d’administration, je suppose que j’ai besoin de l’accrocher à une fonction, mais je ne sais absolument pas de quoi il s’agit.

Merci d'avance!

22
Javier Villanueva

Vous pouvez le faire comme ceci (mettre dans votre 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 );
39
mike23