Saya tahu Anda bisa menambahkan kelas di opsi menu kustom, tetapi menambahkannya ke LI sebelum A. Saya ingin menerapkan kelas langsung ke A spesifik ini daripada seluruh LI.
Jadi, bukannya output yang sedang
<li id="menu-item-51" class="NEWCLASS menu-item menu-item-type-custom menu-item-51"><a href="#">Link</a> </li>
Saya ingin juga seperti ini.
<li id="menu-item-51" class="menu-item menu-item-type-custom menu-item-51"><a href="#" class="NEWCLASS">Link</a></li>
Ada ide?
.class
menjadi.class a
?<li>
elemen yang mengandung . Jika Anda memiliki submenu di bawah item tertentu itu tidak masalah, Anda dapat mengatasinya dalam CSS untuk (saya bisa memberikan contoh jika perlu).Jawaban:
Anda bisa menggunakan
nav_menu_css_class
filterDengan menggunakan $ item ini, Anda dapat memenuhi persyaratan apa pun yang Anda inginkan. dan ini akan menambahkan kelas ke li spesifik dan Anda dapat men-style tag berdasarkan seperti itu:
sumber
get_page_template_slug
bekerja. Ada ide?Saya menemukan solusi di situs ini melalui penggunaan alat bantu jalan khusus .
Dua langkah: ganti kode wp_nav_menu default dengan yang diedit, dan kemudian tambahkan kode ke functions.php dari tema.
Pertama, ganti wp_nav_code default dengan yang berikut ini (kode disalin dari situs di atas):
Selanjutnya, tambahkan kode berikut ke functions.php. Dengan melakukan ini, Anda sebenarnya dapat menambahkan kelas ke tautan menu:
Menjelang akhir kode ada beberapa baris yang dimulai dengan $ item_output. Secara khusus, Anda ingin melihat bagian ini:
Karena baris ini menentukan output untuk awal tautan html. Jika Anda mengubahnya menjadi seperti ini:
Maka semua tautan Anda di menu akan ditambahkan class = "abc".
Yang mengatakan, itu tidak memungkinkan kelas khusus untuk setiap tautan (atau setidaknya saya tidak tahu bagaimana kode itu). Ini masalah bagi saya.
Bagi mereka yang bertanya mengapa Anda ingin melakukan ini? Saya ingin memiliki tautan menu saya membuka lightbox (kotak warna, untuk lebih spesifik), dan mereka memerlukan kelas pada tautan untuk melakukan itu. Sebagai contoh:
Apakah mungkin ada cara untuk menghasilkan kelas secara dinamis, seperti "lightbox1" untuk tautan pertama, "lightbox2" untuk tautan kedua, dan seterusnya?
sumber
TERPECAHKAN!!!! Saya perlu memikirkan ini untuk membuat tautan item menu ke HTML sebaris di kotak mewah. Rekatkan kode berikut ke function.php tema Anda:
Lalu ... di tab Menu Dashboard WP, buat tautan khusus, tambahkan ke menu Anda. Di bagian atas di mana tertulis Opsi Layar, pastikan Anda telah mencentang "Hubungan Hubungan (XFN)". Ini akan menambahkan bidang itu ke item menu kustom Anda. Ketik "fancybox" (tanpa tanda kutip) ke dalam bidang dan simpan menu Anda.
Fungsi mencari panggilan ke menu navigasi, lalu menemukan di mana pun Anda memiliki
rel="fancybox"
dan menggantinya dengan arel="fancybox" class="fancybox"
. Anda dapat mengganti fancybox dengan kelas apa pun yang perlu Anda tambahkan ke item menu Anda. Dilakukan dan dilakukan!sumber
Jawaban saat ini tampaknya tidak mengenali bahwa pertanyaannya adalah bagaimana menambahkan kelas ke
a
elemen dan bukanli
elemen, atau terlalu rumit. Berikut adalah pendekatan sederhana menggunakannav_menu_link_attributes
filter yang memungkinkan Anda menargetkan menu tertentu berdasarkan siputnya dan tautan halaman tertentu di menu itu berdasarkan ID itu. Anda dapat var_dump $ args dan $ item untuk mendapatkan lebih banyak cara untuk menciptakan kondisi Anda.sumber
if
keif ($args->theme_location == 'footer-menu' )
untuk mengintip menu dengan lokasinya, dan semua karya besarSaya tahu ini dijawab sejak lama, tetapi sama seperti info umum, saya menemukan cara menambahkan kelas ke setiap item menu secara individual menggunakan opsi "Layar" pada halaman admin WordPress untuk Custom Menu.
sumber
Saya harus melakukan sesuatu yang serupa baru-baru ini dan menemukan cara lain. Saya harus menambahkan kelas serupa untuk plugin lightbox Nivo. Jadi saya menambahkan "nivo" ke atribut rel ("Link Relationship (XFN)") dan kemudian mengikuti
nav_menu_link_attributes
filter.sumber
Di bagian atas
Appearance -> Menus
halaman, klik untuk membukaScreen Options
, centang kotak centangCSS Classes
. Sekarang ketika Anda memperluas masing-masing item menu yang ditambahkan, Anda akan melihatCSS Classes (optional)
bidang.sumber