Woocommerce: Artikelkurzbeschreibung auf Kategorieseite anzeigen

So einfach lässt sich die Artikelkurzbeschreibung und beliebige „Eigene Felder“ auf der Kategorieübersichtsseite einbinden.

Wer den Komfort und Funktionsumfang von Woocommerce für WordPress kennt, der wundert sich fast ein wenig. Aber mit Bordmitteln lassen sich auf den Kategorieseiten keine Produktbeschreibungen ausgeben. Dabei kann man beim Anlegen eines Produkts in Woocommerce ein Feld „Produktkurzbeschreibung“ ausfüllen, der Inhalt wird allerdings (bei den meisten Templates) rechts neben den Produktbildern ausgespielt. Andere Shopsystem bieten hier an, die Kurzbeschreibung auch auf der Kategorieübersichtsseite auszuspielen. Woocommerce zeigt hier jedoch standardmäßig nur ein Artikelbild und den Produktnamen.

Will man aber auch die Produktkurzbeschreibung dort angezeigt bekommen, muss man die functions.php des Templates um folgenden Code erweitern: 

function woocommerce_after_shop_loop_item_title_short_description() {
                global $product;
   if ( ! $product->post->post_excerpt ) return; ?>
<div itemprop="description">
<?php echo apply_filters( 'woocommerce_short_description', $product->post->post_excerpt ) ?>
</div>
<?php
}
add_action('woocommerce_after_shop_loop_item_title', 'woocommerce_after_shop_loop_item_title_short_description', 5);

Quelle: https://gist.github.com/om4james/9883140

Die if-Abfrage überprüft, ob das Feld „Produktkurzbeschreibung“ ausgefüllt wurde und setzt dann deren Ausgabe auf der Kategorieübersichtsseite in Gang.

Ich hatte kürzlich einen Fall, bei dem das Feld „Produktkurzbeschreibung“ in der Produktdetailansicht einen anderen Inhalt ausspielen sollte, als in der Kategorieübersicht. Mit einem Feld funktioniert das natürlich nicht, aber dank eines Plugins, das eigene Felder auch für Woocommerce-Produkte anlegen kann, eben schon. Wer damit ein Feld anlegt, dass den Inhalt für die Kategorieübersichtsseite enthält, kann den obigen Code einfach quick & dirty anpassen.

Statt der Abfrage der Produktkurzbeschreibung muss jetzt abgefragt werden, ob das Produkt das neu angelegte Feld nicht nur enthält, sondern es auch mit Inhalt gefüllt ist.

Dazu ersetzt man in der if-Abfrage post_excerpt mit dem für das eigene Feld vergebenen Namen, also z.B.:

if ( ! $product->post->kurzbeschreibungkategorie ) return;

Das Gleiche muss noch in der Ausgabe durch php echo passieren, z.B. so:

<?php echo apply_filters( ‘woocomerce_short_description‘, $product->post->kurzbeschreibungkategorie ) ?>

Wer den beiden Darstellungen unterschiedliche CSS-Klassen mitgeben will, kann diese einfach bei <div itempro=“description“ class=“neue-CSS-Klasse“> einfügen.

About Thomas Matterne

Thomas Matterne ist ausgebildeter Journalist mit einem Diplom in Wirtschaftsinformatik. Er arbeitete als Leiter der Online Redaktion von TV touring und als Chefredakteur von DenkZeit. Aktuell schreibt er neben dieser Seite in diversen anderen Online-Veröffentlichungen, wie z.B. das Kaffee Journal. Auf dieser Seite finden sich vor allem Themen aus den Bereichen Content- und Online-Marketing, sowie dem Feld IT allgemein.

Schreibe einen Kommentar

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