thêm lớp tùy chỉnh vào wp_nav_menu bằng bộ lọc hook nav_menu_css_group


8

Tôi có một loại bài tùy chỉnh trong chủ đề wordpress của tôi. Tôi muốn thêm một lớp tùy chỉnh vào menu điều hướng cho các trang được tạo trong loại bài đăng tùy chỉnh đó. Tôi đọc rằng bạn có thể sử dụng hook hook: "nav_menu_css_group", nhưng các đoạn php của tôi khá hạn chế. Làm cách nào để thiết lập hook bộ lọc đó chỉ áp dụng cho các trang loại bài đăng tùy chỉnh của tôi trong menu điều hướng và cung cấp cho chúng một lớp tùy chỉnh?

Câu trả lời:


8

đây là một ví dụ đơn giản:

add_filter('nav_menu_css_class', 'auto_custom_type_class', 10, 2 );
function auto_custom_type_class($classes, $item) {

    if ($item->type_label == "CUSTOM_TYPE_NAME"){
        $classes[] = "New_Class";
    }

    return $classes;
}

chỉ cần thay đổi CUSTOM_TYPE_NAMEtên của loại bài đăng tùy chỉnh của bạn và New_Classvới tên của lớp của bạn và dán đoạn mã này vào tệp tin.php của chủ đề.


Điều đó làm việc. Cảm kích điều đó!
Colin

Rất vui vì tôi có thể giúp.
BaiNET

Một câu hỏi khác: $item->type_labelĐiều này đến từ đâu và có những thứ khác bạn có thể áp dụng cho biến "$ item" này không?
Colin

1
đối tượng $ item được truyền qua lệnh gọi application_filters và nó chứa tất cả các biến của mục. bạn có thể nhận được một danh sách bằng cách thêm vào một nơi nào đó trong chức năngvar_dump($item);
BaiNET

Wow ngọt! (chỉ cần chạy nó) Tốt để biết. Cảm ơn một lần nữa.
Colin
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.