Bagaimana cara membuat skrip pada posting kustom menambah / mengedit halaman?

23

Saya mencoba untuk membuat skrip JS hanya ketika seseorang menambahkan atau mengedit jenis posting khusus yang saya buat yang disebut "resep". Saat ini skrip berfungsi dengan baik ketika saya melakukan ini:

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

Tapi ini memuatnya di setiap halaman admin, saya berasumsi saya harus mengaitkannya ke suatu fungsi tetapi saya tidak tahu apa itu.

Terima kasih sebelumnya!

Javier Villanueva
sumber
Untuk penggunaan di masa mendatang, pertanyaan serupa dijawab dengan apa yang saya rasa adalah cara yang lebih mudah: wordpress.stackexchange.com/q/34894/93169
Frits

Jawaban:

43

Anda dapat melakukannya seperti ini 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 );
mike23
sumber
Bisakah saya juga enqueue style menggunakan fungsi ini?
Sisir
1
@Sisir Gunakan "admin_print_styles-{$page}"kail. $pagedapat menyimpan add_(sub)menu_page()kode lengkap dan digunakan untuk kemudian menargetkan halaman saat menggunakan @see wp_enqueue_style().
kaiser
Cara yang lebih mutakhir untuk melakukan ini: wordpress.stackexchange.com/a/34897/93169 (juga terjadi sedikit lebih mudah berkat perubahan fungsionalitas di wordpress ...)
Frits
-2

Ada kait untuk itu, dan itu sangat mudah digunakan. Lihat tutorial ini untuk contoh implementasi .

Edit

Justin memindahkan tutorialnya dari DevPress ke situs pribadinya. Inilah tautan yang diperbarui untuk tutorial .

Chip Bennett
sumber
Halaman yang tercantum hilang. Inilah cermin / arsip di mesin Wayback .
Robert K
Terima kasih untuk itu. Saya telah memperbarui jawaban saya dengan tautan saat ini.
Chip Bennett
3
Mengapa tidak memposting solusinya di sini dan menautkan tutorial sebagai sumber ...
Christine Cooper
-3

Rootstheme (yang didasarkan pada Twitter Bootstrap) memiliki cara memuat skrip yang sangat elegan tergantung pada jenis halaman / posting seperti yang terlihat dalam fungsi root_scripts yang dapat dilihat di sini di github .

Pada dasarnya daftarkan semua skrip dan gaya Anda kemudian miliki pernyataan kondisional yang membungkus wp_enqueue_script atau pernyataan wp_enqueue_style Anda .

Desain FLOQ
sumber