私は最新のWCを使用しています。Woocommerce各バリエーションの次の価格を取得するには
function.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;
}
あなたは他の記事にリンクし、それらが機能しなかった理由を説明できますか? – MathSquared
http://stackoverflow.com/questions/32144111/woocommerce-shows-price-on-both-variations?noredirect=1&lq=1 これは機能しませんでした。私は一方的な方法または他の方法を実装した後に変更を見ることができませんでした。しかし、WCの古いバージョンでは、私のテーマが何とかそれをブロックしていると信じていますが。私はShoperaを使っています。 –