Переместить купон на покупку в магазине woocommerce, чтобы заказать таблицу обзора [duplicate]

str = str.replace(new RegExp("abc", 'g'), "");

работал лучше для меня, чем приведенные выше ответы. поэтому new RegExp("abc", 'g') создает RegExp, что соответствует всему присутствию (флаг 'g') текста ("abc"). Вторая часть - это то, что заменяется на, в вашем случае пустую строку (""). str - это строка, и мы должны ее переопределить, так как replace(...) просто возвращает результат, но не переопределяет. В некоторых случаях вы можете использовать это.

4
задан T.Doe 11 May 2016 в 12:12
поделиться

4 ответа

@noufalcep вы ответите не ясно.

Наконец, после всего, я придумал рабочее решение. Я использую woocommerce 3.2.5 и wordpress версии 4.8.3.

Поскольку @noufalcep говорит, что форма внутри формы не является проблемой. Когда мы делаем

add_action ('woocommerce_checkout_after_order_review', 'woocommerce_checkout_coupon_form'),

контейнер купона не завершается элементом формы. Но кнопка отправляется как тип ввода. Вот почему, когда мы применяем основную форму купона, получаем suibmitted.

Поэтому то, что я сделал, вставил купонную форму с jquery insertAfter. Ниже приведен код. Он отлично работает.

 var coupon = $(".checkout_coupon");
 $(coupon).insertAfter('.shop_table.woocommerce-checkout-review-order-table');

Затем это добавит форму после просмотра таблицы заказов. если вы хотите, чтобы текст с текстом «Имейте купон? Нажмите здесь, чтобы ввести код», вы должны обернуть элемент формой.

Здесь показан рабочий пример, https://themovementfix.com/checkout/

2
ответ дан achchu93 4 September 2018 в 10:01
поделиться

Если вам удобно редактировать файл functions.php внутри вашего каталога тем, вы можете добавить следующие строки кода:

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_after_checkout_form', 'woocommerce_checkout_coupon_form' );

Это существенно удалит купон (который подключен до checkout form) и повторно добавить его ПОСЛЕ формы выписки.

В качестве альтернативы вы можете использовать Javascript для «вырезания и вставки» блока html, содержащего поля купона, но это грязный способ кодирования, и я не предложит взять этот маршрут.

5
ответ дан Frits 4 September 2018 в 10:01
поделиться

Небольшая ревизия предложенного ответа:

remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10);
add_action('woocommerce_review_order_before_payment', 'woocommerce_checkout_coupon_form');

Это помещает купонный ввод ниже порядка и выше параметров оплаты.

2
ответ дан miken32 4 September 2018 в 10:01
поделиться

После прочтения формы внутри проблемы формы, которая перестает работать с обычными add_actions, она вдохновила меня создать файл form-checkout.php в папке woocommerce моей темы и просто переместить код запуска < form ... > сразу после строки do_action( ‘woocommerce_checkout_before_customer_details’ );, затем использовали эти две строки для перемещения формы купона вниз под дисплеем просмотра вашего заказа, и он отлично поработал в v3.0.x WooCommerce:

remove_action( ‘woocommerce_before_checkout_form’, ‘woocommerce_checkout_coupon_form’, 10 );

add_action( ‘woocommerce_checkout_after_order_review’, ‘woocommerce_checkout_coupon_form’ );

Не перемещая код исходной формы, он не будет работать из-за формы в указанной выше форме, но после ее перемещения работает легко.

2
ответ дан noufalcep 4 September 2018 в 10:01
поделиться
Другие вопросы по тегам:

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