So erstellen Sie programmgesteuert einen benutzerdefinierten WordPress-Beitragstyp

Veröffentlicht: 2021-10-05

Möchten Sie benutzerdefinierte Beitragstypen auf Ihrer Website veröffentlichen? Wir geben dir Deckung. In diesem Leitfaden zeigen wir Ihnen, wie Sie benutzerdefinierte WordPress-Beitragstypen programmgesteuert mit ein wenig Code erstellen.

Ursprünglich wurde WordPress erstellt, um Beiträge zu veröffentlichen. Nach all den Jahren ist WordPress jedoch viel mehr als eine Plattform zum Veröffentlichen von Beiträgen. Heutzutage ist es die umfassendste Weblösung, die fast 40 % aller Websites unterstützt.

Obwohl es viele Funktionen integriert hat, ist Post-Publishing immer noch eine der besten Möglichkeiten, Benutzer auf Ihre Website zu locken und sie zu beschäftigen. WordPress bietet Standard-Beitragstypen, aber wenn Sie Ihre Website anpassen und einzigartig machen möchten, um sich von Ihren Mitbewerbern abzuheben, kann das Erstellen benutzerdefinierter Beitragstypen eine gute Lösung sein.

In diesem Tutorial zeigen wir Ihnen, wie Sie benutzerdefinierte WordPress-Beitragstypen programmgesteuert erstellen und veröffentlichen . Bevor wir uns damit befassen, wollen wir besser verstehen, was genau benutzerdefinierte Beitragstypen sind und wann Sie sie verwenden sollten.

Was ist ein benutzerdefinierter Beitragstyp?

Benutzerdefinierte Beitragstypen sind Arten von Inhalten. WordPress enthält standardmäßig mehrere Beitragstypen. Beiträge und Seiten sind die bekanntesten, aber es gibt noch andere:

  • Beiträge
  • Seiten
  • Anhänge
  • Navigationsmenüs
  • Revisionen
  • Angepasstes CSS
  • Änderungssätze

Die meisten Benutzer verwenden die ersten fünf Typen, aber es gibt noch andere Typen. Tatsächlich verwenden Sie wahrscheinlich einige davon, ohne zu wissen, dass es sich um benutzerdefinierte Beitragstypen handelt.

Das beste Beispiel für einen benutzerdefinierten Beitragstyp sind WooCommerce-Produkte. Wenn Sie WooCommerce zum ersten Mal aktivieren, erstellt das Plugin einen benutzerdefinierten Beitragstyp namens „Produkte“. Sobald Sie mit der Erstellung von Produkten beginnen, werden diese als Produkt-Post-Typ veröffentlicht, der alle Verbesserungen enthält, die WooCommerce bietet.

Auch wenn diese Beitragstypen nicht als benutzerdefiniert bezeichnet werden, können Sie Ihre Beitragstypen auf die gleiche Weise wie WooCommerce erstellen und ihnen den gewünschten Namen geben. Beispielsweise können Ereignisse, Listen, Zeitpläne, Lektionen, Portfolios und Profile Namen von Beitragstypen sein, die für bestimmte Websites nützlich sind.

Alles in allem handelt es sich bei benutzerdefinierten Beitragstypen um eine neue Art von Beiträgen , die Benutzer nach bestimmten Anforderungen erstellen können, um ihre Website anzupassen.

Warum und wann sollten Sie einen benutzerdefinierten Beitragstyp verwenden?

Benutzerdefinierte Post-Typen (CPT) können sehr unterschiedlich sein, je nachdem, wie sie aufgebaut sind, sodass Sie sie verwenden können, um alle Arten von Lösungen zu erzielen.

Sie können benutzerdefinierte Beitragstypen verwenden, wenn:

  • Sie werden regelmäßig eine bestimmte Art von Informationen posten, die Sie mit dem Standard-Posting-Typ nicht veröffentlichen können
  • Sie müssen eine bestimmte Art von Posts von den Standardposten unterscheiden
  • Sie müssen das Verhalten einiger Arten von Beiträgen ändern
  • Sie möchten die Beitragsfunktionen, den Veröffentlichungsprozess und die Elemente anpassen oder ihnen eine spezielle Funktion zuweisen

Als allgemeine Regel sollten Sie CPT auf einer WordPress-Site verwenden, wenn Sie verschiedene Arten von Beiträgen mit ihren Funktionen oder ihrem benutzerdefinierten Verhalten benötigen.

Benutzerdefinierte Beitragstypen unterscheiden sich von den Standard-Beitragstypen, daher erfordern sie eine besondere Behandlung, ohne dass die Funktionen des Standard-Beitragstyps überschrieben werden müssen. Dies ist ein großer Vorteil, wenn Sie verschiedene Posttypen benötigen, da Sie von Grund auf einen benutzerdefinierten Posttyp erstellen können, der genau Ihren Anforderungen entspricht.

Nachdem wir nun besser verstehen, was sie sind und wann sie verwendet werden, sehen wir uns an, wie benutzerdefinierte Beitragstypen erstellt werden.

So erstellen Sie programmgesteuert einen benutzerdefinierten WordPress-Beitragstyp

In diesem Abschnitt zeigen wir Ihnen anhand eines Beispiels, wie Sie einen benutzerdefinierten Beitragstyp in WordPress erstellen. Bevor Sie beginnen, stellen Sie sicher, dass Sie Ihre Website sichern und ein untergeordnetes Thema erstellen, falls Sie noch keines haben.

Gehen Sie in Ihrem Dashboard zu Appearance > Theme Editor , öffnen Sie die Datei functions.php des Child-Themes in der rechten Spalte und fügen Sie das folgende Skript ein. Es wird ein benutzerdefinierter Beitragstyp namens movies registriert.

 Funktion QuadLayers_custom_post_type() {
// Legen Sie UI-Labels für den benutzerdefinierten Beitragstyp fest
    $labels = array(
        'name' => _x( 'Movies', 'Post Type General Name', 'storefront' ),
        'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'storefront' ),
        'Menüname' => __( 'Filme', 'Schaufenster' ),
        'parent_item_colon' => __( 'Elternfilm', 'Schaufenster' ),
        'all_items' => __( 'Alle Filme', 'Schaufenster' ),
        'view_item' => __( 'Film ansehen', 'Schaufenster' ),
        'add_new_item' => __( 'Neuen Film hinzufügen', 'Schaufenster' ),
        'add_new' => __( 'Neu hinzufügen', 'Schaufenster' ),
        'edit_item' => __( 'Film bearbeiten', 'Schaufenster' ),
        'update_item' => __( 'Film aktualisieren', 'Schaufenster' ),
        'search_items' => __( 'Film suchen', 'Schaufenster' ),
        'not_found' => __( 'Nicht gefunden', 'Schaufenster' ),
        'not_found_in_trash' => __( 'Nicht im Papierkorb gefunden', 'storefront' ),
    );
// Legen Sie andere Optionen für den benutzerdefinierten Beitragstyp fest
    $args = array(
        'label' => __( 'movies', 'storefront' ),
        'description' => __( 'Filmnachrichten und Rezensionen', 'Schaufenster' ),
        'labels' => $labels,  
        'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),     
        'Taxonomien' => array( 'Genres' ),     
        'hierarchical' => false,
        'öffentlich' => wahr,
        'show_ui' => wahr,
        'show_in_menu' => wahr,
        'show_in_nav_menus' => wahr,
        'show_in_admin_bar' => wahr,
        'menu_position' => 5,
        'can_export' => wahr,
        'has_archive' => wahr,
        'exclude_from_search' => falsch,
        'publicly_queryable' => wahr,
        'capability_type' => 'post',
        'show_in_rest' => wahr, 
    );
    // Registrierung Ihres benutzerdefinierten Beitragstyps
    register_post_type( 'Filme', $args );
}
add_action( 'init', 'QuadLayers_custom_post_type', 0 );

Nach dem Einfügen des Codes erscheint eine neue Registerkarte namens Filme in Ihrem WordPress-Admin-Dashboard.
Programmatisch benutzerdefinierten Beitragstyp erstellen

Wenn Sie es öffnen, werden Sie sehen, dass der Post-Editor mit den Standard-Post-Typen identisch ist, da wir dieselben Argumente für den Post-Editor-Bildschirm festgelegt haben. Woher wissen wir also, dass es sich um den benutzerdefinierten Beitragstyp-Editor handelt? Denn auf der URL und dem Titel der Seite können Sie den Beitragstyp „Filme“ sehen.

Benutzerdefinierten Beitragstyp hinzufügen

Nachdem Sie nun das Endergebnis gesehen haben, analysieren wir den Code, damit Sie besser verstehen, was jeder Abschnitt tut.

Code-Erklärung

Wir haben gerade gesehen, wie man einen benutzerdefinierten WordPress-Beitragstyp programmgesteuert erstellt. Aber das ist nur die Hälfte dessen, was Sie wissen müssen. Wenn Sie Ihre eigenen Beitragstypen erstellen möchten, müssen Sie den Code anpassen. Und dafür müssen Sie verstehen, was jeder Teil des Snippets tut.

Wir verwenden den wp_init() , um sicherzustellen, dass unsere Funktion nur einmal ausgeführt wird: wenn WordPress initiiert wird. In unserer Funktion QuadLayers_custom_post_type() gibt es drei Teile.

1) Etiketten

Dies sind eine Reihe von Zeichenfolgen, die das Design auf verschiedenen Admin- und Frontend-Seiten verwendet. Dies wird auf ein einzelnes Array gesetzt:

$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'storefront' ),
);

2 Optionen

Dies sind einige vordefinierte Optionen, die das Verhalten und einige andere Funktionen unseres benutzerdefinierten Beitragstyps ( Filme ) definieren.

Jede Option ist eine spezifische Anweisung, die definiert, wie sich unser benutzerdefinierter Beitragstyp verhalten wird. Die relevantesten sind:

  • 'supports': Es definiert, welche Komponenten im Post-Editor verwendet werden
  • „Taxonomien“: Sie können eine oder mehrere vorhandene Kategorien oder benutzerdefinierte Kategorien auf alle CPTs anwenden, die in der aktuellen Funktion registriert sind
  • ' 'hierarchical' : Posts können keinen übergeordneten Inhalt haben und dies wird den CPT von Seiten unterscheiden. Setzen Sie dies auf „true“, wenn Sie eine benutzerdefinierte Seite anstelle eines benutzerdefinierten Beitragstyps veröffentlichen möchten
  • ' show_in_admin_bar': Zeigt die CPT-Registerkarte im WordPress-Admin-Dashboard an

Die vollständige Liste aller Argumente und ihre Beschreibung finden Sie in dieser Dokumentation.

3) Registrierung des benutzerdefinierten Beitragstyps

Die WordPress-Funktion register_post_type() registriert schließlich unseren neuen benutzerdefinierten Beitragstyp und stellt ihn so ein, dass er einsatzbereit ist.

Nachdem Sie den Code jetzt besser verstanden haben, können Sie mit der Veröffentlichung Ihrer benutzerdefinierten Beitragstypen beginnen. Aber abgesehen davon, dass Sie sie veröffentlichen, möchten Sie Ihre CPT irgendwo anzeigen. Mal sehen, wie man das macht.

So zeigen Sie benutzerdefinierte Beitragstypen in WordPress an

Bisher haben wir gesehen, wie man einen benutzerdefinierten Beitragstyp programmgesteuert in WordPress erstellt. Nachdem Sie es veröffentlicht haben, müssen Sie entscheiden, wo Sie es anzeigen möchten.

Es gibt mehrere Möglichkeiten, wie Sie einen CPT auf dem Frontend drucken können. Sie können eine vollständige Liste bestimmter benutzerdefinierter Beitragstypen auf einem anderen Beitrag, einer Seite, einer Seitenleiste oder an einem anderen Ort anzeigen, den Sie möchten.

Im folgenden Beispielskript erstellen wir einen benutzerdefinierten Shortcode, um alle benutzerdefinierten Beitragstypen anzuzeigen, die wir mit der vorherigen Funktion auf einer neuen Seite erstellt haben.

Das folgende Skript erstellt einen Shortcode namens Movies , der alle Filme druckt, die wir unserem CPT auf jeder Seite hinzufügen, auf der wir den Shortcode hinzufügen.

 add_shortcode('movies', 'QuadLayers_display_cpt_shortcode');
Funktion QuadLayers_display_cpt_shortcode(){
    $args = array( 'post_type' => 'movies', 'posts_per_page' => 10 );
    $the_query = neue WP_Query( $args );
    if ( $the_query->have_posts() ) :
    while ( $the_query->have_posts() ) : $the_query->the_post();
    $c= the_title( sprintf( '<h2 class="entry-title">', esc_url( get_the_title() ) ), '</h2>').
    '<div class="entry-content">'.
    der Inhalt().
    '</div>';
am Ende;
wp_reset_postdata();
anders:
$c = 'Entschuldigung, keine Beiträge entsprechen Ihren Kriterien.';
endif;
gib $c zurück;
}

Wenn Sie also den Shortcode auf einer Seite platzieren:

Shortcode zur Anzeige von CTP

Sie sehen das Ergebnis:

benutzerdefinierter Beitragstyp mit Shortcode

Fazit

Zusammenfassend haben wir gesehen, dass WordPress standardmäßig einige Beitragstypen enthält, aber Sie können je nach Ihren Anforderungen benutzerdefinierte Beitragstypen hinzufügen, um Ihre Website anzupassen.

In diesem Leitfaden haben wir Ihnen gezeigt, wie Sie einen benutzerdefinierten WordPress-Beitragstyp programmgesteuert erstellen können. Wir haben das Snippet analysiert und jeden Abschnitt beschrieben, damit Sie es anpassen und auf Ihrer Website verwenden können. Darüber hinaus haben wir gesehen, wie Sie einen benutzerdefinierten Shortcode erstellen, mit dem Sie Ihre benutzerdefinierten Beitragstypen überall auf Ihrer Website anzeigen können.

Haben Sie versucht, benutzerdefinierte Beitragstypen auf Ihrer Website zu erstellen? Teilen Sie uns Ihre Erfahrungen im Kommentarbereich mit.

Um andere Bereiche Ihrer Website anzupassen, sehen Sie sich die folgenden Tutorials an:

  • So fügen Sie benutzerdefinierte Upload-Felder zu WooCommerce hinzu
  • So fügen Sie dem Checkout benutzerdefinierte Felder hinzu
  • Anleitung zum Bearbeiten von WooCommerce-Checkout-Feldern