it-swarm.com.de

Laden von Skripten nur auf die Post Edit-Seite

Ich habe ein paar Meta-Felder für die Posts und Seiten hinzugefügt, daher möchte ich ein js-Skript nur für den Beitrag und die Seite erstellen/bearbeiten laden. Wie kann ich das machen? Momentan benutze ich folgendes aber das lädt die Skripte auf allen Seiten in den Admin.

function my_meta_boxes() {
    add_meta_box("post_meta", "Meta", "post_meta", "post", "normal", "high");
    add_meta_box("post_meta", "Meta", "post_meta", "page", "normal", "high");

}
add_action( 'add_meta_boxes', 'my_meta_boxes' );

function register_custom_scripts() {
    wp_enqueue_script( 'custom_js', get_template_directory_uri() . '/inc/meta/custom.js', array( 'jquery' ));
    wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/inc/meta/custom.css');
}
add_action( 'admin_init', 'register_custom_scripts' );
2
jay

Wir können uns ein bisschen verbessern mit:

function specific_enqueue($hook_suffix) {
   if( 'post.php' == $hook_suffix || 'post-new.php' == $hook_suffix ) {
     wp_enqueue_script( 'custom_js', get_template_directory_uri() . '/inc/meta/custom.js', array( 'jquery' ));
     wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/inc/meta/custom.css')
  }
}
add_action( 'admin_enqueue_scripts', 'specific_enqueue' );
2
JMau

Verwenden Sie den Hook admin_enqueue_scripts, um Skripte auf den Admin-Seiten in die Warteschlange zu stellen, und führen Sie die folgenden Schritte aus, um eine bestimmte Seite aufzurufen:

function specific_enqueue( $hook ) {
    if( 'post.php' != $hook )
        return;
    wp_enqueue_script( 'custom_js', get_template_directory_uri() . '/inc/meta/custom.js', array( 'jquery' ));
    wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/inc/meta/custom.css')
}
add_action( 'admin_enqueue_scripts', 'specific_enqueue' );

Ich hoffe es hilft!!

0
Maruti Mohanty