Làm cách nào để xóa dashicons.min.css khỏi frontend?


10

Có cách nào để xóa tệp dashicons.min.css khỏi frontend không? Tôi biết rằng chúng được sử dụng bởi bảng quản trị, nhưng chủ đề của tôi không sử dụng chúng nên đó là một yêu cầu không cần thiết.


Biểu định kiểu này không được mặc định. Một chủ đề hoặc một plugin bao gồm nó.
fuxia

Câu trả lời:


18

Hãy thử hủy đăng ký bản định kiểu đó -

add_action( 'wp_print_styles',     'my_deregister_styles', 100 );

function my_deregister_styles()    { 
   //wp_deregister_style( 'amethyst-dashicons-style' ); 
   wp_deregister_style( 'dashicons' ); 


}

Bạn đa thử no ở đâu? Hãy thử trong hook 'wp_print_styles' trong
hàm.php

Đúng, tôi đã thêm cái này vào hàm.php. Nhưng wp_deregister_style và wp_dequeue_style không hoạt động.
Slevin

1
wp_deregister_style('dashicons');đã lừa
Slevin

1
OK, có nghĩa là tên tay cầm là 'dashicons'. Hãy để tôi cập nhật câu trả lời, để nó có ích cho người khác.
WisdmLabs

13

Nếu bạn chỉ muốn tải dashicons cho người dùng quản trị viên, hãy thử đặt tệp này vào tệp tin.php.

// remove dashicons in frontend to non-admin 
    function wpdocs_dequeue_dashicon() {
        if (current_user_can( 'update_core' )) {
            return;
        }
        wp_deregister_style('dashicons');
    }
    add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );

7

Đây là giải pháp của tôi cho vấn đề này. Nó tương tự như những đề xuất của WisdmLabs và JoseLazo ở trên nhưng nó thực hiện kiểm tra có điều kiện tốt hơn. Kiểu dashicons được tải cho tất cả người dùng đã đăng nhập thuộc bất kỳ vai trò nào (và không chỉ quản trị viên) vì kiểu dashicons là cần thiết để hiển thị đúng thanh quản trị lối vào.

// Remove dashicons in frontend for unauthenticated users
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}


0

Nếu bạn muốn hủy đăng ký kiểu css khỏi chủ đề con bạn functions.php, tôi khuyên bạn nên điều hướng chủ đề gốc và tìm kiếm wp_enqueue_style()phương thức được áp dụng cho biểu định kiểu bạn muốn xóa.

Ví dụ: nếu bạn muốn xóa app.csstrong chủ đề con của bạn,

tìm kiếm app.csstrong chủ đề gốc của bạn và tìm mã phù hợp với phong cách này.

Bạn có thể tìm thấy một cái gì đó như

wp_enqueue_style('parent_theme_style', get_template_directory_uri() . '/assets/css/app.css', false, '2.2');

Bây giờ, trong functions.phpchủ đề con bạn, hãy thêm đoạn mã sau:

add_action( 'wp_print_styles', 'my_deregister_styles', 200 );

function my_deregister_styles() { 
    wp_deregister_style('parent_theme_style');
    }

Điều hấp dẫn là wp_derigster_stlye('app')sẽ không hoạt động ở đây.

Đây là một vấn đề nhỏ mà một số người có thể bỏ lỡ và do đó đăng nó ở đây.


0

Tôi thấy rằng tôi phải dùng cả dequeue và deregister để nó hoạt động. Như đã đề cập trước đây, quản trị viên yêu cầu dashicons vì vậy bạn chỉ muốn xóa chúng nếu người dùng không đăng nhập.

add_action( 'wp_print_styles', 'zgwd_dequeue_styles' );
function zgwd_dequeue_styles() { 
    if ( ! is_user_logged_in() ) {
        wp_dequeue_style( 'dashicons' );
        wp_deregister_style( 'dashicons' );
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.