wp_query argumenter: kategorier og mærker

, wp_query argumenter: kategorier og mærker,,,,, 54,,,,,,,,, 10,,,,,,, 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: stillinger, sider og efter typeswp_query argumenter: taxonomies, i den tidligere del af denne serie, du har lært, wp_query, er struktureret, og på, hvad dets egenskaber og metoder.næste trin er at forstå de forskellige argumenter, som de kan bruge det, og hvordan vi bedst kan gøre det.,,, 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å to typer argumenter, for følgende:,, kategorier, mærkater, argumenter for disse to taxonomies er ens, men har nogle forskelle, du behøver at vide om, hvis du skal bruge dem effektivt.,, erindre om, hvordan argumenter i wp_query, før vi begynder, 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, og forespørgslen selv, loop,, afslutter: genfastsættelse af post - data, i praksis vil se 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.,, kategori parametre, lad os starte med kategori parametre.de muligheder, du har her, er som følger:,,, kat,   (int): anvendelseskategori.,, category_name,,   (, snor,): der anvendes kategori kugle (navn), category__and,   (array,): anvendelseskategori.,, category__in,   (array,): anvendelseskategori.,, category__not_in,   (array,): der anvendes kategori id, konstatere, at der i ingen af disse kan du bruge navnet på din klasse.selv de, category_name parameter tager kuglen som dens værdi, ikke sit navn.jeg har en tendens til at bruge dette snarere end id, som da jeg kom tilbage til min kode på et senere tidspunkt, de er lettere at identificere end id.hvis du tror, din hjemmeside - brugere kan ændre den kugle for en eller flere kategorier, anbefaler jeg, at man ved hjælp af id - kort for at undgå problemer,.,, lad os se, hvordan du bruger hvert af disse.,, katten parameter, kat, parameter er ligetil: kun at anvende en enkelt kategori id en kæde af kategori id.,, være i en kategori, ser sådan ud:,, $args = system ("kat" = > 12), være for flere kategorier ser sådan ud:,, $args = system ("kat" = > 12, 13, 14), ovenfor, vil fortælle wordpress efter stillinger, der befinder sig i en af de kategorier, der er opført på listen.hvis du ønsker at finde stillinger i hver enkelt af en række kategorier, du bruger den, category_and parameter, som mere senere. du kan også bruge den kat parameter til at finde stillinger, der er i en kategori, men ikke den anden, ved hjælp af et minustegn, før den kategori id som følger:, - args = system ("kat" = > 12 - 13), ovenfor, vil sætte spørgsmålstegn ved stillinger i kategori 12, men ikke i kategori, 13,.,, category_name parameter,,, category_name parameter anvender kategori kugle, ikke det navn (forvirrende, jeg kender!)du kan bruge det. igen med en enkelt kategori eller med en række kategorier for at finde stillinger, der befinder sig i en af de kategorier,.,, at søge stillinger i en enkelt kategori du tilføjer:,, $args = system ('category_name = > min kugle "), og for at finde stillinger i en eller flere af en række kategorier anvendes:,, $args = system (' category_name = > min kugle, din kugle, en snegl"), som med den parameter, vil dette ikke finde stillinger, som er i alle de kategorier, men det vil finde stillinger i nogen af de kategorier,.,, category__and parameter,, hvis du ønsker at finde stillinger, der er i en række kategorier, er dette parameter, du bruger.det tager den kategori, id for dens værdi.så for at finde stillinger i alle tre kategorier, du ville bruge:,, $args = system ('category__and = > system (12, 13, 14), bemærke, at denne bruger et system ikke en snor, - - så du kode det anderledes.denne parameter er to understreger i dens navn: anvend kun én, og det vil ikke virke.,, category__in parameter, den næste parameter ser ud til stillinger i en eller flere af en række kategorier.- det virker på samme måde som katten parameter, og tager også kategori id som dens værdi, så at søge stillinger i en eller flere af en række kategorier, du ville bruge:,, $args = system ('category__in = > system (12, 13. "," 14), ovenfor, vil hente stillinger fra et eller flere af disse kategorier,.,, category__not_in parameter,,, category__not_in parameter, gør som man ville forvente det spørgsmål - stillinger, som ikke er i en kategori eller en række kategorier.,, at udelukke stillinger fra én kategori du ville bruge følgende:,, $args = system (' category__not_in = > 12), og for at udelukke stillinger fra en række kategorier:,, $args = system ('category__not_in = > system (12."," 13, 14), ville dette udelukker stillinger fra nogen af disse kategorier,.,, tag parametre, mærkater har lidt forskellige parametre fra kategorier: du kan ikke finde ud af, hvad de kan være baseret på din viden om kategori parametre, er jeg bange for.,,The tag parameters are:,, ,tag, (,string,): use tag slug., ,tag_id, (,int,): use tag id., ,tag__and, (,array,): use tag ids., ,tag__in, (,array,): use tag ids., ,tag__not_in, (,array,): use tag ids., ,tag_slug__and, (,array,): use tag slugs., ,tag_slug__in, (,array,): use tag slugs.,,Let's look at each of these.,,The tag Parameter,,The ,tag, parameter takes the tag slug for its value and can be used to find posts with one tag or with any of a string of tags.,,So to find posts with one tag you use:,,$args = array( 'tag' => 'my-tag' );,,And to find posts with tags from an array of tags:,,$args = array( 'tag' => 'my-tag, your-tag, another-tag' );,,Note that the above queries posts with ,any, of the tags in the array, not all of them.,,The tag_id Parameter,,The ,tag_id, parameter works in a similar way to the ,cat, parameter: it takes the tag ID and can be used with a single tag or multiple tags.,,To find posts with a single tag you use this:,,$args = array( 'tag_id' => '21' );,,To find posts with one or more tags from a string of tag IDs:,,$args = array( 'tag_id' => '21, 22, 23' );,,You can also use ,tag_id, to exclude tags, either when using it for single tags or multiple tags.,,So to query posts except those with a given tag, you'd use:,,$args = array( 'tag_id' => '-21' );,,While to find posts with one of two tags but without another tag, you'd use this:,,$args = array( 'tag_id' => '21, -22, 23' );,,So the above vil søge stillinger, med det ene eller begge mærker, 21 eller 23, men ikke mærke, 22,.,, tag__in parameter, denne parameter kan man finde stillinger med en eller flere af en bred vifte af rfid - brikker.det virker på samme måde som mærke, når det anvendes sammen med et system:,, $args = system ('tag_in = > system (21, 22, 23)), vil dette spørgsmål stillinger med et, flere eller alle de mærker, der er opført på listen.hvis du ønsker at finde stillinger med alle de numre, du bruger, tag__and, som jeg vil dække i et øjeblik. tag__not_in parameter,,,,, tag__not_in parameter, lader du søge stillinger, som ikke har et bestemt mærke eller række af rfid - brikker,.,, brug det til at udelukke et mærke:,, $args = system ('tag__not_in = > system (21)), skal det bemærkes, at det stadig er nødvendigt at anvende et system, selv om du kun bruger et navneskilt.for flere mærker, brug:,, $args = system ('tag__not_in = > system (21, 22, 23)), vil det søge stillinger, der ikke har nogen af ovenstående hundetegn.,, tag_slug__and og tag_slug__in parametre, disse to parametre opfører sig på nøjagtig samme måde, som den, tag__and, og tag__in, parametre, bortset fra, at du bruger det mærke, en i deres systemer i stedet for rfid - id, så f.eks. at finde stillinger, som er både et par mærker, du bruger, tag__slug_in:,, $args = system (' tag_slug__in » = > system ("mit mærke", "dit navneskilt, et andet mærke"), det finder stillinger med nogen af disse tegn.du kan også bruge et parameter, med en kæde af rfid - kugler for at opnå samme resultat.,,, til også at omfatte stillinger sammen med et sæt af rfid - brikker, anvendelse, tag_slug__and:,, $args = system ('tag_slug__and = > system ("mit mærke", "dit navneskilt, et andet mærke"), i stedet for at være stillinger med nogen af de mærkater, det eneste spørgsmål, stillinger, som har alle de mærker, resumé, være jeres stillinger i kategori og /eller mærke, er noget, der er en god chance for at du får lejlighed til at gøre med, wp_query,.ved anvendelse af de ovennævnte argumenter og kombinerer dem, når det er nødvendigt, kan du skabe stærke argumenter for at ekstrakt præcis de data, du har brug for fra databasen.



Previous:
Next Page: