WordPress: Beiträge einer Kategorie per Shortcode einblenden

Möchte man in WordPress an beliebiger Stelle, z.B. im Inhalt oder in einer Sidebar, die letzten Blogeinträge einer bestimmten Kategorie auflisten, kann man das über einen Shortcode und ohne Plugin bewerkstelligen.

Funktion für ein Kategorie/Beitrags-Listing in WordPress

Zuerst erstellt man eine Funktion in der functions.php des jeweiligen Themes. Diese könnte folgend aussehen:

function showCatentries($atts){
extract(shortcode_atts(array(
"catid" => '1'
), $atts));
$temp_query = $wp_query;
query_posts('showposts=5&cat='.$catid);

while (have_posts()) : the_post();
echo '<div class="catpost" id="post-';
the_ID();
echo '">';

echo '<h3><a href="';
the_permalink();
echo '" rel="bookmark" title="';
the_title();
echo '">';
the_title();
echo '</a></h3>';

if (has_post_thumbnail()) {
echo '<div class="threadimg">';
the_post_thumbnail('medium');
echo '</div>';
}

the_excerpt();
echo '</div>';
endwhile;
wp_reset_query();
}
add_shortcode("showCatentries", "showCatentries");?>

Wie bereits geschrieben „könnte“ der Code so aussehen. Wie die Ausgabe gestaltet wird bleibt jedem selbst überlassen. Ich habe mich für die sehr einfache Variante mehrerer echos entschieden. Über die verwendeten Div’s kann das Ganze formatiert werden. Möchte man nur die Links der Kategorie ausgeben, lässt man einfach the_excerpt() weg.

Auf eine genaue Erklärung des Codes verzichte ich an dieser Stelle. Erklärungen zu shortcodes oder query_posts kann man auf http://codex.wordpress.org nachlesen.

Einbinden des Shortcodes für die Kategorieanzeige

Im Content eines Beitrags oder einer Seite fügt man den Shortcode ein und gibt diesem die gewünschte Kategorie-ID mit.

[showCatentries catid=34]

Wo finde ich die Kategorie-ID in WordPress?

Die Kategorie-ID findet man unter Beiträge->Kategorien, indem man mit der Maus über eine entsprechende Kategorie fährt und dann die ID aus der URL liest (siehe Screenshot)

Wordpress Cat ID auslesen

Letzte Version vom 27. Februar 2018 von Netzgänger
Jetzt WordPress Newsletter in dein Postfach

Melde dich jetzt für meinen Newsletter an und du erhältst regelmäßig Tipps und Tricks zu WordPress in dein Postfach. Natürlich kannst du ihn jederzeit abbestellen.


Ein Kommentar

  1. George sagt:

    Danke! Hier meine Version… hier kann man noch optional die Anzahl posts übergeben bzw. 0 für alle Posts. Und ich benutze hier output buffer von php, um den Inhalt auch an die gewünschte Stelle zu platzieren (dort wo der Shortcode im Beitrag steht).

    function showCatEntries($atts){
    extract(shortcode_atts(array(„category“ => ‚1‘, ‚count‘ => 10), $atts));

    ob_start();
    query_posts(‚&cat=‘.$category.($count ? ’showposts=‘.$count : “));

    while (have_posts()): the_post();
    include(locate_template(‚content-category-testimonials.php‘));
    endwhile;

    wp_reset_query();
    return ob_get_clean();
    }

    add_shortcode(„showCatEntries“, „showCatEntries“);

Kommentar schreiben

Mit Absenden deines Kommentars erklärst du dich mit der Verarbeitung deiner hier angegebenen Daten einverstanden (Datenschutzerklärung). Diese werden nur zur Verwaltung der Kommentare verwendet und keinem anderen Zweck zugefügt. Du kannst jederzeit per E-Mail an info@netz-gaenger.de der Speicherung deiner Daten widersprechen.

* Notwendige Angaben

Netzgänger Webdesign | Rohrersmühlstraße 22 in Schwabach | Bayern
Kontakt: info@netz-gaenger.de
↑ oben
Inhalt