Include css và js theo shortcode. Đây là việc nên làm thay vì theo cách include thông thường qua hook wp_enqueue_scripts thì nó sẽ được include cho tất cả cac post, code css thì không gây xung đột nhưng code js trong một số trường hợp sẽ gây xung đột và lỗi nếu shortcode không có. Ngay sau đây là code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
//Code áp dụng trong class add_action( 'wp_enqueue_scripts', array($this,'front_end_styles') ); public function front_end_styles() { global $post; //include css wp_register_style( 'mypro-front-end', MYPROCORE_URL . 'assets/css-front-end/mypro-core.css', array( ), time(), false ); if ( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, 'form_create_site') ) { wp_enqueue_style( 'mypro-front-end' ); } //include js và object formcreatesite_vars, form_create_site chính là shortcode của anh chị wp_register_script( 'form-create-site', MYPROCORE_JS_URL . 'form-create-site.js', array( 'jquery'), time(), true ); if ( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, 'form_create_site') ) { wp_enqueue_script( 'form-create-site' ); wp_localize_script( 'form-create-site', 'formcreatesite_vars', apply_filters( 'formcreatesite_vars', array( 'ajax_url' => admin_url( 'admin-ajax.php', 'relative' ), ) ) ); } } |
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress