우커머스 체크아웃 페이지에서 결제수단 이동
우커머스 사이트 체크아웃 페이지의 결제 방법을 주문 후기 위로 옮겨야 하는데 방법을 모르겠습니다.문제는 제가 다음 코드를 사용하려고 시도했다는 것입니다.
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
add_action( 'woocommerce_after_order_notes', 'woocommerce_checkout_payment', 20 );
하지만 '약관' 텍스트와 '주문하기' 버튼도 그것과 함께 움직입니다.결제 옵션이 있어야 하고, 그 다음에 주문 리뷰가 있어야 하고, 결국에는 "약관" 텍스트와 "주문하기" 버튼이 있어야 합니다.
내가 어떻게 그럴 수 있을까?
오리지널 WC 후크
// includes/wc-template-hooks.php:214
add_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
너의 훅
이것은 당신의 테마나 플러그인에 있을 것입니다.
// make sure the priority value is correct, running after the default priority.
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
add_action( 'woocommerce_after_order_notes', 'woocommerce_checkout_payment', 20 );
WC가 로드된 후 후크가 실행되어야 제거할 수 있습니다.
function theme_wc_setup() {
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
add_action( 'woocommerce_after_order_notes', 'woocommerce_checkout_payment', 20 );
}
add_action( 'after_setup_theme', 'theme_wc_setup' );
편집: 감사합니다. 아직도 활발히 검색되고 있는 줄은 몰랐습니다.다른 개발자들을 돕기 위해 투표하세요!
저는 유사한 작업을 할 방법을 찾고 있었습니다. 바로 Ts&C를 결제 수단 위로 이동시키는 것입니다.그런데 우씨가 Ts&C를 체크하는 데 이상한 일이 벌어지고 있습니다.개인 정보 텍스트에 대한 후크와 용어 텍스트에 대한 후크가 있는 것처럼 보이지만 실제 체크박스에 대한 후크는 없으므로 처음 두 개에 대한 후크를 사용할 수 있지만 실제 체크박스는 사용할 수 없어 짜증이 납니다.세 가지를 모두 포함하는 "우상 거래 조건 포장" 디브 전체가 후크 가능해야 하는 것 같습니다.
어쨌든, 저는 jQuery를 통해 제 디브를 옮기는 것이 더 쉽다는 것을 알게 되었고, 디브라는 용어를 쉽게 옮길 방법을 찾지 못했기 때문에 대신 페이먼트 디브를 옮겼습니다. (이것이 당신이 요청한 것이므로 유용한 경우를 대비하여 여기에 공유합니다.)
이 토막글을 함수 파일에 추가합니다.Adjust insertBefore 이동할 div.제 예를 들어, 그것은 약관을 따르게 됩니다.테스트하고 작동 중입니다.
function stacko_woomove_paymentmethods() {
if (is_checkout() ) { ?>
<script>
jQuery(function($) {
$(document).ready(function(){
$('.wc_payment_methods.payment_methods.methods').detach().insertBefore('button#place_order');
$('.wc_payment_methods.payment_methods.methods').before('<h3 class="note">Select Payment</h3>');
});
});
</script>
<? }
}
add_action( 'woocommerce_checkout_init', 'stacko_woomove_paymentmethods');
템플릿 재정의가 필요합니다(편집 기능은 사용할 수 없음).php만).
원하는 것을 달성할 수 있는 한 가지 방법은 다음과 같습니다.
- wocommerce 플러그인 폴더에서 payment.php를 당신의_child_theme/wocommerce/checkout/폴더에 복사합니다.
새로 만든 payment.php 파일을 열고 줄 바로 앞에 사용자 정의 후크를 추가합니다.
<div class="form-row place-order">
. 예를 들어,<?php do_action( 'woocommerce_review_order_and_proceed' ); ?>
하위 테마의 functions.php에서 아래 코드를 추가하여 원래 위치에서 woocmerce_order_review 동작을 해제하고 새로 만든 후크에 후크합니다.
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );
add_action( 'woocommerce_review_order_and_proceed', 'woocommerce_order_review', 20 );
언급URL : https://stackoverflow.com/questions/43029425/move-payment-methods-in-woocommerce-checkout-page
'source' 카테고리의 다른 글
wordpress 데이터베이스 get_results에서 배열 값을 가져오는 방법 (0) | 2023.10.22 |
---|---|
자바스크립트 window.location에 target="_blank"를 추가하는 방법? (0) | 2023.10.22 |
열거(typedef enum)의 중요도 (0) | 2023.10.22 |
WooCommerce 3+에서 디버그하는 방법 (0) | 2023.10.22 |
Object.create(null)로 JS 개체를 생성하는 것이 {}과(와) 같습니까? (0) | 2023.10.22 |