Så här lägger du till klibbiga inlägg i WordPress Custom Post Type Archives

Så här lägger du till klibbiga inlägg i WordPress Custom Post Type Archives / Handledningar

Nyligen frågade en av våra användare om det var möjligt att lägga till klibbiga inlägg i anpassade posttyparkiv. Som standard har WordPress den klibbiga funktionaliteten tillgänglig för inlägg, men inte för andra posttyper. I den här artikeln visar vi hur du lägger till klibbiga inlägg i WordPress-anpassade posttyparkiv. Innan vi går framåt skulle du förmodligen vilja lära dig hur du skapar anpassade posttyper i WordPress.

Lägger till klibbiga inlägg i anpassade posttyper

Det första du behöver göra är att installera och aktivera plugin för klibbiga anpassade posttyper. När du har aktiverat pluginet, gå till Inställningar »Läsning och bläddra ner till avsnittet Sticky Custom Post Types. Därefter måste du välja de anpassade posttyperna där du vill ha Stick Detta alternativ ska vara aktiverat.

Nu vad vi har gjort här är att vi har lagt till klibbiga inläggsfunktioner till våra anpassade posttyper. Klibbiga inlägg i anpassade posttyper visas på framsidan precis som vanliga klibbiga inlägg.

Problemet är att WordPress som standard bara visar klibbiga inlägg på hemsidan. Det visar inte klibbiga inlägg på arkivsidor.

Visar klibbiga inlägg i anpassade posttyparkiv

Vi antar att du har en anpassad posttyp för filmrecensioner med klibbiga inlägg aktiverade med hjälp av plugin som vi nämnde ovan. Nu vill du ha dina klibbiga inlägg i filmrecensioner, posttyper som ska visas annorlunda och på toppen av icke-klibbiga regelbundna filmrecensioner. Så här:

För att uppnå detta mål är det första du behöver en arkivmall för din anpassade posttyp så här: arkiv-post-type.php. Lär dig hur du skapar sidan för anpassad posttyp. Om du till exempel har en anpassad posttyp film-recensioner då ska din arkivsidmall vara arkiv-film reviews.php. Om du inte har en mall, skapa en. Kopiera bara innehållet i archive.php i ditt temas katalog och klistra in dem i en ny fil arkiv-your-post-type.php.

Nästa steg är att lägga till den här koden i ditt tema functions.php fil:

 funktion wpb_cpt_sticky_at_top ($ inlägg) // tillämpa det endast på arkiven om (is_main_query () && is_post_type_archive ()) global $ wp_query; $ sticky_posts = get_option ('sticky_posts'); $ num_posts = count ($ inlägg); $ sticky_offset = 0; // Hitta de klibbiga inläggen för ($ i = 0; $ i ID, $ sticky_posts)) $ sticky_post = $ inlägg [$ i]; // Ta bort klibbigt från nuvarande position array_splice ($ inlägg, $ i, 1); // Flytta framåt, efter andra stickies array_splice ($ inlägg, $ sticky_offset, 0, array ($ sticky_post)); $ Sticky_offset ++; // Ta bort post från klibbiga inlägg array $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); unset ($ sticky_posts [$ offset]);  // Sök efter mer klibbiga inlägg om det behövs om (! Tomt ($ sticky_posts)) $ stickies = get_posts (array ('post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars ['post_type' ], 'post_status' => 'publicera', 'nopaging' => true)); foreach ($ stickies som $ sticky_post) array_splice ($ inlägg, $ sticky_offset, 0, array ($ sticky_post)); $ Sticky_offset ++;  returnera $ inlägg;  add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); // Lägg till klibbig klass i artikeltitel för att klibbiga klibbiga inlägg fungerar annorlunda cpt_sticky_class ($ classes) if (is_sticky ()): $ classes [] = 'sticky'; returnera $ klasser; endif; returnera $ klasser;  add_filter ('post_class', 'cpt_sticky_class'); 

Ovanstående kod skulle flytta dina klibbiga inlägg till toppen, och om ditt tema använder post_class () funktion, då skulle det lägga klibbig i postklassen.

Du kan stile dina klibbiga inlägg med hjälp av .klibbig klass i ditt stilark. Exempel:

 .klibbig bakgrundsfärg: #ededed; background-image: url (http://example.com/wp-content/uploads/featured.png '); background-repeat: no-repeat; Bakgrundsposition: höger topp;  

Vi hoppas att den här artikeln hjälper dig att lägga till klibbiga inlägg i anpassade posttyparkiv. För frågor och feedback, vänligen lämna en kommentar nedan.

Källa: Tareq Hasan