woocommerce/templates/single-product/product-attributes.php

85 lines
2.7 KiB
PHP
Raw Normal View History

2012-04-13 17:33:51 +00:00
<?php
/**
2015-11-03 13:53:50 +00:00
* Product attributes
2012-04-13 17:33:51 +00:00
*
2015-11-03 13:31:20 +00:00
* Used by list_attributes() in the products class.
2012-08-14 18:05:45 +00:00
*
2015-11-03 13:31:20 +00:00
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/product-attributes.php.
*
2016-02-12 11:28:41 +00:00
* 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 http://docs.woothemes.com/document/template-structure/
2012-08-14 18:05:45 +00:00
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.1.3
2012-04-13 17:33:51 +00:00
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
$has_row = false;
$alt = 1;
2012-04-13 17:33:51 +00:00
$attributes = $product->get_attributes();
ob_start();
2012-04-13 17:33:51 +00:00
?>
<table class="shop_attributes">
2012-08-14 18:05:45 +00:00
<?php if ( $product->enable_dimensions_display() ) : ?>
<?php if ( $product->has_weight() ) : $has_row = true; ?>
<tr class="<?php if ( ( $alt = $alt * -1 ) === 1 ) echo 'alt'; ?>">
2012-10-16 09:45:33 +00:00
<th><?php _e( 'Weight', 'woocommerce' ) ?></th>
<td class="product_weight"><?php echo wc_format_localized_decimal( $product->get_weight() ) . ' ' . esc_attr( get_option( 'woocommerce_weight_unit' ) ); ?></td>
2012-04-13 17:33:51 +00:00
</tr>
<?php endif; ?>
2012-08-14 18:05:45 +00:00
<?php if ( $product->has_dimensions() ) : $has_row = true; ?>
<tr class="<?php if ( ( $alt = $alt * -1 ) === 1 ) echo 'alt'; ?>">
2012-10-16 09:45:33 +00:00
<th><?php _e( 'Dimensions', 'woocommerce' ) ?></th>
<td class="product_dimensions"><?php echo $product->get_dimensions(); ?></td>
2012-08-14 18:05:45 +00:00
</tr>
2012-04-13 17:33:51 +00:00
<?php endif; ?>
2012-08-14 18:05:45 +00:00
2012-04-13 17:33:51 +00:00
<?php endif; ?>
2012-08-14 18:05:45 +00:00
<?php foreach ( $attributes as $attribute ) :
if ( empty( $attribute['is_visible'] ) || ( $attribute['is_taxonomy'] && ! taxonomy_exists( $attribute['name'] ) ) ) {
continue;
} else {
$has_row = true;
}
2012-07-10 13:05:44 +00:00
?>
<tr class="<?php if ( ( $alt = $alt * -1 ) == 1 ) echo 'alt'; ?>">
<th><?php echo wc_attribute_label( $attribute['name'] ); ?></th>
2012-04-13 17:33:51 +00:00
<td><?php
if ( $attribute['is_taxonomy'] ) {
2012-08-14 18:05:45 +00:00
$values = wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
2012-08-14 18:05:45 +00:00
} else {
2012-08-14 18:05:45 +00:00
// Convert pipes to commas and display values
2013-10-24 18:36:22 +00:00
$values = array_map( 'trim', explode( WC_DELIMITER, $attribute['value'] ) );
echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
2012-08-14 18:05:45 +00:00
}
2012-04-13 17:33:51 +00:00
?></td>
</tr>
<?php endforeach; ?>
</table>
<?php
if ( $has_row ) {
echo ob_get_clean();
} else {
ob_end_clean();
}