Woocommerce我如何在每个变体下获得价格

问题描述:

我使用最新的WC,并且我真的希望价格能够显示在每个变体旁边,以获得更好的概览。Woocommerce我如何在每个变体下获得价格

我无法找到我的functions.php正确的代码来显示每个变化旁边的价格。我看到了几个较旧的帖子,其中没有一个真正起作用。

我试过如下:

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; 

} 
+0

您可以链接到其他职位,并解释为什么他们没有工作? – MathSquared

+0

http://*.com/questions/32144111/woocommerce-shows-price-on-both-variations?noredirect=1&lq=1 这一个没有奏效。实施这种或那种方式后,我看不到任何变化。但它对于较旧版本的WC,虽然我开始相信我的主题会以某种方式阻止它。我正在使用Shopera。 –

由于没有id参数woocommerce_variation_option_name,我们可以用脚本做到这一点。

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 
} 

结果

+0

谢谢@Hemnath你会把它放到funktions.php中吗? –

+0

我编辑了我的答案。您可以将该代码添加到您的functions.php –

+0

太棒了!谢谢!不幸的是,我的主题是阻止它,而我的技能还不足以真正理解为什么?任何想法?我在使用Shopera,istikbal.dk。 –