info@netz-gaenger.de       📞 +49 151 / 28859057

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

Hat dir mein Beitrag geholfen?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 1

Letzte Version vom 27. Februar 2018 von Netzgänger

Beliebte Artikel

Wie gut ist HostPress, der spezialisierte WP Hoster?

Als WordPress-Entwickler habe ich viel mit Hostern zu tun. Hier liest du meine Erfahrungen zu HostPress und warum ich jetzt selber in einigen Projekten auf den Hosting-Anbieter setze.

Die besten Webhoster im Vergleich

Als WordPress Entwickler kenne ich alle guten Hoster. Hier zeige ich dir die besten WP Hoster und welcher für dich Sinn macht.

Muss WordPress gewartet werden?

Müssen WordPress Sites gewartet werden? Braucht es die regelmäßigen Updates oder kann man sich den Aufwand sparen? Das erkläre ich hier.

Die besten WP Security Plugins

WordPress solltest du immer absichern. Dafür gibt es diverse Plugins, die dich bei den Securitymaßnahmen unterstützen. Meine Empfehlungen.

Die besten Plugins für Auto-Übersetzung

Hier zeige ich dir 4 Plugins, die es ermöglichen WordPress automatisch zu übersetzen. Von wirklich gut bis wirklich schlecht ist alles dabei.

Die besten Plugins für Mehrsprachigkeit

Mit diesen 5 Plugins kannst du WordPress ganz einfach selber mehrsprachig einrichten. Multi-Language Fähigkeit in WP nachrüsten.

Bildnachweise: Freepik - Flaticon

Kommentare

  • George

    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“);

    Reply

Schreibe einen Kommentar

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