Vertrauenswürdige WordPress-Tutorials, wenn Sie sie am dringendsten benötigen.
Anfängerleitfaden für WordPress
WPB Cup
25 Millionen+
Websites, die unsere Plugins verwenden
16+
Jahre WordPress-Erfahrung
3000+
WordPress-Tutorials von Experten

Wie man benutzerdefinierte Beitragstypen in WordPress erstellt

Kämpfen Sie damit, verschiedene Arten von Inhalten auf Ihrer WordPress-Website zu organisieren?

Wenn Sie versuchen, reguläre Blogbeiträge für alles zu verwenden – Produktangebote, Testimonials, Portfolioelemente – haben Sie wahrscheinlich bemerkt, wie schnell die Dinge zu einem verwirrenden Durcheinander werden. 🤦

Wir verstehen vollkommen, wie frustrierend das sein kann. Glücklicherweise gibt es einen einfachen Weg, Ordnung ins Chaos zu bringen: benutzerdefinierte Beitragstypen.

Benutzerdefinierte Beitragstypen ermöglichen es Ihnen, dedizierte Bereiche für all Ihre Inhalte zu erstellen. Das bedeutet, dass Produkte, Testimonials oder Portfolios jeweils ihr eigenes Layout und ihre eigene Struktur haben können, die vollständig von Ihren regulären Blogbeiträgen und Seiten getrennt sind.

In diesem Leitfaden zeigen wir Ihnen zwei verschiedene Methoden, um benutzerdefinierte Beitragstypen zu erstellen. So können Sie die Methode wählen, die Ihrem Komfortniveau entspricht, und Ihre Inhalte noch heute übersichtlich organisieren.

Wie man benutzerdefinierte Beitragstypen in WordPress erstellt

Was ist ein benutzerdefinierter Post-Typ in WordPress?

Ein benutzerdefinierter Beitragstyp ist ein Inhaltstyp, den Sie in WordPress erstellen können und der sich von regulären Beiträgen und Seiten unterscheidet. Er ermöglicht es Ihnen, einzigartige Arten von Inhalten wie Portfolios, Produkte oder Filmkritiken auf strukturiertere Weise zu organisieren und anzuzeigen.

Stellen Sie es sich so vor, als hätten Sie organisierte Aktenschränke für verschiedene Inhaltstypen, anstatt alles in eine Schublade zu werfen!

Bevor wir uns damit eingehend beschäftigen, verwendet WordPress Beitragstypen, um verschiedene Inhalte auseinanderzuhalten. Während „Beitrag“ und „Seite“ die gängigsten Typen sind, enthält WordPress standardmäßig tatsächlich einige weitere:

  • Beitrag – für Blogeinträge
  • Seite – für statische Inhalte wie eine Über-uns-Seite
  • Anhang – für Mediendateien
  • Überarbeitung – für Inhaltsentwürfe und Bearbeitungen
  • Navigationsmenü – für Menüpunkte

Benutzerdefinierte Beitragstypen ermöglichen es Ihnen, spezielle Bereiche Ihrer WordPress-Website für bestimmte Arten von Inhalten zu erstellen.

Nehmen wir an, Sie betreiben eine Filmrezensions-Website. Dann möchten Sie wahrscheinlich einen Beitragstyp für „Filmkritiken“ erstellen. Auf einer Portfolio-Website könnten Sie einen Beitragstyp für Projekte erstellen. Eine E-Commerce-Website würde hingegen von einem Beitragstyp für Produkte profitieren.

📝 Insider-Hinweis: Bei WPBeginner verwenden wir tatsächlich auch benutzerdefinierte Beitragstypen. Wir nutzen sie für unsere Angebote und Glossar-Bereiche, um sie von unseren Blogartikeln zu trennen.

Dann kann jeder benutzerdefinierte Post-Typ sein eigenes Layout, benutzerdefinierte Felder und sogar seine eigene benutzerdefinierte Kategorie oder Tag-Struktur haben. Das macht Ihre Website organisierter und benutzerfreundlicher!

Außerdem verwenden viele beliebte WordPress-Plugins benutzerdefinierte Beitragstypen, um Daten auf Ihrer WordPress-Website zu speichern. Die folgenden sind einige Top-Plugins, die benutzerdefinierte Beitragstypen verwenden:

  • WooCommerce fügt Ihrem Online-Shop einen 'product'-Beitragstyp hinzu
  • WPForms erstellt einen Beitragstyp 'wpforms', um alle Ihre Formulare zu speichern
  • MemberPress fügt einen benutzerdefinierten Beitragstyp namens „memberpressproduct“ hinzu

Muss ich benutzerdefinierte Beitragstypen erstellen?

Bevor Sie mit der Erstellung benutzerdefinierter Beitragstypen auf Ihrer WordPress-Website beginnen, ist es wichtig, Ihre Bedürfnisse zu bewerten. Oft können Sie die gleichen Ergebnisse mit einem normalen Beitrag oder einer Seite erzielen.

Wenn Sie sich nicht sicher sind, ob Ihre Website benutzerdefinierte Beitragstypen benötigt, lesen Sie unseren Leitfaden zu wann Sie einen benutzerdefinierten Beitragstyp oder eine Taxonomie in WordPress benötigen.

In diesem Sinne wollen wir uns ansehen, wie man in WordPress ganz einfach benutzerdefinierte Beitragstypen für den eigenen Gebrauch erstellt. Wir zeigen Ihnen zwei Methoden und behandeln auch einige Möglichkeiten, benutzerdefinierte Beitragstypen auf Ihrer WordPress-Website anzuzeigen:

Bereit? Legen wir los.

Methode 1: Erstellen eines benutzerdefinierten Beitragstyps manuell mit WPCode

Das Erstellen eines benutzerdefinierten Beitragstyps erfordert das Hinzufügen von Code zur functions.php-Datei Ihres Themes. Wir empfehlen dies jedoch niemandem außer fortgeschrittenen Benutzern, da selbst ein kleiner Fehler Ihre Website beschädigen kann. Außerdem wird der Code gelöscht, wenn Sie Ihr Theme aktualisieren.

Stattdessen verwenden wir WPCode, das beste Plugin zum Hinzufügen von benutzerdefiniertem Code zu Ihrer WordPress-Website.

Mit WPCode können Sie benutzerdefinierte Snippets hinzufügen und viele Funktionen aus seiner integrierten, vorkonfigurierten Codebibliothek aktivieren. Mit anderen Worten, es kann viele dedizierte oder einzeln verwendete Plugins ersetzen, die Sie möglicherweise installiert haben.

Erkunden Sie alle Funktionen, die wir in unserem detaillierten WPCode-Test getestet haben.

WPCode's Homepage

Zuerst müssen Sie das kostenlose WPCode-Plugin installieren und aktivieren. Detaillierte Anweisungen finden Sie in unserer Schritt-für-Schritt-Anleitung, wie man ein WordPress-Plugin installiert.

📝 Hinweis: Die kostenlose Version von WPCode eignet sich gut für dieses Tutorial. Ein Upgrade auf WPCode Pro schaltet jedoch erweiterte Funktionen wie benutzerdefinierte Codeplanung und eine vollständige Revisionshistorie frei.

Nach der Aktivierung navigieren Sie in Ihrem WordPress-Dashboard zu Code-Snippets » Snippet hinzufügen.

WPCode fügt benutzerdefinierte Code-Snippets hinzu

Bewegen Sie dann Ihre Maus über ‘Add Your Custom Code (New Snippet)’ und klicken Sie auf ‘+ Add Custom Snippet.’

Wählen Sie im erscheinenden Pop-up aus der Liste der Optionen ‘PHP Snippet’ als Code-Typ aus.

Wählen Sie die PHP-Snippet-Option

Dies öffnet die Seite 'Benutzerdefinierten Ausschnitt erstellen'.

Jetzt können Sie den Titel des Code-Snippets hinzufügen, der beliebig sein kann, um Ihnen zu helfen, sich daran zu erinnern, wofür der Code bestimmt ist.

Erstellen eines benutzerdefinierten Code-Snippets für benutzerdefinierte Beitragstypen mit WPCode

Fügen Sie danach einfach den folgenden Code in den Bereich 'Code-Vorschau' ein.

Dieser Code erstellt einen einfachen benutzerdefinierten Beitragstyp namens 'Filme', der in Ihrer Admin-Seitenleiste angezeigt wird und mit jedem WordPress-Theme funktioniert.

// Our custom post type function
function create_posttype() {
 
    register_post_type( 'movies',
    // CPT Options
        array(
            'labels' => array(
                'name' => __( 'Movies' ),
                'singular_name' => __( 'Movie' )
            ),
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'movies'),
            'show_in_rest' => true,
 
        )
    );
}
// Hooking up our function to theme setup
add_action( 'init', 'create_posttype' );

Wenn Sie nur einen einfachen benutzerdefinierten Beitragstyp wünschen, ersetzen Sie einfach movies und Movies durch Ihre eigene CPT-Slug und Ihren eigenen Namen und klicken Sie auf die Schaltfläche „Aktualisieren“.

Wenn Sie jedoch noch mehr Optionen für Ihren benutzerdefinierten Beitragstyp wünschen, sollten Sie den folgenden Code anstelle des obigen verwenden.

Der folgende Code fügt dem benutzerdefinierten Beitragstyp 'Movies' viele weitere Optionen hinzu, wie z. B. Unterstützung für Revisionen, Beitragsbilder und benutzerdefinierte Felder, sowie die Verknüpfung des benutzerdefinierten Beitragstyps mit einer benutzerdefinierten Taxonomie namens 'genres'.

Wichtig: Kombinieren Sie diese beiden Codeausschnitte nicht, da WordPress sonst einen Fehler ausgibt, da beide Codeausschnitte denselben benutzerdefinierten Beitragstyp registrieren. Wir empfehlen, für jeden zusätzlichen Beitragstyp, den Sie registrieren möchten, einen komplett neuen Codeausschnitt mit WPCode zu erstellen.

/*
* Creating a function to create our CPT
*/
 
function custom_post_type() {
 
// Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Movies', 'Post Type General Name', 'twentytwentyone' ),
        'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentytwentyone' ),
        'menu_name'           => __( 'Movies', 'twentytwentyone' ),
        'parent_item_colon'   => __( 'Parent Movie', 'twentytwentyone' ),
        'all_items'           => __( 'All Movies', 'twentytwentyone' ),
        'view_item'           => __( 'View Movie', 'twentytwentyone' ),
        'add_new_item'        => __( 'Add New Movie', 'twentytwentyone' ),
        'add_new'             => __( 'Add New', 'twentytwentyone' ),
        'edit_item'           => __( 'Edit Movie', 'twentytwentyone' ),
        'update_item'         => __( 'Update Movie', 'twentytwentyone' ),
        'search_items'        => __( 'Search Movie', 'twentytwentyone' ),
        'not_found'           => __( 'Not Found', 'twentytwentyone' ),
        'not_found_in_trash'  => __( 'Not found in Trash', 'twentytwentyone' ),
    );
     
// Set other options for Custom Post Type
     
    $args = array(
        'label'               => __( 'movies', 'twentytwentyone' ),
        'description'         => __( 'Movie news and reviews', 'twentytwentyone' ),
        'labels'              => $labels,
        // Features this CPT supports in Post Editor
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        // You can associate this CPT with a taxonomy or custom taxonomy. 
        'taxonomies'          => array( 'genres' ),
        /* A hierarchical CPT is like Pages and can have
        * Parent and child items. A non-hierarchical CPT
        * is like Posts.
        */ 
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
        'show_in_rest' => true,
 
    );
     
    // Registering your Custom Post Type
    register_post_type( 'movies', $args );
 
}
 
/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/
 
add_action( 'init', 'custom_post_type', 0 );

Möglicherweise bemerken Sie den Teil, in dem wir den hierarchischen Wert auf false gesetzt haben. Wenn Ihr benutzerdefinierter Beitragstyp sich wie Seiten und nicht wie Beiträge verhalten soll, können Sie diesen Wert auf true setzen.

Eine weitere Sache, die auffällt, ist die wiederholte Verwendung des Strings twentytwentyone, dies wird als „Text Domain“ bezeichnet. Wenn Ihr Theme übersetzungsbereit ist und Sie möchten, dass Ihre benutzerdefinierten Beitragstypen übersetzt werden, müssen Sie die von Ihrem Theme verwendete Text Domain angeben.

Sie können die Textdomäne Ihres Themes in der Datei style.css in Ihrem Theme-Verzeichnis finden oder indem Sie in Ihrem Admin-Panel zu Darstellung » Theme-Datei-Editor navigieren. Die Textdomäne wird im Header der Datei erwähnt.

Den Textdomain für ein Theme finden

Ersetzen Sie einfach twentytwentyone durch die „Text Domain“ Ihres eigenen Themes.

Wenn Sie mit den Änderungen zufrieden sind, schalten Sie einfach den Schalter oben auf der Seite von „Inaktiv“ auf „Aktiv“.

Klicken Sie abschließend auf die Schaltfläche „Snippet speichern“, und WPCode erledigt den Rest.

Snippet in WPCode aktivieren und speichern

Methode 2: Erstellen eines benutzerdefinierten Beitragstyps mit einem Plugin

Eine weitere einfache Möglichkeit, einen benutzerdefinierten Beitragstyp in WordPress zu erstellen, ist die Verwendung eines Plugins. Diese Methode wird für Anfänger empfohlen, da sie sicher und super einfach ist.

Das Erste, was Sie tun müssen, ist das Plugin Custom Post Type UI zu installieren und zu aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung, wie Sie ein WordPress-Plugin installieren.

Nach der Aktivierung müssen Sie zu CPT UI » Add / Edit Post Types gehen, um einen neuen benutzerdefinierten Beitragstyp zu erstellen. Sie sollten sich auf dem Tab „Add New Post Type“ befinden.

Erstellen Sie einen neuen benutzerdefinierten Beitragstyp mit einem Plugin

In diesem Bereich müssen Sie einen Slug für Ihren benutzerdefinierten Beitragstyp angeben, z. B. ‘Filme’. Dieser Slug wird in der URL und in WordPress-Abfragen verwendet und darf daher nur Buchstaben und Zahlen enthalten.

Unter dem Slug-Feld müssen Sie die Plural- und Singularnamen für Ihren benutzerdefinierten Beitragstyp angeben.

Wenn Sie möchten, können Sie auf den Link klicken, auf dem steht: „Zusätzliche Bezeichnungen basierend auf ausgewählten Bezeichnungen ausfüllen“. Dadurch werden die zusätzlichen Bezeichnungsfelder unten automatisch ausgefüllt und Sie sparen normalerweise Zeit.

Sie können nun zum Abschnitt ‘Additional Labels’ scrollen. Wenn Sie nicht auf den von uns erwähnten Link geklickt haben, müssen Sie eine Beschreibung für Ihren Beitragstyp angeben und die Bezeichnungen ändern.

Scrollen Sie nach unten zum Abschnitt „Zusätzliche Bezeichnungen“

Diese Bezeichnungen werden in der gesamten WordPress-Benutzeroberfläche verwendet, wenn Sie Inhalte in diesem bestimmten Beitragstyp verwalten.

Als Nächstes kommen die Einstellungen für den Beitragstyp.

Von hier aus können Sie verschiedene Attribute für Ihren Beitragstyp einrichten. Jede Option enthält eine kurze Beschreibung, die erklärt, was sie tut.

Scrollen Sie zum Abschnitt „Beitragstyp-Einstellungen“

Sie können beispielsweise wählen, einen Beitragstyp nicht hierarchisch wie Seiten zu gestalten oder chronologische Beiträge in umgekehrter Reihenfolge zu sortieren.

Unter den allgemeinen Einstellungen sehen Sie die Option, auszuwählen, welche Bearbeitungsfunktionen dieser Beitragstyp unterstützen soll. Aktivieren Sie einfach die gewünschten Optionen.

Wählen Sie die Optionen aus, die Sie einschließen möchten

Klicken Sie schließlich auf die Schaltfläche 'Beitragstyp hinzufügen', um Ihren benutzerdefinierten Beitragstyp zu speichern und zu erstellen.

Das ist alles, Sie haben erfolgreich Ihren benutzerdefinierten Beitragstyp erstellt! Sie können jetzt mit dem Hinzufügen von Inhalten beginnen.

Bonustipp: Anzeigen von benutzerdefinierten Beitragsarten auf Ihrer Website

WordPress bietet integrierte Unterstützung für die Anzeige Ihrer benutzerdefinierten Beitragstypen. Sobald Sie einige Elemente zu Ihrem neuen benutzerdefinierten Beitragstyp hinzugefügt haben, ist es an der Zeit, diese auf Ihrer Website anzuzeigen.

Es gibt verschiedene Methoden, die Sie verwenden können, und jede hat ihre eigenen Vorteile.

Benutzerdefinierte Beitragstypen mit der Standard-Archivvorlage anzeigen

Zuerst können Sie einfach zu Darstellung » Menüs gehen und einen benutzerdefinierten Link zu Ihrem Menü hinzufügen. Dieser benutzerdefinierte Link ist der Link zu Ihrem benutzerdefinierten Beitragstyp.

Benutzerdefinierten Link zum Menü hinzufügen

Wenn Sie SEO-freundliche Permalinks verwenden, dann sieht die URL Ihres benutzerdefinierten Beitragstyps höchstwahrscheinlich so aus:

http://example.com/movies

Wenn Sie keine SEO-freundlichen Permalinks verwenden, dann wird die URL Ihres benutzerdefinierten Beitragstyps etwa so aussehen:

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

