Woocommerce Wie erhalte ich den Preis für jede Variation

Lesezeit: 2 Minuten

Benutzer-Avatar
BB-Verwaltung

Ich benutze das neueste WC und möchte unbedingt, dass die Preise neben jeder Variante angezeigt werden, um eine bessere Übersicht zu erhalten.

Ich habe Probleme, den richtigen Code für meine functions.php zu finden, um Preise neben jeder Variante anzuzeigen. Ich habe mehrere ältere Beiträge gesehen und keiner von ihnen hat wirklich funktioniert.

Folgendes habe ich versucht:

add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name' );

function display_price_in_variation_option_name( $term ) {
    global $wpdb, $product;

    if ( empty( $term ) ) return $term;
    if ( empty( $product->id ) ) return $term;

    $result = $wpdb->get_col( "SELECT slug FROM {$wpdb->prefix}terms WHERE name="$term"" );

    $term_slug = ( !empty( $result ) ) ? $result[0] : $term;

    $query = "SELECT postmeta.post_id AS product_id
                FROM {$wpdb->prefix}postmeta AS postmeta
                    LEFT JOIN {$wpdb->prefix}posts AS products ON ( products.ID = postmeta.post_id )
                WHERE postmeta.meta_key LIKE 'attribute_%'
                    AND postmeta.meta_value="$term_slug"
                    AND products.post_parent = $product->id";

    $variation_id = $wpdb->get_col( $query );

    $parent = wp_get_post_parent_id( $variation_id[0] );

    if ( $parent > 0 ) {
         $_product = new WC_Product_Variation( $variation_id[0] );
         return $term . ' (' . wp_kses( woocommerce_price( $_product->get_price() ), array() ) . ')';
    }
    return $term;

}

  • Könnten Sie auf die anderen Beiträge verlinken und erklären, warum sie nicht funktioniert haben?

    – gut

    2. Januar 2017 um 0:08 Uhr

  • stackoverflow.com/questions/32144111/… Dieser hat nicht funktioniert. Ich konnte keine Änderungen feststellen, nachdem ich die eine oder andere Methode implementiert hatte. Aber es ist für ältere Versionen von WC, obwohl ich langsam glaube, dass mein Thema es irgendwie blockiert. Ich benutze Shopera.

    – BB-Verwaltung

    2. Januar 2017 um 20:42 Uhr

Benutzer-Avatar
hemnath mouli

Da es kein id-Argument gibt woocommerce_variation_option_namekönnten wir dies mit Skript tun.

add_action( "wp_head", "function_to_woo_script" );

function function_to_woo_script () {
    ?>
    <script>
    $ = jQuery;
    $(document).ready(function(){
        var json_product    =   jQuery.parseJSON( $(".variations_form").attr("data-product_variations") );
        var currency    =   "$";
        for( i = 0; i < json_product.length; i++ ) {
            var attr_name   =   $(".variations select").attr("data-attribute_name");
            $(".variations select option[value=""+json_product[i].attributes[attr_name]+""]").html( json_product[i].attributes[attr_name] + " - " + currency + json_product[i].display_regular_price );
        }
    });
    </script>
    <?php 
}

Ergebnis

jREi6

  • Danke @Hemnath Würdest du es so in die funktions.php einfügen wie es ist?

    – BB-Verwaltung

    2. Januar 2017 um 17:21 Uhr

  • Ich habe meine Antwort bearbeitet. Sie können diesen Code zu Ihrer functions.php hinzufügen

    – hemnath mouli

    2. Januar 2017 um 17:48 Uhr

  • Genial! Vielen Dank! Leider blockiert mein Thema es und meine Fähigkeiten sind nicht gut genug, um wirklich zu verstehen, warum? Irgendeine Idee? Ich benutze Shopera auf istikbal.dk.

    – BB-Verwaltung

    2. Januar 2017 um 19:53 Uhr

1368150cookie-checkWoocommerce Wie erhalte ich den Preis für jede Variation

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

Privacy policy