Load file style hoặc js trong admin theo từng posttype

Với wordpress chúng ta hay hay dùng hook admin_enqueue_scripts để load js hoặc css vào admin trong wordpress với cấu trúc như sau :

add_action( 'wp_enqueue_scripts', 'load_fontend_sanpham_style' );
function load_fontend_sanpham_style() {
    wp_enqueue_style( 'wqn_swiper_css', get_template_directory_uri() . '/css/swiper.min.css', false, '3.2.5' );
    wp_enqueue_script( 'wqn_fancybox_js', get_template_directory_uri() . '/plugins/js/jquery.fancybox.pack.js', false, '2.1.3' );
}

Tuy nhiên nếu code như vậy thì trong trường hợp có nhiều posttype sẽ có thể dẫn đến xung đột js vì khi vào admin sẽ load tất cả js mà ta khai báo ở cả 2 posttyle A và posttype B . Để khắc phụ vấn đề này 1 cách đơn giản nhất thì ta làm như sau:

  • Ta kiểm tra loại posttype trước khi load js hoặc css:
function load_admin_style_sanpham() { 
    global $post_type;
    if( 'wqn_sanpham' == $post_type ){
        wp_enqueue_style( 'wqn_swiper_css', get_template_directory_uri() . '/css/swiper.min.css', false, '3.2.5' );
        wp_enqueue_script( 'wqn_fancybox_js', get_template_directory_uri() . '/plugins/js/jquery.fancybox.pack.js', false, '2.1.3' );
    }
}

Ở đây ta cần chú ý đoạn code sau với posttype hiện tại mình đang dùng là wqn_sanpham, các bạn thay postype mà bạn cần vào

    global $post_type;
    if( 'wqn_sanpham' == $post_type )

Chúc các ban thành công, trong bài viết có gì sai sót mong các bạn thông cảm, Mọi góp ý xin để lại comment hoặc liên hệ fb: fb.com/webquangnam