web-dev-qa-db-de.com

Wie kann ich Skripte auf benutzerdefinierten Seiten zum Hinzufügen/Bearbeiten von Beiträgen in die Warteschlange stellen?

Ich versuche, ein JS-Skript nur dann in die Warteschlange zu stellen, wenn jemand einen benutzerdefinierten Beitragstyp hinzufügt oder bearbeitet, den ich erstellt habe und der "Rezepte" heißt. Derzeit funktioniert das Skript in Ordnung, wenn ich das mache:

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

Aber dies lädt es in jeder Admin-Seite, ich gehe davon aus, dass ich es mit einer Funktion verknüpfen muss, aber ich habe keine Ahnung, was es sein würde.

Danke im Voraus!

22

Du kannst es so machen (gib deinen functions.php ein):

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