결제 전 Woocommerce 확인 주문
저희 Woocommerce 웹숍에 리뷰 오더 페이지를 추가하려고 합니다.현재 장바구니에 아이템을 추가할 때 청구처와 배송지 주소가 필요한 체크아웃 페이지로 이동하여 제출하면 다음 단계는 (PayPal을 통한) 결제 페이지입니다.지불 페이지로 가기 전에 주문 확인 페이지를 추가하고 싶기 때문에 체크아웃 페이지에 주소를 입력하고 사용자가 클릭한 후 주문 개요/검토 페이지가 주문 합계 및 이전에 입력한 주소와 함께 표시되며, 10명의 사용자가 주소를 변경하고 싶을 때 돌아가기 위한 링크가 표시됩니다.확인 페이지 같은 거.그런 다음 사용자가 진행하면 결제 페이지로 이동합니다.
나는 이것을 조사했지만 운이 없었다.저는 이 액션을functions.php
동작하지 않습니다.
add_action( 'woocommerce_review_order_before_submit','woocommerce_order_details_table');
Woocommerce로 할 수 있는 방법이 있나요?관리 패널에도 이 설정은 없습니다.
나는 최근에 이 문제를 접했다.제 솔루션은 워드프레스 백엔드에 '리뷰 오더'라는 페이지를 만들고 단축코드를 입력하는 것이었습니다.[woocommerce_checkout]
를 참조해 주세요.그런 다음 페이지 검토 순서를 만듭니다.php는 내 아이 테마의 루트에 있습니다.
page-review-order.php에서 다음과 같은 정의를 설정했습니다.
if ( ! defined( 'THIS_IS_CHECKOUT' ) )
{
define( 'THIS_IS_CHECKOUT', true );
}
if ( ! defined( 'THIS_IS_REVIEW') )
{
define( 'THIS_IS_REVIEW', true);
}
여기서부터 저는 일반적인 체크아웃 프로세스를 통해 필요한 정보를 쉽게 얻을 수 있었습니다.그러나 이 프로세스의 어떤 부분이 체크아웃 페이지에 속하는지, 어떤 부분이 리뷰 페이지에 속하는지 다음과 같이 교환할 수 있었습니다.
if (defined( 'THIS_IS_REVIEW'))
{
$reviewPage = true;
}
제가 관리하고 있는 WooCommerce 셋업을 보면 관리자에서 WooCommerce > Settings > Checkout (상단의 탭)에서 Cart 페이지를 설정할 수 있음을 알 수 있습니다.
'체크아웃 페이지'까지 스크롤하여 '카트 페이지'가 선택되어 있는지 확인합니다.예를 들어 '쇼핑 카트'라는 페이지를 만들지 않고 다음 단축 코드를 추가합니다.[woocommerce_cart]
그런 다음 이전 WooCommerce 설정 페이지로 돌아가서 새로 만든 페이지를 선택합니다.
이 페이지는 체크아웃 프로세스에서 과금 정보 앞에 배치됩니다.
이게 도움이 되면 알려주세요.
이것이 완벽한 해결책은 아닐지 모르지만, 제가 정리한 방법은 이렇습니다.
이 stackoverflow 스레드를 보세요.
숨겨진 입력이 .confirm-order-flag
검토 또는 이미 검토해야 한다고 말합니다.
에 검증이 '아까보다'를 합니다.woocommerce_after_checkout_validation
이 값을 확인합니다.검토해야 할 경우에는 가짜 오류를 추가합니다.
jQuery에서는 에러의 수를 확인합니다.이 수를 확인하려고 하는 경우는 1개, 오류가 있는 경우는 2개 이상입니다(0이 있는 경우는 이미 확인 페이지입니다).
$(document.body).on('checkout_error', function () {
var error_count = $('.woocommerce-error li').length;
var url_params = form_parameters_to_url();
if (error_count == 1) { // Validation Passed (Just the Fake Error I Created Exists)
window.location = "review_page_url";
}else{ // Validation Failed (Real Errors Exists, Remove the Fake One)
$('.woocommerce-error li').each(function(){
var error_text = $(this).text();
if (error_text == 'custom_notice'){
$(this).css('display', 'none');
}
});
}
});
에는 'URL'도해 두겠습니다.[woocommerce_checkout]
가 「 트 with a가 short short 、 「 가 、 「 에 、 ID 」 。#confirm_order_page
을 0jQuery로
$('#confirmation_form #place_order').click(function () {
$('#confirm-order-flag').val('');
});
에러가 없고, 검증에 합격합니다.리뷰 페이지의 양식을 css에게 숨깁니다.완벽한 솔루션은 아니지만 이 문제를 시작하는 데 도움이 될 수 있습니다.
언급URL : https://stackoverflow.com/questions/25316948/woocommerce-review-order-before-payment
'programing' 카테고리의 다른 글
JavaScript를 사용하여 서버에 텍스트 파일 저장 (0) | 2023.03.14 |
---|---|
반응으로 자동 완성이 꺼지지 않음 (0) | 2023.03.14 |
필요에 따라 ui-select 필드를 만드는 방법 (0) | 2023.03.14 |
SystemJS - 모멘트가 함수가 아님 (0) | 2023.03.14 |
Tymeleaf에서 스프링 애플리케이션 환경 구현 (0) | 2023.03.14 |