WooCommerce显示价格旁边的产品变异
问题描述:
我有一个产品的变化列表,但我想显示它旁边的价格。这样用户可以立即看到每个变化之间的价格差异。 http://cl.ly/15150P3D1U3kWooCommerce显示价格旁边的产品变异
任何方式如何做到这一点在WooCommerce知道我的网站是多语言?
谢谢!
答
请试试这个。我刚刚在最新的WordPress和WooCommerce中进行过测试。只需将其添加到您的功能文件。
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;
}
并没有真正与最新版本的作品了.. –
@SamDeDecker更新我的回答 – danyo
这工作确实是大多数情况下,虽然在其他语言有时会说“未定义抵消:0” $父= wp_get_post_parent_id($ variation_id [0]); ... 任何想法? (请参阅前三个选项:http://luxsel.be/fr/product/sel-de-la-mer-morte-psotramil/) –