Benutzerdefinierter Beitragstyp (customs Post type)

Startseite » Artikel » Benutzerdefinierter Beitragstyp (customs Post type)

Wenn Sie zusätzliche Funktionalität zu Ihrer WordPress-Website hinzufügen möchten, kann das Erstellen eines benutzerdefinierten Beitragstyps eine großartige Möglichkeit sein. Ein benutzerdefinierter Beitragstyp (customs Post type) ermöglicht es Ihnen, verschiedene Arten von Inhalten zu erstellen, die von WordPress normalerweise nicht unterstützt werden.

Um einen benutzerdefinierten Beitragstyp (customs Post type) in WordPress zu erstellen, müssen Sie die Funktion register_post_type() verwenden. Mit dieser Funktion können Sie den Beitragstyp registrieren und verschiedene Einstellungen wie Name, Titel, Schlagwörter und andere Optionen festlegen. In unserem Beispiel verwenden wir den Namen “News” für unseren benutzerdefinierten Beitragstyp.

function wpwm_post_type() {
    $supports = array(
        'title',
        'editor',
        'author',
        'thumbnail',
        'excerpt',
        'custom-fields',
        'comments',
        'revisions',
        'post-formats',
        'tags', // 'tags' hinzugefügt, um Schlagwörter zu aktivieren
    );
    $labels = array(
        'name' => _x( 'News', 'Post type general name' ),
        'singular_name' => _x( 'News', 'Post type singular name' ),
        'menu_name' => _x( 'News', 'Admin Menu text' ),
        'name_admin_bar' => _x( 'News', 'Add New on Toolbar' ),
        'add_new' => __( 'Add New' ),
        'add_new_item' => __( 'Add New News' ),
        'new_item' => __( 'New News' ),
        'edit_item' => __( 'Edit News' ),
        'view_item' => __( 'View News' ),
        'all_items' => __( 'All News' ),
        'search_items' => __( 'Search News' ),
        'parent_item_colon' => __( 'Parent News:' ),
        'not_found' => __( 'No news found.' ),
        'not_found_in_trash' => __( 'No news found in Trash.' ),
    );
    $args = array(
        'supports' => $supports,
        'labels' => $labels,
        'public' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'news' ),
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => 5,
        'menu_icon' => 'dashicons-format-aside', // Icon für Menüpunkt hinzugefügt
    );
    register_post_type( 'wpwm_post_type', $args );
}
add_action( 'init', 'wpwm_post_type' )

Fügen Sie Ihrem benutzerdefinierten Beitragstyp Schlagwörter hinzu (customs Post type slug)

Schlagwörter sind eine großartige Möglichkeit, um Ihre Inhalte zu organisieren und zu kategorisieren. Wenn Sie Ihrem benutzerdefinierten Beitragstyp Schlagwörter (customs Post type slug) hinzufügen möchten, müssen Sie eine Taxonomie erstellen.

Eine Taxonomie ist eine Möglichkeit, Inhalte in WordPress zu organisieren und zu kategorisieren. Schlagwörter sind eine Art von Taxonomie, die es Ihnen ermöglicht, Inhalte nach bestimmten Schlüsselwörtern zu gruppieren.

Um Schlagwörter zu Ihrem benutzerdefinierten Beitragstyp (customs Post type) hinzuzufügen, müssen Sie die Funktion register_taxonomy() verwenden. Mit dieser Funktion können Sie die Taxonomie registrieren und verschiedene Einstellungen wie Name, Slug und andere Optionen festlegen.

function wpwm_custom_taxonomy() {
    $labels = array(
        'name'              => _x( 'Tags', 'taxonomy general name' ),
        'singular_name'     => _x( 'Tag', 'taxonomy singular name' ),
        'search_items'      => __( 'Search Tags' ),
        'all_items'         => __( 'All Tags' ),
        'parent_item'       => __( 'Parent Tag' ),
        'parent_item_colon' => __( 'Parent Tag:' ),
        'edit_item'         => __( 'Edit Tag' ),
        'update_item'       => __( 'Update Tag' ),
        'add_new_item'      => __( 'Add New Tag' ),
        'new_item_name'     => __( 'New Tag Name' ),
        'menu_name'         => __( 'Tags' ),
    );
    $args = array(
        'hierarchical'      => false,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'tags' ),
    );
    register_taxonomy( 'post_tag', array( 'wpwm_post_type' ), $args );
}
add_action( 'init', 'wpwm_custom_taxonomy', 0 );

In diesem Beispiel verwenden wir den Namen “Tags” für unsere Taxonomie und den Slug “tags” für die URL. Nachdem Sie Ihre Taxonomie erstellt haben, können Sie Schlagwörter zu Ihren Beiträgen hinzufügen und diese auf Ihrer Website anzeigen.

Erstellen Sie das benutzerdefinierte Template für Ihren Beitragstyp (customs Post type template)

Wenn Sie einen benutzerdefinierten Beitragstyp erstellen, benötigen Sie auch ein benutzerdefiniertes Template , um die Inhalte auf Ihrer Website anzuzeigen. In unserem Beispiel verwenden wir den Namen “News” für unseren benutzerdefinierten Beitragstyp.

Um das benutzerdefinierte Template für Ihren Beitragstyp zu erstellen, müssen Sie eine neue Datei in Ihrem WordPress-Theme-Ordner erstellen und diese mit dem Namen des benutzerdefinierten Beitragstyps benennen. In unserem Beispiel verwenden wir den Namen “customs-post-template.php“.

<?php
/*Template Name: News*/
get_header();
$args = array(
    'post_type' => 'wpwm_post_type',
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        ?>
        <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
        <p><?php the_excerpt(); ?></p>
        <?php
    }
} else {
    // Keine Beiträge gefunden
}
wp_reset_postdata();
get_footer();

In diesem Template können Sie den HTML-Code für die Anzeige Ihrer Inhalte schreiben, wie Sie es für jede andere WordPress-Seite tun würden. Sie können auch spezielle Funktionen wie get_header() und get_footer() verwenden, um das Header- und Footer-Template Ihrer Website in Ihr benutzerdefiniertes Template einzubeziehen.

Nachdem Sie das benutzerdefinierte Template erstellt haben, können Sie Ihre Inhalte in Ihrem benutzerdefinierten Beitragstyp erstellen und diese auf Ihrer Website anzeigen.

Autor: Volkan Sah