, viser de seneste post i hver kategori,,,,, 42,,,,,,,,, 29,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, uden at deres vigtigste wordpress blog side viser deres seneste stillinger i faldende dato for.men hvis du bruger kategorier på deres websted og dine læsere vil gerne se, hvad der er nyt i hver kategori, vil du måske din blog side til at se anderledes ud i denne lektion., skal jeg vise dig, hvordan man gør det.jeg vil vise, hvordan:,, identificere alle de kategorier på din blog, viser de seneste post, hver med en var image, hvis stilling er , sikre, at stillinger i mere end én kategori ikke bliver gentaget, at tilføje nogle stil for at få det til at se godt ud, hvad du vil har brug for, til at følge denne forelæsning, du får brug for:,, en udvikling, installation af wordpress. nogle stillinger og kategorier, der er oprettet.jeg har brugt en prøve af data fra wordpress tema enhed prøvningsdata, et tema.jeg vil skabe et barn tema i 20 - tema. en kode redaktør., at temaet, er det første skridt til at få emnet sat op.jeg vil skabe et barn tema i 20 - tema, med kun to filer:, style.css og index.php,.,, her er min stylesheet: /* tema navn: viser den seneste post i hver kategori tema uri: http://code.tutsplus.com/tutorials/display-the-most-recent-post-in-each-category--cms-22677 version: 1.0.0 beskrivelse: tema skal ledsage tutorielle den viser den seneste post fort hver valgperiode i en taksonomi til tutsplus på http://bitly.com/14cm0yb forfatter: rachel mccollin forfatter uri: http://rachelmccollin.co.uk kørekort: gpl-3.0 + kørekort uri: http://www.gnu.org/licenses/gpl-3.0.html område vej: /lang tekst, område: tutsplus model: twentyfourteen * /@ import url (".. /twentyfourteen /stil. css),,, jeg vil komme tilbage til.- er filen senere at tilføje modetendenser, men nu er det wordpress skal anerkende barnet tema.,, skabe indeks fil, som jeg vil have min vigtigste blog side viser den seneste post i hver kategori, jeg er ved at skabe en ny, index.php, fil i mit barn, skaber tema. en tom index.php fil, jeg kopierer, index.php, fil fra 20 - 14 og redigere løkken og andet indhold, så det ser ud, som om dette:,, <?php /* * * de vigtigste skabelon fil.* * baseret på "index.php er fil fra twentyfourteen, med en redigerede udgave af" indhold. under folkesundhedsprogrammet er omfatter fil fra dette tema er medtaget her.* /?> <?folkesundhedsprogrammet aspektet get_header();?> < div id = "vigtigste indhold" klasse = "vigtigste indhold" > <?folkesundhedsprogrammet (is_front_page() & & twentyfourteen_has_featured_posts()) (//omfatter var indhold skabelon.get_template_part ("var indhold)}?> < div id = "primære" klasse = "område" > < div id = "indhold" klasse = "site indhold" rolle = "primære" > < /div > < /div > <?folkesundhedsprogrammet aspektet get_sidebar ("indhold").> < /div > <?folkesundhedsprogrammet aspektet get_sidebar();?> <?folkesundhedsprogrammet aspektet get_footer();?>,, at identificere de kategorier, det første skridt er at identificere de kategorier i din blog.straks efter åbning, < div id = "indhold" > et tilføje følgende:,, <?php $kategorier = get_categories(); for hvert ($kategorier som $kategori) {}?>,, det bruger, get_categories(), funktion for at hente en liste over kategorier i blog.ved misligholdelse, vil dette være ude i alfabetisk orden og en tom kategorier er ikke omfattet.det virker for mig, så jeg ikke at tilføje yderligere argumenter.,, så jeg bruger, for hvert ( $kategorier som $kategori) {}, fortælle wordpress løbe gennem hver af disse kategorier i flygte koden i den bøjle.det næste skridt vil være at skabe en forespørgsel, der vil køre for hver af disse kategorier af spørgsmål., argumenter, nu har du brug for at definere de argumenter for deres spørgsmål.indenfor den bøjle, tilføje dette:,, $args = system ("kat" = > $kategori - > term_id, post_type = > "post", "posts_per_page = >" 1 "), vil dette give en post i den nuværende kategori.,, at forespørgslen, næste, indsæt din forespørgsel med, wp_query, klasse:,, $forespørgsel = nye wp_query ($args); hvis ($forespørgsel - > have_posts()) {?> < afsnit klasse = "<?php echo $kategori - > navn?> "lister > < h2 > seneste på <?php echo $kategori - > navn?>: < /h2 > <?folkesundhedsprogrammet, mens ($forespørgsel - > have_posts()) ($forespørgsel - > the_post();?> < artikel id = "post - <?folkesundhedsprogrammet aspektet the_id();?> "<?folkesundhedsprogrammet aspektet post_class (kategori for opførelse på listen).> > <?folkesundhedsprogrammet (has_post_thumbnail()) {?> < en href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_post_thumbnail ("virksomhed beskrevet)?> < /a > <?folkesundhedsprogrammet)?> < h3 klasse = "titel" > < en href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_title();?> < /a > < /h3 > <?folkesundhedsprogrammet aspektet the_excerpt (__ ("fortsætte behandlingen < over klasse =" meta - nav "> & rarr; < /span >", "twentyfourteen ')?> < /artikel > <?php} //ende, mens?> < /afsnit > <?php} ////////////////- hvis anvendelse at genoprette oprindelige spørgsmål.wp_reset_postdata();, vil dette output - de var image, titel og uddrag for hver post med hver indkapslet i en link.,, lad os se, hvordan det ser ud nu,,,,,,, som du kan se, er der et problem.min side viser den seneste post i hver kategori, men det er en overlapning af stillinger, fordi nogle gange en post vil være den seneste post i mere end én kategori.lad os ordne det.,, undgå overlapning af stillinger, frem for den linje, hvor man tilføjede, get_categories(), funktion, tilføje dette:,, $do_not_duplicate = array();, skaber det et tomt system kaldet, $do_not_duplicate,, som vi kan bruge til at opbevare id for hver enkelt post som den produktion, som er og så til at kontrollere, om id af enhver stilling blev sat spørgsmålstegn ved senere i det system, det næste, tilføje en ny linje under valget i deres spørgsmål, så de første to linjer ligner :,, <?folkesundhedsprogrammet, mens ($forespørgsel - > have_posts()) ($forespørgsel - > the_post(). $do_not_duplicate [] = $post - > id;?>, øger dette id for den nuværende stilling til $do_not_duplicate, array. endelig tilføje et nyt argument om, at din forespørgsel argumenter for at undgå outputting alle stillinger i dette system.deres argumenter vil nu se sådan ud:,, $args = system ("kat" = > $kategori - > term_id,'post_type = > "post",'posts_per_page = > 1,'post__not_in = > $do_not_duplicate), dette anvendelsesformål det,'post__not_in, argument, som ser ud til en bred vifte af post - id,.,, at redde din, index.php, fil og tage et kig på din blog side igen:,,,,,, der er bedre.nu er din stillinger ikke kopieret.,,, at modetendenser, på det tidspunkt, hvor det hele er lidt spredt ud, med de viste billeder over efter afsnit og uddrag.lad os tilføje nogle stylede flyde billedet til venstre, i din tema er, style.css, fil, tilføje følgende:,,. opførelse af h2 (margen: 10px;}. kategori notering img {flyde: venstre margen: 10px 2%}. kategori træder afsnit (klart notering. - ingen;}, nu indholdet er mere godt på den side og fastlægges bedre:,,,,, tilpasning af denne teknik til forskellige indhold typer, du kan tilpasse denne teknik til at arbejde med forskellige typer eller taxonomies indhold.for eksempel:,, hvis du ville bruge en skik taksonomi sigt i stedet for kategorier, du vil erstatte , get_categories() med, get_terms(), og ændre den,'cat, søgning i argumentet om, at en leder efter taksonomi betingelser. hvis du er sammen med en anden post - type, du vil tilføje tilsvarende kode den model, der vil vise, at post - fil, der erstatter,'post_type = > "post", argument i deres forespørgsel argumenter med efter din type. hvis de ønskede at skabe en særskilt side fra deres vigtigste blog side viser den seneste post for post - for en given taksonomi, ville du skabe en taksonomi arkiv skabelon og tilføje en tilpasset udgave af denne kodeks til det. kunne du tage tingene yderligere, og bruge denne teknik med flere taxonomies eller multi -ple post - typer, der satte, for hvert udtalelser til at løbe flere loops. kunne du tage den kode ovenfor og tilføje det til din, single.php, side til at vise et link til den nye post i hver kategori efter indholdet af post.hvis du gør det her, er du nødt til at tilføje id for den aktuelle side frem til $do_not_duplicate, array.,, sammendrag, kan det undertiden være nyttigt at vise den seneste stillinger på din blog på en anden måde end blot i kronologisk rækkefølge.jeg har vist en teknik til at vise den sidste post i hver af kategorierne på din blog, og sikre, at stillinger ikke bliver gentaget, hvis de er i flere kategorier.