Add Prices Next to Woocommerce Variations

Posted by on //Categories: Tutorials, Web Design Tutorials, Wordpress//Tags:, , ,

Have you ever wondered how you can add the prices next to your variations in Woocommerce?  Perhaps you are using our Woocommerce Radio Buttons Plugin and now you just want to display the price next to each option so users do not have to click each variation to find its price.

 

We are going to show you how you can add prices next to EACH variation in Woocommerce by a little snippet that you are going to want to add to your themes functions.php file.  Simply copy the snippet below and place it in your theme and you should be golden.

 

//Add prices to variations
add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name' );

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

$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] );

//this is where you can actually customize how the price is displayed
return $term . ' (' . woocommerce_price( $_product->get_price() ) . ')';
}
return $term;

} 

Once you have copied and pasted that you just hit the save button and you should be ready to roll! Major thanks to Ratnakar for sharing this 😉