at skabe sammenhæng

, skabe sammenhæng følsomme sidebar sejlads i wordpress,,,,, 4,,,,,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, nogle gange får jeg en klient job, der kræver et anlægsområde, bygget på side.ingen smarte database forespørgsler, ingen ekstra model filer - - bare en hel masse sider i en hierarkisk struktur, er et meget stort sted er bygget på sider kan blive uhåndterligt og forvirrende for brugere, hvis sejlads er ikke færdig, så   er det nyttigt at give en liste over alle sider i denne gren af side hierarki   på hver   side.  , f.eks. hvis din hjemmeside er for en organisation, og hver enkelt af organisationens   funktioner har en øverste side   med undersider for de enkelte afdelinger, så vil du have en liste over alle de tjenestegrene sammen med   et link til det højeste niveau fungerer side.du vil gøre det   på hver af disse afdeling sider og   enhver undersider, de måtte have, samt med   den øverste side selv.,, til at gøre dette, vil du ikke være i stand til produktionen, lister over beslægtede indhold ved at stille forespørgsler om den nuværende post - eller taksonomi sigt.i stedet, du bliver nødt til at finde ud af, hvor i den struktur, den nuværende side er og så vise en liste over links i overensstemmelse hermed.,,, jeg vil vise dig, hvordan at gøre netop dette, ved at skabe en funktion, kan du tilføje til din håndlanger fil eller måske over indholdet i deres model filer (eller aktiveres via en krog. hvis din tema bruger). denne består af to faser:,, at identificere, hvor de nuværende side er i den struktur, outputting en liste af sider, hvad skal du bruge, at afslutte denne forelæsning, du får brug for:,, et anlæg af wordpress, en tekst, der skaber din redaktør, stik af,, jeg kommer til at skabe denne funktion i et stik af, at dets   tema uafhængige.det første skridt er at skabe et stik af fil.min hedder, tutsplus liste undersider. php,.,, åbn dine stik af sagsakter og tilføje følgende:,, <?php /* stik af navn: liste undersider beskrivelse: dette stik af kontrol, hvis den nuværende side har forældre eller barn sider, og hvis det er tilfældet, output, en liste over de højeste forfader side og deres efterkommere.det skaber en funktion, som de kaldte tutsplus_list_subpages() indfører i deres tema eller aktiveres via en krog til at arbejde.version 1.0. forfatter: rachel mccollin forfatter uri: http://rachelmccollin.com kørekort: gplv2 * /?>, er, at dit kodeks vil blive anderledes, da stik af forfatter og url vil ændre sig, og du vil måske ændre beskrivelse.  , herunder navnet på den funktion i den beskrivelse, er nyttige, fordi det betyder, at når du installere din stik af et sted, du behøver ikke at kontrollere kode for at minde dig, hvordan man bruger det., med angivelse af de nuværende side i hierarkiet, for at finde ud af, hvor den nuværende side er på side hierarki, du er nødt til at gøre fire ting:,, kontrollere, at dette faktisk er en side, kontrollere, om denne stilling har forældre, hvis ikke, så ved du,   det er det højeste niveau   forfader for denne del af hierarkiet, hvis du har brug for at identificere de øverste forfader, get_post_ancestors(),,, så lad os gøre det!,, skabe en ny funktion med et betinget mærke i det, for at se, vi er på side:,, <?php funktion tutsplus_check_for_page_tree() (//start ved at kontrollere, om vi er på en side, hvis (is_page()) {}}?>, nu, indenfor, is_page(), betingede øremærke, begynde med at definere de $post, globale variabel:,, <?php funktion tutsplus_check_for_page_tree() (//start ved at kontrollere, om vi er på en side, hvis (is_page()) (samlet $post).>,, næste gang du skal identificere, hvorvidt den nuværende side har forældre, som du gør med, hvis (& post - > post_parent):,, <?php funktion tutsplus_check_for_page_tree() (//start ved at kontrollere, om vi er på en side, hvis (is_page()) (samlet $post; //næste check, hvis side er forældre, hvis ($post - > post_parent) {}}}?>,, hvis side har mine forfædre, du er nødt til at identificere de bedste, de fleste af disse, som du gør med, get_post_ancestors():,, <?php funktion tutsplus_check_for_page_tree() (//start ved at kontrollere, om vi er på en side, hvis (is_page()) (samlet $post; //næste check, hvis side er forældre, hvis ($post - > post_parent) (//hent listen over forfædre $forældre = array_reverse (get_post_ancestors ($post - > id) //- øverste forfader tilbage $forældre [0]}}}?>,, det definerer en ny variabel for $forældre, hvis værdi er id for den øverste side i denne gren af hierarkiet.den linje, afkast $forældre [0], output, at værdi, så kan du bruge det i en senere funktion.,, endelig, du er nødt til at definere, hvad der sker, hvis den nuværende side ikke har forældre, dvs. hvis det er den øverste forfader.i så fald vil du produktion den aktuelle side er id, så du tilføje følgende til deres funktion:,, returnerer $post - > id;,, hele din funktion vil nu se sådan ud:,, <?php funktion tutsplus_check_for_page_tree() (//start ved at kontrollere, om vi er på en side, hvis (is_page()) (samlet $post; //næste check, hvis side er forældre, hvis ($post - > post_parent) (//hent listen over forfædre $forældre = array_reverse (get_post_ancestors ($post - > id) //- øverste forfader tilbage $forældre [0]} //aflevere id - - vil det være den øverste forfader, hvis der er en, eller den aktuelle side, hvis ikke tilbage $post - > id.}}?>,, outputting en liste over undersider, nu du kender id for den øverste side i denne gren af hierarkiet, outputting en liste over sine undersider er relativt enkle.du bruger, get_pages(), til at identificere   barnet   sider   af side, hvis id - du har identificeret.- du skal også produktion i forbindelse med forfader side i begyndelsen af listen, med list_pages() at identificere undersider, begynd med at skabe en ny funktion til kontrol af, at vi er på en side:,, <?php funktion tutsplus_list_subpages() (//løb ikke om de vigtigste blog side, hvis (is_page()) {}}?>, konstatere, at der, hvis du bliver ved med at tilføje denne funktion til din page.php, model, kan du lade den kontrollere, at en side bliver udstillet.,, den første ting du skal gøre i den betingede tag er træk i side - id, der er identificeret i  , tutsplus_check_for_page_tree(), funktion, som du gør med denne linje kode:,, $forfader = tutsplus_check_for_page_tree();, under, at definere de argumenter for, get_pages(), funktion:,, $args = system ('child_of = > $forfader, dybde = > - 1, title_li = > "), lad os få et hurtigt kig på de argumenter, som jeg har brugt:,,,'child_of = > $forfader, identificerer de sider, som er et barn af $forfader,   side,'depth = > » - 1«, siger den funktion at gå som en mandy - niveauer i hierarkiet, som der er i stedet.du kan ændre det, hvis du bare vil udvise en eller to niveauer.,,'title_li = > ", sikrer, at det er produktion er ikke pakket ind i en html mærker - som jeg vil tilføje dem senere.,, næste gang, du er nødt til at løbe, list_pages(), funktion:, - list_pages = get_pages ($args);,, outputting listen over sider, nu hvor du har din sider, du har brug for til produktion med forbindelser.for at gøre dette, først kontrollere, at list_pages(),   er ikke vendt tilbage til en tom system:,, hvis ($list_pages) {}, i at kontrollere, det første led er, at den øverste side:,, < ul klasse = "s træ" > <?php //liste forfader side?> < li klasse = forfader "> < en href =" <?php echo get_permalink ($forfader)?> "> <?php echo get_the_title ($forfader)?> < /a > < /li > < /ul >,, og så under det første, < li > element, men stadig indenfor, < ul >,, brug, wp_list_pages(), funktion til produktionen, en liste over de sider, pakket i hyperlinks til dem:,, wp_list_pages ($args), vil dette have en liste over side titler forbindelser.,, hele din  , tutsplus_list_subpages(), funktion vil nu se sådan ud:,, <?php funktion tutsplus_list_subpages() (//løb ikke om de vigtigste blog side, hvis (is_page()) (//løber tutsplus_check_for_page_tree funktion for at hente øverste side $forfader = tutsplus_check_for_page_tree(); //sæt argumenter for børn af forfader side $args = system ('child_of = > $forfader, "indgående" = > - 1, title_li = > "); //fastsætte en værdi for get_pages for at kontrollere, om den er tom $list_pages = get_pages ($args); //se om $list_pages har værdier, hvis ($list_pages) (//åbne en liste med forfader side på toppen?> < ul klasse = "s træ" > <?php //liste forfader side?> < li klasse = forfader "> < en href =" <?php echo get_permalink ($forfader)?> "> <?php echo get_the_title ($forfader)?> < /a > < /li > <?php //anvendelse wp_list_pages til liste undersider af forfader eller aktuelle side wp_list_pages ($args); //tæt på den side træ liste?> < /ul > <?php}}}?>,, aktivering af den funktion, de kan aktivere funktionen på to måder:, ved at kræve, tutsplus_list_subpages(), i et af deres emne er model filer, som f.eks. den, sidebar.php, sag ved at knytte den til en krog i temaet., f.eks. hvis deres emne er en, tutsplus_sidebar, klo i, sidebar.php, fil, du vil tilføje følgende til din functions.php, fil:,, <?folkesundhedsprogrammet aspektet add_action ('tutsplus_sidebar "," tutsplus_list_subpages)?>,, smdrg., koden, jeg har demonstreret lader dig automatisk tilføje en liste over forbundne sider til en side, hvor som helst i dit sted er hierarki.,, hvis du bruger den til klient lokaliteter, du bliver nødt til at sørge for, at de   klient forstår at skabe sider hierarkisk, men bortset fra det det betyder ikke, de er nødt til at tænke over det.,, hvis du ville gøre den kode, selv mere brugervenlige for klienter, du kan skabe en dims (eller måske en shortcode)   til produktion af listen over sider, men det er et emne til en anden dag.,



Previous:
Next Page: