Как отобразить имя атрибута продукта вместо слага в каждом цикле?

У меня есть атрибут атрибута и пытается отобразить имена атрибутов в первом выборе <select> падать. Но каждый раз, когда я повторяю имя, отображается слизень. Так "pa_attribute_metal"отображается вместо" Металл ".

Ниже мой текущий цикл и код, который я сейчас использую. очевидно $attribute['name'] не тянет фактическое имя.

$attributes = $product->get_attributes();

foreach ($attributes as $attribute):

   echo '<select name="'.$attribute['name'].'" class="example">';
   echo '<option name="'.$attribute['name'].'">'.$attribute['name'].'</option>';
   echo '</select>';

endforeach;

Каков наилучший способ вывести фактическое отображаемое имя атрибута через каждый цикл и отобразить его в <option>?

2 ответа

   while ($query->have_posts()) {
      $query->next_post();
      $result[] = $query->post;
      $taxonomy = 'pa_size';
      $meta = get_post_meta($result[$i]->ID, 'attribute_'. $taxonomy, true);
      $term = get_term_by('slug', $meta, $taxonomy);
      array_push($arrayValue, $term);
  }
  for ($j = 0; $j<count($arrayValue); $j++){
     echo $arrayValue[$j]->name;
  }
<select name="attribute_taxonomy" class="attribute_taxonomy">
    <option value=""><?php esc_html_e('product attribute', 'woocommerce'); ?></option>
    <?php
    global $wc_product_attributes;

    // Array of defined attribute taxonomies.
    $attribute_taxonomies = wc_get_attribute_taxonomies();

    if (!empty($attribute_taxonomies)) {
        foreach ($attribute_taxonomies as $tax) {
            $attribute_taxonomy_name = wc_attribute_taxonomy_name($tax->attribute_name);
            $label = $tax->attribute_label ? $tax->attribute_label : $tax->attribute_name;
            echo '<option value="' . esc_attr($attribute_taxonomy_name) . '">' . esc_html($label) . '</option>';
        }
    }
    ?>
</select>
Другие вопросы по тегам