Özel yazı ekleme / düzenleme sayfalarındaki komut dosyalarını nasıl sıkıştırabilirim?


23

Bir JS komut dosyasını yalnızca birileri "tarifler" olarak adlandırdığım özel bir gönderi türü eklerken veya düzenlerken eklemeye çalışıyorum. Şu anda bunu yaptığımda script düzgün çalışıyor:

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

Ancak bu, her yönetici sayfasına yüklenir, onu bir işleve bağlamaya ihtiyacım olduğunu sanıyorum ama ne olacağı hakkında hiçbir fikrim yok.

Şimdiden teşekkürler!


Gelecek kullanım için, benzer bir soru ben daha kolay bir yol olduğunu hissediyorum ne cevap verilmiştir: wordpress.stackexchange.com/q/34894/93169
Frits

Yanıtlar:


43

Böyle yapabilirsin (içine koy 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 );

Bu işlevi kullanarak stili de doldurabilir miyim?
Sisir

1
@Sisir Kancayı kullanın "admin_print_styles-{$page}". kodun $pagetamamını tutabilir add_(sub)menu_page()ve kullandığınızda sayfayı hedeflemek için kullanılabilir @see wp_enqueue_style().
kaiser

Bunu yapmanın daha güncel yol: wordpress.stackexchange.com/a/34897/93169 (ayrıca ... wordpress işlev değişiklikleri için biraz daha kolay sayesinde olur)
Frits

-2

Bunun için bir kanca var ve kullanımı çok basit. Örnek bir uygulama için bu eğitime bakın .

Düzenle

Justin eğitimlerini DevPress'ten kişisel sitesine taşıdı. İşte öğretici için güncellenmiş bağlantı .


Listelenen sayfa gitti. İşte Wayback makinesinde bir ayna / arşiv .
Robert K,

Bunun için teşekkürler. Cevabımı güncel bir bağlantıyla güncelledim.
Chip Bennett

3
Neden çözümü burada yayınlamıyor ve öğreticiyi kaynak olarak
Christine Cooper

-3

Rootstheme (Twitter Bootstrap'a dayanmaktadır), burada github'da görülebilen roots_scripts işlevinde görüldüğü gibi sayfa / yazı türüne bağlı olarak komut dosyalarının gerçekten zarif bir şekilde yüklenmesini sağlar .

Temel olarak tüm komut dosyalarınızı ve stillerinizi kaydedin, ardından wp_enqueue_script veya wp_enqueue_style ifadelerinizi saran koşullu ifadelere sahip olun .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.