Hur man skapar anpassade inläggstyper i WordPress

Vill du lära dig hur du enkelt kan skapa anpassade inläggstyper i WordPress? Anpassade inläggstyper förvandlar en WordPress-webbplats från en bloggplattform till ett kraftfullt Content Management System (CMS).


I princip tillåter de dig att gå längre än inlägg och sidor genom att skapa olika innehållstyper för din webbplats.

I den här artikeln visar vi dig hur du enkelt kan skapa anpassade inläggstyper i WordPress. Vi lär dig två metoder och du kan välja en som ser lättare ut för dig.

Skapa anpassade inläggstyper i WordPress

Vad är anpassad inläggstyp i WordPress?

Anpassade inläggstyper är innehållstyper som inlägg och sidor. Sedan WordPress utvecklats från en enkel bloggplattform till en robust CMS fastnade termen posten till den. Emellertid kan en posttyp vara vilken typ av innehåll som helst.

Som standard kommer WordPress med dessa inläggstyper:

  • Posta
  • Sida
  • Anknytning
  • Revision
  • Nav-menyn

Du kan skapa dina egna anpassade inläggstyper och kalla dem vad du vill.

Om du till exempel driver en webbplats för filmrecension, skulle du förmodligen vilja skapa en post för filmrecensioner. Denna inläggstyp kan ha olika anpassade fält och till och med sin egen anpassade kategoristruktur.

Andra exempel på inläggstyper är Portfölj, vittnesmål, produkter osv.

Många populära WordPress-plugins använder redan anpassade inläggstyper för att lagra data på din WordPress-webbplats. Följande är några topp-plugins som använder anpassade inläggstyper.

  • WooCommerce – Lägger till en produktanpassad inläggstyp till din WordPress-webbplats.
  • WPForms – Skapar en wpforms-posttyp för att lagra alla dina formulär
  • MemberPress – Lägger till en anpassad inläggstyp för medlemspressprodukter

När behöver jag en anpassad inläggstyp?

Kolla in vår artikel om när du verkligen behöver anpassade inläggstyper eller taxonomier i WordPress.

Titta också på WPBeginners och avsnitt. Det här är anpassade inläggstyper som vi skapade för att hålla dessa avsnitt åtskilda från våra dagliga bloggartiklar. Det hjälper oss att bättre organisera vårt webbplatsinnehåll.

Du kommer också att märka att vi använder anpassade taxonomier för dem istället för kategorier eller taggar.

Som sagt, låt oss ta en titt på hur du enkelt kan skapa anpassade inläggstyper i WordPress för eget bruk.

Metod 1. Skapa en anpassad inläggstyp – det enkla sättet

Det enklaste sättet att skapa en anpassad inläggstyp i WordPress är att använda ett plugin. Den här metoden rekommenderas för nybörjare eftersom den är säker och superlätt.

Det första du behöver göra är att installera och aktivera Custom UI-plugin för anpassad posttyp. Efter aktivering lägger plugin till ett nytt menyalternativ i din WordPress-adminmeny som heter CPT UI.

Gå nu till CPT UI »Lägg till nytt för att skapa en ny anpassad inläggstyp.

Lägg till ny anpassad inläggstyp

Först måste du ange en snigel för din anpassade inläggstyp. Denna snigel kommer att användas i URL och i WordPressfrågor, så den kan bara innehålla bokstäver och siffror.

Under det måste du ange flertalsnamn och singelnamn för din anpassade inläggstyp.

Därefter kan du valfritt klicka på länken som säger “Populera ytterligare etiketter baserade på valda etiketter”. Om du gör det kommer du att fylla i resten av etikettfälten nedan.

Rulla ner till avsnittet “Ytterligare etiketter” och härifrån kan du ge en beskrivning för din inläggstyp och ändra etiketter.

Postetiketter

Etiketter kommer att användas i hela WordPress-användargränssnittet när du hanterar innehåll i den specifika posttypen.

Därefter kommer alternativet för inställningar för posttyp. Härifrån kan du ställa in olika attribut för din inläggstyp. Varje alternativ har en kort beskrivning som förklarar vad den gör.

Inställningar för posttyp

Till exempel kan du välja att inte skapa en hierarkisk typ av inlägg eller omvända kronologiska inlägg.

Under de allmänna inställningarna ser du alternativet att välja vilka redigeringsfunktioner som denna inläggstyp skulle stödja. Kontrollera bara alternativen som du vill inkludera.

Stödda alternativ

Slutligen klickar du på knappen “Lägg till posttyp” för att spara och skapa din anpassade inläggstyp.

Det är allt, du har skapat din anpassade inläggstyp. Du kan börja lägga till innehåll.

Vi visar dig hur du visar din anpassade inläggstyp på din webbplats senare i den här artikeln.

Skapa en anpassad inläggstyp manuellt

Problemet med att använda ett plugin är att dina anpassade inläggstyper kommer att försvinna när plugin inaktiveras. All data du har i de anpassade inläggstyperna kommer fortfarande att finnas där, men din anpassade inläggstyp kommer att vara oregistrerad och kommer inte att vara tillgänglig från adminområdet.

Om du arbetar på en klientwebbplats och inte vill installera ett annat plugin kan du manuellt skapa din anpassade inläggstyp genom att lägga till den nödvändiga koden i ditt temas funktioner.php-fil eller i en webbplatsspecifik plugin (se: Anpassad inlägg) Typer debattfunktioner.php eller plugin).

Först kommer vi att visa dig ett snabbt och fullt fungerande exempel så att du förstår hur det fungerar. Ta en titt på den här koden:

// Vår anpassade inläggstypsfunktion
funktion create_posttype () {

register_post_type (“filmer”,
// CPT-alternativ
array (
“etiketter” => array (
‘name’ => __ (‘Filmer’),
‘singular_name’ => __ (‘Film’)
),
‘offentligt’ => Sann,
‘has_archive’ => Sann,
‘omskriva’ => array (‘slug’ => ‘filmer’),
‘show_in_rest’ => Sann,

)
);
}
// Koppla upp vår funktion till temainställning
add_action (‘init’, ‘create_posttype’);

Vad den här koden gör är att den registrerar en posttyp “filmer” med en rad argument. Dessa argument är alternativen för vår anpassade inläggstyp.

Denna matris har två delar, den första delen är märkt, som i sig är en matris. Den andra delen innehåller andra argument som allmän synlighet, har arkiv, slug och show_in_rest möjliggör blockredigeringsstöd.

Låt oss nu titta på en detaljerad kodkod som lägger till fler alternativ till din anpassade inläggstyp.

/ *
* Skapa en funktion för att skapa vår CPT
* /

funktion custom_post_type () {

// Ställ in UI-etiketter för anpassad inläggstyp
$ etiketter = matris (
‘name’ => _x (“Filmer”, “Posttyp Allmänt namn”, “tjugotvå”),
‘singular_name’ => _x (‘Movie’, ‘Post Type Singular Name’, ‘twentytenty’),
‘menu_name’ => __ (‘Filmer’, ‘tjugotiotio’),
‘parent_item_colon’ => __ (‘Förälderfilm’, ‘tjugotvå)’,
‘all_items’ => __ (‘Alla filmer’, ‘tjugotiotio’),
‘view_item’ => __ (“Visa film”, “tjugotju”),
‘add_new_item’ => __ (‘Lägg till ny film’, ‘tjugotvå)’,
‘add_new’ => __ (‘Lägg till nytt’, ‘tjugotiotio’),
‘edit_item’ => __ (‘Redigera film’, ‘tjugotiotio’),
‘update_item’ => __ (‘Uppdatera film’, ‘tjugotvå)’,
‘search_items’ => __ (‘Sök film’, ‘tjugotvå)’,
‘not_found’ => __ (‘Not Found’, ‘twentytenty’),
‘not_found_in_trash’ => __ (‘Inte hittat i papperskorgen’, ‘tjugotvå)’,
);

// Ställ in andra alternativ för anpassad inläggstyp

$ args = array (
‘etikett’ => __ (‘filmer’, ‘tjugotiotio’),
‘beskrivning’ => __ (‘Filmnyheter och recensioner’, ‘tjugotvå)’,
“etiketter” => $ etiketter,
// Funktioner som CPT stöder i Post Editor
“stöder” => array (‘titel’, ‘redaktör’, ‘utdrag’, ‘författare’, ‘miniatyrbild’, ‘kommentarer’, ‘revisioner’, ‘anpassade fält’,),
// Du kan koppla denna CPT till en taxonomi eller anpassad taxonomi.
‘taxonomier’ => array (‘genrer’),
/ * En hierarkisk CPT är som Pages och kan ha
* Föräldrar och barnobjekt. En icke-hierarkisk CPT
* är som inlägg.
* /
‘hierarchical’ => falsk,
‘offentligt’ => Sann,
‘show_ui’ => Sann,
‘show_in_menu’ => Sann,
‘show_in_nav_menus’ => Sann,
‘show_in_admin_bar’ => Sann,
‘menu_position’ => 5,
‘can_export’ => Sann,
‘has_archive’ => Sann,
‘exclude_from_search’ => falsk,
‘publicly_queryable’ => Sann,
‘capability_type’ => ‘posta’,
‘show_in_rest’ => Sann,

);

// Registrera din anpassade inläggstyp
register_post_type (‘filmer’, $ args);

}

/ * Koppla in init-åtgärden så att funktionen
* Innehåller vår registrering av posttyp är inte
* onödigt utförd.
* /

add_action (‘init’, ‘custom_post_type’, 0);

Som ni ser har vi lagt till många fler alternativ till den anpassade inläggstypen med den här koden. Det kommer att lägga till fler funktioner som stöd för versioner, visad bild, anpassade fält och mer.

Vi har också associerat denna anpassade inläggstyp med en anpassad taxonomi som kallas genrer.

Du kanske också märker den del där vi har ställt in det hierarkiska värdet som felaktigt. Om du vill att din anpassade inläggstyp ska fungera som Sidor kan du ställa in detta värde till sant.

En annan sak att uppmärksamma är den upprepade användningen av tjugotiotio strängar, detta kallas textdomän. Om ditt tema är översättningsklart och du vill att dina anpassade inläggstyper ska översättas, måste du nämna textdomän som används av ditt tema.

Du kan hitta ditt temas textdomän i filen style.css i din temakatalog. Textdomänen kommer att nämnas i filens rubrik.

Visa anpassade inläggstyper på din webbplats

WordPress levereras med inbyggt stöd för att visa dina anpassade inläggstyper. När du har lagt till några objekt i din nya anpassade inläggstyp är det dags att visa dem på din webbplats.

Det finns ett par metoder du kan använda, var och en har sina egna fördelar.

Visar anpassad inläggstyp med standardarkivmall

Först kan du helt enkelt gå till Utseende »Menyer och lägg till en anpassad länk till din meny. Den här anpassade länken är länken till din anpassade inläggstyp.

Lägg till posttyp till din navigationsmeny

Om du använder SEO-vänliga permalinks kommer din CPT-URL troligen att vara något liknande:

http://example.com/movies

Om du inte använder SEO-vänliga permalänk, kommer din anpassade URL-adress för posttyp vara något liknande:

http://example.com/?post_type=movies

Glöm inte att ersätta example.com med ditt eget domännamn och filmer med ditt anpassade posttypnamn.

Spara din meny och besök sedan fronten på din webbplats. Du kommer att se den nya menyn du har lagt till, och när du klickar på den kommer den att visa din anpassade arkivsida för posttyp med arkivfilen mall.php i ditt tema.

Använda anpassade mallar för CPT-arkiv och enskilda poster

Om du inte gillar utseendet på arkivsidan för din anpassade inläggstyp kan du använda dedicerad mall för anpassad inläggstyparkiv.

För att göra det allt du behöver göra är att skapa en ny fil i din temakatalog och namnge den arkiv-films.php. Byt ut filmer med namnet på din anpassade inläggstyp.

För att komma igång kan du kopiera innehållet i ditt temas arkiv.php-fil till arkiv-filmer.php-mall och sedan börja ändra det för att tillgodose dina behov.

Nu när arkivssidan för din anpassade inläggstyp öppnas kommer denna mall att användas för att visa den.

På liknande sätt kan du också skapa en anpassad mall för din inläggstyps enda inmatningsdisplay. För att göra det måste du skapa single-films.php i din temakatalog. Glöm inte att ersätta filmer med namnet på din anpassade inläggstyp.

Du kan komma igång genom att kopiera innehållet i ditt temas singel.php-mall till en-filmer.php-mall och sedan börja ändra det för att tillgodose dina behov.

Visar anpassade inläggstyper på framsidan

En fördel med att använda anpassade inläggstyper är att det håller dina anpassade innehållstyper borta från dina vanliga inlägg. Men om du vill att de ska visas bland ditt vanliga inlägg, kan du göra det genom att lägga till den här koden i ditt temas funktioner.php-fil eller ett webbplatsspecifikt plugin:

add_action (‘pre_get_posts’, ‘add_my_post_types_to_query’);

funktion add_my_post_types_to_query ($ fråga) {
if (is_home () && $ fråga->is_main_query ())
$ fråga->set (‘post_type’, array (‘post’, ‘films’));
returnera $ fråga;
}

Glöm inte att ersätta filmer med din anpassade inläggstyp.

Fråga efter anpassade inläggstyper

Om du är bekant med kodningen och vill köra loopfrågor i dina mallar, så här gör du så (Relaterat: Vad är en slinga?).

Genom att fråga databasen kan du hämta objekt från en anpassad inläggstyp.

<?php
$ args = array (‘post_type’ => ‘filmer’, ‘posts_per_page’ => 10);
$ the_query = new WP_Query ($ args);
?>
<?php if ($ the_query->have_posts ()): ?>
<?php while ($ the_query->have_posts ()): $ the_query->stolpen(); ?>

<?php the_title (); ?>

<?php the_content (); ?>

<?php wp_reset_postdata (); ?>
<?php annars: ?>

<?php _e (‘Tyvärr, inga inlägg matchade dina kriterier.’); ?>

<?php endif; ?>

I den här koden har vi först definierat inläggstyp och inlägg per sida i argumenten för vår nya WP_Query-klass.

Efter det körde vi vår fråga, hämtade inlägg och visade dem inuti öglan.

Visa anpassade inläggstyper i widgetar

Du kommer att märka att det finns en standardwidget i WordPress för att visa senaste inlägg, men det tillåter dig inte att välja en anpassad inläggstyp.

Vad händer om du ville visa de senaste posterna från din nyskapade inläggstyp i en widget? Det finns ett enkelt sätt att göra detta.

Det första du behöver göra är att installera och aktivera Ultimate Posts Widget-plugin. Vid aktivering, gå till Utseende »Widgets och dra och släpp widgeten Ultimate Posts till en sidofält.

Ultimate posts widget

Den här kraftfulla widgeten låter dig visa senaste inlägg från alla inläggstyper. Du kan också visa utdragsutdrag med en läs mer-länk eller till och med visa en presenterad bild bredvid inläggstitel.

Konfigurera widgeten genom att välja de alternativ du vill och genom att välja din anpassade inläggstyp. Spara sedan dina ändringar och se widgeten i aktion på din webbplats.

Mer avancerad anpassad inläggstyp Tweaks

Det finns så mycket mer du kan göra med dina anpassade inläggstyper. Du kan lära dig lägga till dina anpassade inläggstyper i RSS-flödet eller skapa ett separat flöde för varje anpassad inläggstyp.

För mer hacks, se vår lista över de mest användbara WordPress-anpassade inläggstyperna.

Om du letar efter en lösning utan kod för att anpassa dina anpassade arkivsidor för posttyp rekommenderar vi att du tittar på ett WordPress-sidbyggare-plugin som Beaver Builder eller Divi eftersom de båda kan hjälpa dig att göra det.

Vi hoppas att den här artikeln hjälpte dig att lära dig att skapa anpassade inläggstyper i WordPress. Du kanske också vill se vår guide om hur du ökar din webbplatstrafik med praktiska tips.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me