Vergessen Sie nicht, „example.com“ durch Ihre eigene Domain und „movies“ durch Ihren benutzerdefinierten Beitragstypnamen zu ersetzen.

Sie können dann Ihr Menü speichern und das Frontend Ihrer Website besuchen. Sie sehen den neuen Menüpunkt, den Sie hinzugefügt haben, und wenn Sie darauf klicken, wird die Archivseite Ihres benutzerdefinierten Beitragstyps mit der archive.php Vorlagendatei in Ihrem Theme angezeigt.

Vorschau des Menüeintrags für benutzerdefinierte Beitragstypen

Erstellen von Vorlagen für benutzerdefinierte Beitragstypen

Wenn Ihnen das Erscheinungsbild der Archivseite für Ihren benutzerdefinierten Beitragstyp nicht gefällt, können Sie eine spezielle Vorlage für benutzerdefinierte Beitragstyparchive verwenden.

Alles, was Sie tun müssen, ist, eine neue Datei in Ihrem Theme-Verzeichnis zu erstellen und sie archive-movies.php zu nennen. Stellen Sie sicher, dass Sie 'movies' durch den Namen Ihres benutzerdefinierten Beitragstyps ersetzen.

Um zu beginnen, können Sie den Inhalt der Datei archive.php Ihres Themes in die Vorlage archive-movies.php kopieren und diese dann nach Ihren Bedürfnissen anpassen.

Wenn nun auf die Archivseite Ihres benutzerdefinierten Beitragstyps zugegriffen wird, wird diese Vorlage zu deren Anzeige verwendet.

Ähnlich können Sie eine benutzerdefinierte Vorlage für die Anzeige einzelner Einträge Ihres Beitragstyps erstellen. Dazu müssen Sie single-movies.php in Ihrem Theme-Verzeichnis erstellen. Vergessen Sie nicht, „movies“ durch den Namen Ihres benutzerdefinierten Beitragstyps zu ersetzen.

Sie können damit beginnen, den Inhalt der single.php-Vorlage Ihres Themes in die single-movies.php-Vorlage zu kopieren und diese dann nach Ihren Bedürfnissen anzupassen.

Weitere Informationen finden Sie in unserem Leitfaden zum Erstellen benutzerdefinierter einzelner Beitragsvorlagen in WordPress.

Benutzerdefinierte Beitragstypen auf der Startseite anzeigen

Ein Vorteil der Verwendung benutzerdefinierter Beitragstypen ist, dass sie Ihre benutzerdefinierten Inhaltstypen von Ihren regulären Beiträgen trennen. Sie können benutzerdefinierte Beitragstypen jedoch auch auf der Startseite Ihrer Website anzeigen, wenn Sie möchten.

Fügen Sie diesen Code einfach als neues Snippet mit dem kostenlosen WPCode-Plugin hinzu.

Bitte siehe den Abschnitt dieses Artikels über das manuelle Hinzufügen von Code für detaillierte Anweisungen.

add_action( 'pre_get_posts', 'add_my_post_types_to_query' );
 
function add_my_post_types_to_query( $query ) {
    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'movies' ) );
    return $query;
}

Vergessen Sie nicht, „movies“ durch Ihren benutzerdefinierten Beitragstyp zu ersetzen.

Abfragen von benutzerdefinierten Post-Typen

Wenn Sie mit dem Programmieren vertraut sind und Loop-Abfragen in Ihren Vorlagen ausführen möchten, dann erfahren Sie hier, wie das geht. Durch Abfragen der Datenbank können Sie Elemente aus einem benutzerdefinierten Beitragstyp abrufen.

Sie müssen den folgenden Codeausschnitt in die Vorlage kopieren, in der Sie den benutzerdefinierten Beitragstyp anzeigen möchten.

<?php 
$args = array( 'post_type' => 'movies', 'posts_per_page' => 10 );
$the_query = new WP_Query( $args ); 
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?> 
</div>
<?php endwhile;
wp_reset_postdata(); ?>
<?php else:  ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

Dieser Code definiert den Beitragstyp und die Anzahl der Beiträge pro Seite in den Argumenten unserer neuen WP_Query-Klasse. Anschließend wird die Abfrage ausgeführt, die Beiträge abgerufen und innerhalb der Schleife angezeigt.

Anzeigen von benutzerdefinierten Beitragstypen in Widgets

Sie werden feststellen, dass WordPress ein Standard-Widget zum Anzeigen aktueller Beiträge hat, aber es erlaubt Ihnen nicht, einen benutzerdefinierten Beitragstyp auszuwählen.

Was wäre, wenn Sie die neuesten Einträge Ihres neu erstellten Post-Typs in einem Widget anzeigen möchten? Glücklicherweise gibt es dafür eine einfache Möglichkeit.

Das erste, was Sie tun müssen, ist, das Custom Post Type Widgets Plugin zu installieren und zu aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung zur Installation eines WordPress-Plugins.

Nach der Aktivierung gehen Sie einfach zu Darstellung » Widgets und ziehen Sie das Widget „Neueste Beiträge (Benutzerdefinierter Beitragstyp)“ in eine Seitenleiste.

Widget für aktuelle benutzerdefinierte Beitragstypen

Dieses Widget ermöglicht es Ihnen, die neuesten Beiträge von jedem Beitragstyp anzuzeigen. Sie müssen Ihren benutzerdefinierten Beitragstyp aus dem Dropdown-Menü „Post Type“ auswählen und die gewünschten Optionen wählen.

Stellen Sie danach sicher, dass Sie auf die Schaltfläche „Aktualisieren“ oben auf dem Bildschirm klicken und dann Ihre Website besuchen, um das Widget in Aktion zu sehen.

Vorschau des Widgets für benutzerdefinierte Beitragstypen

Das Plugin bietet auch Widgets für benutzerdefinierte Beitragstypen, die Archive, einen Kalender, Kategorien, aktuelle Kommentare, Suche und eine Tag-Cloud anzeigen.

Erkunden Sie sich also gerne und wählen Sie diejenige aus, die Sie benötigen.

Widget für benutzerdefinierte Beitragstyp-Archive

Häufig gestellte Fragen (FAQs): Benutzerdefinierte Beitragstypen in WordPress

Hier sind einige der häufigsten Fragen, die uns zum Erstellen von benutzerdefinierten Beitragstypen in WordPress gestellt werden.

Was ist der Unterschied zwischen einem benutzerdefinierten Beitragstyp und einer Kategorie?

Ein benutzerdefinierter Beitragstyp dient zum Erstellen eines brandneuen Inhaltstyps, während eine Kategorie zum Gruppieren vorhandener Inhalte dient. Zum Beispiel wäre „Buchrezensionen“ ein benutzerdefinierter Beitragstyp. „Belletristik“ und „Sachbuch“ wären Kategorien, um diese Buchrezensionen zu organisieren.

Werden beim Löschen eines benutzerdefinierten Beitragstyps auch alle seine Inhalte gelöscht?

Nein, der Inhalt wird nicht aus Ihrer Datenbank gelöscht, aber er wird ausgeblendet und ist nicht mehr zugänglich. Um die Beiträge wieder sichtbar zu machen, müssten Sie den benutzerdefinierten Beitragstyp mit demselben Namen erneut registrieren.

Wir empfehlen immer, ein vollständiges WordPress-Backup zu erstellen, bevor Sie Beitragstypen entfernen.

Wie füge ich benutzerdefinierte Felder zu meinem benutzerdefinierten Beitragstyp hinzu?

Sie können ganz einfach benutzerdefinierte Felder hinzufügen, um Ihren Beitragstypen strukturiertere Informationen hinzuzufügen, z. B. ein Feld „Regisseur“ zu einem Beitragstyp „Filme“. Dies können Sie mit Code tun oder ein beliebtes Plugin wie Advanced Custom Fields (ACF) für eine benutzerfreundliche Oberfläche verwenden.

Video-Tutorial – So erstellen Sie benutzerdefinierte Beitragstypen in WordPress

Bevor Sie gehen, sollten Sie sich unbedingt unser Video-Tutorial ansehen, wie Sie benutzerdefinierte Beitragstypen in WordPress erstellen.

WPBeginner abonnieren

Weitere Anleitungen zur Verwaltung von WordPress-Beiträgen und -Seiten

Wir hoffen, dieses Tutorial hat Ihnen geholfen zu lernen, wie Sie benutzerdefinierte Beitragstypen in WordPress erstellen. Als Nächstes möchten Sie vielleicht auch lernen:

Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, wenn Sie auf einige unserer Links klicken, können wir eine Provision verdienen. Sehen Sie wie WPBeginner finanziert wird, warum das wichtig ist und wie Sie uns unterstützen können. Hier ist unser Redaktionsprozess.

Das ultimative WordPress-Toolkit

Erhalten Sie KOSTENLOSEN Zugang zu unserem Toolkit – eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Leserinteraktionen

134 CommentsLeave a Reply

  1. Hallo, welchen Plugin haben Sie verwendet, um Ihre Angebote auf Ihrer Angebotsseite (oben erwähnt) zu organisieren? Es sieht fantastisch aus!

    • Derzeit sind sie basierend auf unserem benutzerdefinierten Theme und nicht auf einem bestimmten Plugin gestaltet.

      Admin

  2. Ah, ich müsste das noch einmal durchlesen, da mein Gehirn im Moment nicht auf Programmierung eingestellt ist, lol

  3. Tolle Sache! Danke!

    Ist es möglich, eine Kategorie für die CPT auszuwählen oder eine eigene Kategorieliste zu erstellen?
    In Ihrem Beispiel von 'Filme' – welche Kategorie auswählen – Familie, Drama, Action, etc?

  4. Hallo! Wie kann ich die Abfrage so einstellen, dass benutzerdefinierte Beitragstypen nur nach Kategorie auf der Kategorieseite angezeigt werden? Derzeit zieht meine Abfrage ALLE Beitragstypen, und ich kann einfach nicht die aktuelle Kategorie anzeigen lassen. Danke

  5. Ich habe diese Methode verwendet, die Sie oben erklärt haben, aber nach dem Erstellen eines neuen Menüs wurde das Menü erfolgreich erstellt, aber wenn ich auf mein Menü klicke, wird mir der Fehler angezeigt: „Diese Seite konnte nicht gefunden werden“

    • Es klingt, als müssten Sie Ihre Permalinks zur Sicherheit überprüfen und erneut speichern. Das andere, was Sie tun könnten, wäre sicherzustellen, dass Sie einen benutzerdefinierten Beitragstyp veröffentlicht haben, der auf der Seite gefunden werden kann.

      Admin

  6. Also habe ich Code Snippets und den längeren Code verwendet, aber die Funktionen nach 'supports' sind nirgends sichtbar? Sollten sie sichtbar sein, wenn man auf "Neu hinzufügen" klickt? Wie füge ich einen neuen Film und seine Informationen ein? Ich verstehe es nicht.

    • In Ihrem Admin-Bereich sollte ein neuer Abschnitt vorhanden sein, in dem Sie neue Beiträge Ihres benutzerdefinierten Beitragstyps hinzufügen können, ähnlich wie Sie Beiträge oder Seiten hinzufügen.

      Admin

  7. Wie kann ein benutzerdefinierter Beitragstyp angezeigt werden und wo wird der Code für die Anzeige eingefügt?

  8. Scheint perfekt zu funktionieren, bis auf eine Sache: Mein Theme zeigt Beitragsbilder auf den Seiten an. Aber wenn ich das CPT verwende, werden die Bilder nie angezeigt, egal was ich tue. Irgendeine Idee, warum?

    • Ihr Theme verwendet wahrscheinlich eine andere Vorlage. Wenn Sie sich an den Support Ihres Themes wenden, sollten sie Ihnen helfen können.

      Admin

  9. Ich habe viele Dinge mit dem obigen Code ausprobiert, sogar einen Vergleich mit dem twintytwintyone-Theme von WordPress. Aber die Post-Typen erscheinen nicht im Backend im Post-Editor.

  10. Danke, sehr nützlich.

    Was denken Sie? Ist es in solchen Fällen aus Sicht der Website-Geschwindigkeit besser, das Plugin zu installieren oder den von Ihnen bereitgestellten Code zu schreiben?

  11. Vielen Dank für die Hilfe. Ich versuche, eine Filmdatenbank auf meiner Website zu erstellen
    Ihr Beitrag hat mir wirklich geholfen.

  12. Toller Artikel! Ich habe versucht, zwei verschiedene Beitragstypen zusätzlich zu Blogbeiträgen hinzuzufügen, aber der zweite add_action( 'init', 'create_posttype' ); hat den ersten überschrieben. Ich kenne PHP nicht, frage mich aber, ob es möglich ist, zwei verschiedene in derselben functions.php-Datei zu erstellen. Ich kenne PHP nicht, vielleicht liegt es an der Art, wie ich es schreibe?

    • Wir empfehlen die Plugin-Methode, um den Vorgang zu vereinfachen. Für einen zweiten Beitragstyp mit dem Code müssten Sie die Zeilen 4 bis 17 kopieren und unter Zeile 17 auf eine neue Zeile einfügen und dann 'movies' in einen anderen Namen umbenennen.

      Admin

  13. Der Artikel hat mir wirklich gut gefallen, einfach erklärt und war wirklich eine große Hilfe.
    Ich wollte benutzerdefinierte Beiträge und Blogbeiträge auf einer einzigen Seite mischen und konnte dies nach dem Lesen des Artikels tun.

  14. Tolles Rezept! Danke!
    Eine Frage:
    ‘exclude_from_search’ => true
    sollte meine neuen benutzerdefinierten Beiträge von den Suchergebnissen ausschließen, glaube ich. Warum funktioniert es nicht?

  15. Gibt es eine Möglichkeit, den neuen Beitragstyp ohne den neuen Slug anzuzeigen? Beispiel. Standard ist mysite.com/newposttype/newpage

    Ich würde gerne

    mysite.com/newpage/

  16. Hallo,

    Ich habe versucht, den manuellen Ansatz mit dem von Ihnen erwähnten einfachen Code zum Erstellen eines benutzerdefinierten Beitragstyps zu verwenden, aber leider werden die Beiträge nicht angezeigt (Fehler: Seite nicht gefunden). Die Permalink-Struktur der Beiträge sieht gut aus, aber die Beiträge werden nicht angezeigt.

    • Sie möchten vielleicht den Cache für Ihre Website leeren und Ihre Permalinks erneut speichern, um dieses Problem zu beheben.

      Admin

  17. hey vielen Dank, es funktioniert gut, aber ich möchte den Beitragstyp auf einer Seite anzeigen, auf der nur Kategorien angezeigt werden, und wenn auf eine Kategorie geklickt wird, werden die Beiträge unter dieser Kategorie geöffnet. Können Sie mir bitte vorschlagen, wie ich das machen kann. Vielen Dank im Voraus.

    • Für das, was Sie wollen, müssten Sie sicherstellen, dass Kategorien für Ihre benutzerdefinierte Beitragsart aktiviert sind, und Sie könnten dann den Kategorie-Link in Ihrem Menü für die Seite, die sie auflistet, wie gewünscht hinzufügen.

      Admin

  18. Hallo, ich bin ein neuer Entwickler und versuche, einen benutzerdefinierten Beitragstyp zu erstellen.

    Alles ist gut, nur 1 riesiges Problem.

    Ich möchte die Taxonomien, die ich erstellt und mit dem Beitrag verknüpft habe (Tags und Kategorien), auf dem Beitrag selbst anzeigen.

    Ich möchte es auch in meinen Breadcrumbs anzeigen.

    Bitte, es würde die Welt bedeuten, wenn Sie mir helfen würden.

    Danke im Voraus.

  19. Ich möchte einen CPT für meine englischen Beiträge, meine Website ist in einer RTL-Sprache, ist das möglich?

  20. Eine Frage, im Standard-WP-Beitrags-Dashboard gibt es oben in der Liste eine Filterfunktion nach Kategorien.

    Ich verknüpfe meinen benutzerdefinierten Beitragstyp bereits mit einer benutzerdefinierten Taxonomie, aber das Filtermenü wird nicht angezeigt (ein Portfolio-Beitragstyp und die benutzerdefinierte Taxonomie für Portfolio-Kategorien). Gibt es Einstellungen, die ich aktivieren muss? Ich mache das innerhalb meiner functions.php

  21. Hallo, also „Custome Post Type UI“ ist nicht mit meiner WP-Version kompatibel! Gibt es ein nützliches Plugin, das ich VERWENDEN KANN?

  22. Hallo!. Ich möchte Sie etwas fragen.
    Ich habe einen benutzerdefinierten Beitragstyp erstellt.
    Aber wenn ich einen Beitrag erstelle, gibt es nicht die Optionen „Seitenattribute“, um die Vorlage auszuwählen und die Beiträge zu sortieren.
    Wie bekomme ich das?

    Danke im Voraus.

    • Hallo Oscar,

      Wenn Sie das CPT UI-Plugin zum Erstellen benutzerdefinierter Beitragstypen verwenden, müssen Sie sicherstellen, dass Sie die Option "Seitenattribute" im Abschnitt "Unterstützt" aktivieren. Dies ermöglicht es Ihnen, übergeordnete Seiten Ihren benutzerdefinierten Beitragstypen zuzuweisen. Wenn Sie benutzerdefinierten Code zum Erstellen benutzerdefinierter Beitragstypen verwenden, stellen Sie sicher, dass Sie "page-attributes" im Supports-Parameter einschließen, um diese Funktion zu aktivieren.

  23. Ich habe ein CPT mit einer eindeutigen Archivseite erstellt, aber ich möchte in der Lage sein, ein Beitragsbild für die Archivseite anzuzeigen (nicht vom ersten Beitrag), aber da die Archivseite nicht in „Seiten“ existiert, gibt es keine Möglichkeit, das Beitragsbild hinzuzufügen.

    wie würde das erreicht werden?

  24. Ist es möglich, über die WP REST API auf diese benutzerdefinierten Beitragstypen zuzugreifen? Wenn ja, wie? (für GET, POST usw.)

  25. Ich möchte eine benutzerdefinierte Beitragsart-Seite, die von der archive.php-Seite mit all ihren Beiträgen geöffnet wird, und unter dieser Seite möchte ich alle ihre Beiträge als Untermenüpunkte platzieren. Aber wenn ich eine benutzerdefinierte Link-Seite erstelle und ihre Untermenüpunkte wie beschrieben platziere, öffnet sich die URL des Untermenüs, aber meine Hauptarchivseite, ich meine die URL der Beitragsart-Seite, verschwindet.
    Bitte, ich möchte auf beide Seiten zugreifen.. Aber wie...?

  26. Ermöglicht mir das Hinzufügen von benutzerdefinierten Beitragstypen, eine weitere Beitragsseite dafür zu haben? Meine normale Startseite hat Produkte, die dort laufen. Ich brauche eine zusätzliche Beitragsseite für Produktbewertungen. Wenn ich eine Bewertung erstelle, muss sie auf einer anderen Feature-Seite veröffentlicht werden. Ist das, wofür das hier ist?

  27. Vergessen Sie die letzte Frage, die ich gestellt habe, ich habe Ihren ganzen Artikel gelesen und verstanden.

  28. Hey, was bedeutet 'twentythirteen' in
    "_x(‘Movies’, ‘Post Type General Name’, ‘twentythirteen’)"

    • Beachten Sie auch die wiederholte Verwendung von twentythirteen, dies wird als Textdomain bezeichnet. Wenn Ihr Theme übersetzungsbereit ist und Sie möchten, dass Ihre benutzerdefinierten Beitragstypen übersetzt werden, müssen Sie die von Ihrem Theme verwendete Textdomain angeben. Sie finden die Textdomain Ihres Themes in der Datei style.css in Ihrem Theme-Verzeichnis. Die Textdomain wird im Header der Datei erwähnt.

  29. Hallo und vielen Dank für diesen Beitrag (und mehrere andere).

    Ich habe den neuen benutzerdefinierten Beitragstyp „stories“ erstellt und er wird in meinem WP-Dashboard angezeigt. Ich kann einen neuen Beitrag erstellen, aber wenn ich versuche, den Beaver Builder Page Builder zum Erstellen des Beitrags zu öffnen, wird er nicht geöffnet und führt zu einer Fehlermeldung „Entschuldigung, diese Seite existiert nicht“.

    Können Sie helfen?

    Danke,
    Angela

    • Hallo Angela,

      Zuerst sollten Sie versuchen, Ihre Permalinks zu aktualisieren. Besuchen Sie einfach Einstellungen » Permalinks und klicken Sie dann auf die Schaltfläche „Änderungen speichern“, ohne etwas zu ändern.

      Wenn dies Ihr Problem nicht löst, wenden Sie sich an den Support des Plugins.

      Admin

      • Hi and thank you for your reply. I did what you suggested and it didn’t help. My plugin is created using the customer post type code above and is placed in a site-specific plugin, so I have no plugin support source from which to seek help other than you :)

        Ich habe das websitespezifische Plugin gelöscht (das natürlich den CPT-Code enthielt) und neue Beiträge und Seiten werden immer noch nicht mit der Seitenerstellungsfunktion des Beaver Builder Themes geladen, aber sie zeigen zumindest die Seite mit einer großen weißen Leiste, die endlos lädt. Ich habe das Ultimate Add-ons für Beaver Builder Plugin deaktiviert und neue Beiträge und Seiten werden jetzt mit dem Seitenersteller geladen. Ich glaube, es gab einen Konflikt zwischen dem UABB-Plugin und dem CPT-Plugin und jetzt besteht der Konflikt im UABB-Plugin.

        Jeder Vorschlag wäre sehr willkommen. Ich habe auch eine Anfrage an UABB gestellt. Vielleicht können Sie beide helfen, dieses Problem zu lösen und diesen Konflikt für zukünftige Referenz zu vermerken.

  30. Tolle Seite übrigens, wirklich sehr hilfreich, danke fürs Erstellen.

    Ich stecke fest und habe Tutorials im ganzen Web gelesen, aber keine Antworten gefunden, die ich brauche.

    Ich möchte eine benutzerdefinierte Taxonomie für Benutzer-Opt-in erstellen (nennen wir sie user_interests), die verwendet werden kann, um eine benutzerdefinierte Liste von Beiträgen anzuzeigen, die für diesen bestimmten Benutzer einzigartig sind.

    Der Benutzer stimmt der Verwendung von user_interest-Tags/Kategorien/was auch immer während der Registrierung oder bei der Bearbeitung seines Profils zu.

    Dann sollte die WP-Schleife diese Werte enthalten, um Beiträge anzuzeigen

    Irgendwelche Ideen, Hilfe wäre wirklich willkommen, danke.

  31. Wie kann ich meinen Benutzern/Besuchern meiner Website ermöglichen, Informationen in ein Formular einzugeben, und diese übermittelten Daten auf jeder beliebigen Seite oder an jedem beliebigen Ort anzeigen lassen? Ich möchte meinen Benutzern erlauben, Beschwerden einzureichen, und anderen Benutzern ermöglichen, die Hauptbeschwerde zu liken/zu beantworten.

    Kann ich das mit Custom Post Type machen?

  32. Sie haben einen Syntaxfehler in Ihrem zweiten (detaillierteren) Beispiel, der Code funktioniert nicht in der neuesten WordPress-Version 7.4.3

    ) Warnung: call_user_func_array() erwartet Parameter 1 als gültigen Callback, Funktion 'custom_post_type' nicht gefunden oder ungültiger Funktionsname

    Irgendeine Chance auf ein Update / eine Korrektur?

    • In Zeile 31? Ja, das ist normaler PHP-Code.
      „Das Komma nach dem letzten Array-Element ist optional und kann weggelassen werden. Dies wird normalerweise für einzeilige Arrays getan, d. h. array(1, 2) wird gegenüber array(1, 2, ) bevorzugt. Für mehrzeilige Arrays hingegen wird das abschließende Komma häufig verwendet, da es das einfachere Hinzufügen neuer Elemente am Ende ermöglicht.“

  33. Hallo, ich habe Probleme mit diesem Plugin.

    Es hat die Option zum Erstellen von Kategorien und Tags deaktiviert,
    Ich habe nach einem Beispiel gesucht, um sie manuell einzufügen, aber ich habe noch nichts gefunden.

    Ich versuche, dies rückgängig zu machen, ob ich mit dieser Methode das Problem beheben kann, aber ich würde Ihre Hilfe sehr schätzen.

    • Fügen Sie in Ihrem $args-Array unter dem Index 'taxonomies' 'category' und 'post_tag' hinzu.
      Das sollte den Trick machen.

    • Deshalb benutze ich mein eigenes CMS, wo ich in Sekundenschnelle neue Beitragsarten direkt über das CMS selbst erstellen kann. Ohne Programmierung, leider wollen große Agenturen Wordpress-Entwickler und müssen es lernen, es scheint so kompliziert..

  34. Hallo, es ist mir gelungen, eine Gruppe von CPTs mit einem bestimmten Design in einem Pop-up anzuzeigen, wenn man auf ein Bild wie das erste klickt. Aber es öffnet sich eine neue Seite und wenn man aus dem Pop-up klickt, um es zu schließen, kehrt man nicht zur Homepage zurück, und das möchte ich nicht. Ich möchte alles auf der Homepage.

    Ich habe den Code des CPT, der als Pop-up auf „single-chg_projet.php“ angezeigt wird, eingefügt und das Pop-up mit JavaScript geöffnet und geschlossen. Ich habe bereits versucht, den gesamten Code von single-chg_projet.php in den Index einzufügen, aber es wird nichts angezeigt. Oder ich habe irgendwo einen Fehler gemacht. Bitte helfen Sie mir. Danke

  35. Hallo,

    Danke für den tollen Code. Nur eine kleine Korrektur am Code. Die Anweisung endwhile; fehlt vor der Anweisung else: im Abschnitt „Abfragen benutzerdefinierter Beitragstypen“ =)

    • DAS! Bitte aktualisieren Sie Ihren Code, um diese Syntaxfehler widerzuspiegeln, da sie mir einige Kopfschmerzen bereitet hat, bis ich Ghulams Kommentar gefunden habe. Es funktioniert jetzt.

  36. Hey, kannst du mich durch den Prozess führen, ein benutzerdefiniertes Glossar wie das auf deiner Website zu erstellen?

  37. Wie klone ich einen Beitragstyp, der eine spezifische Tabelle enthält? Ich muss einen separaten Beitragstyp für andere Tabellen erstellen.

  38. Ich habe das Plugin heruntergeladen und möchte zwei benutzerdefinierte Beitragstypen hinzufügen. 1. Fanfiction für all meine Schriften und 2. Fanart für all meine Kunst.

    Für Fanfiction – Ich möchte die Möglichkeit haben, Kapitel zu einer Geschichte zu verknüpfen und Kapitel zu einer Geschichte hochzuladen, während ich sie schreibe.

    Für Fanart – Ich möchte, dass der Fokus auf einem Bild liegt (offensichtlich) mit einer Beschreibung darunter

    Ist dieser Artikel das, was ich brauche, oder ist das etwas ganz anderes?

    Danke,
    Megan

  39. Hallo,

    Ich habe den Code einfach in die functions.php meiner Website kopiert. Der neue Beitragstyp ist im Dashboard sichtbar, aber wenn ich versuche, einen Beitrag nach der Veröffentlichung anzuzeigen, erscheint eine leere Seite. Später stellte ich fest, dass selbst die Standardbeiträge nicht geöffnet werden.

    Wenn ich den Code aus functions.php entferne, funktioniert alles wieder einwandfrei.

    Please help :(

    Danke,

    Zubair Abbas

    • Wenn Sie eine leere Seite sehen, bedeutet dies oft, dass Sie ein Zeichen vergessen haben. Die Tatsache, dass Sie die Beiträge sehen, wenn Sie Ihren benutzerdefinierten Code löschen, bestätigt, dass Sie einen Tippfehler haben. Überprüfen Sie Semikolons „;“ und die öffnenden und schließenden Klammern.
      Um genau zu sehen, wo Sie einen Fehler gemacht haben, könnten Sie die Datei wp-config bearbeiten. Suchen Sie nach ERROR REPORTING und setzen Sie diesen Wert auf true. Testen Sie danach erneut und dort erhalten Sie einen Fehler und eine Zeile mit der Auslassung.

  40. Ich habe den CPT erstellt und er funktioniert wunderbar, aber Google kann ihn nicht finden, selbst nach der Aktualisierung von Sitemaps, der Verwendung von SEO-Plugins oder dem Abrufen in Google Webmaster Tools. Haben Sie eine Idee, warum das passiert?

    • Es dauert einige Zeit, bis Google neue Inhalte in den Suchergebnissen anzeigt. Um sicherzugehen, überprüfen Sie die Einstellungen Ihres SEO-Plugins, um sicherzustellen, dass Sie die Indizierung Ihrer CPTs oder CPT-Archivseiten nicht blockieren.

      Admin

Hinterlasse eine Antwort

Vielen Dank, dass Sie einen Kommentar hinterlassen. Bitte beachten Sie, dass alle Kommentare gemäß unserer Kommentarrichtlinie moderiert werden und Ihre E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwenden Sie KEINE Schlüsselwörter im Namensfeld. Führen wir ein persönliches und bedeutungsvolles Gespräch.