ショップページに単一の属性(「サイズ」)値を表示しようとしています。次のコードを使ってすべての値を表示し、単一の属性を表示するように調整しようとしましたが、成功しませんでした...
属性 'size'の値のみを表示するようにコードを調整してください。
// Get the attributes
$attributes = $product->get_attributes();
// Start the loop
foreach ( $attributes as $attribute ) :
// Check and output, adopted from /templates/single-product/product-attributes.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 );
}
endforeach;
修正方法を教えてください。
global $product
を使用してから、以下のようにその製品オブジェクトのget_attribute()
メソッドを使用してください -
$size = $product->get_attribute( 'pa_size' );
そして、あなたはまた、以下のコードでそれを得ることができます -
global $product;
$size = array_shift( wc_get_product_terms( $product->id, 'pa_size', array( 'fields' => 'names' ) ) );
あなたが使用する必要があることを忘れないでくださいglobal $product
。