Jalara Studio

aktualisiert am
01. 05. 2019

Shortcode: WooCommerce-Produkte mit Preis und Artikelnummer auflisten

# # # #


Mit folgender Funktion, eingefügt in die functions.php im (Child-)Theme oder in ein seitenspezifisches Plugin, wird ein Shortcode angelegt, mit dem du die Produkte einer Produktkategorie mit Preis und Artikelnummer alphabetisch angeordnet in einer Liste auf einer gewünschten Seite ausgeben kannst:

function produktliste( $atts ) { 
    $a = shortcode_atts( 
             array( 'kategorie' => '' ), $atts 
         );
    $args = array(
        'post_type'      => 'product', 
        'orderby'        => 'title', 
        'order'          => 'ASC',
        'posts_per_page' => 100, 
        'tax_query'      => array( 
            array( 'taxonomy' => 'product_cat',
                   'field'    => 'slug',
                   'terms'    => $a["kategorie"],
                 ),
        ),
    ); 
    $query = new WP_Query( $args ); 
    if ( $query->have_posts() ) { 
        while ( $query->have_posts() ) { 
            $query->the_post(); 
            $post_id = $query->post->ID;
            $title = get_the_title( $post_id ); 
            $link = get_permalink( $post_id ); 
            $ust = get_post_meta( $post_id, '_tax_class', true );
            $preis = get_post_meta( $post_id, '_price', true );
            $sku = get_post_meta( $post_id, '_sku', true );
            $ausgabe .= '<a rel="nofollow" href="' . $link . '" class="text">' . $title . '</a> | Artikelnummer: ' . $sku 
                     . ' | Kosten: ' . $preis . '€ (inkl. ' . $ust . '% USt. und zzgl. Versandkosten)<br>'; 
        }   
        wp_reset_postdata(); 
    } 
    return $ausgabe; 
} 
add_shortcode( 'produktliste', 'produktliste' );

Füge den [produktliste kategorie="TITELFORM"] in ein Widget, eine Seite oder in einen Beitrag ein und ändere die Angabe TITELFORM mit der gewünschten Produktkategorie, z. B. [produktliste kategorie="ketten"].

Anschließend könnte folgende Liste erstellt werden:

Kette in Gold | Artikelnummer: 123456789 | Kosten: 949€ (inkl. 19% USt. und zzgl. Versandkosten)
Kette in Silber | Artikelnummer: 987654321 | Kosten: 649€ (inkl. 19% USt. und zzgl. Versandkosten)
Kette in Bronze | Artikelnummer: 678912345 | Kosten: 349€ (inkl. 19% USt. und zzgl. Versandkosten)

Buchempfehlung

Anzeige | Affiliate-Link*

Wer wissen möchte, wie man Word­Press mit Hilfe von Plugins und Themes er­weitern kann, dem sei das 388 Seiten starke, 2019 neu veröffentlichte Taschen­buch WordPress für Ent­wickler: Crash­kurs des Web­ent­wick­lers David Remer empfohlen.