✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Zeigen Sie Beiträge aus einer bestimmten Kategorie auf einer WordPress-Seite an

70

Möchten Sie Beiträge aus einer bestimmten Kategorie auf einer benutzerdefinierten Seitenvorlage in WordPress anzeigen? Dabei können Sie Ihr eigenes Vorlagendesign verwenden und die Beitragsliste auf einer WordPress-Seite anzeigen. In diesem Artikel untersuchen wir, wie Beiträge aus einer bestimmten Kategorie in einer benutzerdefinierten Seitenvorlage angezeigt werden.

Standardmäßig kannst du deinen Beitrag in WordPress kategorisieren. Diese Funktion ist nützlich, um alle Beiträge herauszufinden, die unter die bestimmte Kategorie fallen. Wenn ein Benutzer in WordPress auf eine der Kategorien klickt, wird er zu einer Beitragsliste für diese bestimmte Kategorie weitergeleitet. WordPress verwendet die folgenden Vorlagendateien für die Auflistung von Beiträgen einer Kategorie.

  • kategorie-slug.php
  • Kategorie-ID.php
  • Kategorie.php
  • archiv.php
  • index.php

Um Beiträge der entsprechenden Kategorie anzuzeigen, sucht WordPress in der obigen Reihenfolge nach Vorlagendateien. Unabhängig davon, welche Vorlagendatei zuerst gefunden wird, wird der Code aus dieser Datei für die Auflistung von Beiträgen einer Kategorie verwendet.

Es dreht sich alles um die Standard-WordPress-Vorlagen. Aber was ist, wenn jemand eine benutzerdefinierte Seitenvorlage für Beitragslisten einer bestimmten Kategorie verwenden möchte?

Lassen Sie uns jedoch eine Schritt-für-Schritt-Anleitung durchgehen, um dieses Ziel zu erreichen.

Seitenvorlage in WordPress erstellen

Unser Ziel ist es, Beiträge nach Kategorie auf einer Seite anzuzeigen. Natürlich müssen Sie dafür einen Code schreiben. Erstellen Sie eine Datei template-category.phpim Verzeichnis Ihres aktiven Themes und fügen Sie den folgenden Kommentar oben in einer Datei hinzu.

template-category.php

<?php
/**
 * Template Name: Category Custom Page
 */
 
?>

Gehen Sie als Nächstes zu Ihrem WordPress-Dashboard und erstellen Sie Ihre Seite, auf der Sie Beiträge anzeigen möchten. Weisen Sie dieser neu erstellten Seite die obige Vorlage zu.

Zeigen Sie Beiträge aus einer bestimmten Kategorie auf einer WordPress-Seite an

Zeigen Sie Beiträge aus einer bestimmten Kategorie auf einer WordPress-Seite an

Bisher haben Sie Ihr Template erstellt und der WordPress-Seite zugeordnet. Als nächstes müssen Sie einen Code schreiben, der Beiträge abruft, die an eine Kategorie angehängt sind.

Ich werde WP_QueryKlasse verwenden, um die Beiträge zu holen. Ich gehe zum Beispiel davon aus, dass Sie eine Kategorie namens "WordPress" haben und an diese Kategorie angehängte Beiträge, die Sie anzeigen möchten.

Schreiben Sie den unten stehenden Code, um eine Liste der Beiträge in der Kategorie „WordPress” zu erhalten.

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'category_name' => 'wordpress',
    'posts_per_page' => 5,
);
$arr_posts = new WP_Query( $args );
 
if ($arr_posts->have_posts() ):  
    while ($arr_posts->have_posts() ):         $arr_posts->the_post();
        ?>
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <?php
            if (has_post_thumbnail() ):                 the_post_thumbnail();
            endif;
            ?>
            <header class="entry-header">
                <h1 class="entry-title"><?php the_title(); ?></h1>
            </header>
            <div class="entry-content">
                <?php the_excerpt(); ?>
                <a href="<?php the_permalink(); ?>">Read More</a>
            </div>
        </article>
        <?php
    endwhile;
endif;

Im obigen Code habe ich 'category_name' => 'wordpress'. Hier ist ‘WordPress’ der Slug einer Kategorie.

Zeigen Sie Beiträge aus einer bestimmten Kategorie auf einer WordPress-Seite an

Der Benutzer kann anstelle von category_name auch die Kategorie-ID übergeben. In diesem Fall sollten Sie den Schlüssel als ‘cat’ anstelle von ‘category_name’ verwenden und die ID einer Kategorie übergeben.

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'cat' => '4', //you can pass comma-separated ids here
    'posts_per_page' => 5,
);

posts_per_pageist die Anzahl der Beiträge, die aus der Datenbank abgerufen werden sollen. Ich habe die have_posts()Methode verwendet, die prüft, ob der nächste Beitrag für die WordPress-Schleife verfügbar ist. Wenn es verfügbar ist, durchläuft es jeden Beitrag und zeigt ihn an.

Erhalten Sie Beiträge unter benutzerdefinierter Taxonomie

Möglicherweise arbeiten Sie mit einem benutzerdefinierten Beitragstyp und möchten die Beiträge aus einer benutzerdefinierten Taxonomie anzeigen. In diesem Fall müssen Sie das Argumentarray wie folgt ändern:

$args = array(
    'post_type' => 'CUSTOM_POST_TYPE_NAME',
    'post_status' => 'publish',
    'posts_per_page' => 5,
    'tax_query' => array(
        array(
            'taxonomy' => 'TAXONOMY_NAME',
            'field'    => 'slug',
            'terms'    => array( 'TERM_SLUG' ),
            'operator' => 'IN'
        ),
    ),
);
 
$arr_posts = new WP_Query( $args );

Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte ersetzen.

Seitennummerierung

Der Code, den ich geschrieben habe, holt nur begrenzte Beiträge aus der Kategorie. Obwohl Sie eine beliebige Anzahl von Beiträgen erhalten können, indem Sie eine Zahl an ‘posts_per_page’ übergeben, zeigen wir normalerweise eine Reihe von Beiträgen pro Seite an und verwenden dann die Paginierung, um die nächste und vorherige Reihe von Beiträgen zu erhalten.

Um die Paginierung zu integrieren, installieren und aktivieren Sie das WP-PageNavi- Plugin.

Dieses Plugin bietet eine Methode, wp_pagenavi()die Paginierungslinks generiert, die auf der Seite mit der Beitragsliste verwendet werden können.

Zeigen Sie Beiträge aus einer bestimmten Kategorie auf einer WordPress-Seite an

Um Paginierungslinks zu Ihrer WordPress-Seite hinzuzufügen, müssen Sie Ihren Code ändern. Zuerst müssen Sie pagedParameter übergeben und dann die Funktion verwenden wp_pagenavi().

Sie erhalten den Wert für paged wie folgt:

$paged = (get_query_var( 'paged' ))? get_query_var( 'paged' ): 1;

Ihr endgültiger Code ist also wie folgt.

template-category.php

<?php
/**
 * Template Name: Category Custom Page
 */
 
get_header(); ?>
 
<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
 
    <?php
    $paged = (get_query_var( 'paged' ))? get_query_var( 'paged' ): 1;
    $args = array(
        'post_type' => 'post',
        'post_status' => 'publish',
        'category_name' => 'wordpress',
        'posts_per_page' => 5,
        'paged' => $paged,
    );
    $arr_posts = new WP_Query( $args );
 
    if ($arr_posts->have_posts() ):  
        while ($arr_posts->have_posts() ):             $arr_posts->the_post();
            ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <?php
                if (has_post_thumbnail() ):                     the_post_thumbnail();
                endif;
                ?>
                <header class="entry-header">
                    <h1 class="entry-title"><?php the_title(); ?></h1>
                </header>
                <div class="entry-content">
                    <?php the_excerpt(); ?>
                    <a href="<?php the_permalink(); ?>">Read More</a>
                </div>
            </article>
            <?php
        endwhile;
        wp_pagenavi(
            array(
                'query' => $arr_posts,
            )
        );
    endif;
    ?>
 
    </main><!-- .site-main -->
</div><!-- .content-area -->
 
<?php get_footer(); ?>

Jetzt können Sie die HTML-Struktur ändern, die Klassen verwenden, Styling hinzufügen und eine schön gestaltete Seite für Ihre Beitragsliste erstellen.

Ich hoffe, Sie verstehen, wie Sie Beiträge aus einer bestimmten Kategorie auf einer WordPress-Seite anzeigen. Bitte teilen Sie Ihre Gedanken im Kommentarbereich unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen