Cum să manipulezi atributele unui element de meniu derulant fără URL în meniul personalizat WordPress?

7 apr. 2012, 01:45:49
Vizualizări: 143
Voturi: 0

Am nevoie să schimb culoarea unor elemente de link personalizate în meniul derulant din meniul meu WordPress personalizat aici. Există 3 elemente în meniul meu derulant care nu au asociat niciun URL:

  • Air Duct
  • Chimney
  • Dryer Vent

Acestea vor fi doar antete pentru alte elemente de meniu derulant de sub ele.

Trebuie să pot modifica atributele lor precum culoarea, familia de fonturi, dimensiunea etc.

Am încercat să creez clase precum menu-item-type-custom și menu-item-object-custom și chiar menu-item-####, dar nu a funcționat... :( Vă rog ajutați-mă!

5
Comentarii

De ce să folosești CMS pentru asta?

onetrickpony onetrickpony
7 apr. 2012 01:50:58

ce vrei să spui?

Acidon Acidon
7 apr. 2012 01:52:02

Trebuie să creez un meniu drop-down ca aici - http://bit.ly/okHDHb (uită-te la secțiunea Servicii)

Acidon Acidon
7 apr. 2012 01:54:03

Am înțeles, deci acele elemente funcționează ca antete pentru un grup de elemente de meniu

onetrickpony onetrickpony
7 apr. 2012 01:55:55

da, exact. Care este cea mai bună metodă pentru a realiza acest lucru? Trebuie să fiu în măsură să stilizez doar acele antete.

Acidon Acidon
7 apr. 2012 01:59:38
Toate răspunsurile la întrebare 2
7

Activează CSS Classes (Setări Ecran -> Bifează CSS Classes) și folosește-le pentru a personaliza fiecare element de meniu pe care dorești să-l stilizezi într-un mod diferit.

Desigur, trebuie să utilizezi un meniu personalizat.

7 apr. 2012 01:58:36
Comentarii

Am creat clasa "gh" : .gh {color: red;}
.gh A:link {text-decoration: none; color:red;}
.gh A:visited {text-decoration: none; color:red;}
.gh A:active {text-decoration: none; color:red;}
.gh A:hover {text-decoration: none; color: red;} , Dar din anumite motive, în continuare afișează stilul normal de dropdown. Există vreun CSS special pe care trebuie să-l folosesc pentru acea clasă?

Acidon Acidon
7 apr. 2012 02:13:53

Este posibil să fie suprascrisă de clasa ul ul li?

Acidon Acidon
7 apr. 2012 02:26:52

Clasa este aplicată elementelor de listă, așa că folosește-o astfel: li.gh a{color:red;} și așa mai departe. Unele pseudo-clase pot să nu fie luate în considerare deoarece elementul este un anchor.

onetrickpony onetrickpony
7 apr. 2012 02:28:03

Acum am următorul cod în style.css: .gh {color: red;} .gh a{color:red;} .gh a:hover {color:red;}. Pot vedea cu instrumentele de dezvoltare că stilul este aplicat elementului, dar încă nu se schimbă aspectul.. Văd că sunt aplicate și alte clase, poate ele suprascrie clasa gh?

Acidon Acidon
7 apr. 2012 02:37:34

Ar putea fi.. încearcă #top-menu ul li.gh a{color:red;}

onetrickpony onetrickpony
7 apr. 2012 02:44:20

a funcționat!! omule, ești eroul meu!

Acidon Acidon
7 apr. 2012 03:44:52

Aș vota și răspunsul tău, dar reputația încă e prea mică :)

Acidon Acidon
7 apr. 2012 03:45:27
Arată celelalte 2 comentarii
2

O altă metodă, folosind un filtru dacă doriți să faceți acest lucru programatic:

add_filter('nav_menu_css_class', function($classes, $item, $args){

  if(empty($item->url))
    $classes[] = 'your-header-class';

  return $classes;

}, 10, 3);

Dar ar trebui să mergeți cu soluția lui keatch :)

7 apr. 2012 02:05:50
Comentarii

da, tocmai citisem despre hook-ul wp_nav_menu_items înainte să încep acest thread.. Ai dreptate, chiar sper să fac clasele CSS personalizate din meniu să funcționeze

Acidon Acidon
7 apr. 2012 02:20:57

oricum, în ce fișier ar trebui să adaug filtrul tău?

Acidon Acidon
7 apr. 2012 02:24:05