nyttige eksempler på, at wp_query: 10 nyttige eksempler,,,,, 46,,,,,,,,, 9,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet beherskelse af wp_query.wp_query argumenter: forfatter, søgning, kodeord, tilladelser, caching og vende tilbage fieldscombining wp_query med de vigtigste spørgsmål, nu hvor vi har næsten alt om, wp_query klasse, det er tid til at afprøve nogle eksempler.i denne del, skal vi arbejde på 10 forskellige scenarier for at udnytte den, wp_query, klasse og tilknyttede funktioner. det vil være en sjov motion, og jeg håber, at det vil være lige så lærerigt.lad os begynde!, en hurtig påmindelse om, at sløjfe med wp_query, bare for at gøre denne artikel forstås adskilt fra "at mestre wp_query" serie, jeg bør gøre en nano - forelæsning om at skabe wordpress knas med, wp_query, klasse. det er ikke andet end at skabe en regelmæssig loop, virkelig.et typisk wordpress loop, siger:,, <?folkesundhedsprogrammet (have_posts()) (mens (have_posts()) (the_post(); //post - data er her.}}?>,, og at skabe et loop med, wp_query, klasse har kun få forskelle:,, <?php $args = system ('category_name = > "nyheder", "posts_per_page = > 3); $my_query = nye wp_query ($args); hvis ($my_query - > have_posts()) (mens ($my_query - > have_posts()) ($my_query - > the_post(); //post - data er her.}} //nulstille ` $post er data til den nuværende stilling i de vigtigste spørgsmål.wp_reset_postdata();?>, lad os se forskellen mellem de to:,,, vi sætter nogle argumenter for, wp_query, f.eks.,,, vi instantierede, wp_query, klasse, tilføjede vi $my_query - >, til begyndelsen af det, have_posts(), og the_post(), funktioner (de er nu de metoder, de, wp_query, klasse),,, og vi nulstillede data for $post, så det kan vende tilbage til de vigtigste spørgsmål.,,, nu ved vi, hvordan man skaber en løkke, wp_query, og forskellen mellem en regelmæssig og en sløjfe, der er skabt med, wp_query,.vi skal ikke skabe sløjfer i hvert tilfælde (for at holde forelæsning på kort og på emne), så de kan henvise til i dette afsnit, hvis du har brug for at skabe en sløjfe med nedenstående eksempler.,, f.eks: en forfatter stillinger i dette år, lad os sige, at du ønsker at liste en specifik forfatter er stillinger, skrevet i indeværende år i en særlig "forfatterens stillinger i år".en simpel kombination af to, wp_query, parametre er nok:,, <?php //få år vi er i.$current_year = dato (y); //fælde argumenter.$args = system (//få forfatteren med nicename "john".- hr. formand, hr. = > "john" //få hans stillinger fra i år.år = > $current_year); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,, videregive dette spørgsmål i en sløjfe, og du er god til at gå., f.eks: "nye stillinger fra denne kategori" (bortset fra de nuværende post), lad os sige, at du ønsker at skabe et loop under hver post i deres fælles post sider, og en liste over de seneste stillinger fra den kategori, som er stillingen.selvfølgelig, du er nødt til at udelukke den nuværende stilling i tilfælde af, at det kunne være en af de seneste stillinger fra denne kategori.her er hvordan du skaber den forespørgsel med,'cat ", og'post__not_in, parametre:,, <?php //den nuværende stilling. $current_post_id = get_the_id(); //komme løbende efter kategori (første, hvis der er mere end én).$current_post_cats = get_the_category(). $current_post_first_cat_id = $current_post_cats [0] - > term_id; //fælde argumenter.$args = system (//- kategori er stillinger.cat = > $current_post_first_cat_id, //udelukke nuværende stilling. "post__not_in = > system ($current_post_id)); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,, loop, foreslår jeg, at tre eller fire kolonner med post thumbnails over efter titler.det vil se godt ud i post - og før kommentarside.,, f.eks: "mest populære stillinger" bestilt af bemærkning -, wordpress ikke har en indbygget "efter mening tæller" system, og plugins, at give denne funktion er berømte for at bremse det websted (for hver post opfattelse den plugins skriver i databasen, igen og igen at registrere mening tæller).men der er en anden slags målinger for at fastslå, hvilke stillinger er mest populære ": tæller bemærkninger.og i modsætning til mening tæller, kommentarer, der tæller, er allerede i den database, wp_query, klasse gør det nemt for stillinger ved bemærkning tæller:,, <?php //fælde argumenter.$args = system (//for bemærkning tæller.orderby = > comment_count); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,, se, hvor nemt det er?nu forestille sig at skabe et specialbygget model med et loop løbe side query-a "mest udtalte stillinger" side, f.eks: en simpel kiks - opsætning, når der anvendes wordpress at opbygge virksomhedernes websteder porteføljer eller web - blade, schneider er blevet en "uomgængelige" industrial standard.jeg er ikke en fan af schneider (jeg tror, det er dårlig afgift), men internettet lader til at kunne lide det, så jeg kan ikke bare sige nej til mine kunder, samtidig med at de websteder for dem.hvis de vil have kiks, bruger jeg en simpel forespørgsel med, wp_query, klasse:,, <?php //fælde argumenter.$args = system (//få "med en" post - type.post_type = > "skyder" //får en specifik en kategori.category_name = > hjem lysbilleder, //få alle objektglas og ikke paginate. "nopaging = > sande); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,,,'cat, argument kan bruges til at hente objektglas fra forskellige kategorier, så man kan adskille glide grupper og anvende flere kiks på flere sider.hvis du skal bruge en skyder i din hjemmeside, du kan slette den linje, og du er god til at gå.,, f.eks: en tilfældig citerer i den aftale,, hvis du er opsat på litteratur eller religiøse, vil du måske har nogle af jeres favorit citater i samråd, det er ikke spild af tid, hvis du bruger område med et formål.så hvis du kommer til at liste en tilfældig citerer i deres aftale på hver side mener, at de kan anvende følgende kode snippet at skabe efter type og anvende følgende spørgsmål til at skabe en sløjfe i deres aftale:,, <?php /* * skabe nye post - kaldet "citater" * (henviser til, er register_post_type er funktion for at lære mere om at skabe skik post - * - typer).* /funktion quote_post_type() ($args = system ("mærkning" = > "citater", "offentlige" = > sande); register_post_type ("citater" $args)} add_action ("lokalitet, quote_post_type); //fælde argumenter.$args = system (//- "citater" psot type. "post_type = > "citater" //randomize ordre.orderby = > rand, //får kun et punkt på dagsordenen.posts_per_page = > 1); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,, en let og elegant løsning, f.eks: liste over produkter mellem et prisinterval, fandt jeg dette eksempel på scribu.net, og jeg må sige, at det måske er den bedste, wp_query, trick i denne forelæsning.det er lidt mere teknisk end de andre, for den kan anvendes på en wordpress drevet e - websted i denne sammenhæng.,, her er koden snippet, du vil bruge, hvis du vil have en liste over emner fra en skik "produkt" post - og filter resultaterne med "pris" skik områder:,, <?php //kilde: http://scribu.net/wordpress/advanced-metadata-queries.html //fælde argumenter.$args = system (//få "produkt" post - type.post_type = > »produkt«, //fælde "meta - query" ".meta_query = > system (system (//få "pris" skik område. "nøgle = > pris //sætter prisen værdier ".værdi = > system (100, 200) //, der sammenligner operatør.sammenligne = > "mellem" //kun se numeriske felter.type = > "numerisk ')); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,, en stor hæder til silviu cristian burca!, f.eks: en shortcode at indlejre stillinger i stillinger, her er en sjov motion, og vi kommer til at bruge shortcode api for!i dette eksempel, er vi ved at skabe en shortcode, der kan omfatte en post for post.(jeg næsten ikke indeholdt mig fra at nævne shortcode [postception].) i følgende kode snippet, skaber vi en shortcode funktion, der giver os mulighed for at integrere stillinger (eller sædvane efter type), og lad os vælge, om de vil vise fuld post eller bare et uddrag:,, <?php /* * brug: * * [embed_post kugle = "min post"] * [embed_post kugle = "min post" fuld = "falske"] * [embed_post type = "film" kugle = "start"] * /funktion tutsplus_embedded_post_shortcode ($attributter) (//ekstrakt shortcode attributter.ekstrakt (shortcode_atts (array (type = > "post", "kugle" = > "," fuld "= > sande), $attributter)); //fælde argumenter.$args = system (//få efter type ("post" af misligholdelse).post_type = > $art //- post med kugle.betegnelsen "= > $kugle); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args); //se, at vi har spørgsmål resultater.hvis ($my_query - > have_posts()) (//begynde at skabe fortjeneste.$produktion = < afsnit klasse = "indbyggede post" > '; //start, skruet i forespørgslen resultater.mens ($my_query - > have_posts()) ($my_query - > the_post(); //add titel til produktionen.$produktion. = < h2 klasse = "indbyggede efter afsnit" > "$produktion. = get_the_title(). $produktion. = < /h2 > '; //får fuld post, hvis ` $fuld ` er rigtigt, ellers viser få uddrag, hvis (" rigtigt, = = = $fuld) (//add fulde indhold til produktionen.$produktion. = < div klasse = "indbyggede efter indhold" > "$produktion. = get_the_content(). $produktion. = < /div > «) andet (//add uddrag til produktionen.$produktion. = < div klasse = "indbyggede post uddrag" > "$produktion. = get_the_excerpt(). $produktion. = & hellip; < en href =".get_permalink(). "> ".__ (se fulde post "," tutsplus').& raquo; < /a > "$produktion. = < /div > «) //ende generere oveni.$produktion. = < /afsnit > «) andet (//udgående besked, skal brugeren ved, at ingen stilling blev fundet.$produktion = < afsnit klasse = "indbyggede efter fejl" > "$produktion. = < p >".__ (»ingen stilling. "," tutsplus').< /p > $produktion. = < /afsnit > «) wp_reset_postdata(); tilbage $udgangseffekt} add_shortcode ('embed_post "," tutsplus_embedded_post_shortcode)?>, f.eks: liste over nuværende planlagte stillinger (med mulighed for undtagelser), her er en idé: hvorfor du ikke vise nogle "snige titter" af den kommende stillinger til din besøgende?du kan bruge følgende funktion at liste jeres planlagte stillinger, med eller uden undtagelser efter afsnit:,, <?php /* * anvendelse i uddrag: * * <?php echo tutsplus_show_drafts();?> * * brug uden uddrag: * * <?php echo tutsplus_show_drafts (forkert)?> * /funktion tutsplus_show_drafts ($show_excerpts = sand) (//fælde argumenter.$args = system ('post_status = > "fremtidige", "nopaging = > sande); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args); //se, at vi har spørgsmål resultater.hvis ($my_query - > have_posts()) (//begynde at skabe fortjeneste.$produktion = < afsnit klasse = "indtil stillinger" > '; //start, skruet i forespørgslen resultater.mens ($my_query - > have_posts()) ($my_query - > the_post(); //output udkast efter afsnit og uddrag (hvis muligt).$produktion. = < div klasse = "indtil" > "$produktion. = < h3 klasse =" indtil ">".get_the_title(). "< /h3 > "$produktion. = get_the_title(). $produktion. = < /h3 > '; hvis ($show_excerpts) ($). = < div klasse =" indtil uddrag ">" $produktion. = get_the_excerpt(). $output. = < /div > "} $produktion. = < /div > «) //ende generere oveni.$produktion. = < /afsnit > «) andet (//- brugeren ved, at der ikke blev fundet.$produktion = < afsnit klasse = "udkast fejl" > "$produktion. = < p >".__ ("intet fandt, tutsplus').< /p > $produktion. = < /afsnit > «) wp_reset_postdata(); tilbage $udgangseffekt)?>, f.eks : "post for et år siden i dag", hvis din blog er ældre end et år, og deres indhold er tidløs (dvs. både en person fra 2015 og frem til 2025 vil finde den relevante artikel), at tilføje en "post for et år siden i dag" del kan øge din side synspunkter.her er hvordan du gør det:,, <?php //fælde argumenter.$args = system (//dag (1 - 31).dag = > dato ('j') //måned (1 - 12). "monthnum = > dato (»n«) //år (minus 1).år = > dato (y) - 1 //viser, at kun én post. "posts_per_page = > 1); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>, anvendes denne forespørgsel til at bygge en sløjfe, der viser en enkelt post fra fortiden.,, f.eks : vise børn af aktuelle side, har du intet andet end under sider titler til at sætte ind i din "tjenesteydelser", "virker" eller "min portefølje"?måske en intro punkt, men du har ret, de sider, er dømt til at være "placeholders".det er stadig en god idé, at de sider, der måske en net med kvadratiske thumbnails og afsnit nedenfor.lad os se, hvor spørgsmål, vi bør anvende, når de skaber en sådan side model:,, <?php $current_page_id = get_the_id(); //fælde argumenter.$args = system (//får børn af aktuelle side. "modervirksomhed "= > $current_page_id, //deaktiver sideantal."nopaging = > sande); //instantiate nye spørgsmål, f.eks.$my_query = nye wp_query ($args)?>,, færdig, jeg håber du nyder disse eksempler, så meget som jeg gjorde, da jeg forberedte dem.jeg har været særlig opmærksom på, at forskellige eksempler på både at være sjov og til at sætte gang i kreativiteten.,, hvis du troede, bedre eksempler, mens du læser dem, eller har spørgsmål, skal du ikke tøve med at skyde en bemærkning nedenfor.og hvis du kunne lide den artikel, glem ikke at dele det med dine venner., i den næste del, vi taler om, wp_user_query, en af de søster klasser, wp_query,.se dig senere!,