Переместить выбранную цену изменения ниже формы дополнений продукта в Woocommerce - PullRequest
1 голос
/ 31 марта 2019

У меня есть официальный плагин WooCommerce Product Addon's , и я использую его для переменного продукта.однако мне бы хотелось, чтобы цена отображалась над кнопкой добавления в корзину, а не под списком выбора вариантов, как сейчас.

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

Снимок экрана, показывающий текущее местоположение и желаемое местоположение:

enter image description here

Любая помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 31 марта 2019

WooCommerce Плагин Product Addon уже отображает пользовательскую таблицу цен непосредственно перед добавлением в корзину кнопок, где отображается выбранная цена варианта, с ценой для выбранного варианта с промежуточной суммой:

enter image description here

Вы не можете только перемещать отображаемую выбранную цену варианта в одиночку , так как она управляется javascript в событии прямого выбора и сгруппирована с доступностью варианта и описанием варианта (если есть).

Итак, что вы можете сделать:

1) Чтобы переместить цену вариации с ее доступностью и описанием, прежде чем добавить в корзину, нажмите:

add_action( 'woocommerce_before_variations_form', 'reposition_display_for_variable_products', 10 );
function reposition_display_for_variable_products() {
    global $product;

    if( $product_addons = $product->get_meta('_product_addons') ) {
        if( sizeof($product_addons) > 0 ) {
            remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 );
            add_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 16 );
        }
    }
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Но он будет отображаться после пользовательской таблицы цен «Аддона»:

enter image description here


2) скрыть измененную цену Woocommerce (так как она уже отображается в пользовательской таблице цен "Addon's")

add_filter( 'woocommerce_available_variation', 'hide_variation_selected_price', 10, 3 );
function hide_variation_selected_price( $data, $product, $variation ) {
    if( $product_addons = $product->get_meta('_product_addons') ) {
        if( sizeof($product_addons) > 0 ) {
            $data['price_html'] = '';
        }
    }
    return $data;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

enter image description here


3) Используйте оба вместе, перемещая описание доступности и варианта после таблицы цен «Аддона» и до кнопки «Добавить в корзину»:

enter image description here

0 голосов
/ 31 марта 2019
jQuery('.price').insertAfter('.sauce')

интерфейсное решение (просто поставьте правильные селекторы)

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