• Hello,

    I had make a nice sorting on my attribute page and now it is gone sinds i update it to WC 3.0.

    See -> https://www.ietsdoenofferte.nl/product/vakantiehuis-the-lighthouse
    Aantal personen 2
    Aantal baby 1
    Huisdieren toegestaan 0
    Sterren 3
    Oppervlak (m) 55

    Only i have now idea how to fix it now in this code:

    <?php
    /**
     * Product attributes
     *
     * Used by list_attributes() in the products class.
     *
     * This template can be overridden by copying it to yourtheme/woocommerce/single-product/product-attributes.php.
     *
     * HOWEVER, on occasion WooCommerce will need to update template files and you
     * (the theme developer) will need to copy the new files to your theme to
     * maintain compatibility. We try to do this as little as possible, but it does
     * happen. When this occurs the version of the template file will be bumped and
     * the readme will list any important changes.
     *
     * @see 	    https://docs.woocommerce.com/document/template-structure/
     * @author 		WooThemes
     * @package 	WooCommerce/Templates
     * @version     3.0.0
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
    	exit;
    }
    
    ?>
    <table class="shop_attributes">
    	<?php if ( $display_dimensions && $product->has_weight() ) : ?>
    		<tr>
    			<th><?php _e( 'Weight', 'woocommerce' ) ?></th>
    			<td class="product_weight"><?php echo esc_html( wc_format_weight( $product->get_weight() ) ); ?></td>
    		</tr>
    	<?php endif; ?>
    
    	<?php if ( $display_dimensions && $product->has_dimensions() ) : ?>
    		<tr>
    			<th><?php _e( 'Dimensions', 'woocommerce' ) ?></th>
    			<td class="product_dimensions"><?php echo esc_html( wc_format_dimensions( $product->get_dimensions( false ) ) ); ?></td>
    		</tr>
    	<?php endif; ?>
    
    	<?php 
    	
    	foreach ( $attributes as $attribute ) : ?>
        
    		<tr>
    			<th align="left"><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
    			<td><?php
    				$values = array();
    					
    				if ( $attribute->is_taxonomy() ) {
    					$attribute_taxonomy = $attribute->get_taxonomy_object();
    					$attribute_values = wc_get_product_terms( $product->get_id(), $attribute->get_name(), array( 'fields' => 'all' ) );
    
    					foreach ( $attribute_values as $attribute_value ) {
    						$value_name = esc_html( $attribute_value->name );
    
    						if ( $attribute_taxonomy->attribute_public ) {
    							$values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
    						} else {
    							$values[] = $value_name;
    						}
    					}
    				} else {
    					$values = $attribute->get_options();
    
    					foreach ( $values as &$value ) {
    						$value = esc_html( $value );
    					}
    				}
    
    				echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
    			?></td>
    		</tr>
    	<?php endforeach; ?>
    </table>
    
Viewing 7 replies - 1 through 7 (of 7 total)
Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘WC 3.0 Attribute sorting’ is closed to new replies.