Programmieren lernen | Codebeispiele | Jobbörse | Webentwicklung

WordPress | Nutze Shortcode für Anzeige von Beiträgen einer Kategorie

In diesem Beitrag zeige ich dir wie du in deinem WordPress Blog, auf einer beliebigen Seite, Beiträge bestimmter Kategorien anzeigen kannst. Dabei nutze ich die Shortcode Funktion von WordPress.

Das heißt du kannst entweder direkt Template mittels PHP-Code und do_shortcode die Beiträge anzeigen lassen oder aber über ein benutzerdefiniertes Feld an einer beliebigen Stelle in deiner Webseite.

Um Skripte auf mehreren Webseiten zu verwenden, gliedere ich diese gerne aus und schreibe sie nicht direkt in die functions.php meines Themes. Wenn du möchtest kannst du mein Beispiel aber auch direkt in die Datei schreiben.

Für alle die das Skript ebenfalls ausgliedern möchten, füge dazu ganz unten nur folgendes Beispiel in die functions.php.

require get_template_directory() . '/deinUnterordner/categories.php';

Den Pfad musst du nur an deinen anpassen und darin die categories.php erstellen. „deinUnterordner“ gehört in dein Theme bzw. Child-Theme Verzeichnis.

Folgende PHP Funktion kopierst du jetzt in die categories.php.

function categorieFunction($atts){
  extract(shortcode_atts([
    'catid' => ''
  ], $atts));

  query_posts([
    'showposts'    => 5,
    'cat'	   => $catid 
  ]);

  if ( have_posts() ) :
    while ( have_posts()) : the_post(); ?>
    <div class="cat-posts row" id="post-<?php the_ID();?>">
      <div class="col-md-4 p-0">
        <?php if ( has_post_thumbnail()) : ?>
          <div class="cat-img">
            <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail('large'); ?></a>
          </div>
        <?php endif; ?>
      </div>
      <div class="col-md-8">
        <h3><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
        <ul class="cat-meta">
          <li><?php echo get_the_date('d.m.Y'); ?></li>
        </ul>
        <?php the_excerpt(); ?>
      </div>
    </div>
    <?php endwhile; wp_reset_query(); endif;
}
add_shortcode("showCategoriePosts", "categorieFunction");

Erklärung:

  • Zeile 3: Damit wird im Shortcode die ID der Kategorie definiert
  • Zeile 7: Die Anzahl an Beiträgen die angezeigt werden sollen
  • Zeile 17: Zeigt das Beitragsbild mit Link zum Beitrag an
  • Zeile 22: Zeigt den Beitragstitel mit Link zum Beitrag an
  • Zeile 24: Zeigt das Beitragsdatum an
  • Zeile 26: Zeigt einen Anrisstext des Beitrags an
  • Zeile 31: Der erste Wert wird das Shortcode-Kürzel und der zweite ist unsere definierte PHP-Funktion

Shortcode verwenden

Jetzt kannst du mittels unserem erstellten Shortcode Beiträge bestimmter Kategorien anzeigen. Der fertige Shortcode dafür lautet wie folgt:

[ showCategoriePosts catid=9 ]

Erklärung:

  • showCategoriePosts -> Wie in Zeile 30 definiert
  • catid -> Wie in Zeile 3 definiert

Um den Shortcode direkt im Template zu platzieren benutze folgendes Beispiel:

<?php echo do_shortcode("[ showCategoriePosts catid=9 ]"); ?>

Noch keine Kommentare vorhanden. Sei DU der erste!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.