funktion: wp_nav_menu undersøgelse

, funktion, undersøgelse: wp_nav_menu,,,,, andel,,,,,,,, 13,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, når wordpress 3 forelagt os den nye menu funktionalitet, ændret den måde, vi ses navigation menuer for evigt.ikke længere var vi nødt til at anvende den normale side notering funktioner eller at opbygge vores eget skik menu funktioner til at integrere kategori og side menuer samt eksterne eller hårdt knyttet poster inden for en nav - menu.men hvor skik, kan vi få med denne nye funktion?i denne forelæsning, vi skal dykke dybt ind i alt det, wp_nav_menu, funktion kan anvende walker klasse at tilføje en sub - beskrivelse, og at berøre nogle af dens forretningsmæssigt forbundne funktioner.,,, de parametre, den funktion, har flere parametre til at arbejde med.her er de misligholdelser, der er anført i wordpress.org codex:, <?php $defaults = array( \t'theme_location'  => , \t'menu'            => , \t'container'       => 'div', \t'container_class' => 'menu-{menu slug}-container', \t'container_id'    => , \t'menu_class'      => 'menu', \t'menu_id'         => , \t'echo'            => true, \t'fallback_cb'     => 'wp_page_menu', \t'before'          => , \t'after'           => , \t'link_before'     => , \t'link_after'      => , \t'items_wrap'      => '<ul id=\\"%1$s\\" class=\\"%2$s\\">%3$s</ul>', \t'depth'           => 0, \t'walker'          => ); ?> <?folkesundhedsprogrammet aspektet   wp_nav_menu (  $misligholdelser  );  ?>, tema placering ved hjælp af denne parameter, kan vi sætte et tema sted, som er så anvendes på menuen, side at fastsætte en menu til arbejde i den del af deres område, uden at definere, hvilken menu anføres der manuelt.dette er meget nyttigt for tema - forhandlere, fordi de er i stand til at bruge hypoteser, udviser en menu, hvis brugeren har defineret en menu til det sted.det eneste krav er, at du bruger den funktion, register_nav_menu(), til at registrere disse steder.dette sker fra din funktion filer, når du er klar støtte til menuer., lad os begynde at bygge vores skik menu funktionsparametre ud fra, at vi har registreret et tema sted kaldet "primære". $params   =   system ('theme_location "  = >  'primary), menu denne parameter er anvendt til manuelt at definere hvilken menu bør anvendes.i vores eksempel, vi er kun at fastsætte en generisk menu sted og ikke at definere en nøjagtig at bruge, men hvis vi ønsker at fortælle den funktion, at anvende en menu, kaldet "primære navigation", vores parametre vil se sådan ud: $params   =   system ('theme_location = >  'primary ",'menu = > primære navigation), beholder, som standard, vores menu er pakket i, okay, men hvis du er ligesom mig, du normalt ikke brug for og vil nok til at skære ned på antallet af, div., og andre mærker, der anvendes til at holde din kode, så rent som muligt.du kan også bruge dette parameter til at definere et andet mærke, som f.eks. en html5, < afsnit > eller < nav >,.for eksempel er, at vi ikke vil have en beholder til at ændre standard beholder værdier siden 20 11 tema styles stole på, at det bliver der., beholder klasse og beholder id, som du kan meget vel er disse parametre, der anvendes til at fastsætte en kategori og et id på beholderen.da vi er helt at undlade dette, vi har ikke brug for at definere værdier. menuen klasse og menu id, dette arbejde, ligesom det foregående parametre, men denne gang vil vi bestemt et id for "andre", for det er det id, vi bruger i vores stylesheet til stil sejlads bar. $params   =   system ('theme_location = >  'primary,'container = > falske,'menu_id = > nav), echo, du kan bruge denne parameter til at fortælle, om de vil se (echo) resultaterne eller returnere det til brug i folkesundhedsprogrammet.denne konto er boolean - at returnere det bare denne parameter - 0 cb, tilbage. det er en callback - funktion, som du kan falde tilbage på, at hvis ingen menu er fundet.ved misligholdelse, anvender den gamle stå ved, wp_page_menu(), og vedtager alle de samme parametre for denne funktion samt. før og efter, at disse produkter bruges til at definere, hvad der kan placeres før og efter anker mærker (< en > < /a >).du kunne bruge disse forud for hvert punkt på dagsordenen med en lodret bar eller pak nav - poster i en levetid, tag. link før og led efter disse arbejde, de samme som de foregående punkter vi dækket, bortset fra, at uanset hvad, du definerer vil være inde på ankeret hundetegn.vores eksempel kræver ikke, at vi bruger dem, så vi kan ignorere dem og lad den misligholdelse, tom post., post pakker, som standard, de produkter, der er pakket ind i en unordered liste med menuen id og menu klasse.denne parameter kan man ændre det, hvis du ønsker det., dybde, denne parameter er rigtig sød, når du ønsker at bruge det samme to gange, men vil ikke have nogen børn, der udviser i stedet sætter du op med den, wp_nav_menu(), funktion.for eksempel, hvis du vil have det primære navigation til også at omfatte et andet niveau dropdown kan du forlade dette ved standardindstillingen.så hvis du vil bruge de samme forældre poster i en fod navigations - og udelade barn, du kan sætte denne parameter til en dybde af 1.misligholdelse "0": alle niveauer vil blive output.for at holde vores eksempel kortfattet, vi går ud fra, at den primære sejlads ikke omfatter ethvert barn poster. walker, denne parameter, der anvendes til at definere en walker genstand, som kan bruges til at manipulere med, hvordan det hele fungerer værker og output sine oplysninger.vi går over med et godt eksempel i næste afsnit.,, at tilføje en beskrivelse til nav menu poster, for eksempel, vi ønsker at tilføje en sub - beskrivelse for hver vigtigste menupunkt.den funktionalitet at tilføje betegnelsen sig allerede er på plads i wordpress menu.for at gøre dette på, gå til menuer og tryk derefter på skærmen muligheder regning i øverste højre hjørne.den mulighed, skal du sørge for, er trykket skal sige, "beskrivelse".det er et menupunkt bør nu ser sådan ud:,, når vi har vores beskrivelser fyldt ud, er vi nødt til at skabe walker - klasse, og det er, wp_nav_menu(), parametre.vi ringer til den klasse, description_navigation, så vores fuldstændige parametre kode skal se sådan ud: $params = system ('theme_location = > "primær",'menu_id = > nav -,'walker = > nye description_walker()); wp_nav_menu ($params), walker - klasse nu er vi klar til at tilføje disse beskrivelser i at bruge vores walker klasse: klasse description_walker udvider walker_nav_menu {funktion start_el (& $output, $på $dybde, $args) (samlet $wp_query. $led = ($dybde)?str_repeat (", ikke" $dybde): "" $class_names = $værdi = ". $klasser = tomme ($post - > klasser).array(): (array) $post - > klasser; $class_names = tilslutte sig (", apply_filters ('nav_menu_css_class, array_filter ($klasser), $post) $class_names = klasse =".esc_attr ($class_names). ""og $produktion. = $led. "< li id = "menupunkt -".- post - > id. ". $værdi.$class_names. > "$attributter =!tom ($post - > attr_title)? «afsnit = ".esc_attr ($post - > attr_title). '"": "" $attributter. =!tom ($post - > mål)? «mål = ".esc_attr ($post - > målet). '"": "" $attributter. =!tom ($post - > xfn)? «forhold = ".esc_attr ($post - > xfn). '"": "" $attributter. =!tom ($post - > url).href = ".esc_attr ($post - > url). '"": "" $beskrivelse =!tom ($post - > beskrivelse).< span > ". esc_attr ($post - > beskrivelse). < /span >: '', hvis ($dybde!= 0) ($beskrivelse = $vedlægge = $prepend = ""} $item_output = $args - > før. $item_output. = < ".$attributter. >. $item_output. = $args - > link_before. apply_filters ('the_title, $post - > titel, $post - > id); $item_output. = $beskrivelse. $args - > link_after. $item_output. = < /a >. $item_output. = $args - > efter; $produktion. = apply_filters (' walker_nav_menu_start_el, $item_output $på $dybde, $args)), der er en masse her.for mere information om walker klasser i almindelighed, lad mig henvise dig til en anden lektion: forståelse af walker - klasse.den vigtigste del, du skal forstå, er, at vi genopbygger produktion af hvert link på dagsordenen, og at tilføje i beskrivelsen.på budgetpost 19 af snippet over, du kan se, hvor vi får punkt beskrivelse, hvis den findes, og den værdi af $beskrivelse, pakket i en tid, så vi kan stil beskrivelserne separat.i linjerne 24 - 29, hvor vi stykke forbindelsen punkt sammen igen, og vi tilføjer i den beskrivelse, lige før afslutningen af anker, så det bliver en del af forbindelsen selv. ved hjælp af de 20 11 tema, bør du har nu noget, der ser sådan ud:,, stil op, og lad os tilføje lidt opfundet for at gøre det mere læselig:,&#nav en {linje højde: 20px; polstring: 10px 15px;}&#nav en levetid (display: blok; skriftstørrelsen: 11px; farve:&#ccc.}&#nav a: svæver over (farve:ϧ.}, det vil ændre den højde, og polstring af hvert led, fordi den beskrivelse i span, tag falde til sin egen kurs, og at tilpasse den minimumsskriftstørrelse og farver, en smule for et resultat, som ser sådan ud:,, forhold fungerer, kan du ikke bare bruge, wp_nav_menu(), at produktionen menuen med alle customizations, kan du gå lidt videre med nogle af dens forretningsmæssigt forbundne funktioner.,, has_nav_menu(), denne funktion er kun vise en særlig menu, hvis den menu er tildelt temaet placering.for eksempel, du måske ønsker at skabe en top - sejlads på temaet for mindre navigations - poster, som brugeren ikke kan have på deres vigtigste navigation.det kunne være sådan et hjem link "reklamere med os", eller andre lavere opfordringer til handling.men som et tema distributøren, hvis du ikke ved det, hvis det bliver noget brugeren ønsker at anvende, udelukkende anvender en betingelse, som så: hvis (has_nav_menu ('top-menu ')) (wp_nav_menu ('theme_location ='top-menu)), wp_get_nav_menu_items(), denne funktion vil vende tilbage med en række punkter fra en særlig menu.det kan være særlig nyttige, hvis man ønsker at opbygge en skik menu liste uden brug af walker - klasse.du mister en masse funktioner såsom menupunkt nuværende klasse, men det er en god måde at loop gennem en række menu varer til en simpel løsning.,, konkluderes, at der er en masse ting du kan gøre for at skræddersy deres navigation menuer, når du ved mere om den fleksibilitet, der er tilbudt med indbygget i parametre og være i stand til at have større kontrol med walker - klasse.nødt til at tilføje et levetid, tag med klasse "ikon" for skik ikoner for hver enkelt post?intet problem. er i stand til at have fuld kontrol over salg og produktion af menuer udvider deres kapacitet som et tema udvikler en umålelige del af muligheder.det er nogle af de ting, som du kan bruge, at walker klasse?,






Previous:
Next Page: