Hướng dẫn how do i dequeue javascript in wordpress? - làm cách nào để gỡ bỏ javascript trong wordpress?

wp_dequeue_script (String & nbsp; $ xử lý & nbsp;)string $handle )

Loại bỏ một tập lệnh enqupt trước đó.


Sự mô tả

Top ↑

Xem thêm

  • WP_Dependencies::dequeue()

Top ↑

Xem thêm

Thông sốstring Required

$handle StringRequired


Top ↑

Xem thêm

Thông số

function wp_dequeue_script( $handle ) {
	_wp_scripts_maybe_doing_it_wrong( __FUNCTION__, $handle );

	wp_scripts()->dequeue( $handle );
}

$handle StringRequired View on GitHub


Top ↑

Top ↑

Xem thêm

Thông số
Xem thêmSự mô tả
Top ↑wp-includes/functions.wp-scripts.php

Xem thêm


Top ↑

Xem thêm

Thông số
$handle StringRequiredSự mô tả
3.1.0 Tên của tập lệnh sẽ được xóa.

Top ↑

Xem thêm

Tôi đã thực hiện một chủ đề phụ huynh và một chủ đề con trong một trong những dự án của tôi. Tôi đã phản ứng CSS và Javascripts trong chủ đề cha mẹ của tôi như bên dưới:

function project_necessary_scripts() {
    //Stylesheets
    wp_register_style( 'bootstrap-css', get_template_directory_uri() .'/css/bootstrap.min.css' );
    wp_register_style( 'bootstrap-map', get_template_directory_uri() .'/css/bootstrap.css.map' );
    wp_register_style( 'project-css', get_stylesheet_uri() );

    wp_enqueue_style( 'bootstrap-css' );
    wp_enqueue_style( 'bootstrap-map' );
    wp_enqueue_style( 'project-css' );

    //JavaScripts
    wp_register_script( 'modernizr-js', get_template_directory_uri() .'/js/modernizr-2.8.3.min.js', array(), '2.8.3' );
    wp_register_script( 'project-js', get_template_directory_uri() .'/js/project.min.js', array('jquery'), '20150401', true );

    wp_enqueue_script( 'modernizr-js' );
    wp_enqueue_script( 'project-js' );
}
add_action( 'wp_enqueue_scripts', 'project_necessary_scripts' );

Bây giờ, trong chủ đề con của tôi, tôi muốn định nghĩa một số bảng kiểu và javascripts. Vì vậy, tôi đã sử dụng mã sau:Child theme I want to dequeue some stylesheets and javascripts. So I used the following code:

function project_dequeue_unnecessary_scripts() {
    wp_dequeue_style( 'bootstrap-map' );
    wp_dequeue_script( 'modernizr-js' );
    wp_dequeue_script( 'project-js' );
}
add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );

Nhưng thực sự tệp bootstrap.css.map vẫn còn đầy đủ, nhưng Project-JS hiện đại không tải, vì vậy nó hoạt động một phần. Làm thế nào tôi có thể giải quyết điều đó?

Tôi thậm chí đã thử các ưu tiên hành động:

add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts', 11 );

Nhiều plugin WordPress tải tập lệnh và kiểu dáng trên mỗi trang của một trang web mặc dù chúng có thể chỉ cần trên một vài trang cụ thể. Ví dụ: wooc Commerce tải ít nhất 3 tập lệnh và 4 kiểu trên mỗi trang, ngay cả khi chức năng thương mại điện tử (như xe đẩy hoặc sản phẩm) được hiển thị trên các trang đó.

Gần đây tôi đã thực hiện một cuộc tấn công hiệu suất tại Universal Yums và loại bỏ ~ 300kb tài sản Enqueued không cần thiết trên trang chủ của chúng tôi- điều này cho thấy có thể có khá nhiều chất béo để cắt.

Để tìm thấy các tập lệnh và kiểu dáng của chúng tôi là enqueued, bạn sẽ cần phải thực hiện một công việc thám tử. Đầu tiên, cài đặt plugin Truy vấn Monitor. Điều này sẽ cho bạn biết kịch bản và kiểu dáng nào được giới thiệu cho một trang cụ thể.

Hướng dẫn how do i dequeue javascript in wordpress? - làm cách nào để gỡ bỏ javascript trong wordpress?
Ảnh chụp màn hình của trang web với màn hình truy vấn đang chạy

Truy vấn Màn hình sẽ hiển thị cho bạn tất cả các tập lệnh được WordPress trình bày cho một trang cụ thể. Nó cũng sẽ cho bạn thấy tay cầm của người Viking, cần thiết để giảm giá tài sản.

Đối với các tập lệnh dequeue, bạn có thể sử dụng hook wp_print_scripts.

/**
 * Remove scripts that have been enqueued by other plugins.
 */
function prefix_remove_scripts() {
	if ( is_front_page() ) {
		wp_dequeue_script( 'woocommerce' );
		wp_dequeue_script( 'wc-add-to-cart' );
		wp_dequeue_script( 'wc-cart-fragments' );
		wp_dequeue_script( 'storefront-header-cart' );
	}
}
add_action( 'wp_print_scripts', 'prefix_remove_scripts', 100 );

Đối với các kiểu dequeue, bạn có thể sử dụng hook wp_enqueue_scripts:

/**
 * Remove styles that have been enqueued by other plugins.
 */
function prefix_remove_styles() {
	if ( is_front_page() ) {
		wp_dequeue_style( 'wp-block-library' );
		wp_dequeue_style( 'wc-block-vendors-style' );
		wp_dequeue_style( 'wc-block-style' );
		wp_dequeue_style( 'woocommerce-inline' );
	}
}
add_action( 'wp_enqueue_scripts', 'prefix_remove_styles', 100 );

Tôi đã giới hạn các dequeues ở trang nhất của trang web trong các khối mã này, nhưng bạn có thể sử dụng các điều kiện trang khác nhau để xóa các tập lệnh và kiểu dáng từ nơi chúng không cần thiết.

Bạn có thể bao gồm mã này trực tiếp trong tệp function.php của chủ đề của bạn, nhưng tôi thường tải một tệp riêng biệt dưới dạng một lớp từ MU-plugin hoặc chủ đề. Ở đây, loại tệp đó có thể trông như thế nào.

Làm thế nào để tôi làm cho một kịch bản trong WordPress?

Phong cách và kịch bản dequeue trong WordPress..
Bạn có thể thêm thẻ liên kết SheetSheet trực tiếp trên trang bằng hành động WP_HEAD ..
Bạn có thể thêm thẻ liên kết SheetSheet trực tiếp vào trang ở bất cứ đâu ..
Bạn có thể sử dụng hành động wp_enqueue_scripts để thêm tay cầm vào wp_enqueue_style ..

Làm thế nào để tôi phong cách dequeue trong WordPress?

Đối với các kiểu dequeue, bạn có thể sử dụng hook wp_enqueue_scripts: /*** Xóa các kiểu đã được các plugin khác tạo ra.use the wp_enqueue_scripts hook: /** * Remove styles that have been enqueued by other plugins.