wordpress emneudvikling støttehjul: dag tre

, wordpress emneudvikling støttehjul: dag tre,,,,, andel,,,,,,,, 24,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, efter at have behandlet manuelt kodning forskellige menuer, vi pakker menuen i denne lektie for skik menuer funktionalitet, der blev indført i version 3. 0.skik menuer gør det muligt for os at frit at bygge menuer inden for wordpress admin instrumentbræt, ved at tilføje en kombination af sider, kategori forbindelser og andre skik forbindelser, hvad enten de er interne websted forbindelser eller forbindelser til andre placering på nettet.,,,, trin 1: skabe en funktioner fil, med henblik på at gøre brug af skik menu træk, skal vi registrere en særlig php - funktion, som gør det muligt for menuer indslag om temaet via register_nav_menu funktion.muligheden for at indsætte skik menuer ikke eksisterer som en misligholdelse som tema.vi har brug for, at denne funktion netop og skabe visse menu områder eller "steder" via kodeks, hvor vores skik menuerne ud. som vi ses senere, registrering af særlige funktioner vil blive meget vigtigt i mere avancerede tema udvikling.for at registrere funktioner i wordpress, vi er nødt til at tilføje en functions.php fil for vort emne er filer, skabe en funktioner fil, skabe en tom fil, der hedder functions.php i temaet root mappe, før vi rent faktisk gør noget for de funktioner, fil, kan vi se, at de, udseende > menuer, instrumentbrættet er ret almindelige.ingen menu forbindelse ses.,,, trin 2: registrering af menuen funktion, nu skal vi registrere en speciel menu med følgende grundlæggende form af, register_nav_menu, funktion, <?folkesundhedsprogrammet aspektet register_nav_menu ($placering, $beskrivelse).>, sted vil blive menuen er identifikation navn til brug i kodeksen, og den beskrivelse vil være et pænt navn anvendes til visning af menuen er beskrivelse i instrumentbrættet.det ville se noget som følgende. <?folkesundhedsprogrammet aspektet register_nav_menu ("primær", "primære menu").>,, "primær", vil blive anvendt i den kode, der lægger menuen på det særlige område for skabelon (sted), og "primære menu", vil blive anvendt til at vælge menu placering inden for det, udseende > menuer, redigering af eu - erhvervsgrenen, når vi har registreret vores menu kan vi gå over til instrumentbrættet at skabe menuen via menuen redaktør.,, register_nav_menu, funktion er anbragt i, functions.php, fil.,, vær særlig forsigtig ikke at forlade unødvendige whitespace efter funktioner kode, som dette kan forårsage tema skader.,,,,, når denne kodeks er lagt ind i din functions.php fil, besøge dit instrumentbræt igen, og her for at se den nye menu post under udseende.,,, - - kan vi fiks den registreringskode, som vi gjorde med, wp_list_pages, og sæt parametre i et system, <?folkesundhedsprogrammet aspektet register_nav_menu (array ('theme_location = > bottom_header ')?>, ved hjælp af arrays, vil være en hjælp, når de beslutter at registrere mere end en skik menu med supplerende parametre (kommer om lidt.,,, trin 3: skabe en menu via instrumentbræt, nu hvor vi har registreret en speciel menu, kan vi gå til udseende > menuer, til at skabe vores første menu.,,,, en detaljeret vejledning i at skabe menuer med menuen grænseflade med følgende video - wp 101 video - uddannelse - skik menuer, menuen skaber grænseflade er følgende komponenter:,, skabe nye menu panel, øverst til højre, som giver mulighed for skabelse af mange forskellige ved navn menukort, sædvane forbindelser skaber panel, at tilføje links til alle url i menuen, side panel, at udvælge de eksisterende sider fra din hjemmeside på menuen,, kategorier - panelet, at tilføje links til de eksisterende efter kategorier på menuen, bør deres websted har yderligere indhold former, f.eks. post - typer, vil de også have) at tilføje til menuen.,, trin 4: placering af menuen i tema, sætte skik menuer til temaet modeller kræver anvendelse af, wp_nav_menu(), funktion.denne funktion er et sted, hvor menuer, bygget i instrumentbrættet kan anbringes ved misligholdelse. nedenfor er de mest grundlæggende form for den kode, der er nødvendige for, at en enkelt menu fra menuer, der er blevet skabt, <?folkesundhedsprogrammet aspektet wp_nav_menu();?>, automatisk anvendelse:,,,,,, som resulterer i følgende:,,, hvad er der?for det første ser vi, at vores oprindelige, div. & ul, der lagde den, wp_nav_menu, funktion ikke er helt nødvendig, som skaber sin egen funktion og ul div. papiret.det, vi skal gøre, er at præcisere de klasse og /eller id - kort, som de vil have.vi vil gøre det lidt med nogle supplerende parametre.,, wp_nav_menu funktion, vi gør følgende:,,, henter den første menu, der blev skabt i menuen redaktør, tilføjer et dæksblad div., med skik klassenavn baseret på menuen navn, vi skabte med - container, der er vedlagt som bilag, tilføjer en ul container ind i den container, der har en menu klasse af misligholdelse og skik id baseret på menuen navn, skaber en liste over menu poster med skik, menupunkt, klasser, i stedet for, side punkt, klasse, visuel resultat under skyldes, at yderligere indpakning, som er i strid med nogle af css, vi har i det tema, så vi bliver nødt til at redigere avancen lidt og ændre placeringen funktion.,,, vi tilføje en »beholder« parameter til placering kode fortælle det til gen -skabe en ydre div beholder.beholderen kan også være konfigureret til at skabe en html5,'nav, tag, eller med den værdi,'false, kan ikke skabe nogen, der indeholder element.disse parametre effektivt gøre avancen i vores tema, som for øjeblikket var menuen placering kode overflødig, så vi kan fjerne dem.her er koden. <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('container = > "okay").> den næste parameter (,'container_id "), for at præcisere id - attribut af beholderen, okay, så det er i overensstemmelse med vores forskning, vi allerede har lagt i dette tema., <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('container = > "okay", "container_id = >" menu ").> med den tredje parameter (,'menu_class "), vil vi ændre standard klasse på ul papir fra" menu "til" bunden menu liste som. menu vælgeren har allerede været anvendt i vores css til fallback - menu styles, som vi vil drøfte på et senere tidspunkt i timen., <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('container = > "okay",'container_id = > »menu«,'menu_class = > bottom menu liste ").> kan vi nu denne kodeks til temaet uden indeholder div og ul tags og genereret html bør ligner den foregående, wp_list_pages, og wp_page_menu, funktioner i vores tidligere lektion.,,, forskellen er naturligvis, at vi kan gå ind på ethvert tidspunkt og tilføje, fjerne eller ændre nogen af menuen punkter på fly, uden at nogen kode.og her er vores resultat.,,, så nu, at vi har det grundlæggende, der er omfattet af denne skat gennem sine skridt lidt.,, at tempoet!hvad vil vi gøre som en øvelse, er at skabe to skik menuer, som vi vil lægge på forskellige steder.i den faste holdning, under overskriften, og en anden i øverste højre side af hovedet.,, løntrin 5: registrering af to nye skik menuer, anvender den metode, vi har været igennem, jeg vil registrere to menu steder.arrays er dine venner. <?folkesundhedsprogrammet aspektet register_nav_menus (array ('top_header_menu = > top overskrift: menu på toppen af hovedet,'bottom_header_menu = > bottom overskrift: menu under overskriften banner ").>,, det er den samme som ved anvendelse af følgende to linier:,, <?folkesundhedsprogrammet aspektet register_nav_menu ('top_header_menu,'top overskrift: menu i toppen af hovedet ").> <?folkesundhedsprogrammet aspektet register_nav_menu ('bottom_header_menu,'bottom overskrift: menu under overskriften banner ").>, bare meget pænere og uden at gentage det, register_nav_menu, funktion, men at vi i stedet bruge, register_nav_menus,.,, meddelelse "s" i slutningen af vores funktion, der anvendes til at registrere mere end en menu, jeg har registreret to menuer,'top_header_menu ", og'bottom_header_menu".vi vil fokusere på en af dem nu,'bottom_header_menu «, som vi vil lægge vores eksisterende, wp_page_menu, kode.,, koden til at registrere disse menuer indeholder:,,,, navnet på den menu placering, som vi vil forelægge det i kode, når de kalder det for placering under dette tema, og beskrivelse af den menu, som vi vil se, er afspejlet i instrumentbrættet administrative område, hvor vi tildeler menuer, bygger vi på steder.,, det vil hjælpe os ved, hvor vi er, at hver enkelt menu.nu, som vi gjorde tidligere, med vores oprindelige fælles primære menu, som vi har skabt som en test, lad os skabe, header bund og header top, via, udseende > menuer, og tilføje nogle sider, helst forskellige sider til hver enkelt.jeg har en misligholdelse er dem fra mit demobånd indhold generator.,,, vi har registreret dem, der byggede dem og lagde dem til steder, så nu kan vi placere dem i vores tema.,, trin 6: forlængelse af praktikopholdet kode, fordi vi har skabt to skik menuer, vi får brug for mere end det, kode for misligholdelse placering i vores emne, så vi kan forbinde hver lokalitet i tema med en placering af registrerede via menuen registrering funktion.vi bliver nødt til at tilføje yderligere en parameter til, wp_nav_menu(), funktion. det emne, hvor parameter.,'theme_location = > "$menu_name, den parameter,'theme_location", som bør have en værdi af navnet på det tema, hvor vi vil forbinde dette område af vores tema.temaet er placering navn ikke skulle have rum i det, som det vil blive brugt i de funktioner, koder, som ikke kræver rum.navnet skal være nøjagtigt de samme som det navn, der er specificeret ved registreringen af menuen placering. <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('theme_location = > bottom_header_menu ')?> alternativt kan vi bruge,'menu, parameter, som udtrykkeligt henter en allerede bygget menu fra menuen bygmester. værdien for denne parameter skal enten være en indbygget menu 's navn, kugle - eller id. eksemplet nedenfor. <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('menu = > header bunden ").> disse to muligheder, bør ikke anvendes sammen med de uundgåeligt vil ophæve hinanden på et tidspunkt i betragtning af den ene trækker en menu, baseret på det overføres til en beliggenhed, og den anden trækker en menu, baseret på menuen navn.nogle troede, skal gå til at vælge det ene eller det andet. med'theme_location, parameter, vil det være muligt at omfordele menuer til forskellige steder, hvorimod den »menu« parameter, der er begrænset til kun at specifikke menu og blev trukket ind i det kodede område i tema. lad os bruge,'theme_location "parameter for nu, vil vi være registrering af to menuer, som vi måske ønsker at skifte mellem to steder.jeg vil tilføje, i de tre parametre, vi tidligere er behandlet, og at beholde det konsekvent og klar til at vise korrekt. <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('theme_location = > bottom_header_menu "'container = >" okay ",'container_id = > »menu«,'menu_class = > bottom menu liste").> som tager følgende menu, vi har opbygget,,, hvilket resulterer i følgende, som er identisk med, hvad vores oprindelige kode genereres.,,, trin 7: placering af det andet menu, for det andet menu, som vi registrerede og ved navn,'top_header_menu,., anbringer vi en menuen i vores hoved område, flyde ovenpå.vi bruger den samme type kode for at bringe den første menu, men at ændre temaet placering.dette vil gøre det lettere for os at håndtere to separate lister over forbindelser.for eksempel den øverste header menu kunne indeholde nogle generelle forbindelser som kontakt, på kort og lignende. vi bruger næsten samme kode, som vi gjorde med den første menu, ændre placeringen navn for at afspejle navn, vi, der anvendes ved registreringen af top - menu.vi vil også give det unikke beholder id og menu - ul - klasse.ser du, yderligere en parameter i slutningen af denne liste.det er en parameter til at organisere, hvilken type på menuen, vi vil gerne bruge. en, der ser på menuen, når ingen menu er blevet overdraget til sted endnu.misligholdelse alternativ metode er, wp_list_pages(),, som vil skabe en menu fra alle sider, der findes i stedet for øjeblikket.det er ikke altid ideel, men den kan hjælpe i tilfælde, hvor indretning eller - afhænger af en menu er til stede i visse temaer.i tilfælde af vores øverste højre menu, ønsker vi ikke noget ud, når ingen menu er blevet tildelt, således at tilføje den menu, kun er tilladt, men ikke at det ikke skader.for at gøre dette har vi angive værdien være falsk. <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('theme_location = > top_header_menu,'container = > "okay",'container_id = > top menu ",'menu_class = > top menu - liste,'fallback_cb = >" falske ").> denne kodeks vil blive anbragt i overskriften div., under det sted, navn og beskrivelse.,,, css allerede eksisterer i det tema, holdning, som det øverste højre i hovedet.jeg har medtaget css for menuer i slutningen af denne lektion.,,,,,, det er det endelige resultat, trin 8: fastsættelse af koden for ældre wp, hvad vi har gjort hidtil, med kode for registrering af menuen funktion er meget grundlæggende og alene kan være problematisk.i nogle tilfælde, hvor temaet kan anvendes på ældre versioner af wordpress, som ikke støtter skik menuer, ender du med fejl.vi er nødt til at tilføje et lag at gøre registrering kode bagudkompatible i tilfælde af, at vores tema er monteret på ældre versioner af wordpress. med udgangspunkt i menuen registreringskode, vi brugte til to menuer, <?folkesundhedsprogrammet aspektet register_nav_menus (array ('top_header = > "menu i toppen af side,'bottom_header = >" menu under overskriften banner ").>, vi klarer det med en betinget argument, som vil først undersøge, om de gældende version af wordpress støtter registrering af menuen.det er at kontrollere, om en funktion, register_nav_menus, eksisterer.hvis det er det, register_nav_menus, funktion vil blive henrettet, hvis ikke det betingede argument vil ende med en, endif,.vi går gennem betinget argumenter, langt mere detaljeret senere i den i denne serie.,, sørge for at bruge et semikolon i slutningen af første del af det, hvis funktion, og et semikolon efter endif.,, <?folkesundhedsprogrammet (function_exists ('register_nav_menus'):?> <?folkesundhedsprogrammet aspektet register_nav_menus (array ('top_header = > "menu i toppen af side,'bottom_header = >" menu under overskriften banner ").> <?folkesundhedsprogrammet aspektet endif;?> for flere detaljer om betingede eller, hvis udtalelser i mellemtiden ser denne forelæsning - folkesundhedsprogrammet for wordpress - mestre betinget erklæringer &, mærker eller den følgende side om wordpress codex - codex. wordpress. org /conditional_tags, meget mere der findes løsninger for skik menu registrering, men dette indlæg vil dække dig i langt de fleste tilfælde uden at vende din hjerne til gelé.jeg håber, at placeringen. kode nedbrydes, så vi er nødt til at sikre, at vi stadig har en funktionel tema i tilfælde, hvor den skik menu funktioner ikke eksisterer.vi er nødt til at tilføje en yderligere betinget angivelse til vores placering kode (, wp_nav_menu,).der er et par niveauer i så stor opmærksomhed.hvis vi ikke gør det ekstra niveau, ender vi med brugere af præ - 3 udgaver af wordpress at blive slem fejl ved lastning dette tema.du ender med brugerne om gamle wordpress truer med at tjære og fjer dig på gaden, så det bedste, du får denne rolle,.,, 1.vores placering kode, som det var tidligere, <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('theme_location = > top_header_menu,'container = > "okay",'container_id = > top menu ",'menu_class = > top menu - liste,'fallback_cb = >" falske ").>, som vi vil tilføje en lignende betinget argument, <?folkesundhedsprogrammet (function_exists ('wp_nav_menu '):?> <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('theme_location = > top_header_menu,'container = > "okay",'container_id = > top menu ",'menu_class = > top menu - liste,'fallback_cb = >" falske ").> <?folkesundhedsprogrammet aspektet endif;?> på sin egen ville dette betyde, at en lokalitet ikke ældre versioner af wordpress vil vise noget.vi er derfor nødt til at føje et ekstra argument om, at denne betinget angivelse, således, at når det, hvis function_exists ('wp_nav_menu) kommer tilbage med en (ikke fungerer ikke eksisterer, kan vi tilføje en anden menu, som arbejder i wordpress præ - 3.her er en oversigt. <?folkesundhedsprogrammet (function_exists ('wp_nav_menu '):?> //lægger vi den skik menu - kode, hvis funktionen findes <?php andet:?> //lægger vi den på menu - kode her, hvis ikke <?folkesundhedsprogrammet aspektet endif;?>,, fdi, tekst som følger: //withiin php kode ikke bliver henrettet eller gentaget og fungerer som bemærkninger i koden., og med alle de kode snor, <?folkesundhedsprogrammet (function_exists ('wp_nav_menu '):?> <?folkesundhedsprogrammet aspektet wp_nav_menu (array ('theme_location = > top_header_menu,'container = > "okay",'container_id = > top menu ",'menu_class = > top menu - liste,'fallback_cb = >" falske ").> <?php andet:?> < div klasse = "menu" > < ul > <?folkesundhedsprogrammet aspektet wp_list_pages ('title_li = & dybde = 0).> < /ul > < /div > <?folkesundhedsprogrammet aspektet endif;?> dette giver os mulighed for at falde tilbage til en ældre stil menu, bør den version af wordpress bruger vi ikke støtte registrering af custom menuer.,, satte de menuer, for at tage højde for alle de ændringer, som vi har medtaget i vores menuer, herunder supplerende øverst til højre på menuen og den menu, som (kode genererer, jeg har omfattet en blanding af css selektorer til at dække alle. vi har i det væsentlige har tre store containere, som bliver normen, øverst til højre og backup - menuer.,, standard -&#menu, øverst til højre -&#top menu, backup -. menu,, styles nedenfor findes mellem linjerne 100 og 184 af style.css fil /* ========================================================== menu styles ======= * /&#menu,. menu,&#top menu {hanight: 30px; \tbackground-color: #0099CC; \tdisplay: block; \tpadding: 10px 0 0 25px; \tborder-bottom: 1px #698181 solid; \tborder-top: 1px #698181 solid; \tfont-family: "Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana,sans-serif; } #menu ul, .menu ul, #top-menu ul { \tfloat: left; \tdisplay: block; \tmargin: 0 25px 0 0; \tpadding: 0; } #menu ul li, .menu ul li, #top-menu ul li { \tfloat: left; \tmargin: 0 16px 0 0; \twidth: auto; \tlist-style: none; \tposition:relative; } #menu ul li a, .menu ul li a, #top-menu ul li a { \tcolor: #fff; \ttext-decoration: none; } #menu li a:hover, .menu li a:hover, #top-menu ul li a:hover { \tcolor: #9FF; \ttext-decoration: underline; } #menu ul li ul.children, #menu ul li ul.sub-menu,. menu ul li ul.children,&#top menu ul li ul.sub-menu (display: ingen;}&#menu ul li ul.children li. menu ul li ul.children li,&#menu ul li ul.sub-menu li,&#top menu ul li ul.sub-menu li {flyde: ingen;}&#menu ul li: den ul.children,. menu ul li: den ul.children,&#menu ul li: den ul.sub-menu,&#top menu ul li: den ul.sub-menu (display: blok; holdning: absolutte, top. 20px; margen: 0 16px 0 0; bredde: auto; liste stil: ingen; baggrund farve:ϧ}&#top menu {stilling: absolut; top: 0: 0;}, en hurtig wrapup, skabe en funktioner fil at registrere skik menuer, skabe menuer via, udseende > menukort, stik menuen placering kode, sikre, at de ønskede locatio menuerns eller to navne, sikre html, der genereres, falder sammen med deres menu css, sikre registreringskode ikke bryde ældre wp, sørge for, at deres placering kode ikke bryde ældre wp, næste - dynamiske sidebars efterfulgt af loop - bliv hængende!,








Broken CSS
Better Menu Markup



Menu One PLaced

Final 2 Menus



Previous:
Next Page: