Hvordan lage egendefinerte innleggstyper i WordPress

Vil du lære hvordan du enkelt kan lage egendefinerte innleggstyper i WordPress? Tilpassede innleggstyper forvandler et WordPress-nettsted fra en bloggplattform til et kraftig Content Management System (CMS).


I utgangspunktet lar de deg gå utover innlegg og sider ved å lage forskjellige innholdstyper for nettstedet ditt.

I denne artikkelen viser vi deg hvordan du enkelt kan lage egendefinerte innleggstyper i WordPress. Vi lærer deg to metoder, og du kan velge en som ser lettere ut for deg.

Opprette tilpassede innleggstyper i WordPress

Hva er tilpasset innleggstype i WordPress?

Tilpassede innleggstyper er innholdstyper som innlegg og sider. Siden WordPress utviklet seg fra en enkel bloggplattform til et robust CMS, klistret begrepet innlegg seg fast. Imidlertid kan en innleggstype være alle slags innhold.

Som standard kommer WordPress med disse innleggstypene:

  • Post
  • Side
  • Vedlegg
  • Revisjon
  • Nav-meny

Du kan lage dine egne tilpassede innleggstyper og kalle dem hva du vil.

Hvis du for eksempel driver et nettsted for filmanmeldelse, vil du sannsynligvis opprette en innleggstype for filmanmeldelser. Denne posttypen kan ha forskjellige tilpassede felt og til og med sin egen tilpassede kategoristruktur.

Andre eksempler på innleggstyper er portefølje, attester, produkter osv.

Mange populære WordPress-plugins bruker allerede tilpassede innleggstyper for å lagre data på ditt WordPress-nettsted. Følgende er noen topp plugins som bruker tilpassede innleggstyper.

  • WooCommerce – Legger til en tilpasset produkttype til ditt WordPress-nettsted.
  • WPForms – Oppretter en wpforms-posttype for å lagre alle skjemaene dine
  • MemberPress – Legger til en tilpasset innleggstype for medlempressprodukt

Når trenger jeg en tilpasset innleggstype?

Sjekk ut vår artikkel om når du virkelig trenger tilpassede innleggstyper eller taksonomier i WordPress.

Ta også en titt på WPBeginners og seksjoner. Dette er tilpassede innleggstyper som vi opprettet for å holde disse seksjonene adskilt fra våre daglige bloggartikler. Det hjelper oss med å organisere nettstedets innhold bedre.

Du vil også legge merke til at vi bruker tilpassede taksonomier for dem i stedet for kategorier eller tagger.

Når det er sagt, la oss se på hvordan du enkelt kan lage egendefinerte innleggstyper i WordPress til eget bruk.

Metode 1. Opprette en tilpasset innleggstype – den enkle måten

Den enkleste måten å lage en tilpasset innleggstype i WordPress er ved å bruke en plugin. Denne metoden anbefales for nybegynnere fordi den er trygg og superenkelig.

Det første du trenger å gjøre er å installere og aktivere Custom UI-plugin for tilpasset posttype. Ved aktivering vil plugin-en legge til et nytt menyelement i WordPress-adminmenyen som heter CPT UI.

Gå nå til CPT UI »Legg til nytt for å lage en ny tilpasset innleggstype.

Legg til ny tilpasset innleggstype

Først må du oppgi en snegle for din tilpassede innleggstype. Denne sneglen vil bli brukt i URL-en og i WordPress-spørsmål, slik at den bare kan inneholde bokstaver og tall.

Under det må du oppgi flertall og entall navn for din tilpassede innleggstype.

Deretter kan du valgfritt klikke på lenken som sier “Populere flere etiketter basert på valgte etiketter”. Hvis du gjør det, fyller du ut resten av etikettfeltene nedenfor.

Bla ned til delen “Tilleggsmerkelapper”, og herfra kan du gi en beskrivelse av innleggstypen din og endre etiketter.

Etiketter for innleggstype

Etiketter vil bli brukt i hele WordPress-brukergrensesnittet når du administrerer innhold i den aktuelle posttypen.

Deretter kommer alternativet for innstillinger for innleggstype. Herfra kan du sette opp forskjellige attributter for posttypen din. Hvert alternativ har en kort beskrivelse som forklarer hva den gjør.

Innstillinger for innleggstype

Du kan for eksempel velge å ikke lage en innleggstype hierarkisk som sider eller reversere kronologiske lignende innlegg.

Under de generelle innstillingene, vil du se alternativet for å velge hvilke redigeringsfunksjoner denne innleggstypen vil støtte. Bare sjekk alternativene du vil bli inkludert.

Støttede alternativer

Til slutt klikker du på knappen Legg til innleggstype for å lagre og opprette din tilpassede innleggstype.

Det er alt, du har opprettet den tilpassede innleggstypen. Du kan begynne å legge til innhold.

Vi vil vise deg hvordan du kan vise din tilpassede innleggstype på nettstedet ditt senere i denne artikkelen.

Opprette en egendefinert innleggstype manuelt

Problemet med å bruke en plugin er at dine tilpassede innleggstyper forsvinner når plugin-en deaktiveres. Eventuelle data du har i de tilpassede innleggstypene vil fremdeles være der, men den tilpassede innleggstypen din vil være uregistrert og vil ikke være tilgjengelig fra adminområdet.

Hvis du jobber på et klientnettsted og ikke ønsker å installere en annen plugin, kan du manuelt opprette din tilpassede posttype ved å legge til den nødvendige koden i temaets funksjoner.php-fil eller i en nettstedsspesifikk plugin (se: Egendefinert innlegg) Typer Debattfunksjoner.php eller plugin).

Først vil vi vise deg et raskt og fullt fungerende eksempel, slik at du forstår hvordan det fungerer. Ta en titt på denne koden:

// Vår tilpassede innleggstypefunksjon
funksjon create_posttype () {

register_post_type (‘filmer’,
// CPT-alternativer
array (
‘etiketter’ => array (
‘name’ => __ (‘Filmer’),
‘singular_name’ => __ (‘Film’)
),
‘offentlig’ => ekte,
‘has_archive’ => ekte,
‘omskrive’ => array (‘slug’ => ‘filmer’),
‘show_in_rest’ => ekte,

)
);
}
// Koble til vår funksjon til temaoppsett
add_action (‘init’, ‘create_posttype’);

Hva denne koden gjør er at den registrerer en posttype ‘filmer’ med en rekke argumenter. Disse argumentene er alternativene for vår tilpassede innleggstype.

Denne matrisen har to deler, den første delen er merket, som i seg selv er en matrise. Den andre delen inneholder andre argumenter som offentlig synlighet, har arkiv, slug og show_in_rest muliggjør støtte for blokkeringsredigeringsprogram.

La oss nå se på et detaljert stykke kode som legger til flere alternativer til den tilpassede innleggstypen din.

/ *
* Opprette en funksjon for å opprette CPT
* /

