Wie fügt man Skripte auf benutzerdefinierten Seiten zum Hinzufügen / Bearbeiten von Posts in die Warteschlange ein?

Ich versuche ein JS-Skript nur dann in die Warteschlange einzureihen, wenn jemand einen benutzerdefinierten Post-Typ hinzufügt oder bearbeitet, den ich “recipes” genannt habe. Derzeit funktioniert das Skript, wenn ich das tue:

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

Aber das lädt es auf jeder Admin-Seite, ich gehe davon aus, dass ich es zu einer function haken muss, aber ich wusste nicht, was es sein würde.

Danke im Voraus!

Solutions Collecting From Web of "Wie fügt man Skripte auf benutzerdefinierten Seiten zum Hinzufügen / Bearbeiten von Posts in die Warteschlange ein?"

Du kannst es so machen (in deine functions.php einfügen):

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

Es gibt einen Haken dafür, und es ist tot-einfach zu bedienen. In diesem Lernprogramm finden Sie eine Beispielimplementierung .

Bearbeiten

Justin hat seine Tutorials von DevPress auf seine persönliche Seite verschoben. Hier ist der aktualisierte Link für das Tutorial .

Rootstheme (das auf Twitter Bootstrap basiert) hat eine sehr elegante Art, Skripte je nach Seiten- / Post-Typ zu laden, wie in der roots_scripts- function zu sehen ist, die hier auf github zu sehen ist .

Im Grunde registrieren Sie alle Ihre Skripte und Stile und haben Sie dann bedingte statementen, die Ihre wp_enqueue_script- oder wp_enqueue_style- statementen umschließen .