Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $attribute_keys = array_keys( $attributes );
- function print_attribute_radio( $checked_value, $value, $label, $name ) {
- $checked = sanitize_title( $checked_value ) === $checked_value ? checked( $checked_value, sanitize_title( $value ), false ) : checked( $checked_value, $value, false );
- $input_name = 'attribute_' . esc_attr( $name ) ;
- $esc_value = esc_attr( $value );
- $id = esc_attr( $name . '_v_' . $value );
- $filtered_label = apply_filters( 'woocommerce_variation_option_name', $label );
- printf( '<div><input type="radio" name="%1$s" value="%2$s" id="%3$s" %4$s><label for="%3$s">%5$s</label></div>', $input_name, $esc_value, $id, $checked, $filtered_label );
- }
- <table class="variations" cellspacing="0">
- <tbody>
- <?php foreach ( $attributes as $attribute_name => $options ) : ?>
- <tr>
- <td class="label"><label for="<?php echo sanitize_title( $attribute_name ); ?>"><?php echo wc_attribute_label( $attribute_name ); ?></label></td>
- <td class="value">
- <?php
- $selected = isset( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ? wc_clean( urldecode( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ) : $product->get_variation_default_attribute( $attribute_name );
- wc_dropdown_variation_attribute_options( array( 'options' => $options, 'attribute' => $attribute_name, 'product' => $product, 'selected' => $selected ) );
- echo end( $attribute_keys ) === $attribute_name ? apply_filters( 'woocommerce_reset_variations_link', '<a class="reset_variations" href="#">' . __( 'Clear', 'woocommerce' ) . '</a>' ) : '';
- ?>
- </td>
- </tr>
- <?php endforeach;?>
- </tbody>
- </table>
- <?php foreach ( $attributes as $name => $options ) : ?>
- <table class="variations" cellspacing="0">
- <tbody>
- <tr>
- <?php
- $sanitized_name = sanitize_title( $name );
- if ( isset( $_REQUEST[ 'attribute_' . $sanitized_name ] ) ) {
- $checked_value = $_REQUEST[ 'attribute_' . $sanitized_name ];
- } elseif ( isset( $selected_attributes[ $sanitized_name ] ) ) {
- $checked_value = $selected_attributes[ $sanitized_name ];
- } else {
- $checked_value = '';
- }
- ?>
- <td class="value">
- <?php
- if ( ! empty( $options ) ) {
- if ( taxonomy_exists( $name ) ) {
- // Get terms if this is a taxonomy - ordered. We need the names too.
- $terms = wc_get_product_terms( $product->id, $name, array( 'fields' => 'all' ) );
- foreach ( $terms as $term ) {
- if ( ! in_array( $term->slug, $options ) ) {
- continue;
- }
- print_attribute_radio( $checked_value, $term->slug, $term->name, $sanitized_name );
- }
- } else {
- foreach ( $options as $option ) {
- print_attribute_radio( $checked_value, $option, $option, $sanitized_name );
- }
- }
- }
- echo end( $attribute_keys ) === $name ? apply_filters( 'woocommerce_reset_variations_link', '<a class="reset_variations" href="#">' . __( 'Clear', 'woocommerce' ) . '</a>' ) : '';
- ?>
- </td>
- </tr>
- </tbody>
- </table>
- <?php endforeach; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement