brug to loops til produktionen, din første postede anderledes

, bruge to loops til produktionen, din første postede anderledes,,,,, 35,,,,,,,,, 10,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' ikke glip af, tror jeg, at det er sikkert at sige, at hvis du er en blogger, du ønsker at fremhæve den seneste indhold på din blog, så vil folk opdage det og læste den.der er et par ting du kan gøre dette, herunder ved hjælp af forskellige design for den første post på din blog side at fremhæve det eller viser det tydeligt i deres aftale. i denne lektion, jeg vil vise dig, hvordan til at gå lidt længere, end du kan bruge css: i stedet for blot satte dit første postede anderledes, vil du produktion forskelligt indhold for det.det første post vil have en titel, var image   og indhold, mens andre stillinger vil bare have den titel, var image og uddrag.,, du kan tilpasse denne teknik: hvis du ikke have så meget detalje, du kan ændre det i hvert af de spørgsmål, vi skal arbejde med, således at (for eksempel) den første post har en titel, image og uddrag, mens andre bare have titlen og image.eller du kan forlade det viste billede for efterfølgende stillinger.det er op til dig, den teknik, som vi kan bruge til at gøre dette indebærer, at man anvender den, wp_query, klasse til at skrive en ekstra   spørgsmål, før de vigtigste spørgsmål   i, home.php, model fil, som driver den vigtigste blog side.vi skal bruge, pre_get_posts(), ændre de vigtigste spørgsmål, således at den seneste post er ikke produktionen to gange.   vil jeg skabe et barn tema af misligholdelse   20 15 tema og skabe en, home.php, dokumentation for det, plus en stylesheet at oprette barnet tema.,, hvad du har brug for. for at følge denne forelæsning, du får brug for:,, en udvikling, installation af wordpress, en kopi af de 20 15 tema er monteret eller kan du arbejde med din egen tema, hvis du foretrækker) stillinger i de site-i har tilføjet de fleste af mine ved at importere temaet enhed prøvningsdata, en kode redaktør, om barnet, tema,, hvis du arbejder med 20 15 tema, er det første skridt til at nedsætte deres barn tema.skabe en ny mappe i deres indhold, wp /themes, registre og give det en name-i ringer min  , tutsplus blog side to loops.nu skaber en tom, style.css, akter i den mappe, og føje følgende til det: /* tema navn: tuts + to sløjfer på din vigtigste blog side 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 15 tema.forfatter: rachel mccollin forfatter uri: http://rachelmccollin.co.uk/model: twentyfifteen version: 1, 0 * /@ import url (".. /twentyfifteen /stil. css"), det fortæller wordpress, at temaet er et barn af 20 15 tema og import stylesheet fra dette tema.du vil sikkert gerne redigere nogle af detaljerne for at afspejle den kendsgerning, at det er temaet.,, at skabe en skabelon fil for blog side, som er det vigtigste blog side, du ønsker at ændre, er du nødt til at skabe en skabelon dossier for den i dit barn tema.skabelonen fil, du er nødt til at skabe er hjemme. php,,, hvilke beføjelser vigtigste blog side, uanset om det er på forsiden af din hjemmeside.,, skabe filen, home.php i temaet mappe.,, åbn nu den, index.php, sag 20 15 og kopiere den kode på begyndelsen og afslutningen af den fil (dvs. ikke - loop).din fil, vil se   noget   sådan her:,, <?folkesundhedsprogrammet aspektet get_header();?> < div id = "primære" klasse = "område" > < vigtigste id = "primære" klasse = "site vigtigste" rolle = "primære" > < header > < h1 klasse = "side afsnit skærm læser teksten" > <?folkesundhedsprogrammet aspektet single_post_title();?> < /h1 > < /header > <?php //foregående /næste side navigation.the_posts_pagination (array ('prev_text = > __ ("på foregående side, twentyfifteen"), next_text = > __ ("næste side, twentyfifteen"), before_page_number = > < over klasse = "meta - nav - skærm læser teksten" >.__ ("side", "twentyfifteen ').< /span > ").> < /main > <!-. stedet vigtigste... > < /div > <!-. område - > <?folkesundhedsprogrammet aspektet get_footer();?>,, hvis du bruger dit eget tema, modtaget den tilsvarende kode fra temaet er, index.php, fil i stedet, så de har den indeholder elementer til din side, men ingen loop.,, at den første løkke, og det næste skridt er at skabe den første løkke, som vil udvise den mest seneste stilling i fuld.,, under lukning, < /header >, tag din, home.php, fil, tilføje argumenter for at vide:,, $args = system ('posts_per_page = > "1"), vil det bare spørgsmål til de mest seneste stilling.bemærk, at du behøver ikke at omfatte efter type, og denne misligholdelse,'post,.,, læg løkken under dine argumenter:,, $forespørgsel = nye wp_query ($args); hvis ($forespørgsel - > have_posts()) {?> <?folkesundhedsprogrammet, mens ($forespørgsel - > have_posts()): $forespørgsel - > the_post(); /* starter løkken * /?> < artikel id = "post - <?folkesundhedsprogrammet aspektet the_id();?> "<?folkesundhedsprogrammet aspektet post_class (første post).> > <?folkesundhedsprogrammet aspektet the_title (sprintf (< h2 klasse = "titel" > < en href = "% s" rel = "bogmærke" > ", esc_url (get_permalink())), (< /a > < /h2 > ');?> <?folkesundhedsprogrammet (has_post_thumbnail()) {?> < en href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_post_thumbnail ("middel" system ('class = > "venstre",'alt = > beklædning (strip_tags ($wp_postmeta - > _wp_attachment_image_alt)))).> < /a > <?folkesundhedsprogrammet)?> < afsnit klasse = "indhold" > <?folkesundhedsprogrammet aspektet the_content();?> < /afsnit > <!-. adgang til indhold - > < fod klasse = "lille" > <?folkesundhedsprogrammet aspektet twentyfifteen_entry_meta();?> <?folkesundhedsprogrammet aspektet edit_post_link (__ ("klippe", "twentyfifteen"), "< over klasse =" edit link ">", "< /span >").> < /fod > <!- indrejse fod... > < /artikel > <!-&#post -&## - > <?php //stopper løkken.endwhile; rewind_posts();}?>,, det loop output efter afsnit, hvis der er en   virksomhed beskrevet, og indholdet, bemærke, at jeg har tilføjet et ekstra klasse. første post i, post_class(), model navneskilt.hvis du ønsker at fremhæve deres første stilling ved hjælp af css, denne ekstra klasse giver dig en nem måde til at gøre det. det er meget vigtigt, at man tilføjer, rewind_posts(), efter det, som ellers er den næste loop vil ikke arbejde.,, at den anden løkke, den anden loop er meget ens, men i stedet for at bruge, wp_query, det giver adgang til de vigtigste spørgsmål, under løkken, du lige har tilføjet,   tilføje andet   loop:,, <?folkesundhedsprogrammet, mens (have_posts()): the_post();?> < artikel id = "post - <?folkesundhedsprogrammet aspektet the_id();?> "<?folkesundhedsprogrammet aspektet post_class();?> > <?folkesundhedsprogrammet aspektet the_title (sprintf (< h2 klasse = "titel" > < en href = "% s" rel = "bogmærke" > ", esc_url (get_permalink())), (< /a > < /h2 > ');?> <?folkesundhedsprogrammet (has_post_thumbnail()) {?> < en href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_post_thumbnail ("middel" system ('class = > "venstre",'alt = > beklædning (strip_tags ($wp_postmeta - > _wp_attachment_image_alt)))).> < /a > <?folkesundhedsprogrammet)?> < afsnit klasse = "summarisk" > <?folkesundhedsprogrammet aspektet the_excerpt();?> < en href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> yderligere oplysninger < /a >.< /afsnit > <!-. summariske - > < fod klasse = "lille" > <?folkesundhedsprogrammet aspektet twentyfifteen_entry_meta();?> <?folkesundhedsprogrammet aspektet edit_post_link (__ ("klippe", "twentyfifteen"), "< over klasse =" edit link ">", "< /span >").> < /fod > <!- indrejse fod... > < /artikel > <!-&#post -&## - > <?php //stopper løkken.endwhile;?>,, det loop er meget lig den første, men med to forskelle:,, output, den scene i stedet for indholdet. det omfatter ikke,. første post, klasse, nu redde din fil.,, udligning af de vigtigste spørgsmål, der i øjeblikket pre_get_posts, hvis du tjekker din vigtigste blog side, vil de se, at din seneste stilling vises to gange.vi ordner det ved at udligne de vigtigste spørgsmål med, pre_get_posts, krog.,, skabe en ny fil i temaet ringede, funktioner. folkesundhedsprogrammet.alternativt, hvis du arbejder sammen med din egen tema, og det har allerede en funktioner fil åben.,, tilføje denne kodeks til deres funktioner fil:,, <?php //opveje de vigtigste spørgsmål på hjemmesiden funktion tutsplus_offset_main_query ($søgning) (hvis ($forespørgsel - > is_home() & & $forespørgsel - > is_main_query()) ($forespørgsel - > sæt ("opveje", "1)}} add_action (" pre_get_posts "," tutsplus_offset_main_query), det vigtigste spørgsmål filtre, men kun på den hjemmeside, tilføjer en udligning af 1. og nu redde din fil   og tage et kig på din vigtigste blog side:,,,,,, der er et problem.fordi min blog har klistret post, dette er udstillet over de seneste post, der ikke er, hvad jeg vil have.det er også vise hele indholdet af både den seneste post og klistret post.,, fastsættelse af klistrede stillinger, det her er let ændret.åbn din, home.php, fil igen og tilføje et argument om, at de argumenter, for deres første spørgsmål:,,'ignore_sticky_posts = > rigtigt, vil det sikre, at wordpress ignorerer klistrede stillinger ved udførelsen af den første løkke.det første sæt af spørgsmål argumenter vil nu se sådan ud:,, $args = system ('posts_per_page = > "1", "ignore_sticky_posts = > sande), nu redde sagen igen og se din blog side:,,,,,, der er bedre.den seneste stilling øverst i fuld og klistret post under det, med bare en scene.hvis du bladrer længere ned, du vil se, at de andre poster er også viser bare et uddrag:,,,,,, hvis du ville ignorere klistrede stillinger i deres anden løkke, kunne du gøre det ved at tilføje, ignore_sticky_posts argument på deres andet spørgsmål.jeg vil have klistrede stillinger til at arbejde, som de burde, for alle, men min seneste post imidlertid, så jeg vil ikke, om fastsættelse af sidenummerering, vil du se, at hvis du navigere til den anden og efterfølgende   sider af stillinger (dvs. den paginerede sider)   i din blog,   samme stillinger er udstillet på den første side, hvilket betyder, at kun de 10 seneste stillinger er udstillet.det er fordi at udligne de vigtigste spørgsmål har brudt sidenummerering, heldigvis er det let at fast ved en ændring af den funktion, de lægges til, pre_get_posts, krog.,, åben din, functions.php, fil igen og redigere funktion, så det lyder som følgende:,, funktion tutsplus_offset_main_query ($søgning) (hvis ($forespørgsel - > is_home() & & $forespørgsel - > is_main_query() & &!$forespørgsel - > is_paged()) ($forespørgsel - > sæt ("opveje", "1")), og hvad vi har gjort her tilføjes det, is_paged(), betingede navneskilt.denne kontrol for pagineret sider end den første, så vender tilbage, hvis den besøgende er kigger på den anden eller efterfølgende side af stillinger.ved hjælp af  ,!$forespørgsel - > is_paged(), vi er sikre, at forespørgslen vil kun blive opvejet, hvis side er ikke pagineret.,, gem dine papirer og tjek igen.sidenummerering nu virker fint.,, vil i se, at   samme seneste post er stadig   anbragt på toppen af side.det er, fordi den side er efter samme model, og de samme to loops., i min side, jeg er glad for at forlade dette, så er det, fordi jeg vil have den seneste efter at være meget fremtrædende.men hvis du ville ændre det. du ville føje et ekstra argument om, at deres første spørgsmål, nemlig  ,'paged = > falske,.,,,, om ændring af den måde, din blog vigtigste side output stillinger er let med, wp_query, klasse i, pre_get_posts, hook.i denne forelæsning, du har lært  :,, tilføjer et ekstra kredsløb til din blog side med, wp_query, til produktionen, den første post i   fuldstændig ændrer de vigtigste spørgsmål, således at den første post er ikke produktionen to gange, fastsætte fejl med klistrede stillinger og sidenummerering, kan du tilpasse teknikken til at vise det seneste post fra en given kategori, til at anvende forskellige indhold i din løkke, og mere.

Main blog page showing both sticky post and most recent post
Blog page with most recent post at the top
Blog page with posts showing excerpts only



Previous:
Next Page: