tambahkan kelas khusus ke wp_nav_menu menggunakan hook filter nav_menu_css_class


8

Saya memiliki jenis posting khusus dalam tema wordpress saya. Saya ingin menambahkan kelas khusus ke menu nav untuk halaman yang dibuat dalam jenis posting kustom itu. Saya membaca bahwa Anda dapat menggunakan hook filter: "nav_menu_css_class", tetapi daging php saya sangat terbatas. Bagaimana cara mengatur kait filter untuk diterapkan hanya ke halaman jenis posting kustom saya di menu nav dan memberi mereka kelas khusus?

Jawaban:


8

di sini adalah contoh sederhana:

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;
}

cukup ubah CUSTOM_TYPE_NAMEke nama jenis kiriman khusus Anda dan New_Classdengan nama kelas Anda dan tempelkan cuplikan ini di file functions.php tema Anda.


Itu bekerja. Menghargai itu!
Colin

Senang bisa membantu.
Bainternet

Pertanyaan lain: $item->type_labelDari mana asalnya dan apakah ada hal-hal lain yang dapat Anda terapkan pada variabel "$ item" ini?
Colin

1
objek $ item dilewatkan oleh panggilan apply_filters dan menampung semua variabel item. Anda bisa mendapatkan daftar dengan menambahkan suatu tempat di fungsivar_dump($item);
Bainternet

Wow, manis! (jalankan saja) Bagus untuk tahu. Terima kasih lagi.
Colin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.