Über Web, Tech, Games, Art,
Musik, Code & Design

14. März 2023

Was sind eigentlich Custom Post Types und Taxonomien in WordPress?

Custom Post Types und Taxonomien ermöglichen es in WordPress spezielle Inhalte und Kategorien zu erstellen, die über die Standard-Posts und -Kategorien hinausgehen.

Custom Post Types

Custom Post Types sind eine Möglichkeit, spezielle Arten von Inhalten zu erstellen, die nicht in den Standard-WordPress-Beitragstypen wie Beiträge und Seiten enthalten sind. Beispiele für Custom Post Types sind z.B. Produkte, Veranstaltungen, Projekte oder Unternehmensprofile. Custom Post Types ermöglichen es, benutzerdefinierte Felder und Metadaten hinzuzufügen, um Inhalte besser zu strukturieren und filtern zu können. Darüber hinaus können unterschiedlichen Post-Types natürlich auch unterschiedliche Templates zugeordnet werden. Konkret: Eine Seite, auf der Veranstaltungsdetails zu sehen sind, soll natürlich anders aussehen, als eine Seite auf der Produktdetails zu sehen sind.

Eine komfortable Möglichkeit Custom Post Types einzurichten bietet das Plug-in „Custom Post Type UI„.

Nachdem z.B. ein Custom Post Type namens „Projekte“ hinzugefügt wurde, kann ein Projekt wie folgt ausgegeben werden:

Mit der „single.php“…

...
while ( have_posts() ) :
	the_post();
	get_template_part( 'template-parts/content', get_post_type() );
endwhile;
...Code-Sprache: PHP (php)

… und der Datei „template-parts/content-projekte.php“.

...
<?php if ( is_single() ) : ?>
<div class="section">
  <div class="container">
    <div class="row">
      <div class="col-12">
        <h1 class="mb-3"><?php the_title(); ?></h1>
        <?php the_content();?>
      </div>
    </div>
  </div>
</div>

<?php else : ?>

<?php 
<div class="row">
  <div class="col-12">
    <h3 class="mb-3"><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h3>
    <p><?php the_excerpt(); ?></p>
    <p><a href="<?php echo get_permalink(); ?>" class="readmore"> weiterlesen</a></p>
  </div>
?>

<?php endif; ?>
...Code-Sprache: JavaScript (javascript)

Ein Projekt namens „Lorem Ipsum“ wäre dann unter folgender URL zu finden:
www.beispiel.de/projekt/lorem-ipsum

Taxonomien

Eine Taxonomie ist eine Möglichkeit, Inhalte in WordPress zu kategorisieren und zu organisieren. Es gibt zwei Haupttypen von Taxonomien in WordPress: Kategorien und Schlagwörter. Kategorien sind hierarchisch und können Unterkategorien enthalten, während Schlagwörter nicht hierarchisch sind und normalerweise als Stichwörter oder Tags verwendet werden.

Es können jedoch auch benutzerdefinierte Taxonomien angelegt werden, um Inhalte auf eine spezifischere Weise zu organisieren. Taxonomien können ebenfalls mit dem Plug-in „Custom Post Type UI“ hinzugefügt werden

In dem obigen Beispiel könnten das z.B. die Taxonomie „Projekttyp“ sein, in der die Projekttypen „extern“ und „intern“ angelegt werden können. Mit folgendem Code könnten alle Projekte des Typs „extern“ ausgeben werden.

$args = array(
    'post_type' => 'projekte',
    'tax_query' => array(
        array(
            'taxonomy' => 'projekte', 
            'field'    => 'slug', 
            'terms'    => array( 'extern' ), 
        ),
    ),
);

$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
    }
} else {
    // Keine Beiträge gefunden
}

wp_reset_postdata(); Code-Sprache: PHP (php)

Tipp: Ein solcher WP_Query kann sehr schnell und unkompliziert von Chat GPT generiert werden.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert