Het begrip

Walker klasse, klasse begrip Walker,,,,,,,,,, 17, 29 - eenheid,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, menu 's, pagina' s en de indeling (1974) is een voorbeeld van de structuur van de boom van gegevens: kan de ouders, kinderen, broers en zussen.We willen met deze structuur http: //europa.eu.int).Een menu, bijvoorbeeld, moeten wij: //europa.eu.int /comm /is een "top" schakels, met kinderen... Lijst, die zelf met kinderen... Lijsten, wacht.Deze handleiding zal je door de productie van deze markering wordpress biedt, is heel eenvoudig. De les is, Walker?Baby 's, is een abstracte, waarvan het doel is om door een hiërarchische structuur en de elementen (of dendritische structuur).Het is eigenlijk niet te doen (in: //europa.eu.int /comm /, wat voel je).Het is alleen nodig voor je elke tak van de boom zijn er sporen van een eenvoudig: het moet worden andere klasse uit te breiden, het kan dat zij elk element wat we moeten doen.De uitbreiding biedt hun wordpress, zoals:,, walker_nav_menu - menu 's, voor de scheepvaart: //europa.eu.int /comm /, walker_page, - pagina, walker_category, - - dat de indeling van elke klasse, terminologie, Walker. Door een eenvoudige mondelinge wat klasse van de eenheid van de output van de boom.Met het oog op de verwarring die we moeten zien van de belangrijkste methoden en een paar voorbeelden van hoe het te gebruiken.Klasse zich hier kan vinden.,, gaan, gaan, gaan, boom (element, max_depth dollar), Walker heeft lopen voor klasse en de methode: //europa.eu.int /comm /als die terug.Het heeft twee parameters:,, een reeks elementen, die we willen laten zien dat er een relatie tussen ouders en kinderen, en max_depth dollar, hoeveel generaties – die we zoeken, goed 3...Als je deze methode van de oppervlakte, vindt u in feite kan door middel van aanvullende parameters, de accumulatie van een installatie, een dollar.Dit is vervolgens overgedragen aan andere methoden in de categorie, de wet "top" elementen, die niet de ouders, en geplaatst in een generator.De kinderen van de rest, in de tweede reeks, is essentieel voor de vader van de identiteit (dit is een 2d - als een van de ouders kan meer dan één kind, children_elements): (1 USD = - = > - () /, overeenkomend met 1, 4 = > kinderen elementen - (de) /overeenkomt met 于儿童); vier elementen, die zijn vader dan door elk element en de wijze van toepassing van display_element, display_element.,,,, display_element ($), & children_elements $, max_depth, diepte = 0, een dollar, en die produktie), de naam zegt het al, display_element, de boom is gebleken dat de elementen voor ons.In feite, het roept de verschillende functies is om dit te doen.Deze functie is opzettelijk blanco gelaten, dit is - - zoals in de uitbreiding van deze categorie Walker, besloten ze de werkelijke: //europa.eu.int /comm /terug.Deze maatregelen omvatten:,, start_lvl - functie terug te keren, een nieuw niveau te beginnen: //europa.eu.int /comm /.In het geval van lijsten, dit is een nieuw kind aan het begin van de lijst, dus zal verantwoordelijk zijn voor de terugbetaling, < ul >, etikettering, end_lvl – bellen als we klaar zijn niveau.De voorbeelden in deze functie - menu 's, die verantwoordelijk zijn voor het sluiten van het etiket - lijst, een einde te maken aan de lijst < /UL >,, start_el – die verantwoordelijk zijn voor de weergave van de huidige, in functie van de elementen van ons.De situatie op de menu 's, dit betekent dat < li > de banden, de etikettering en de artikelen end_el.,,, - functionele elementen, alle kinderen zijn aangetoond.Het menu is weer een voorbeeld van gesloten, < /Lee >, etikettering, en zo, display_element, echt?Dit is in feite alle magie van de pacers soorten voorkomen.Laten we eerst eens kijken naar wat de parameters zijn:,, $element - dit is een element in de huidige onder onze boom. Children_elements dollar - reeks, alle elementen (niet alleen voor kinderen boven de dollar).Dit is de weg die de tweede reeks, methoden en de sleutels van de id is moeder, max_depth dollar. En hoe ver We verkennen, - toegestaan, diepte - dollar, hoever we op dit moment, een dollar, - facultatief te bepalen parameters (genoemd), de productie van de US - dollar, tot nu toe – http: //europa.eu.int).Dit is bij ons om meer bomen.,,, display_element, de methode, start_el, het is verantwoordelijk voor die elementen.Hoe is het afhankelijk van de context.Een menu kan kiezen, < > de huidige programma 's, of een menu kan < li > de huidige projecten.Dat is niet voorbij, Mark.Als deze elementen heeft de kinderen, we moeten ze laten zien, zodat ze... In dit project binnen...De volgende keer gecontroleerd, dus, als de huidige elementen, we hebben geen kinderen, we zijn nog niet bij de maximale diepte.Als dat zo is, moeten we naar elk op zijn beurt de kinderen bellen, display_element, iedereen (diepte parameters verhoogd met 1).Zo, display_element, zoek zelf bellen, tot we op de bodem, we hebben bereikt "bodem" (geen kinderen of de maximale diepte van de elementen, en beroept, end_el, de toename van het off - label.De aanleg van een display_element, klaar, we verhuizen terug naar z 'n ouders van toepassing zijn, display_element, naar het volgende kind, totdat we het hebben de behandeling van elk kind.Als de ouders niet meer kinderen gaan we verhuizen terug naar de boom, wacht, totdat elke tak van onderzoek.In de war?Hij is een kaart, in de hoop dat iets verduidelijken:,, het gebruik van Walker klasse: een eenvoudig voorbeeld om aan te tonen dat de gewoonte van het gebruik van Walker, klasse gestratificeerde gegevens is heel eenvoudig.Stel je voor dat je een object generator, ",", "- etiket, parent_id," en ", object_id," wil je een lijst van eigenschappen.Nu gemakkelijk kunnen worden door middel van een zeer eenvoudig: de lessen om, om een optie om je eigen Walker - kan je veranderen van uiterlijk en relatief gemakkelijk zijn aangewezen, door je eigen gebruik van Walker.In veel gevallen is het inderdaad gemakkelijker een passende uitbreiding van de voetgangers, in plaats van de Walkers soort zelf, wil je er een tweede keer de menu 's), dit is in relatie tot je menu.Dit kan de vorm aannemen van banden, ga op je menu of een kant in de kolom "top pagina 's, waaruit blijkt dat de huidige nakomelingen" menu "van de".Zoals de bovenstaande grafiek, als we in het archief "," dit "of" nieuws "pagina 's, hopen we dat de volgende" dossier "van alle banden.Omdat de overgrote meerderheid van walker_nav_menu, is wat we willen, zullen we uitgebreid in plaats van klasse Walker.Dat bespaart ons veel inspanning, want, walker_nav_menu, toegevoegd aan de overeenkomstige klasse ("op dit moment", ", de voorouders van de banden met de", enz.).We zullen de uitbreiding van walker_nav_menu klasse, Walker, verandert de logische weggelaten, en om te voorkomen dat het een top van banden of een niet - radicale pagina 's nakomelingen, sommige van de basis: de positie van thema' s, in de eerste plaats, in je dossier, we gebruiken, wp_nav_menu (), functie, twee keer op dezelfde plaats, thema 's, (ik noem het ", van de lagere school,").Als je niet een van de thema 's van locatie is geregistreerd moet je het artikel gelezen.Wat het gebruik van een van de thema 's van positie, je moet het redden van een menu' s in die positie.We zullen deze twee menu 's zien.Ten eerste, wat je ook wil dat je "top" menu, wp_nav_menu (array ('theme_location "= > de" primaire ",'depth" = > 1); nogmaals, met een speciaal persoon, maar (indien relevant) pagina 's, wp_nav_menu (array ('theme_location "= > De" primaire ",'walker" = > nieuwe sh_child_only_walker (),'depth "= > 0)); en de verlenging van Walker, we willen niet dat de Top van de ouders.Weet je nog die verantwoordelijk zijn voor de opening van de functie, < li >, de etikettering en de banden, start_el en functies, die verantwoordelijk zijn voor het sluiten van < /Lee >,, de etikettering, end_el,.We controleren alles, als we in de ouder.Als we niets doen.Anders blijven wij de "normale", walker_nav_menu, de aard van de functie, de bovenste elementen drukken /niet start_el (& de productie van de US - dollar, dollar project, diepte = 0, $sprake = - ()) {als (0 = = $diepte) rendement; ouders: start_el (& de productie van de US - dollar, $project, de diepte, dringt erop end_el (}); de functie van de dollar, de dollar is $& het project, diepte = 0, $sprake = - ()) {als (0 = = $diepte) rendement; ouders: end_el (& de dollar project dollar de dollar, de diepte, sprake);}, we display_element, uit te breiden.Deze functie is verantwoordelijk voor de tak naar beneden.We willen in het spoor het stoppen, als we zijn het beste van het beste, in plaats van de wortels van de verbinding.Kijk naar onze tak "huidige" is, bekijken we de volgende categorieën: het project ", de menu 's,", ",", "de moeder van de voorouders van de menu' s, de menu 's," met een functie, maar display_element ($element, en $& children_elements, max_depth, diepte = 0 een dollar, & $output) {///////voor het huidige onderzoek elementen element van klasse current_element_markers dollar = array (de menu' s van de menu 's ouders, nu de menu' s, de voorouders); $current_class = array_intersect (current_element_markers dollar. $element% GT%); ///////als elementen van een "op dit moment". Dit is een van de elementen van de ancestor_of_current dollar = een voorouder.Lege (dollar; ///////current_class) als dit is een van de beste band dan de huidige, of de voorouders van de menu 's hier stoppen.Als (0 = $diepte en versterker.Ancestor_of_current dollar winst display_element); -: ($element, & children_elements dollar, max_depth $parameters, diepte, & $produktie);}, nu wij de verlenging van de functie van end_lvl, start_lvl,,,.Dit is verantwoordelijk voor de verpakking van de produktie: //europa.eu.int /comm /(in dit geval < ul >, etikettering).Als we zijn op het hoogste niveau - wij willen niet dat het om deze labels (na alle de inhoud niet zal worden aangetoond) ///////.,. De hoogste niveau functie te start_lvl (& $output, $depth=0, $args=array ()) {als (0 = = = = = = = $depth) terugkeer; ouder: start_lvl (& $output, $depth, $args);} functie end_lvl (& $output, $depth=0, $args=array ()) {als (0 = = = = = = = $depth) terugkeer; ouder: end_lvl (& $output, $depth, $args);}, dat in SH_Child_Only_Walker - klasse, klasse wordt Walker_Nav_Menu (///////de functie. Het hoogste niveau van start start_lvl (& $output, $depth=0, $args=array ()) {als (0 = = = = = = = $depth) terugkeer; ouder: start_lvl (& $output, $depth, $args);) ///////end_lvl. Het hoogste niveau een einde $output, $de (&Pth=0, $args=array ()) {als (0 = = = = = = = $depth) terugkeer; ouder: end_lvl (& $output, $depth, $args); ///////- top-level}. Functie start_el elementen (& $output, $item, $depth=0, $args=array ()) {Als (0 = = = = = = = $depth) terugkeer; ouder: start_el (& $output, $item, $depth, $args);} functie end_el (& $output, $item, $depth=0, $args=array ()) {als (0 = = = = = = = $depth) terugkeer; ouder: end_el (& $output, $item, $depth, $args); of een bijkantoor) ///////- functie. Display_element ($element, $children_elements & en $max_depth, $depth=0, $args & $output) {///////- als element als een'current element'klasse $current_element_markers = array ('current-menu-item','current-menu-parent'. "De menu 's voorouders); $current_class = array_intersect (current_element_markers dollar element% GT%); ///////als elementen van een "op dit moment", is dit element ancestor_of_current dollar = een voorouder.Lege (dollar; ///////current_class) als dit is een van de beste band dan de huidige, of de voorouders van de menu 's hier stoppen.Als (0 = $diepte en versterker.Terug naar de moeder van ancestor_of_current dollar):: display_element ($element, & children_elements dollar, max_depth $parameters, diepte, & $produktie);}}, zodra dat Walker werkt kan je het (of de uitbreiding van wordpress uitbreiding) om je gestratificeerde gegevens blijkt.Kun je bijvoorbeeld: met inbegrip van de beschrijving en de menu 's beschrijving van banden of categorieën, met uitzondering van hele takken van de menu' s voor de gebruiker, met inbegrip van de lijst in je pagina 's na de dollar.




Previous:
Next Page: