WordPress-Beitragstypen: Die vollständige Anleitung

Veröffentlicht: 2021-02-16

Wenn Sie der Typ von WordPress-Entwickler sind, der viel Wert auf Design und Organisation legt, ist es an der Zeit, die WordPress-Posttypen vollständig zu verstehen.

Wie Sie wissen, sind nicht alle WordPress-Sites einfache Blogs. Entwickler benötigen oft mehr als die einfachen Standardseiten und Beiträge. Sie müssen in der Lage sein, völlig neue Inhaltstypen hinzuzufügen.

Aber was ist der beste Weg, um die gläserne Decke von WordPress-Design und -Entwicklung zu durchbrechen und dem Benutzer dennoch eine großartige UX zu bieten?

Die Antwort finden Sie in WordPress-Beitragstypen und benutzerdefinierten WordPress-Beitragstypen.

Indem Sie das volle Potenzial der WordPress-Posttypen lernen, verstehen und implementieren, verwandeln Sie Ihren Admin-Bereich in einen aufregenden, organisierten und personalisierten Ort, der ganz Ihnen gehört.

WordPress-Posttypen ermöglichen es Designern, Inhalte einfach zu organisieren, indem sie die Erstellung neuer Buckets ermöglichen, um Ihre einzigartigen Inhaltstypen zu platzieren.

Aber was bedeutet das genau und wo fängt man an?

Was kann die Verwendung von benutzerdefinierten WordPress-Beitragstypen für die gesamte UX Ihrer Website tun?

Lass es uns herausfinden.

Was sind WordPress-Beitragstypen?

Im einfachsten Maßstab funktioniert ein WordPress-Beitragstyp wie die bekannten Beiträge und Seiten in Ihrem Admin-Bereich.

Standardmäßig enthält der WordPress-Kern mehrere verschiedene Inhaltstypen, die in Beitragstypen unterteilt sind. Einer dieser Inhaltstypen wird als Beitrag bezeichnet. Dies ist jedoch nur einer von vielen Standard-Beitragstypen in WordPress.

Wenn Sie WordPress Core verwenden, werden automatisch die folgenden Post-Typen mitgeliefert, die jeweils in der Tabelle wp_posts Ihrer WordPress-Datenbank gespeichert sind:

  • Seiten
  • Beiträge
  • Überarbeitungen
  • Anhänge
  • Benutzerdefinierte CSS
  • Navigationsmenüs
  • Änderungssätze

Jeder dieser Beitragstypen hat Editor- und Titelfelder, genau wie Sie es von normalen Seiten und Beiträgen gewohnt sind.

Und wenn Sie einen benutzerdefinierten Beitragstyp erstellen, den wir Ihnen in diesem Handbuch zeigen, wird er genau wie die Standard-WordPress-Beitragstypen in Ihrem WordPress-Admin-Menü angezeigt.

Sobald Sie einen benutzerdefinierten WordPress-Beitragstyp implementiert haben, können Sie ihm Inhalte hinzufügen, genau wie Sie es tun, wenn Sie Ihrem Beitragsabschnitt einen neuen Blog-Inhalt hinzufügen.

Mit WordPress-Beitragstypen können Sie jedoch dazu führen, dass diese Beitragstypen viel mehr tun als Standard-Beiträge und -Seiten. Sie können auch anpassen, wie das Front-End Ihrer Site Ihren Beitragstyp-Inhalt für Site-Benutzer anzeigt.

Ein neuer Beitragstyp kann alles sein, was Sie wollen. Abhängig vom Thema Ihrer Website können dies Dinge sein wie:

  • Häuser
  • Bewertungen
  • Fallstudien
  • Filme
  • Inspirerende Zitate
  • Usw.

Die Post-Type-Funktionalität von WordPress macht jede neue Art von Inhalt möglich.

Natürlich gibt es Plugins, mit denen Sie WordPress-Posttypen erstellen können. Aber Sie möchten vielleicht nicht unbedingt, dass ein Plugin so viel Kontrolle über das Design und die Funktionalität Ihrer Website hat.

Wenn Sie die vollständige Kontrolle über Ihr Design und Ihre UX haben möchten, ist es am besten, Ihre eigenen benutzerdefinierten Beitragstypen zu programmieren.

Wir werden später in diesem Handbuch ein Plugin für diejenigen unter Ihnen vorschlagen, die diese Option zum Erstellen benutzerdefinierter WordPress-Beitragstypen bevorzugen.

Aber der beste Weg für Sie, einen WordPress-Beitragstyp zu registrieren, hinzuzufügen oder zu erstellen, besteht darin, ihn direkt in das Thema Ihrer Website zu codieren. Dies geschieht durch die Verwendung der WordPress-Register-Post-Type-Funktion.

Mit dieser Funktion können Sie sofort Inhalte zu Ihrem neuen Post-Typ-Bucket hinzufügen und auf Ihrer Website anzeigen lassen.

Noch besser ist, dass Sie nur fünf Codezeilen hinzufügen müssen, um loszulegen.

Ein Blick auf benutzerdefinierte WordPress-Beitragstypen

Nachdem Sie nun ein grundlegendes Verständnis von WordPress-Beitragstypen und benutzerdefinierten Beitragstypen haben, ist es an der Zeit, sich die Hände ein wenig schmutzig zu machen.

Führen Sie zunächst die folgenden Schritte aus, um einen neuen Beitragstyp zu erstellen:

  1. Melden Sie sich in Ihrem Admin-Bereich an.
  2. Öffnen Sie Ihren Code-Editor und die Datei functions.php Ihres Themes.
  3. Fügen Sie die fünf unten gezeigten Codezeilen oben in die Datei functions.php ein.
  4. Aktualisieren Sie den Browser.
  5. Überprüfen Sie das WordPress-Admin-Menü unter Kommentare auf den neuen Menüpunkt für den Posttyp.
  6. Spülen Sie Ihre Permalinks.

Hier ist der Code zum Hinzufügen:

<?php 
  add_action( 'init', function() {
    $label = 'Books';
    $type = 'book';
    register_post_type( $type, [ 'public' => true, 'label' => $label ] );
  });

Sie sollten jetzt einen neuen Beitragstyp haben.

Aber was kann man eigentlich mit dem neuen Beitragstyp machen?

Die Macht der WordPress-Beitragstypen und benutzerdefinierten WordPress-Beitragstypen

Um sich eingehend mit den Beitragstypen zu befassen, arbeiten wir mit einem bestimmten Beispiel für die Erstellung einer neuen Portfolio-Website, die eine Liste von Fallstudien enthalten muss.

Dazu registrieren wir einen neuen Beitragstyp, um jede der Fallstudien zu verwalten.

Mit dem standardmäßigen Twenty Twenty WordPress-Theme beginnen wir damit, unseren Studienbeitragstyp in das Thema einzufügen.

Öffnen Sie zunächst die Datei functions.php des Twenty Twenty-Themes in Ihrem Code-Editor. Hier schreiben Sie Ihren Posttypcode.

Der neue Beitragstyp muss oben in der Datei functions.php registriert werden. Dies geschieht mit einem init-WordPress-Hook mit add_action(). Wenn Sie die Funktion register_post_type verwenden, um den Beitragstyp hinzuzufügen, wird es ohne den Init-Hook nicht richtig funktionieren.

Beginnen Sie dann mit drei Argumenten für den register_post_type:

  1. Öffentlich – Dies bedeutet, dass der Beitragstyp so eingestellt wird, dass jeder darauf zugreifen kann.
  2. Beschreibung – Dies wird nicht oft verwendet, aber es ist immer noch gut, es zu haben.
  3. Label – Dies ist ein Argument, auf das wir später eingehen werden.
<?php 
  add_action( 'init', function() {
    $type = 'study';
    $label = 'Studies';
    $arguments = [
        'public' => true, // Allow access to post type
        'description' => 'Case studies for portfolio.', // Add a description
        'label' => $label // Set the primary label
    ];
    register_post_type( $type, $arguments);
  });

Stellen Sie sicher, dass Sie Ihre Permalinks jedes Mal leeren, wenn Sie eine Änderung vornehmen.

Anpassen von Posttyp-Etiketten

WordPress kennzeichnet den neuen Beitragstyp standardmäßig im gesamten Admin-Bereich deiner Website als Beitrag. Möglicherweise möchten Sie jedoch, dass die Labels als neuer Beitragstyp namens Studie und nicht als Beitrag gekennzeichnet werden.

Um die Standardlabels des Beitragstyps zu überschreiben, müssen Sie sie manuell aufrufen.

Um Etiketten richtig einzustellen, erstellen Sie eine neue Funktion, die Etiketten kompiliert, ohne Ihren Registrierungscode für den Posttyp zu überladen.

Fügen Sie einfach die folgende Funktion zu Ihrem Theme hinzu, damit sie im Rahmen des Registrierungsprozesses für den Beitragstyp verwendet werden kann:

<?php 
  function xcompile_post_type_labels($singular = 'Post', $plural = 'Posts') {
    $p_lower = strtolower($plural);
    $s_lower = strtolower($singular);

    return [
      'name' => $plural,
      'singular_name' => $singular,
      'add_new_item' => "New $singular",
      'edit_item' => "Edit $singular",
      'view_item' => "View $singular",
      'view_items' => "View $plural",
      'search_items' => "Search $plural",
      'not_found' => "No $p_lower found",
      'not_found_in_trash' => "No $p_lower found in trash",
      'parent_item_colon' => "Parent $singular",
      'all_items' => "All $plural",
      'archives' => "$singular Archives",
      'attributes' => "$singular Attributes",
      'insert_into_item' => "Insert into $s_lower",
      'uploaded_to_this_item' => "Uploaded to this $s_lower",
    ];
  }

Dann müssen Sie im Registrierungscode die soeben erstellte Funktion xcompile_post_type_labels() aufrufen. Verwenden Sie es für Ihre Etiketten und überprüfen Sie dann Ihren Admin-Bereich.

<?php 
  add_action( 'init', function() {
    $type = 'study';

    // Call the function and save it to $labels
    $labels = xcompile_post_type_labels('Study', 'Studies');

    $arguments = [
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'labels' => $labels // Changed to labels
    ];
    register_post_type( $type, $arguments);
  });

Wie sieht alles bisher aus?

Menüsymbol und Position für benutzerdefinierte WordPress-Beitragstypen

Seit der Einführung von WP Dashicons ist es sehr einfach geworden, Menüsymbole zu Posttypen hinzuzufügen.

Legen Sie dazu zunächst das Argument menu_icon auf einen Dashicon-Namen fest. In diesem Beispiel verwenden wir das Computertischsymbol mit dem Wert dashicons-desktop.

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    $arguments = [
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop', // Set icon
      'labels' => $labels
    ];
    register_post_type( $type, $arguments);
  });

Wenn Sie nun die Position des Menüelements ändern möchten, verwenden Sie das Argument menu_position. Dieses Argument nimmt einen Wert an, der mit 0 beginnt und mit 100 endet. Der gewählte Wert listet ein Menüelement höher oder niedriger auf der Menübasis auf, wobei der Wert 0 oben und 100 unten steht.

Jetzt sollten wir dem neuen Beitragstyp ein vorgestelltes Bild hinzufügen.

So aktivieren und deaktivieren Sie das empfohlene Bild, den Titel und den Editor

Um die standardmäßigen Admin-Formularfelder für Ihren Beitragstyp hinzuzufügen oder zu ändern, z.

Es gibt viele Optionen, die Sie mit dem Argument post type supports ein- und ausschalten können. Sie sind:

  • Titelfeld
  • Editor
  • Autorenbox
  • Miniaturansicht (vorgestelltes Bild)
  • Auszug
  • Trackbacks
  • Benutzerdefinierte Felder
  • Kommentare
  • Überarbeitungen
  • Seitenattribute
  • Nachformate

Für Ihren neuen Studienbeitragstyp können Sie die Standard-WordPress-Optionen überschreiben und Ihr eigenes vorgestelltes Bild hinzufügen, indem Sie die Miniaturansichtsoption anwenden.

Stellen Sie zuvor sicher, dass Sie die Designunterstützung für Post-Thumbnails aktiviert haben. Dies geschieht über die Add-Theme-Support-Funktion.

Es sind nur wenige zusätzliche Codezeilen erforderlich, um die Supportfunktion zu verwenden, und das vorgestellte Bild wird aktiviert.

<?php 
  // Add theme support for featured image / thumbnails
  add_theme_support('post-thumbnails');

  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'supports' => $supports, // Apply supports
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

Nicht viele WordPress-Designer oder -Entwickler machen es so tief in benutzerdefinierte WordPress-Beitragstypen. Jetzt ist ein guter Zeitpunkt, sich selbst ein wenig auf die Schulter zu klopfen.

Die Hierarchie der benutzerdefinierten WordPress-Beitragstypen

Während WordPress-Posts keine untergeordneten Posts haben können, können Seiten dies. Ein untergeordnetes Element einer Seite wird als Unterseite betrachtet.

Wenn Sie möchten, können Sie benutzerdefinierte WordPress-Beitragstypen eine Hierarchie wie Pages verwenden lassen, indem Sie das hierarchische Argument verwenden.

Für unser Beispiel für den Posttyp "Studien" würden wir dies nicht unbedingt benötigen. Wenn Sie es jedoch für Ihr spezielles Projekt benötigen, ist dies der zu verwendende Code:

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'hierarchical' => false, // Do not use hierarchy
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

So aktivieren Sie die REST-API für einen neuen Beitragstyp

Die REST-API hat WordPress für immer verändert. Daher möchten Sie, dass Ihr neuer Beitragstyp auf alle neuesten Funktionen von WordPress zugreifen kann, z. B. Gutenberg.

Das Aktivieren der REST-API für neue benutzerdefinierte WordPress-Beitragstypen ist so einfach wie das Festlegen des show_in_rest-Arguments auf true.

Wenn die REST-API aktiviert ist, verwendet Ihr neuer Beitragstyp Gutenberg (sofern er auch den Editor unterstützt).

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'show_in_rest' => true, // Enable the REST API
      'hierarchical' => false,
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

Wenn Sie die REST-API in WordPress aktivieren, können Sie auch über bestimmte WordPress-Endpunkte auf den neuen Beitragstyp als JSON-Objekt zugreifen.

Um den Endpunkt für den Beitragstyp REST anzuzeigen, verwenden Sie diese /wp-json/wp/v2/study.

Verwenden Sie das rest_base-Argument, um den Basisnamen Ihres Beitragstyps in der URL in Studien statt in Studie zu ändern.

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'rest_base' => 'studies', // Change the REST base
      'show_in_rest' => true,
      'hierarchical' => false,
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

Und einfach so ist die API eingestellt und Gutenberg ist für den Beitragstyp aktiviert.

So fügen Sie Gutenberg zu benutzerdefinierten WordPress-Beitragstypen hinzu

Denken Sie daran, dass Gutenberg nicht für benutzerdefinierte Beitragstypen aktiviert werden kann, es sei denn, es unterstützt den Editor und hat die REST-API aktiviert.

Nach der Aktivierung müssen wir, um Gutenberg zu Ihrem Beitragstyp hinzuzufügen, unseren Studienbeitragstyp für eine Sekunde vergessen und einen neuen Beitragstyp erstellen, den wir Artikel nennen.

Wir verwenden den Beitragstyp Artikel, um Gutenberg zu aktivieren.

<?php 
  add_action( 'init', function() {
    $type = 'article';
    $labels = xcompile_post_type_labels('Article', 'Articles');

    $arguments = [
      'rest_base' => 'articles',
      'show_in_rest' => true, // Required for Gutenberg
      'supports' => ['editor'], // Required for Gutenberg
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

Sie werden feststellen, dass die beiden Argumente, die Sie zum Hinzufügen von Gutenberg benötigen, folgende sind:

'show_in_rest' => true,
'supports' => ['editor'],

So entfernen Sie Gutenberg aus benutzerdefinierten WordPress-Beitragstypen

Wenn Sie Gutenberg aus einem Ihrer Post-Typen entfernen möchten, fügen Sie einfach den Action-Hook use_block_editor_for_post_type in die Datei functions.php Ihres Themes ein.

Dies geschieht mit folgendem Code:

<?php 
add_filter('use_block_editor_for_post_type', function($enabled, $post_type) {

  // List of post types to remove
  $remove_gutenberg_from = ['study'];

  if (in_array($post_type, $remove_gutenberg_from)) {
    return false;
  }

  return $enabled;
  }, 10, 2);

Dadurch wird Gutenberg zwangsweise vom Posttyp deaktiviert.

Beachten Sie, dass nicht jeder Ihrer benutzerdefinierten WordPress-Beitragstypen mit Gutenberg aktiviert werden sollte. Es gibt Zeiten, in denen Sie den klassischen WordPress-Editor mit Beitragstypen verwenden möchten.

Die Deaktivierung der Gutenberg-Funktion ist auch praktisch, wenn der Beitragstyp über die REST-API zugänglich sein muss.

In diesen Fällen ist die Deaktivierung von Gutenberg die richtige Richtung.

Aktivieren von Archiven und Einrichten des Front-Ends

Wir sind endlich an dem Punkt angelangt, an dem es an der Zeit ist, unser Frontend-Design von benutzerdefinierten WordPress-Posts anzugehen.

Es gibt drei Dinge, die Sie tun müssen, wenn Sie die Liste der benutzerdefinierten WordPress-Inhalte für Beiträge einrichten möchten:

  1. Argument has_archive aktivieren.
  2. Setzen Sie den Slug für Rewrite-Regeln auf eine Pluralform Ihres Beitragstypnamens. Im Fall des Beispiels dieses Leitfadens müsste es in „Studien“ geändert werden.
  3. Spülen Sie Ihre Permalinks.
<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'rewrite' => [ 'slug' => 'studies' ] // Change the archive page URL
      'has_archive' => true, // Enable archive page
      'rest_base' => 'studies',
      'show_in_rest' => true,
      'hierarchical' => false,
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

Wenn all dies vorhanden ist, ist es an der Zeit, den Inhalt Ihres benutzerdefinierten Beitragstyps zu thematisieren. Im Moment verwenden wir das Standardthema Twenty Twenty. Natürlich können Sie jedes beliebige Thema verwenden.

WordPress Custom Post Type Template

Bevor wir unseren benutzerdefinierten Beitragstyp als Vorlage verwenden, schauen wir uns zunächst die WordPress-Vorlagenhierarchie an.

Wenn Sie nicht bereits mit der Funktionsweise von WordPress mit Vorlagen vertraut sind, stellen Sie es sich ähnlich wie CSS vor, um Spezifität zu handhaben. Es ist zwar nicht allzu wichtig, sich in den Details zu verzetteln, aber diese einfache Analogie wird Ihnen helfen, die WordPress-Vorlagenhierarchie besser zu verstehen.

Innerhalb der Vorlagenhierarchie für unseren neuen Studienbeitragstyp sind zwei spezifische Vorlagendateien zu beachten.

Sie sind:

1. single-study.php – Dies ist für die einzelne Seite, wenn ein Benutzer zu http://yourcoolsite.com/studies/your-cool-study-post navigiert, um eine einzelne Studie anzuzeigen.

2. archive-study.php – Dies ist für die Archivseite, wenn ein Benutzer zu http://yourcoolsite.com/studies navigiert, um eine Liste aller Studien anzuzeigen.

WordPress verwendet standardmäßig die Vorlagen single.php und archive.php Ihres Themes für das Frontend-Design von benutzerdefinierten Beitragstypen. Wenn jedoch eine bestimmte Vorlage für benutzerdefinierte Beitragstypen existiert, überschreiben single-study.php und archive-study.php die Standardeinstellungen in WordPress.

Einzelne Seite

Da wir in diesem Handbuch das standardmäßige WordPress Twenty Twenty-Theme verwenden, müssen wir zunächst den Dateinamen single-study.php erstellen und damit arbeiten.

Fügen Sie in der Vorlagendatei für den einzelnen Beitragstyp diese WordPress-Schleife hinzu:

<?php
	/**
	 * The template for displaying single posts and pages.
	 *
	 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
	 *
	 * @package WordPress
	 * @subpackage Twenty_Twenty
	 * @since 1.0.0
	 */
	
	get_header();
	?>
	
	<main id="site-content" role="main">
	
	        <?php
	
	        if ( have_posts() ) {
	
	                while ( have_posts() ) {
	                        the_post();
	
	                }
	        }
	
	        ?>
	
	</main><!-- #site-content -->
	
	<?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
	
	<?php get_footer(); ?>

Archivseite

Die Archivseite für den Beitragstyp verwendet genau den gleichen Prozess wie die einzelne Seite. Der einzige Unterschied besteht darin, dass Sie die Vorlage archive-study.php anstelle von single-study.php verwenden.

Für Ihre Archivseite möchten Sie, dass sie zu jeder Studie verlinkt und nur den Titel "Studie" anzeigt.

Natürlich können Sie mit diesem Code Ihren eigenen Spaß haben:

<?php
  /*
  Template Name: Archive-Study
  */
  get_header(); ?>

  <div id="container">
  	<div id="content" role="main">

  		<?php the_post(); ?>
  		<h1 class="entry-title"><?php the_title(); ?></h1>
  		
  		<?php get_search_form(); ?>
  		
  		<h2>Archives by Month:</h2>
  		<ul>
  			<?php wp_get_archives('type=monthly'); ?>
  		</ul>
  		
  		<h2>Archives by Subject:</h2>
  		<ul>
  			 <?php wp_list_categories(); ?>
  		</ul>

  	</div><!-- #content -->
  </div><!-- #container -->


  <?php get_footer(); ?>

Nun, da Ihre Archivseite perfekt eingerichtet ist, sieht es so aus, als ob Sie fertig sind. Aber was passiert, wenn Sie einhundert oder mehr Fallstudien haben?

So ändern Sie die Archivseitenabfrage

Auf den Archivseiten wird nur die Anzahl der Elemente aufgelistet, die der Administrator unter Einstellungen > Lesen angegeben hat. Häufig möchten Sie nicht, dass für benutzerdefinierte Beitragstypen dasselbe Limit gilt wie für Ihren Hauptblog oder Artikel-Feed.

Wenn Sie das Limit auf Ihrer Archivseite entfernen möchten, ändern Sie einfach die Hauptabfrage, indem Sie den Hook pre_get_posts verwenden.

Nachdem Sie in pre_get_posts eingehakt sind, können Sie auf das Hauptobjekt von WP_Query zugreifen und es ändern.

Um alle Studien auf Ihrer Archivseite aufzulisten, müssen Sie:

  1. Verwenden Sie den Hook pre_get_posts.
  2. Ermitteln Sie, ob die Methode is_main_query die Hauptabfrage ausführt.
  3. Erkennen Sie, ob Sie sich auf der Studienarchivseite befinden, indem Sie is_post_type_archive verwenden.
  4. Setzen Sie in der Haupt-WP_Query posts_per_page auf -1. Dies entfernt alle Zahlenbeschränkungen und listet alles auf.
<?php
  add_action('pre_get_posts', function( WP_Query $query ) {
    if($query->is_main_query() && $query->is_post_type_archive('study')) {
      $query->set('posts_per_page', -1);
    }
  });

Mit dem Hook pre_get_posts greifen Sie direkt auf die SQL-Abfrage zu, die WordPress bereits ausführt. Die Abfrage ermöglicht Ihnen den Zugriff auf Beiträge, Seiten und Ihre benutzerdefinierten Beitragstypen, ohne SQL schreiben zu müssen.

Das ist immer ein Bonus.

Verwenden eines Plugins für benutzerdefinierte WordPress-Beitragstypen

Wenn Sie nicht der Typ sind, der sich mit Code befasst und Ihre benutzerdefinierten Beitragstypen lieber mit einem Plugin erstellen und ändern möchten, bietet die Benutzeroberfläche für benutzerdefinierte Beitragstypen eine benutzerfreundliche Oberfläche zum Registrieren und Verwalten von benutzerdefinierten Beitragstypen (und Taxonomien).

Das Plugin wird hoch bewertet und ist so konfiguriert, dass es mit WordPress-Versionen 5.5 und höher funktioniert.

Es wurde bis 5.6 getestet.

Verwenden eines Generators für benutzerdefinierte WordPress-Beitragstypen

Möchten Sie Ihren Code für benutzerdefinierte Beitragstypen (oder Taxonomien) ganz einfach abrufen? Schauen Sie sich GenerateWP an. Sie können GenerateWP verwenden, um eine Vielzahl von benutzerdefiniertem Code zu erstellen. Es ist auch ziemlich einfach. Füllen Sie einfach das richtige Formular aus und erhalten Sie den Code zum Kopieren/Einfügen.

Sie können sogar ein Schulungs-Webinar zu benutzerdefinierten Beitragstypen von vor einigen Jahren sehen, in dem GenerateWP vorgestellt wurde. Die gute Nachricht ist, dass es benutzerdefinierte Beitragstypen schon so lange gibt, dass das Training immer noch relevant ist.

WordPress-Beitragstypen sind dein neuer bester Freund

Unabhängig davon, ob Sie manuell mit WordPress-Posttypen oder mit einem Plugin arbeiten, ist es äußerst wichtig, dass Ihre Website mit dem besten verfügbaren WordPress-Backup-Plugin ausgestattet ist.

Das Bearbeiten von Code kann immer zu Konflikten führen, die Ihre Website in eine von Ihnen nicht beabsichtigte Richtung leiten können.

In diesen Fällen helfen BackupBuddy und iThemes Security, ein leistungsstarkes WordPress-Sicherheits-Plugin, zu Hilfe und bringen Sie sicher wieder an die Arbeit.