Kan wp_query användas för att visa anpassade inläggstyper? Och hur kan du göra det?
"Hur visar jag en lista med inlägg från en anpassad inläggstyp på min hemsida?" du kanske undrar som WordPress-utvecklare.
För något som en bloggsida kanske du bara vill visa den anpassade inläggstiteln och en länk tillbaka till det anpassade inlägget. Du kanske vill visa en mängd olika dynamiskt innehåll, som anpassade fält, bilder och så vidare.
Vi är på väg att visa dig hur du använder den kraftfulla WP Query-klassen för att hämta och skriva ut dina inlägg på din webbplats, och vi visar dig hur!
WP Query är en WordPress-temanklass som tar ett antal parametrar och begär och hämtar inlägg baserat på dessa parametrar.
Exemplet nedan visar hur man ställer in en lista med parametrar, hämtar inlägg som matchar dessa parametrar och visar inläggets titel och utdrag på webbplatsen. Ta en titt på exemplet nedan, som följer dessa steg.
- Skapa en variabel med en rad parametrar som ska skickas till WP Query-klassen. Parametern 'post type' bör ställas in på slug för den anpassade posttyp vi vill fråga. Detta är troligen den anpassade inläggstypen du redan har skapat. Om du inte redan har gjort det kan du lära dig hur du skapar anpassade inläggstyper i WordPress.
- Ställ in "poststatus"-parametern till "publicerad" för att säkerställa att de begärda inläggen inte är i ett "utkast". Du kan helt enkelt ställa in detta till "draught" eller någon av de andra inläggsstatusparametrarna för att få opublicerade inlägg.
- Parametern 'inlägg per sida' låter dig ange antalet inlägg du vill hämta och returnera.
- 'orderby' och 'order' är de två sista parametrarna du bör lägga till. Den första parametern, 'orderby', ordnar inläggen efter titel, medan den 1:a, 'order', ordnar alla inlägg i stigande ordning efter titel eller parametern 'orderby'. Skicka parametrarna till WP Query-klassen och ställ in resultatet till en variabel när du har ställt in dem.
WP_Query Exempel på anpassad inläggstyp
Det första exemplet
/ **
* Inställningsfråga för att visa inläggstypen "tjänster" med "8" inlägg.
* Skriv ut titeln med ett utdrag.
*/
$ Args = array (
'post_type' => 'tjänster',
'post_status' => 'publicera',
'posts_per_page' => 8,
'orderby' => 'titel',
'order' => 'ASC',
);
$ loop = ny WP_Query ($ args);
medan ($ loop-> have_posts ()): $ loop-> the_post ();
skriv ut_titeln();
the_excerpt();
EndWhile;
wp_reset_postdata ();
Ett mer avancerat exempel
När du tittar på vårt nästa exempel kommer du att märka att det är lite mer avancerat. Vi har lagt till en kategoriparameter för att bara visa inlägg i kategorin "hem". Du kommer att märka i utgången att vi också har inkluderat vår loop för att hämta den utvalda bilden från inlägget och visa den tillsammans med titeln och utdraget. Detta mer avancerade exempel visar kraften i WP_Query.
/ **
* Inställningsfråga för att visa inläggstypen "tjänster" med alla inlägg filtrerade efter "hem"-kategori.
* Utdata är länkad titel med utvald bild och utdrag.
*/
$ Args = array (
'post_type' => 'tjänster',
'post_status' => 'publicera',
'posts_per_page' => -1,
'orderby' => 'titel',
'order' => 'ASC',
'cat' => 'hem',
);
$ loop = ny WP_Query ($ args);
medan ($ loop-> have_posts ()): $ loop-> the_post ();
$featured_img = wp_get_attachment_image_src( $post->ID );
skriv ut_titeln();
if ( $feature_img ) {
< img src="/print $featured_img['url']" width=”print $featured_img['width']" height="print $featured_img['height']" />
}
the_excerpt();
EndWhile;
wp_reset_postdata ();
parametrar
Med WP_Query kan du anpassa de begärda inläggen med en mängd olika parametrar. Vi kommer att gå igenom några av de mest använda parametrarna nedan, men kolla in WordPress Codex klassreferens om parametrar för en mer omfattande lista.
- Cat - inlägg med ett specifikt kategori-id filtreras.
- tagg – En taggslug används för att filtrera inlägg.
- tax_query - Filtrerar inlägg baserat på taxonomiska kriterier.
- s - Ett sökord används för att filtrera inlägg.
- Författare – inlägg av en specifik författare filtreras.
Malletiketter
Det finns många malltaggar du kan använda i din anpassade posttypslinga för att dynamiskt mata ut information. Andra malltaggar du kan använda i din loop inkluderar:
- the_content () - Visar innehållet i ett inlägg
- the_permalink () - Visar webbadressen till ett inlägg
- get_the_ID() - Hämtar ID för ett inlägg
- home_url() - Hämtar hem-URL
Nu när du känner till grunderna i WP Query och hur du begär och hämtar din anpassade inläggstyp, kan du använda det du har lärt dig för att skapa dina egna anpassade inläggstypsmallar med en mängd olika parametrar och malltaggar för att göra det enkelt för besökarna för att se dina anpassade inlägg.
WP_Query Vanliga frågor om anpassad inläggstyp
WP-fråga: Vad är det och hur fungerar det?
WP Query gör bara en sak: den hämtar WordPress-postpaket från WordPress-databasen. Innan du kan förstå WP Query måste du först förstå WordPresss grundläggande motor: Loop, som tar dessa buntar med hämtade inlägg och bearbetar dem en efter en till innehållet på din webbplats sidor.
Vad är WP-frågeklassen?
WordPress har en klass som heter WP Query. Det gör det möjligt för programmerare att skapa anpassade frågor och visa inlägg baserat på olika parametrar. Utvecklare har möjlighet att fråga WordPress-databasen direkt.
Hur visar jag WP-frågeresultaten i WordPress?
WordPress-loopen skulle användas för att visa sökfrågans resultat. Som ett exempel: WP Query är ett kraftfullt verktyg med ett antal parametrar som kan användas för att skapa mer avancerade och komplexa frågor. Med hjälp av WP Query kan du skapa kapslade loopar (en WordPress loop inuti en loop).
Tveka inte, lämna en användbara kommentera med dina tankar, dela sedan detta på din Facebook-grupp (er) som skulle tycka att det var användbart och låt oss skörda fördelarna tillsammans. Tack för att du delade och var trevlig!
Upplysningar: Denna sida kan innehålla länkar till externa webbplatser för produkter som vi älskar och rekommenderar helhjärtat. Om du köper produkter vi föreslår kan vi tjäna en remissavgift. Sådana avgifter påverkar inte våra rekommendationer och vi accepterar inte betalningar för positiva recensioner.