wp_query argumenter: taxonomies

, wp_query argumenter: taxonomies,,,,, 41,,,,,,,,, 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: kategorier og tagswp_query argumenter: skik områder, for så vidt denne serie, du har lært  , wp_query,   er struktureret, og på, hvad dets egenskaber og metoder.nu ser vi på de forskellige argumenter, som de kan bruge, wp_query, og hvordan du kode.,,, wp_query, har et stort antal mulige argumenter, hvilket gør det meget fleksibel.du kan bruge den til at sætte spørgsmålstegn ved noget i din, wp_posts, tabel, der er argumenter for alle muligheder for spørgsmål, du måske ønsker at køre på deres indhold.,, i denne forelæsning, vil jeg se på argumenter for at være taksonomi.,, erindre om, hvordan argumenter i wp_query, før vi først, lad os få et hurtigt erindre om, hvordan argumenter arbejde, wp_query,.når du kode, wp_query i din temaer eller plugins, du har brug for til at omfatte fire hovedelementer:,, argumenterne for søgning ved hjælp af parametre, der er omfattet af denne forelæsning, det spørgsmål sig, løkken, afslutter: lukning  , hvis   og  , mens   tags og nulstilling af post - data, det vil i praksis ser noget som følgende:,, <?php $args = system (//argumenter for deres forespørgsel.); //skik forespørgsel.$forespørgsel = nye wp_query ($args); //se, at vi har spørgsmål resultater.hvis ($forespørgsel - > have_posts()) (//start, skruet i forespørgslen resultater.mens ($forespørgsel - > have_posts()) ($forespørgsel - > the_post(); //indhold af spurgt efter resultater her.}} //genoprette oprindelige post - data.wp_reset_postdata();?>,, hvad siger wordpress argumenter er, hvilke data der skal hente fra databasen, og det er dem, jeg vil dække.vi fokuserer på her, er den første del af kode:,, $args = system (//argumenter for deres forespørgsel.)og, som du kan se, er de argumenter, der er indeholdt i en vifte.du skal lære at kode dem som du arbejder gennem denne forelæsning.,, kodning, deres argumenter, er der en særlig måde at kode argumenter i det system, der er som følger:,, $args = system ('parameter1 = > "værdi", "parameter2 = >" værdi "," parameter3 = > "værdi"), skal de vedlægge de parametre og værdier i enkelte anførselstegn, anvendelse   = >,   mellem dem og adskille dem med et komma.hvis du tager fejl, wordpress kan ikke tilføje alle dine argumenter til forespørgslen, eller du kan få en hvid skærm.,, taksonomi parametre, om parametre for taksonomi vilkår er en smule mere kompliceret end til kategorier og - mærker, siden du brug  , tax_query,.inden for rammerne af dette argument, du skriver en indlejrede række argumenter for at præcisere de taksonomi og sigt ved hjælp af disse parametre:,,, taksonomi,   (, snor,): taksonomi.,,,   (, snor,): angiv taksonomi sigt (,'term_id,   (forvalgt værdi),'name, eller,'slug ').,,,   (int /serie /system): taksonomi sigt (s).,, include_children,   (, boolean,): om ikke at optage børn for hierarkisk taxonomies.misligholdelser til sandt.,, erhvervsdrivende,   (, snor,): operatør til test.mulige værdier, i,   (forvalgt værdi), ikke i ", og",.,,, at du har, operatør parameter betyder, du behøver ikke at vælge mellem en af en lang række tilgængelige argumenter for at definere, om du er med eller uden hensyn (som du gør for mærker, og kategorier), men brug, tax_query, for alt taksonomi forbundne i stedet.,, hvis du ønsker at søge for flere taxonomies, kan du også bruge den  , forhold,   parameter, før alle dine arrays (en for hver taksonomi), eller til at angive, om man ønsker at finde stillinger med alle de betingelser eller nogen af dem, her er meget let at forklare med nogle eksempler.,, være en taksonomi sigt, det er den enkleste hypotese og omfatter kun at anvende en indlejrede system:,, $args = system ("tax_query = > system (system ("taksonomi = > min taksonomi", "område" = > "kugle", "betingelser" = > min valgperiode kugle ")), ovennævnte spørgsmål til stillinger med   mit mandat kugle,   sigt i  , min taksonomi,   taksonomi.bemærk, at du også er nødt til at bruge det, mark, parameter til at identificere, hvilke inden du bruger til at identificere den periode, medmindre du bruger udtrykket id, som er standard.hvis du vil bruge udtrykket id, du ville bruge noget som dette:,, $args = system ('tax_query = > system (system ("taksonomi = > min taksonomi", "betingelser" = > 11)), ved hjælp af id gør det sværere for dig at finde ud af, hvad din forespørgsel søger på et senere tidspunkt, men undgår eventuelle problemer, hvis du tror, din brugere kunne redigere udtrykket snegle.,, være for flere betingelser i en taksonomi,, hvis du ønsker at finde stillinger med en eller flere af en række bestemmelser i samme taksonomi du skriver en indlejrede system, men at tilføje en række betingelser, f.eks. at søge stillinger med  , enhver,   en liste over sigt id fra din taksonomi, du bruger:,, $args = system (' tax_query = > system (mængde ("taksonomi = > min taksonomi", "betingelser" = > system (11), 12))));,, men hvad hvis du ville søge stillinger med alle, i disse vilkår?du bliver nødt til at bruge  , erhvervsdrivende,   parameter i din indlejrede system:,, $args = system ('tax_query = > system (system ("taksonomi = > min taksonomi", "betingelser" = > system (11), 12) "operatør" = > "og")), skal det bemærkes, at det første eksempel rent faktisk anvender den   i,   operatør at finde stillinger med nogen af de betingelser, men som det er standard, du behøver ikke at angive det i dine argumenter.,, et andet scenario er, at hvis du vil du i stillinger, der ikke har noget af en række forhold i en taksonomi, som du gør sådan her:,, $args = system (' tax_query = > system (system ("taksonomi = > min taksonomi,"tal" = > system (11), 12) "operatør" = > 'i')), her jeg har erstattet, og erhvervsdrivende, ikke i, hvilket betyder, wordpress vil finde stillinger, uden at nogen af bestemmelserne i nettet.,, opmærksom på, at hvis du foretrækker at bruge kugler i stedet for sigt id, kan du gøre det med nogen af disse scenarier.det sidste eksempel ville se sådan ud:,, $args = system ('tax_query = > system (system ("taksonomi = > min taksonomi", "område" = > "kugle", "betingelser" = > system ("min kugle", "din kugle)" operatør "= >' i ')), og et andet scenario er, hvis du vil spørge om stillinger, der er et udtryk, men ikke i en anden.denne bruger i, operatør (som ikke må indeholde, som det er standard), med et minustegn før id af vilkår, de ønsker at udelukke:,, $args = system ('tax_query = > system (system ("taksonomi = > min taksonomi", "betingelser" = > system ("11", "- 12)))), det spørgsmål stillinger med sigt 11, men ikke sigt 12.,, være tal fra flere taxonomies,, hvis du ønsker at arbejde med mere end en taksonomi, du bliver nødt til at skabe mere end en vifte.lad os se på den enkleste eksempel, at søge stillinger med et mandat fra taxonomy1  , og   et ord fra taxonomy2:,, $args = system ('tax_query = > system ("forhold" = > "og" system ("taksonomi = >" taxonomy1 "," område "= >" kugle "," betingelser "= > system (" patron ")), system (" taksonomi = > "taxonomy2", "område" = > "kugle", "betingelser" = > system ("patron 2)))), og her har jeg skrevet to indlejrede systemer: én for hver taksonomi, bruger de samme argumenter, som jeg gjorde for de eksempler, som anvender en taksonomi.jeg har før disse med de forhold, argument.du er nødt til at omfatte, forhold, wordpress argument for at fortælle om det leder for alle eller nogle af de stillinger, produktion af hvert system.det virker som følger:,, hvis du bruger  ,'relation = > "og", wordpress henter stillinger, der er angivet i første række  , og   det andet system.i eksemplet ovenfor, kun stillinger med begge,  , snegl,   kugle i  , taxonomy1,   og  , en to,   kugle i  , taxonomy2,   vil blive spurgt,.,, hvis du bruger  ,'relation = > "eller", wordpress vil hent stillinger produktion af den første række  , eller,   det andet system.So in this case you'll get posts with ,either, the ,slug-one, slug or the ,slug-two, slug (or both).,,This is the code you'd use if you were looking for posts with either of the two slugs:,,$args = array( 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'taxonomy1', 'field' => 'slug', 'terms' => array( 'slug-one' ) ), array( 'taxonomy' => 'taxonomy2', 'field' => 'slug', 'terms' => array( 'slug-two' ) ) ) );,,You can also look for more than one term in a given taxonomy by adding it to the array:,,$args = array( 'tax_query' => array( 'relation' => 'eller "system (" taksonomi = > "taxonomy1", "område" = > "kugle", "betingelser" = > system ("patron")), system ("taksonomi = >" taxonomy2 "," område "= >" slå "," betingelser "= > system (" patron "," kugle "tre")))), ved at samle de, forhold, argument med indlejrede forespørgsler også at anvende, operatør argument, kan du skabe meget komplekse spørgsmål.The arguments below would query posts with a term from one taxonomy but without a term from another taxonomy:,,$args = array( 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'taxonomy1', 'field' => 'slug', 'terms' => array( 'slug-one' ), 'operator' => 'NOT IN' ), array( 'taxonomy' => 'taxonomy2', 'field' => 'slug', 'terms' => array( 'slug-two' ) ) ) );,,Note that I've used ,'relation' => 'AND', here: if I used ,OR,, it would query posts with ,slug-two,and, posts without ,slug-one,, rather than posts which have ,slug-two, but not ,slug-one,, which ishvad jeg leder efter.  , du kunne tænkes at benytte denne yderligere for at sætte spørgsmålstegn ved deres taksonomier« vilkår, men ville du anvender, operatør argument i begge indlejrede forespørgsler eller at tilføje en yderligere indlejrede forespørgsel til søgning vilkår i en taksonomi, en bemærkning om den skattemæssige argument, de undrer dem måske over, hvorfor jeg har ikke medtaget, (beskatning),   argument, hvor du bare skrive dit argument som følger:,, $args = system ('taxonomy1 = > "kugle"), kan de være bekendt med denne måde at være taxonomies, hvis du har gjort det tidligere, men det nu er påkrævet, og du burde ikke bruge den.så hold,'tax_query "!ved hjælp tax_query, giver dig en masse mere fleksibilitet.,,,, være taxonomies er lidt mere kompliceret end kategorier og - mærker, som du har brug for at få bugt med, tax_query argument.,, men som vi har set, er dette et meget vægtigt argument, der giver dig en masse anvendelsesområde og fleksibilitet til at sætte spørgsmålstegn ved deres database i den måde, de ønsker.



Previous:
Next Page: