2011-12-09 20:16:34 +00:00
< ? php
/**
2012-08-14 18:05:45 +00:00
* Variable product add to cart
*
* @ author WooThemes
* @ package WooCommerce / Templates
2012-08-25 15:00:40 +00:00
* @ version 1.6 . 5
2011-12-09 20:16:34 +00:00
*/
2012-08-14 18:05:45 +00:00
2012-10-15 10:57:58 +00:00
if ( ! defined ( 'ABSPATH' ) ) exit ; // Exit if accessed directly
2012-02-06 18:14:46 +00:00
global $woocommerce , $product , $post ;
2011-12-09 20:16:34 +00:00
?>
< ? php do_action ( 'woocommerce_before_add_to_cart_form' ); ?>
2013-02-07 10:12:08 +00:00
< form action = " <?php echo esc_url( $product->add_to_cart_url () ); ?> " class = " variations_form cart " method = " post " enctype = 'multipart/form-data' data - product_id = " <?php echo $post->ID ; ?> " data - product_variations = " <?php echo esc_attr( json_encode( $available_variations ) ) ?> " >
2011-12-09 20:16:34 +00:00
< table class = " variations " cellspacing = " 0 " >
< tbody >
2012-06-10 17:15:02 +00:00
< ? php $loop = 0 ; foreach ( $attributes as $name => $options ) : $loop ++ ; ?>
2012-02-27 13:14:33 +00:00
< tr >
2012-10-09 14:57:02 +00:00
< td class = " label " >< label for = " <?php echo sanitize_title( $name ); ?> " >< ? php echo $woocommerce -> attribute_label ( $name ); ?> </label></td>
2012-07-11 22:19:29 +00:00
< td class = " value " >< select id = " <?php echo esc_attr( sanitize_title( $name ) ); ?> " name = " attribute_<?php echo sanitize_title( $name ); ?> " >
2012-10-09 14:57:02 +00:00
< option value = " " >< ? php echo __ ( 'Choose an option' , 'woocommerce' ) ?> …</option>
2012-08-14 18:05:45 +00:00
< ? php
2012-06-10 17:15:02 +00:00
if ( is_array ( $options ) ) {
2012-08-14 18:05:45 +00:00
2012-06-10 12:53:26 +00:00
if ( empty ( $_POST ) )
$selected_value = ( isset ( $selected_attributes [ sanitize_title ( $name ) ] ) ) ? $selected_attributes [ sanitize_title ( $name ) ] : '' ;
else
$selected_value = isset ( $_POST [ 'attribute_' . sanitize_title ( $name ) ] ) ? $_POST [ 'attribute_' . sanitize_title ( $name ) ] : '' ;
2012-06-10 09:15:23 +00:00
2012-02-27 13:14:33 +00:00
// Get terms if this is a taxonomy - ordered
2012-06-10 17:15:02 +00:00
if ( taxonomy_exists ( sanitize_title ( $name ) ) ) {
2012-11-27 16:22:47 +00:00
2012-10-09 14:57:02 +00:00
$orderby = $woocommerce -> attribute_orderby ( $name );
2012-11-27 16:22:47 +00:00
2012-10-09 14:57:02 +00:00
switch ( $orderby ) {
case 'name' :
2013-01-15 12:10:03 +00:00
$args = array ( 'orderby' => 'name' , 'hide_empty' => false , 'menu_order' => false );
2012-10-09 14:57:02 +00:00
break ;
case 'id' :
$args = array ( 'orderby' => 'id' , 'order' => 'ASC' , 'menu_order' => false );
break ;
case 'menu_order' :
$args = array ( 'menu_order' => 'ASC' );
break ;
}
2012-06-10 17:15:02 +00:00
2012-10-09 14:57:02 +00:00
$terms = get_terms ( sanitize_title ( $name ), $args );
2012-08-14 18:05:45 +00:00
2012-06-10 17:15:02 +00:00
foreach ( $terms as $term ) {
if ( ! in_array ( $term -> slug , $options ) ) continue ;
2012-07-22 13:31:31 +00:00
echo '<option value="' . $term -> slug . '" ' . selected ( $selected_value , $term -> slug , false ) . '>' . apply_filters ( 'woocommerce_variation_option_name' , $term -> name ) . '</option>' ;
2012-06-10 17:15:02 +00:00
}
} else {
2012-06-29 18:52:06 +00:00
foreach ( $options as $option )
2012-07-22 13:31:31 +00:00
echo '<option value="' . $option . '" ' . selected ( $selected_value , $option , false ) . '>' . apply_filters ( 'woocommerce_variation_option_name' , $option ) . '</option>' ;
2012-06-10 17:15:02 +00:00
}
}
?>
2012-02-27 13:14:33 +00:00
</ select > < ? php
2012-06-10 17:15:02 +00:00
if ( sizeof ( $attributes ) == $loop )
2012-10-09 14:57:02 +00:00
echo '<a class="reset_variations" href="#reset">' . __ ( 'Clear selection' , 'woocommerce' ) . '</a>' ;
2012-02-27 13:14:33 +00:00
?> </td>
</ tr >
< ? php endforeach ; ?>
2011-12-09 20:16:34 +00:00
</ tbody >
</ table >
< ? php do_action ( 'woocommerce_before_add_to_cart_button' ); ?>
< div class = " single_variation_wrap " style = " display:none; " >
< div class = " single_variation " ></ div >
< div class = " variations_button " >
< input type = " hidden " name = " variation_id " value = " " />
< ? php woocommerce_quantity_input (); ?>
2012-10-16 09:45:33 +00:00
< button type = " submit " class = " single_add_to_cart_button button alt " >< ? php echo apply_filters ( 'single_add_to_cart_text' , __ ( 'Add to cart' , 'woocommerce' ), $product -> product_type ); ?> </button>
2011-12-09 20:16:34 +00:00
</ div >
</ div >
< div >< input type = " hidden " name = " product_id " value = " <?php echo esc_attr( $post->ID ); ?> " /></ div >
< ? php do_action ( 'woocommerce_after_add_to_cart_button' ); ?>
</ form >
< ? php do_action ( 'woocommerce_after_add_to_cart_form' ); ?>