WooCommerce:長さ・幅・高さ・重さ・SKUを表示させる方法
WooCommerceの送料の項目に入力した長さ、幅、高さ、重さ、SKUコードを表示させます。
任意の場所表示させるため、グローバル変数を使います。
長さ、幅、高さ、重さの入力が無い場合は、非表示になるようにしています。
長さを表示させる
送料の「長さ」欄に入力した数値が表示されます。
PHP
<?php global $product; $attributes = $product->get_attributes(); if ( $product->get_length() ) { echo '長さ' .$product->get_length(). 'cm'; }?>必ず幅を入力しているのであれば下記でOKです。
PHP
<?phpglobal $product;echo '長さ' .$product->get_width(). 'cm';?>幅を表示させる
送料の「幅」に入力した数値が表示されます。
PHP
<?php global $product; $attributes = $product->get_attributes(); if ( $product->get_width() ) { echo '幅' .$product->get_width(). 'cm'; }?>高さを表示させる
送料の「高さ」に入力した数値が表示されます。
PHP
<?php global $product; $attributes = $product->get_attributes(); if ( $product->get_height() ) { echo '高さ' .$product->get_height(). 'cm'; }?>重さを表示させる
送料の「重さ」に入力した数値が表示されます。
PHP
<?php global $product; $attributes = $product->get_attributes(); if ( $product->get_weight() ) { echo '重さ' .$product->get_weight(). 'kg'; }?>SKUを表示させる
SKUは必ず入力するため、ifは不要でしょう。
PHP
<?php global $product; echo $product->get_sku();?>ショップページに長さ・幅・高さを表示させる場合
サンプルとして下記の図のように、ショップページの商品ごとに高さ、幅、長さを表示させてみます。

functions.phpに下記のコードを記載します。
functions.php
add_action('woocommerce_after_shop_loop_item', 'show_product_dimensions_loop', 20);
function show_product_dimensions_loop() {
global $product;
if (!($product instanceof WC_Product)) { return; }
$height = $product->get_height();
$width = $product->get_width();
$length = $product->get_length();
if (!empty($height) || !empty($width) || !empty($length)) {
$dimension_unit = esc_html(get_option('woocommerce_dimension_unit', 'cm'));echo '<div class="product-dimensions">';
if (!empty($height)) { printf( '<div class="dimension-row"><span class="dimension-label">%s</span> %s%s</div>', esc_html__('高さ:', 'woocommerce'), esc_html($height), esc_html($dimension_unit) ); }
if (!empty($width)) { printf( '<div class="dimension-row"><span class="dimension-label">%s</span> %s%s</div>', esc_html__('幅:', 'woocommerce'), esc_html($width), esc_html($dimension_unit) ); }
if (!empty($length)) { printf( '<div class="dimension-row"><span class="dimension-label">%s</span> %s%s</div>', esc_html__('長さ:', 'woocommerce'), esc_html($length), esc_html($dimension_unit) ); }
echo '</div>';
} }
以上となります。
WooCommerce制作、運営でお困りの方はお気軽にご相談くださいね。


