taksonomi arkiver: liste over poster af en anden taxonomys hensyn

, taksonomi arkiver: liste over stillinger ved en anden taksonomi er udtryk,,,,, 41,,,,,,,,, 3,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,,,,, hvad du vil lave,,, hvis din hjemmeside anvender flere forskellige taxonomies samling af oplysninger, kan det være hensigtsmæssigt at opdele stillinger i en taksonomi arkiv i medfør af en anden taksonomi.  , i denne lektion, jeg vil vise dig, hvordan at skabe en taksonomi arkiv, til at gøre det, hvis du nogensinde har arbejdet med flere relationsdatabaser, ved du, at en af deres store træk er den måde, du kan se data i henhold til flere taxonomies.for eksempel, hvis du har en database med kunder, kan man let se som kunder har hyret dig til   forskellige kategorier af projekter, og det yderligere ved at se som web - design, kunder, sig i en given   placering.,, da jeg begyndte at arbejde med wordpress fandt jeg det frustrerende, at du kunne ikke let at gøre det. du kan ikke gøre det med en ud af æsken wordpress anlæg, at misligholdelse tema.,, men det er muligt at klassificere data fra mere end en taksonomi.i denne forelæsning.jeg vil vise dig, hvordan man skaber en taksonomi side en liste over poster i denne taksonomi, truffet af hensyn til en taksonomi, som også gælder for dem.  ,, så vil jeg skabe en anden taksonomi arkiv for anden taksonomi, som indeholder en liste over sine stillinger med henblik på første taksonomi er set (stoler på mig -   det vil give mere mening, når du ser det ske.,, hvad du skal bruge, for at afslutte denne forelæsning, du får brug for:,, en udvikling, installation af wordpress, en kode redaktør,, 1.at skabe temaet for denne lektion, jeg vil være at skabe et barn tema i twentyfourteen med to nye   skabelon filer, en stylesheet og funktioner fil.hvis du arbejder med dine egne tema, bare skrive koden fra mine funktioner fil til temaet er funktioner fil, og tilføje den skabelon filer med justeringer for at afspejle deres emne er oveni.,, at skabe mit emne, skaber jeg filen, style.css i min tomme tema mappe og forsyne det med følgende:,, /* tema navn: wptutsplus skabe en taksonomi arkiv over poster af en anden taksonomi er ord tema uri: http://rachelmccollin.co.uk/wptutsplus-taxonomy-archive-list-by-second-taxonomy/beskrivelse: tema for at støtte wptutsplus forelæsning om at skabe en skik taksonomi arkiv.barn tema for 20 - tema.forfatter: rachel mccollin forfatter uri: http://rachelmccollin.co.uk/model: twentyfourteen version: 1, 0 * /@ import url (".. /twentyfourteen /stil. css), skaber dette mit barn tema., 2.registrering af post - og taxonomies, for resten, jeg skal bruge den samme, »dyr, post - og'animal_cat, taksonomi, at jeg i min forelæsning om at skabe en sædvane efter type model.jeg vil også tilføje en   anden taksonomi,'habitat,.,, til at gøre dette, skaber jeg en ny filen, funktioner. folkesundhedsprogrammet.første, jeg tilføjer den funktion at registrere min post type:,, <?php //register a custom post type called 'animals' function wptp_create_post_type() { $labels = array( \t\t'name' => __( 'Animals' ), \t\t'singular_name' => __( 'animal' ), \t\t'add_new' => __( 'New animal' ), \t\t'add_new_item' => __( 'Add New animal' ), \t\t'edit_item' => __( 'Edit animal' ), \t\t'new_item' => __( 'New animal' ), \t\t'view_item' => __( 'View animal' ), \t\t'search_items' => __( 'Search animals' ), \t\t'not_found' => __( 'No animals Found' ), \t\t'not_found_in_trash' => __( 'No animals found in Trash' ), \t); \t$args = array( \t\t'labels' => $labels, \t\t'has_archive' => true, \t\t'public' => true, \t\t'hierarchical' => false, \t\t'supports' => array( \t\t\t'title', \t\t\t'editor', \t'excerpt,'custom-fields,'thumbnail,'page-attributes "),'taxonomies = > system ('post_tag", "kategori")). register_post_type (dyr, $args)} add_action ("lokalitet, wptp_create_post_type)?>,, og jeg over to taxonomies inden for én funktion:,, <?php //register taxonomies funktion wptp_register_taxonomies() (//register en taksonomi, kaldet "familie" register_taxonomy ('animal_cat dyr, dyr, system ('labels = > system ('name = > dyr, familier,'singular_name = > dyr, familie,'search_items = > at finde dyr familier,'all_items = > alle dyr familier,'edit_item = > edit dyr familier,'update_item = > "ajourføring dyr familie,'add_new_item = > tilføje nye dyr, familie,'new_item_name = >" nye dyr familie navn,'menu_name = > dyr familie "),'hierarchical = > sandt,'sort = > sandt,'rgs = > system ('orderby = > term_order "),'rewrite = > system (" patron "= > dyr familie"),'show_admin_column = > sande)); //register en taksonomi "habitat" register_taxonomy (habitat "," dyr "system ('labels = > system ('name = > levesteder,'singular_name = >" habitat ",'search_items = > at finde levesteder,'all_items = > alle levesteder,'edit_item = >" klippe habitat,'update_item = > "ajourføring habitat,'add_new_item = > tilføje nye omgivelser,'new_item_name = > nye omgivelser navn,'menu_name = >" habitat "),'hierarchical = > sandt,'sort = > sandt,'args = > system ('orderby = > term_order "),'show_admin_column = > sande)} add_action (" lokalitet, wptp_register_taxonomies)?>,, det skaber,'animal, post - og de to taxonomies, der gælder for det.bemærk, at jeg har brugt,'show_admin_column ", for at gøre livet lidt lettere ved administration af min stillinger.,, efter at tilføje nogle oplysninger og klassificering af dyr i henhold til min taxonomies, nu kan jeg se min data i wordpress instrumentbræt, som vist nedenfor.,,, note: min klassificering af dyr, jeg har brugt, er ikke videnskabeligt - vær venlig ikke at kommentere min forståelse af levesteder eller familier.,,,,,, 3.at skabe den første taksonomi skabelon fil, næste skridt er at skabe en skabelon fil for,'animal_cat, taksonomi arkiv.skabe en fil på temaet mappe og kalder det, taxonomy-animal_cat. folkesundhedsprogrammet.nu kommer indpakning kode til det fra din tema (jeg har kopieret fra mine forældre tema, din vil være anderledes, hvis du bruger dit eget tema):,, <?php /* wptutsplus forelæsning for at skabe arkiv - stillinger ved dissemineret taksonomi hensyn arkiv skabelon for animal_cat taksonomi * /?> <?folkesundhedsprogrammet aspektet get_header();?> < div id = "vigtigste indhold" klasse = "vigtigste indhold" > < div id = "primære" klasse = "område" > < div id = "indhold" klasse = "site indhold" rolle = "primære" > og lt; /div > <!-&#indhold - > < /div > <!-&#primære - > <?folkesundhedsprogrammet aspektet get_sidebar ("indhold").> < /div > <!-&#vigtigste indhold - > <?folkesundhedsprogrammet aspektet get_sidebar(); get_footer();,, denne model nu er nødt til at have nogle data, der tilføjes til den.,, med angivelse af de nuværende spurgt, sigt, arkiv, model vil bruge, wp_query, til at skabe en speciel forespørgsel for hvert semester.et af de spørgsmål, som vil være den nuværende taksonomi sigt frem, så du er nødt til at identificere og opbevarer det som en variabel, under den, get_header(), linje, tilføje:,, <?php //- for øjeblikket spurgt taksonomi sigt anvendes senere i skabelonen fil $animalcat = get_queried_object();?>,, du kan bruge det, $animalcat, variable senere.,, outputting side kurs, arkiv, ikke i øjeblikket har en vigtigste position, så du er nødt til at tilføje en anvendelse af det variable bare defineret.,, efter åbning, < div id = "indhold" > et tilføje følgende:,, < header klasse = "arkiv overskrift" > < h1 klasse = "arkiv med titlen" > <?php echo $animalcat - > navn?> < /h1 > < /header > <!-. arkiv header - >,, henter den anden taksonomi, næste, du skal hente listen af hensyn til anden taksonomi.under kode du tilføjede, at indsætte denne:,, <?php //begynde med at hente de betingelser for animal_cat taksonomi $hensyn = get_terms ("habitat" system ('hide_empty = > 0).>, vil dette give en liste over alle de vilkår og opbevarer det i et system.ved hjælp af,'hide_empty, du kan undgå enhver tomme hensyn udstilles - - men som du kan se om kort tid, det forhindrer hensyn bliver sat spørgsmålstegn ved, der er ingen stillinger på alle, og ikke dem, der ikke har stillinger med for øjeblikket spurgt taksonomi sigt.,, at sløjfe, nu skabe en sløjfe, der vil køre for hver af hensyn:,, <?php //nu køre en søgning for hvert dyr familie for hvert ($vilkår som $sigt) (//definere forespørgslen $args = system ('post_type = > dyr,'animal_cat = > $animalcat - > kugle,'habitat = > $term - > kugle); $forespørgsel = nye wp_query ($args); //output ved navn i pos. tag echo '< h2 > ".- sigt - > navn. "levested < /h2 > '; //produktion efter afsnit i en liste over echo' < ul > '; //start - - mens ($forespørgsel - > have_posts()): $forespørgsel - > the_post();?> < li klasse = "dyrs optagelse" id = "post - <?folkesundhedsprogrammet aspektet the_id();?> "> < en href =" <?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_title();?> < /a > < /li > <?folkesundhedsprogrammet aspektet endwhile; echo '< /ul >'; //brug nulstille postdata at genoprette oprindelige forespørgsel wp_reset_postdata();}?>, et par bemærkninger om dette:, for hver periode, en ny forespørgsel er defineret, argumenter for forespørgslen, omfatter udtrykket i den anden taksonomi ($sigt), og udtrykket for øjeblikket spurgt ($animalcat). hvis din taxonomies kun gælder for én post - kunne du gå ud,'post_type, argument, men jeg foretrækker at medtage det i sag.,, $sigt variabel anvendes til produktion af et afsnit for hver afdeling med $term - > navn,.,, spar din model fil og tage et kig på taksonomi arkiv for en af dine dyr familie:,,,,, at tilføje en check til stillinger til hvert spørgsmål, på det tidspunkt, som du kan se, modellen er outputting tomme lister.det er let at kontrollere, om de enkelte spørgsmål er fastsat af stillinger, pak følgende omkring din loop:,, hvis ($forespørgsel - > have_posts()) {}, sløjfen nu vil se sådan ud:,, hvis ($forespørgsel - > have_posts()) (//output ved navn i pos. tag echo '< h2 > ".- sigt - > navn. "levested < /h2 > '; //produktion efter afsnit i en liste over echo' < ul > '; //start - - mens ($forespørgsel - > have_posts()): $forespørgsel - > the_post();?> < li klasse = "dyrs optagelse" id = "post - <?folkesundhedsprogrammet aspektet the_id();?> "> < en href =" <?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_title();?> < /a > < /li > <?folkesundhedsprogrammet aspektet endwhile; echo '< /ul > «), forhindrer dette wordpress fra at sløjfe, hvis du ikke har nogen stillinger, at fjerne de tomme rubrikker.nu er mit arkiv side ser sådan ud:,,,,, meget bedre!, at model fil for anden taksonomi, det sidste skridt er at skabe en skabelon fil for anden taksonomi er arkiver.,, modtaget din første skabelon fil og omdøbe det taksonomi levested. folkesundhedsprogrammet.redigere det, således at den terminologi, er korrekt.det blev jeg nødt til at gøre min fil:,, at justere bemærkninger på toppen af den fil, så de er korrekt, at ændre navnet på $animalcat, variable, $habitat, du kunne undgå dette problem ved at give den variable mere generiske navn - - men ikke at kalde det, $benævnelse, som de bruger andre steder), redigere, < h1 > pos. så det bruger $habitat, variabel til produktionen, navnet på den nuværende ved sigt (jeg har også tilføjet en forklarende tekst, som er frivillig), ændrer første parameter i den, get_terms(), funktion så det bruger, animal_cat, sigt ikke, levesteder, sigt., redigering forespørgslen argumenter, der hovedsagelig de værdier,'animal_cat ", og'habitat,., redigere, < h2 > indholdet i form at henvise tilfamilier ikke levesteder, betyder det, at min nye model fil ser sådan ud:,, <?php /* wptutsplus forelæsning for at skabe arkiv - stillinger ved dissemineret taksonomi hensyn arkiv skabelon til habitat taksonomi * /?> <?folkesundhedsprogrammet aspektet get_header();?> <?php //- for øjeblikket spurgt taksonomi sigt anvendes senere i skabelonen fil $habitat = get_queried_object();?> < div id = "vigtigste indhold" klasse = "vigtigste indhold" > < div id = "primære" klasse = "område" > < div id = "indhold" klasse = "site indhold" rolle = "primære" > og lt; header klasse = "arkiv overskrift" > < h1 klasse = "arkiv med titlen" > habitat - <?php echo $habitat - > navn?> < /h1 > < /header > <!-. arkiv header - > <?php //begynde med at hente de betingelser for animal_cat taksonomi $hensyn = get_terms ('animal_cat, system ('hide_empty = > 0).> <?php //nu køre en søgning for hvert dyr familie for hvert ($vilkår som $sigt) (//definere forespørgslen $args = system ('post_type = > dyr,'animal_cat = > usd term - > kugle,'habitat = > $habitat - og gt; kugle); $forespørgsel = nye wp_query ($args); hvis ($forespørgsel - > have_posts()) (//output ved navn i pos. tag echo '< h2 > ".- sigt - > navn. "familie < /h2 > '; //produktion efter afsnit i en liste over echo' < ul > '; //start - - mens ($forespørgsel - > have_posts()): $forespørgsel - > the_post();?> < li klasse = "dyrs optagelse" id = "post - <?folkesundhedsprogrammet aspektet the_id();?> "> < en href =" <?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_title();?> < /a > < /li > <?folkesundhedsprogrammet aspektet endwhile; echo '< /ul > «) //anvende nulstilling postdata at genoprette oprindelige forespørgsel wp_reset_postdata();}?> < /div > <!-&#indhold - > < /div > <!-&#primære - > <?folkesundhedsprogrammet aspektet get_sidebar ("indhold").> < /div > <!-&#vigtigste indhold - > <?folkesundhedsprogrammet aspektet get_sidebar(); get_footer();, efter at foretage disse ændringer, at redde din nye model fil og se en af dine arkiver:,,,,, du nu har en side til den anden taksonomi, der virker på samme måde som den første.,,,, i denne forelæsning, du har lært en af visning af data ved hjælp af flere taxonomies.du kan tage det yderligere ved at arbejde med en tredje taksonomi, på to måder:,, gentag processen for nydelig vilkår, fastlæggelse af en forespørgsel, og at sløjfe i den tredje periode efter den anden valgperiode, så har du to separate lister, fusionere deres data ved hjælp af alle tre betingelser, ved hjælp af hver. - sigt variabel i lighed med $habitat eller $animalcat, variable, og at tilføje en ekstra, foreach(), erklæring i deres eksisterende, foreach(), erklæring.ville du så nødt til at tænke over, hvordan, fastlægge de data, der fremkommer ved hjælp af lister eller et gitter.,, hvorfor ikke prøve?,

Final product image






Previous:
Next Page: