Где я могу изменить способ отображения дополнительной информации о продукте в woocomerce? - PullRequest
0 голосов
/ 13 июля 2020

Я работаю над сайтом для клиента по продаже подержанных автомобилей, у них есть список статусов того, насколько хороши разные компоненты автомобиля. например: Шины: Изношены, трансмиссия: ОК.

Я просто добавил эти поля как атрибуты (те, которые отображаются на вкладке дополнительной информации). Мы хотим показать эти значения в более графическом виде, с изображениями и выделенными текст в зависимости от этих атрибутов, у меня есть готовый код для этого.

Где я могу изменить шаблон, чтобы добавить это? Или вы можете указать мне верное направление, как я могу этого добиться?

1 Ответ

1 голос
/ 13 июля 2020

Я предлагаю использовать ACF | Расширенные настраиваемые поля это бесплатно, имеет множество функций и постоянно обновляется, у вас также есть много документации для плагина.

В вашем случае я бы использовал поле select .

Также зависит от того, сколько полей у вас есть, но я считаю, что это путь к go. Затем вы можете вызвать поля, которые вы создали, и вывести свой logi c через PHP.

<p>Tires: <?php the_field('tires'); ?></p>

И если вы хотите настроить код этих атрибутов в конце, вот PHP, вы можете вставить файл шаблона и изменить его.

<?php $attributes = $product->get_attributes();?>
    <table class="shop_attributes">
        <?php foreach ( $attributes as $attribute ) : ?>
            <tr>
                <th style="text-align: left; padding-right: 20px"><?php echo wc_attribute_label( $attribute->get_name() ); ?></th>
                        <td style="text-align: left;">
                            <?php
                            $values = array();

                            if ( $attribute->is_taxonomy() ) {
                                $attribute_taxonomy = $attribute->get_taxonomy_object();
                                $attribute_values = wc_get_product_terms( $product->get_id(), $attribute->get_name(), array( 'fields' => 'all' ) );

                                foreach ( $attribute_values as $attribute_value ) {
                                    $value_name = esc_html( $attribute_value->name );

                                    if ( $attribute_taxonomy->attribute_public ) {
                                        $values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
                                    } else {
                                        $values[] = $value_name;
                                    }
                    }
                } else {
                    $values = $attribute->get_options();

                    foreach ( $values as &$value ) {
                        $value = make_clickable( esc_html( $value ) );
                    }
                }

            echo apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values );
                            ?>
            </td>
        </tr>
   <?php endforeach; ?>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...