Лучшие решения
появляются в процессе

Как вывести атрибут товара woocommerce

Для того, чтобы вывести любой атрибут товара, например на странице каталога товаров, необходимо использовать следующий код:

global $product;
echo $product->get_attribute('razmery');

В данном случае мы выводим атрибут "Размеры". Ярлык нужного атрибута можно увидеть на странице "Атрибуты" (пункт меню Товары->Атрибуты):

Атрибуты товаров


Хорошая статья? Оцените!
(1 оценок, среднее: 5,00 из 5)
Загрузка...


Комментариев: 4

    1. Здравствуйте! В шаблоны темы. Куда именно - зависит от того, где вы хотите отобразить атрибут товара.

  1. Не подскажите почему в новых версиях woocomerce нет уже типа атрибута. Идет по умолчанию select,  а мне нужен text

    1. Попробуйте этот код вставить в functions.php:

      add_filter('product_attributes_type_selector','add_text_attributes_type',10,1);
      
      function add_text_attributes_type($attribytes_type) {
      
          $attribytes_type['text'] = 'Текст';
      
          return $attribytes_type;
      }
      
      add_action('woocommerce_product_option_terms','add_text_woocommerce_option_term',10,2);
      
      function add_text_woocommerce_option_term($attribute_taxonomy, $i){
          global $product_object;
      
          if ( 'text' == $attribute_taxonomy->attribute_type ) : ?>
      
              <input type="text" name="attribute_values[<?php echo $i; ?>]" value="<?php
      
              // Text attributes should list terms pipe separated
              if($product_object){
                  $attributes = $product_object->get_attributes( 'edit' );
                  echo esc_attr( wc_implode_text_attributes( wp_list_pluck(  $attributes['pa_'.$attribute_taxonomy->attribute_name]->get_terms(), 'name' ) ) );
      
              }
      
              ?>" placeholder="<?php
      
              /* translators: %s: WC_DELIMITER */
              printf( esc_attr__( '"%s" separate terms', 'woocommerce' ), WC_DELIMITER );
      
              ?>" />
      
          <?php endif;
      
      }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *