2016-12-20 19 views
0

私の製品バリエーションは、単一の製品ページで、その寸法を持つ表の中にリストしたいと思っていますが、寸法部分はすべてOKですが、表示されるバリエーション名はわかりません。ここに私のコードは次のとおりです。woocommerce製品バリエーションのタイトルテーブル

<?php 

    $variations = $product->get_available_variations(); 
    foreach ($variations as $variable_array){ 
    $variation = new WC_Product($variable_array['variation_id']);?> 
    <tr>         

     <td> 
      <b>here I need the variation title</b> 
     </td>       
      <?php 
       $magassag = $variation->height; 
       ?> 
       <?php if ($magassag != 0) { 
       echo '<td class="cell_magas">' . $variation->height . ' cm' . '</td>'; } 
       else{ 
       ?> 
       <style type="text/css">#magassag-cim{display:none;}</style> 
      <?php } ?>      
      <?php 
       $atmero = $variation->width; 
       ?> 
       <?php if ($atmero != 0) { 
       echo '<td class="cell_szell">' . $variation->width . ' cm' . '</td>'; } 
       else{ 
       ?> 
       <style type="text/css">#szellesseg-cim{display:none;}</style> 
      <?php } ?>  
      <?php 
       $szellesseg = $variation->length; 
       ?> 
       <?php if ($szellesseg != 0) { 
       echo '<td class="cell_latime">' . $variation->length . ' cm' . '</td>'; } 
       else{ 
       ?> 
       <style type="text/css">#szellesseg-cim{display:none;}</style> 
      <?php } ?>   
     <td> 
      <?php echo $variation->price;?> 
     </td> 
    </tr> 

答えて

3

あなたも$variation->get_formatted_name()または$variation->get_title()

を使用することができ、私はあなたの代わりに、直接オブジェクトのプロパティにアクセスするためのクラスメソッドを使用したいと思うでしょう、95%確信しているのエラー/警告の原因になりますWooCommerce 2.7。通常、プラグインがその値をターゲットにしている場合は、フィルタを実行します。 (例:$variation->priceの代わりに$variation->get_price()を使用してください)

+0

こんにちは、しかしget_XXXでは動作しません。バリエーション名には直接アクセスできますか?または、クラスメソッドは他のバリエーションクエリからアクセスする必要がありますか? –

+0

$ variation-> get_formatted_name()および$ variation-> get_title()を使用すると、「バリエーション#製品名の番号」が表示されますが、製品バリエーションのタイトルが必要です。 –

+1

Loicが述べたように、バリエーションのタイトルはありません。提案された方法で必要なことができない場合は、明確にしてください。 'get_XXX()'は必ずしも正しいメソッド名ではない*と* WC2.7の主要な変更で、必ずしも逆互換ではない。 – helgatheviking

関連する問題