WordPress
    178
    Вклад в тег
    
      
      
    
  
  
<?php $product->list_attributes(); ?> используется метот list_attributes(); Можно на этом остановиться и в своем шаблоне написать global $product;
$product->list_attributes();public function list_attributes() {
		wc_get_template( 'single-product/product-attributes.php', array(
			'product'    => $this
		) );
	}$attributes = $product->get_attributes();
.........
<?php foreach ( $attributes as $attribute ) :
		if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) ) {
			continue;
		} else {
			$has_row = true;
		}
		?>
		<tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>">
			<th><?php echo wc_attribute_label( $attribute['name'] ); ?></th>
			<td><?php
				if ( $attribute['is_taxonomy'] ) {
					$values = wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) );
					echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
				} else {
					// Convert pipes to commas and display values
					$values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
					echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
				}
			?></td>
		</tr>
	<?php endforeach; ?>В вашей теме содержится файл woocommerce.php, вы не сможете переопределить кастомный шаблон woocommerce/archive-product.php с тех пор, как woocommerce.php получил приоритет над archive-product.php. Это предотвращает проблемы с отображением.
<?php
                    if ( is_singular( 'product' ) ) {
                        woocommerce_content();
                    }else{
                        //For ANY product archive.
                        //Product taxonomy, product search or /shop landing
                        wc_get_template( 'archive-product.php' );
                    }
                    ?>