2017-08-21 11 views
1

表示オーダーやワイコム商品の寸法(長さ、幅、高さ)をフィルタリングする方法を探しています。私は幅の前に高さを表示したいと思います。WooCommerceの単一商品ページで商品の寸法を変更する

<?php if ($display_dimensions && $product->has_dimensions()) : ?> 
    <div class="c-details-row"> 
     <div class="c-details-col c-details-col_1"> 
      <span class="c-label-middle"><?php _e('Size', 'woocommerce') ?></span> 
     </div> 
     <div class="c-details-col c-details-col_2"> 
      <span class="c-label-middle"><?php echo esc_html(wc_format_dimensions($product->get_dimensions(false))); ?></span> 
     </div> 
    </div> 
<?php endif; ?> 
:返されるのHTMLをフォーマットするために、私は、製品-attributes.phpテンプレートを変更した

function wsa_show_product_dimensions() { 
    global $product; 
    echo $product->list_attributes(); 
} 

add_action('woocommerce_single_product_summary', 'wsa_show_product_dimensions', 25); 

は、現時点では私は、寸法が表示されている場所をフィルタリングするために、カスタム目的球を使用します

get_dimensions();機能をフィルタリングする必要があることがわかりますが、配列を並べ替える方法はわかりません。

私はlist_attributes();が廃止されていることを知っているので、できるだけ新しいwc_display_product_attributesメソッドを使用すると、これを行う方法についての助けがあれば大丈夫です。まず

答えて

0

は、WooCommerce 3以降WC_Productlist_attributes()方法が推奨されていません、それはwc_display_product_attributes($product)に置き換えられています。どのプラグインでも

function get_product_dimensions_custom(){ 
    global $product; 

    return wc_format_dimensions(array(
     'length' => $product->get_length(), 
     'height' => $product->get_height(), 
     'width' => $product->get_width(), 
    )); 
} 

コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルに行くか:

は、独自の機能を作るために最初に必要となる、製品寸法の順序を変更するにはファイル。

その後、あなたは、テンプレートのカスタマイズでそれを使用することができます。

<?php if ($display_dimensions && $product->has_dimensions()) : ?> 
    <div class="c-details-row"> 
     <div class="c-details-col c-details-col_1"> 
      <span class="c-label-middle"><?php _e('Size', 'woocommerce') ?></span> 
     </div> 
     <div class="c-details-col c-details-col_2"> 
      <span class="c-label-middle"><?php echo esc_html(get_product_dimensions_custom()); ?></span> 
     </div> 
    </div> 
<?php endif; ?> 

woocommerce_single_product_summaryにカスタム夢中機能を終了するには次のようになります。

add_action('woocommerce_single_product_summary', 'wsa_show_product_dimensions', 25); 
function wsa_show_product_dimensions() { 
    global $product; 

    echo wc_display_product_attributes($product); 

} 

コードはfunction.phpファイルに行きますあなたのアクティブな子供のテーマ(またはテーマ)の、または任意のプラグインファイルでも使用できます。

このコードはWooCommerce 3+でテストされています。

+0

これは素晴らしい@LoicTheAztecです。ありがとうございます。テンプレートのcustuomisationスニペット(「次元」は「次元」でなければならない)の小さなタイプミスがあります - これは絶対に完璧です。どうもありがとう – Marco

関連する問題