funksjon tilpasset_post_type () {

// Angi brukergrensesnittetiketter for tilpasset innleggstype
$ labels = matrise (
‘name’ => _x (‘Filmer’, ‘Innleggstype Generelt navn’, ‘twentytenty’),
‘singular_name’ => _x (‘Movie’, ‘Post Type Singular Name’, ‘twentytenty’),
‘menu_name’ => __ (‘Filmer’, ‘tyveogtyve’),
‘parent_item_colon’ => __ (‘Foreldrefilm’, ‘tjueentyve’),
‘all_items’ => __ (‘Alle filmer’, ‘tyveogtyve’),
‘view_item’ => __ (‘Se film’, ‘tjueentyve’),
‘add_new_item’ => __ (‘Legg til ny film’, ‘twentytenty’),
‘add_new’ => __ (‘Legg til nytt’, ‘twentytenty’),
‘edit_item’ => __ (‘Rediger film’, ‘twentytenty’),
‘update_item’ => __ (‘Oppdater film’, ‘twentytenty’),
‘search_items’ => __ (‘Søk i film’, ‘tyveogtyve’),
‘not_found’ => __ (‘Not Found’, ‘twentytenty’),
‘not_found_in_trash’ => __ (‘Ikke funnet i søppel’, ‘twentytenty’),
);

// Angi andre alternativer for tilpasset posttype

$ args = matrise (
‘label’ => __ (‘filmer’, ‘tyveogtyve’),
‘beskrivelse’ => __ (‘Filmnyheter og anmeldelser’, ‘twentytenty’),
‘etiketter’ => $ etiketter,
// Funksjoner denne CPT støtter i Post Editor
‘støtter’ => matrise (‘tittel’, ‘redaktør’, ‘utdrag’, ‘forfatter’, ‘miniatyrbilde’, ‘kommentarer’, ‘revisjoner’, ’tilpassede felt’,),
// Du kan knytte denne CPT til en taksonomi eller tilpasset taksonomi.
‘taksonomier’ => matrise (‘sjangre’),
/ * En hierarkisk CPT er som Pages og kan ha
* Foreldre- og barneartikler. En ikke-hierarkisk CPT
* er som innlegg.
* /
‘hierarkisk’ => falsk,
‘offentlig’ => ekte,
‘show_ui’ => ekte,
‘show_in_menu’ => ekte,
‘show_in_nav_menus’ => ekte,
‘show_in_admin_bar’ => ekte,
‘menu_position’ => 5,
‘can_export’ => ekte,
‘has_archive’ => ekte,
‘exclude_from_search’ => falsk,
‘publicly_queryable’ => ekte,
‘capability_type’ => ‘post’,
‘show_in_rest’ => ekte,

);

// Registrere din tilpassede innleggstype
register_post_type (‘filmer’, $ args);

}

/ * Koble til ‘init’-handlingen slik at funksjonen
* Inneholder postregistrering er det ikke
* unødvendig henrettet.
* /

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

Som du kan se, har vi lagt mange flere alternativer til den tilpassede innleggstypen med denne koden. Det vil legge til flere funksjoner som støtte for revisjoner, omtalt bilde, tilpassede felt og mer.

Vi har også knyttet denne tilpassede innleggstypen til en tilpasset taksonomi kalt sjangre.

Du vil kanskje også legge merke til delen der vi har satt den hierarkiske verdien til å være falsk. Hvis du vil at den egendefinerte posttypen skal oppføre seg som Pages, kan du stille denne verdien til sann.

En annen ting å bli lagt merke til er gjentatt bruk av tyveogtyve strenger, dette kalles tekstdomene. Hvis temaet ditt er oversettelsesklart, og du vil at dine tilpassede innleggstyper skal oversettes, må du nevne tekstdomenet som brukes av temaet ditt.

Du kan finne tematekstdomenet ditt i stil.css-filen i temakatalogen. Tekstdomenet vil bli nevnt i overskriften på filen.

Vise tilpassede innleggstyper på nettstedet ditt

WordPress kommer med innebygd støtte for å vise dine tilpassede innleggstyper. Når du har lagt til noen få elementer i den nye tilpassede innleggstypen, er det på tide å vise dem på nettstedet ditt.

Det er et par metoder du kan bruke, hver og en har sine egne fordeler.

Viser tilpasset innleggstype ved bruk av standard arkivmal

Først kan du ganske enkelt gå til Utseende »Menyer og legg til en tilpasset lenke til menyen. Denne tilpassede lenken er koblingen til din tilpassede innleggstype.

Legg til innleggstype i navigasjonsmenyen

Hvis du bruker SEO-vennlige permalinks, vil CPT-URLen din sannsynligvis være noe slikt:

http://example.com/movies

Hvis du ikke bruker SEO-vennlige permalinks, vil den tilpassede URL-adressen til posttypen være noe slik:

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

Ikke glem å erstatte eksempel.com med ditt eget domenenavn og filmer med det tilpassede posttypenavnet.

Lagre menyen din, og besøk deretter fronten av nettstedet ditt. Du vil se den nye menyen du la til, og når du klikker på den, vil den vise den tilpassede arkivsiden for posttypen ved å bruke arkivfilen arkiv.php i temaet ditt.

Bruke tilpassede maler for CPT-arkiver og enkeltoppføringer

Hvis du ikke liker utseendet på arkivsiden for den tilpassede posttypen, kan du bruke dedikert mal for tilpasset posttypearkiv.

For å gjøre det alt du trenger å gjøre er å opprette en ny fil i temakatalogen din og gi den navnet archive-films.php. Erstatt filmer med navnet på den tilpassede posttypen.

For å komme i gang kan du kopiere innholdet i temas arkiv.php-fil til arkiv-filmer.php-mal og deretter begynne å endre den for å imøtekomme dine behov.

Nå når arkivsiden for din tilpassede innleggstype åpnes, vil denne malen brukes til å vise den.

På samme måte kan du også opprette en tilpasset mal for posttypens enkeltoppføringsvisning. For å gjøre det må du opprette single-films.php i temakatalogen. Ikke glem å erstatte filmer med navnet på den tilpassede posttypen.

Du kan komme i gang ved å kopiere innholdet i temaets single.php-mal til single-films.php-mal og deretter begynne å endre den for å tilfredsstille dine behov.

Viser tilpassede innleggstyper på forsiden

En fordel med å bruke tilpassede innleggstyper er at det holder dine tilpassede innholdstyper borte fra dine vanlige innlegg. Imidlertid, hvis du ønsker at de skal vises blant ditt vanlige innlegg, kan du gjøre det ved å legge til denne koden i temaets funksjoner.php-fil eller en nettstedsspesifikk plugin:

add_action (‘pre_get_posts’, ‘add_my_post_types_to_query’);

funksjon add_my_post_types_to_query ($ spørring) {
if (is_home () && $ query->is_main_query ())
$ query->sett (‘post_type’, array (‘post’, ‘films’));
returner $ spørring;
}

Ikke glem å erstatte filmer med den tilpassede innleggstypen.

Spørsmål om tilpassede innleggstyper

Hvis du er kjent med kodingen og ønsker å kjøre loop-spørringer i maler, er du hvordan du gjør det (Relatert: Hva er en loop?).

Ved å spørre i databasen, kan du hente elementer fra en tilpasset innleggstype.

<?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->posten(); ?>

<?php the_title (); ?>

<?php the_content (); ?>

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

<?php _e (‘Beklager, ingen innlegg stemte overens med kriteriene dine.’); ?>

<?php endif; ?>

I denne koden har vi først definert posttypen og innleggene per side i argumentene for vår nye WP_Query-klasse.

Etter det kjørte vi spørringen, hentet innleggene og viste dem inne i løkken.

Vise tilpassede innleggstyper i widgeter

Du vil merke at det er en standardwidget i WordPress for å vise nylige innlegg, men det lar deg ikke velge en tilpasset innleggstype.

Hva om du ville vise de siste oppføringene fra den nyopprettede posttypen i en widget? Det er en enkel måte å gjøre dette på.

Det første du trenger å gjøre er å installere og aktivere Ultimate Posts Widget-pluginen. Ved aktivering, bare gå til Utseende »Widgets og dra og slipp widgeten Ultimate Posts til en sidefelt.

Ultimate posts widget

Denne kraftige widgeten lar deg vise nylige innlegg fra alle innleggstyper. Du kan også vise utdragsutdrag med en les mer-lenke eller til og med vise et vist bilde ved siden av innleggstittelen.

Konfigurer widgeten ved å velge alternativene du ønsker, og ved å velge din tilpassede innleggstype. Lagre endringene dine, og se widgeten i aksjon på nettstedet ditt.

Mer avansert tilpasset innlegg Type justeringer

Det er så mye mer du kan gjøre med dine tilpassede innleggstyper. Du kan lære å legge til dine tilpassede innleggstyper i RSS-strømmen eller lage en egen strøm for hver tilpassede innleggstype.

Hvis du vil ha flere hacks, kan du se listen over de mest nyttige WordPress-egendefinerte innleggstypene.

Hvis du leter etter en kode uten kode for å tilpasse de tilpassede arkivsidene for posttypen, anbefaler vi deg å ta en WordPress-sidebygger-plugin som Beaver Builder eller Divi fordi de begge kan hjelpe deg med det.

Vi håper denne artikkelen hjalp deg å lære å lage tilpassede innleggstyper i WordPress. Det kan også være lurt å se vår guide for hvordan du kan øke trafikken på nettstedet ditt med praktiske tips.

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