Получить цвет атрибута Woocomerce Poduct и значения изображения - PullRequest
0 голосов
/ 03 февраля 2019

Для моего пользовательского плагина WP я пытаюсь получить и перечислить значения полей цвета (шестнадцатеричный) и URL-адреса изображения определенного атрибута pa_colors продукта Woocomerce.пока я могу получить заголовок и описание атрибута, используя код , показанный здесь , но, похоже, не могу найти, как получить доступ к значениям предварительного просмотра цвета (шестнадцатеричный) и предварительного просмотра изображения (URL).вот мой код:

$_product = wc_get_product( $product_id );
$attributes = $_product->get_attributes('pa_colors');

           foreach($attributes as $attr=>$attr_dts){

               $attribute_label = wc_attribute_label($attr);

               if ( isset( $attributes[ $attr ] ) || isset( $attributes[ 'pa_' . $attr ] ) ) {

                   $attribute = isset( $attributes[ $attr ] ) ? $attributes[ $attr ] : $attributes[ 'pa_' . $attr ];

                   if ( $attribute['is_taxonomy'] ) {

                      $values = wc_get_product_terms( $_product->id, $attribute['name'],array( 'fields' =>  'all' ));
                        if( $values ){
                                foreach ( $values as $term ){
                                    echo '<dh>' . $term->name.' </dh>';
                                    echo '<dd>' . term_description( $term->term_id, $term->taxonomy ) . '</dd>';
                                   //here is where i want to get the term color values and image url.
                                }
                            echo '</dl>';
                        }

                   } else {

                       $formatted_attributes[$attribute_label] = $attribute['value'];
                   }

               }
           }

1 Ответ

0 голосов
/ 05 февраля 2019

у меня этот код работал

$_product = wc_get_product( $product_id );
$attributes = $_product->get_attributes('pa_colors');

           foreach($attributes as $attr=>$attr_dts){

               $attribute_label = wc_attribute_label($attr);

               if ( isset( $attributes[ $attr ] ) || isset( $attributes[ 'pa_' . $attr ] ) ) {

                   $attribute = isset( $attributes[ $attr ] ) ? $attributes[ $attr ] : $attributes[ 'pa_' . $attr ];

                   if ( $attribute['is_taxonomy'] ) {

                      $values = wc_get_product_terms( $_product->id, $attribute['name'],array( 'fields' =>  'all' ));
                        if( $values ){
                                foreach ( $values as $term ){
                                    echo '<dh>' . $term->name.' </dh>';
                                    echo '<dd>' . get_term_meta( $term->term_id, 'color', true ); . '</dd>';
                                    echo '<dd><img src="' . get_term_meta( $term->term_id, 'image', true ) . '" /></dd>';
                                }
                            echo '</dl>';
                        }

                   } else {

                       $formatted_attributes[$attribute_label] = $attribute['value'];
                   }

               }
           }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...