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. 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.“

  2. 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..

  3. 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

  4. 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.

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

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

  7. 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

  8. 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.

  9. 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

  10. Das Erstellen eines benutzerdefinierten Beitragstyps kann einfach sein, insbesondere mit einem Plugin. Der eigentliche Trick besteht darin, sie auf der Seite anzuzeigen. Normalerweise benötigen Sie ziemlich fortgeschrittene benutzerdefinierte Entwicklungen oder themenspezifische Plugins wie dieses für Avada.

    Leider gibt es keine universelle Methode, um CPTs in WordPress anzuzeigen.

    • Wie der Autor sagte, aber ich werde die Antwort wiederholen.
      Kurz gesagt, erstellen Sie einen Link in Ihrem Navigationsmenü
      Fortgeschrittene Antwort kurz gesagt: Erstellen Sie eine Archivseite und eine einzelne Seite

  11. Toller Artikel. Wie kann man die Informationen einzelner CPT-Beiträge basierend auf der benutzerdefinierten Taxonomie ändern? Zum Beispiel:

    Datum | Autor | Serie | Buch | Thema

    Das ist einfach zu schreiben, aber ich möchte herausfinden, wie man modifizierte Post-Infos anzeigt, wenn eine der fehlenden Taxonomien von Serien fehlt, wie zum Beispiel:

    Datum | Autor | Buch | Thema

    Andernfalls werden die Standard-Postinformationen wie folgt angezeigt:

    Datum | Autor | | Buch | Thema

  12. Ich möchte spezifische Kategoriebeiträge für den aktuellen Benutzer auf einer Seite anzeigen. Wie kann ich das tun?

  13. Sehr geehrte/r,

    Danke für den Beitrag. Ich möchte eine Bibliothek von E-Books erstellen und benutzerdefinierte Beitragstypen und Portfolios verwenden, um die Miniaturansichten von Büchern im Frontend anzuzeigen. Können Sie mir bitte Anleitungen geben, wie ich das machen kann?

  14. Hallo zusammen,
    Dies ist ein großartiges Plugin. Ich versuche, die Taxonomie auf der Seite anzuzeigen. Ich habe eine namens Referenten erstellt. Sie können sie hier sehen.

    Wie kann ich das erreichen?

    Danke

  15. Hallo,
    Ich habe ein Formular erstellt (mit dem ArForms-Plugin), das ich in einen Post-Type umwandeln lassen möchte. Haben Sie Vorschläge, wie ich das am besten bewerkstelligen kann?

    Danke.

  16. Danke dafür, genau das, was ich wissen musste, um benutzerdefinierte Beitragstypen zu verstehen.

    Mark.

  17. Danke! Genau das, was ich gesucht habe. Es ist erstaunlich, wie oft ich WordPress-Workarounds finde und dann vergesse, wie ich sie mache, und immer wieder zurückkommen muss.

    Sehr geschätzt!

  18. Sehr geehrte/r,

    Ich habe nicht viel Ahnung von Programmierung. Wie kann ich auf der spezifischen Seite diese benutzerdefinierten Beitragstypen und Taxonomien sehen?

    Vielen Dank im Voraus!
    MELAS

  19. Hallo,
    Vielen Dank für dieses wunderschöne Tutorial.
    Ich bin vorgegangen und habe alles so gemacht, wie Sie es gesagt haben.
    Zwei Dinge verstehe ich nicht:
    1.
    Sie haben die Taxonomie „Genre“ angegeben. Wo ist das eingerichtet? Was ist, wenn ich die eigentlichen Genres darunter machen möchte? Wie erstelle ich sie? Wo sehe ich sie?
    2.
    Ich möchte die Menülinks zu den „Filmen“ und darunter – Unterlinks zu den „Genres“ erstellen. Ich sehe die „Filme“ im Menübereich, jeden Beitrag, wie Seiten. Das brauche ich eigentlich nicht, aber es stört mich nicht. Wie sehe ich die „Genres“ dort?
    Danke,
    Vera

    • Es scheint, dass Sie Ihren benutzerdefinierten Beitragstyp, d. h. Filme, erfolgreich erstellt haben. Der nächste Schritt ist die Erstellung einer benutzerdefinierten Taxonomie, Genres. Eine Taxonomie ist eine Möglichkeit, Inhalte in WordPress zu sortieren. Kategorien und Schlagwörter sind zwei Standardtaxonomien, die in WordPress integriert sind und standardmäßig mit „Beiträgen“ verknüpft sind. Bitte lesen Sie unser Tutorial, wie Sie benutzerdefinierte Taxonomien in WordPress erstellen. Befolgen Sie die Anweisungen in diesem Tutorial, um Ihre benutzerdefinierte Taxonomie Genres zu erstellen und sie mit dem Beitragstyp Filme zu verknüpfen. Ihre benutzerdefinierte Taxonomie wird unter dem Menü Filme im WordPress-Adminbereich angezeigt.

      Admin

  20. Ich mache all das, aber wenn ich einen Beitrag mit diesem Beitragstyp veröffentlichen möchte, werden meine Beitragstypen auf die Hauptseite weitergeleitet (ich habe Ihren Code einfach ohne Änderungen kopiert)
    Zum Beispiel schreibe ich diesen Beitrag mit dem Beitragstyp Filme

    Bitte helfen Sie mir, ich liebe Post-Typen, aber ich kann sie nicht richtig verwenden

  21. Hallo, ich versuche, den Code-Schnipsel für den Beitragstyp Film hinzuzufügen... ich habe ihn in functions.php kopiert, aber wenn ich die Seite aktualisiere, wird nichts angezeigt. Ich benutze das Twenty Fourteen Theme... was kann falsch sein?

  22. Hallo, benutzerdefinierte Beitragstypen auf meiner WordPress-Website funktionierten 2 Jahre lang einwandfrei. Aber was passiert ist, ist, dass, wenn ich den Titel eines Beitrags ändere und auf Aktualisieren klicke, auch andere Änderungen gespeichert werden. Aber wenn ich den Beitragstitel gleich lasse und Änderungen am Beitrag vornehme, wird er nicht gespeichert. Irgendwelche Empfehlungen bitte?

  23. Ich möchte einen benutzerdefinierten Beitragstyp 'Coupons' mit der Option 'Coupon anzeigen' erstellen, und der Code soll auf die Shop-URL verlinken. Können Sie mir sagen, wie ich das machen kann? Ich habe nicht viel Ahnung von Programmierung.

    • es ist eines der Argumente ($args) bei der Definition des benutzerdefinierten Beitragstyps.
      Fügen Sie ‘menu-icon’ => ‘dashicons-cart’ zur $args-Liste hinzu.
      WordPress verwendet integrierte Dashicons, aber Sie können auch Ihre eigenen Icons verwenden.
      Weitere Informationen finden Sie unter diesem Link:

  24. Hallo, der Auszug und die Daten der benutzerdefinierten Felder werden im Frontend nicht angezeigt… irgendeine Idee, warum das passiert?

  25. Ich habe vergessen zu erwähnen, vorzugsweise per Code für meine functions.php-Datei, da dort die Curernet CPT definiert sind.

  26. Ich suche nach einer Möglichkeit, Kategorien zu einigen bestehenden benutzerdefinierten Beitragstypen hinzuzufügen. Kann mir jemand in die richtige Richtung weisen?

    • Sie können neue Taxonomien zu einem bestehenden Beitragstyp (benutzerdefiniert oder nicht) hinzufügen, indem Sie einfach den richtigen Beitragstyp angeben, wenn Sie die Funktion zum Erstellen schreiben. Kategorie ist nur ein Taxonomiename, der alle Beiträge mit einer Kategorie enthält.
      Wenn Sie eine neue Kategorie erstellen möchten, klicken Sie einfach auf "Kategorie" im Menü und erstellen Sie eine neue.
      Beispiele für Kategorien sind Boote, wenn Ihr Beitrag über Boote handelt, oder Flugzeuge, wenn Ihr Beitrag über Flugzeuge handelt. Mehrere Kategorien sind ebenfalls möglich, wählen Sie sie einfach auf der rechten Seitenleiste aus oder fügen Sie sie hinzu, wenn Sie Ihren neuen Beitrag schreiben oder einen bearbeiten.
      Ein Beitragstyp ist nicht an eine bestimmte Kategorie gebunden oder verknüpft, ein Beitrag ist es.

  27. Ich habe gerade versucht, den Ausschnitt unter
    Abfragen von benutzerdefinierten Beitragstypen
    zu verwenden, und festgestellt, dass er vor dem Zurücksetzen ein benötigt.

  28. Danke für den sauberen, hilfreichen Artikel
    Ich möchte nur den Texteditor im benutzerdefinierten Beitrag verwenden
    damit ich HTML-Tags verwenden kann,

  29. vielen Dank für ein so tolles, klares Tutorial
    aber ich habe ein Problem bei der Anzeige des CPT. Ich verwende SEO-freundliche Permalinks, wenn ich zu meiner Website/Filme gehe, werden die CPT dupliziert

  30. Sehr nützlich! Danke.

    Ich möchte jedem Tag meiner Beiträge eines der folgenden Zeichen hinzufügen: +, -, +/-. Darf ich?

    Wenn ja, dann hätte ich die Wahl, die signierten Tags wie folgt darzustellen: alle +Tags, alle -Tags, alle +/-Tags.

    Ich glaube, ich hinterfrage viele Dinge.

  31. Hallo,

    Ich habe Schwierigkeiten, einen benutzerdefinierten Beitragstyp korrekt zu implementieren. Ich habe lange nach einer Lösung gesucht, aber keine gefunden. Hier ist, was ich getan habe:

    1. Frisch installiertes WordPress auf meinem lokalen WAMP-Server (zuerst rewrite_module von Apache aktiviert).

    2. Standard-Theme (twenty fourteen) verwendet. Keine Plugins installiert.

    3. Permalinks auf „Post Name“ geändert

    4. Im Plugins-Ordner habe ich einen Ordner namens pr_custom_posts erstellt und darin eine Datei namens pr_custom_posts.php. In der Datei habe ich einen benutzerdefinierten Beitragstyp erstellt. Der Code lautet wie folgt:

    register_post_type();

    //flush_rewrite_rules();

    }

    public function register_post_type () {

    $args = array(

    'labels' => array (

    ‘name’ => ‘Filme’,

    ‘singular_name’ => ‘Film’,

    ‘add_new’ => ‘Neuen Film hinzufügen’,

    ‘add_new_item’ => ‘Neuen Film hinzufügen’,

    ‘edit_item’ => ‘Film bearbeiten’,

    ‘new_item’ => ‘Neuen Film hinzufügen’,

    ‘view_item’ => ‘Film ansehen’,

    ‘search_items’ => ‘Filme suchen’,

    ‘not_found’ => ‘Keine Filme gefunden’,

    ‘not_found_in_trash’ => ‘Keine Filme im Papierkorb gefunden’

    ),

    ‘query_var’ => ‘movies’,

    „rewrite“ => array (

    ‚slug‘ => ‚movies/‘,

    ‘with_front’=> false

    ),

    ‚public‘ => true,

    „publicly_queryable“ => true,

    ‘has_archive’ => true,

    ‘menu_position’ => 10,

    ‚menu_icon‘ => admin_url().’/images/media-button-video.gif‘,

    ‘supports’ => array (

    'title',

    ‘thumbnail’,

    ‚Editor‘

    )

    );

    register_post_type(‘jw_movie’, $args);

    //flush_rewrite_rules();

    }

    }

    add_action(‘init’, function() {

    new PR_Movies_Custom_Post();

    //flush_rewrite_rules();

    });

    ?>

    Das Gute: Das CPT wird in meinem Admin-Panel angezeigt und ich kann dort Filme hinzufügen und ansehen.

    DAS PROBLEM: Ich kann die Filme im Frontend nicht in der Vorschau anzeigen (indem ich auf „Anzeigen“ im CPT im Admin-Panel klicke). Sie werden im Frontend nur angezeigt, wenn ich die Permalink-Einstellung auf Standard setze (http://localhost/wp02/?p=123).

    Was ich versucht habe:

    1. Gehen Sie zu Permalink, lassen Sie die Permalink-Einstellungen auf „Beitragsname“ stehen und speichern Sie die Änderungen.

    2. Verwenden Sie flush_rewrite_rules() an mehreren Stellen (eine nach der anderen) in meinem Code. Bitte beachten Sie die auskommentierten Teile im obigen Code.

    3. Einen Menüpunkt erstellt als:

    URL: http://localhost/wp02/movies

    Navigationsbezeichnung: Filme

    Dies erstellt einen Menüpunkt im Frontend, zeigt aber „Nicht gefunden“ an, wenn auf den Link „Filme“ geklickt wird.

    Das macht mich wahnsinnig. Kann mir bitte jemand helfen? Ich wäre Ihnen sehr dankbar.

    • Ich wurde auch verrückt mit demselben "Nicht gefunden"-Problem, bis ich Folgendes versuchte: Gehen Sie zu Einstellungen > Permalinks und speichern Sie dann Ihre Einstellungen erneut. Ich hatte meine Einstellung auf Standard umgestellt und dann für die Bedürfnisse meines Projekts auf Post Name geändert. Danach funktionierten die Links wie erwartet.

  32. Ein weiterer einfacher Weg ist, einfach archive.php zu duplizieren und in archive-movies.php umzubenennen, und dasselbe für single.php -> single-movies.php

    Dann können Sie Änderungen an den PHP-Dateien Ihres Themes vornehmen.

    Mit freundlichen Grüßen

  33. Hallo, ich lese und verfolge deine Beiträge schon so lange, du bist erstaunlich und zielst auf die fehlenden Dinge für Anfänger ab… Danke.

  34. This plugin should be okay, but after every upgrade they’ve got some bug. Due to exporting field, or while migrating from local to remote etc… So It’s better to hand-write the code and put into functions.php :D

Kommentar hinterlassen

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.