@FrolovSite

Как изменить кнопку «В корзину»?

У меня есть php и js код, который меняет кнопку "в корзину" на "предзаказ" для вариативных товаров по предзаказу. Но корректно работать это может только на странице продукта. А на странице архива при выборе вариации по предзаказу, меняются кнопки для всех вариативых товаров по предзаказу.
jQuery(document).ready(function ($) {
"use strict";
jQuery(function ($) {
    let button = $('.single_add_to_cart_button'),
        add_to_cart_text = button.html();
    $('form.variations_form')
        .on('show_variation', function (event, variation) {
            if (variation.hasOwnProperty('pre_order_label')) {
                button.html(variation.pre_order_label);
            } else {
                button.html(add_to_cart_text);
            }
    })
        .on('hide_variation', function (event) {
        event.preventDefault();
        button.html(add_to_cart_text);
    });
});


add_filter( 'woocommerce_available_variation', 'pre_order_variable_button', 20, 3 );
function pre_order_variable_button($array, $variable_product, $variation ) {
    $is_pre_order    = get_post_meta( $variation->get_id(), '_stock_status', true );
    if ( $is_pre_order == 'onbackorder'   ) {
        $array['pre_order_label'] = esc_html( 'Предзаказ' );
    }
    return $array;
}
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы