So erhalten Sie WooCommerce-Produktvariationswerte

Lesezeit: 3 Minuten

Ich möchte in der Lage sein, die Variationsoptionswerte aufzulisten. Zum Beispiel habe ich eine Laterne, die in 12 Zoll, 14 Zoll und 16 Zoll erhältlich ist. Ich möchte in der Lage sein, diese Werte zu erhalten. Ich habe versucht, die foreach-Schleife zu verwenden, um diese Werte zu erhalten, aber ich brauche ein wenig Hilfe. hier ist mein Code;

function test_func(){
    global $woocommerce, $product, $post;
    // test if product is variable
    if( $product->is_type( 'variable' ) ){
        $available_variations = $product->get_available_variations();
        // var_dump($available_variations);

        foreach( $available_variations as $key => $value ){ 
            var_dump( $value['attributes'] ) ;
        }
    }
}

Das ist die Ausgabe:

array(1) { ["attribute_pa_size"]=> string(4) "12in" } array(1) { ["attribute_pa_size"]=> string(4) "14in" } array(1) { ["attribute_pa_size"]=> string(4) "16in" }

Wie Sie sehen, sind die gewünschten Werte vorhanden, aber ich weiß nicht, wie ich sie dazu bringen kann, sie wiederzugeben.

Folgendes bekomme ich, wenn ich var_dump() $available_variations;

” [“backorders_allowed”]=> bool(falsch) [“dimensions”]=> Array(3) { [“length”]=> Zeichenkette(4) “11.8” [“width”]=> Zeichenkette(4) “11.8” [“height”]=> Zeichenkette(4) “11.8” } [“dimensions_html”]=> string(21) “11,8 x 11,8 x 11,8 Zoll” [“display_price”]=> Float(3.2) [“display_regular_price”]=> Float(3.2) [“image”]=> Array(18) { [“title”]=> Zeichenkette(11) “6712R-1.jpg” [“caption”]=> Zeichenkette(0) “” [“url”]=> Zeichenkette(59) “http://website/wp-content/uploads/2018/10/6712R-1.jpg” [“alt”]=> Zeichenkette(0) “” [“src”]=> Zeichenkette(67) “http://website/wp-content/uploads/2018/10/6712R-1-600×600.jpg” [“srcset”]=> Zeichenkette(445) “http://website/wp-content/uploads/2018/10/6712R-1-600×600.jpg 600 W, http://website/wp-content/uploads/2018/10/6712R-1-150×150.jpg 150 W, http://website/wp-content/uploads/2018/10/6712R-1-300×300.jpg 300w, http://website/wp-content/uploads/2018/10/6712R-1-768×768.jpg 768w, http://website/wp-content/uploads/2018/10/6712R-1-1024×1024.jpg 1024w, http://website/wp-content/uploads/2018/10/6712R-1-100×100.jpg 100 W” [“sizes”]=> string(31) “(max-width: 600px) 100vw, 600px” [“full_src”]=> Zeichenkette(59) “http://website/wp-content/uploads/2018/10/6712R-1.jpg” [“full_src_w”]=> int(2000) [“full_src_h”]=> int(2000) [“gallery_thumbnail_src”]=> Zeichenkette(67) “http://website/wp-content/uploads/2018/10/6712R-1-100×100.jpg” [“gallery_thumbnail_src_w”]=> int(100) [“gallery_thumbnail_src_h”]=> int(100) [“thumb_src”]=> Zeichenkette(67) “http://website/wp-content/uploads/2018/10/6712R-1-300×300.jpg” [“thumb_src_w”]=> int(300) [“thumb_src_h”]=> int(300) [“src_w”]=> int(600) [“src_h”]=> int(600) } [“image_id”]=> Zeichenkette(3) “164” [“is_downloadable”]=> bool(falsch) [“is_in_stock”]=> bool(wahr) [“is_purchasable”]=> bool(wahr) [“is_sold_individually”]=> Zeichenkette(2) “nein” [“is_virtual”]=> bool(falsch) [“max_qty”]=> int(17) [“min_qty”]=> int(1) [“price_html”]=> Zeichenkette(145) “

” [“sku”]=> Zeichenkette(5) “6712R” [“variation_description”]=> Zeichenkette(0) “” [“variation_id”]=> int(1462) [“variation_is_active”]=> bool(wahr) [“variation_is_visible”]=> bool(wahr) [“weight”]=> Zeichenkette(0) “” [“weight_html”]=> Zeichenkette(3) “N/A” } [1]=> Array(24) { [“attributes”]=> Array(1) { [“attribute_pa_size”]=> Zeichenkette(4) “14in” } [“availability_html”]=> Zeichenkette(51) ​​”

Dies ist nur für ein Produkt, es gibt eines für jede Variante, aber das gibt Ihnen eine Vorstellung davon, wie es funktioniert. Ich bin auch offen dafür, eine andere Methode auszuprobieren, um die gleichen Ergebnisse zu erzielen. Wenn Sie also eine kennen, lassen Sie es mich wissen. Vielen Dank

Sie müssen eine 2. Foreach-Schleife für die Produktattribute verwenden:

function test_func(){
    global $woocommerce, $product, $post;
    // test if product is variable
    if( $product->is_type( 'variable' ) ){
        // Loop through available product variation data
        foreach ( $product->get_available_variations() as $key => $variation ) {
            // Loop through the product attributes for this variation
            foreach ($variation['attributes'] as $attribute => $term_slug ) {
                // Get the taxonomy slug
                $taxonmomy = str_replace( 'attribute_', '', $attribute );

                // Get the attribute label name
                $attr_label_name = wc_attribute_label( $taxonmomy );

                // Display attribute labe name
                $term_name = get_term_by( 'slug', $term_slug, $taxonmomy )->name;

                // Testing output
                echo '<p>' . $attr_label_name . ': ' . $term_name . '</p>';
            }
        }
    }
}

  • Wie kann ich die Produktvariationsbeschreibung erhalten, ich meine die Beschreibung innerhalb der Variation und nicht die Hauptproduktbeschreibung

    – Tyra Pululi

    26. September 2019 um 7:36 Uhr

  • Für mich ist der Wert, den ich brauche, gerecht $term_slug. $term_name ist leer.

    – Kubische Unendlichkeit

    19. Dezember 2021 um 6:20 Uhr

1362200cookie-checkSo erhalten Sie WooCommerce-Produktvariationswerte

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy