Woocommerce add to cart 버튼은 체크아웃으로 리다이렉트 됩니다.
플러그인 woocommerce를 사용하여 e커머스를 만들었습니다.저는 구독만 판매하기 때문에 "/cart/" 페이지는 사용할 수 없습니다.고객이 "카트에 추가" 버튼을 클릭하면 체크아웃 페이지로 이동하도록 삭제하려고 합니다.
WooCommerce 3.6 이상에서는woocommerce_add_to_cart_redirect
(@roman)
add_filter ('woocommerce_add_to_cart_redirect', function( $url, $adding_to_cart ) {
return wc_get_checkout_url();
}, 10, 2 );
원답:
기능에서 필터를 사용할 수 있습니다.php:
add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
}
ajax에서는 동작하지 않는 것 같습니다만, 1개의 제품 페이지에서 동작합니다.
WooCommerce(>= 2.1)에서는 다음과 같이 기능을 단순화할 수 있습니다.
function redirect_to_checkout() {
return WC()->cart->get_checkout_url();
}
WooCommerce 설정에는 다음 기능을 활성화할 수 있는 옵션이 있습니다.
WP 관리 패널> WooCommerce > Catalog에 로그인하여 옵션을 선택합니다.도움이 됐으면 좋겠네요!
마법처럼 작동하는 간단한 해결책을 찾았습니다.
- @Ewout에서 설명한 바와 같이 "Redirecto to cart page after successful addition" 체크박스를 켭니다.
- [ Woocommerce ]> [ Settings ]> [ Checkout ( Tab ) ]: 카트 및 체크아웃 페이지를 선택합니다(이미지 첨부).
그래, 난 괜찮아
WooCommerce 3.5.1 업데이트
스텝 1. 먼저 WooCommerce Products 설정으로 이동하여 AJAX Add to Cart를 비활성화합니다.
순서 2. 사용woocommerce_add_to_cart_redirect
체크 아웃으로 리다이렉트 합니다.
add_filter( 'woocommerce_add_to_cart_redirect', function( $url ) {
return wc_get_checkout_url();
});
물론 카트 버튼 추가 텍스트 변경 및 WooCommerce 카트 관련 알림 삭제 등 몇 가지 작은 작업이 남아 있습니다.자세한 것은, 이 튜토리얼을 참조해 주세요.https://rudrastyh.com/woocommerce/redirect-to-checkout-skip-cart.html
@RemiCorson은 이 간단하지만 유익한 튜토리얼을 게시했습니다.
http://www.remicorson.com/woocommerce-skip-product-cart-pages/
위의 @Ewout과 같은 필터를 언급하고 있습니다.
add_filter ('add_to_cart_redirect', 'redirect_to_checkout'); function redirect_to_checkout() { global $woocommerce; $checkout_url = $woocommerce->cart->get_checkout_url(); return $checkout_url;
}
하지만 한 줄의 코드가 눈에 띄고 현재 진행 중인 woocommerce 프로젝트에서는 매우 가치가 있습니다.
사용자가 제품 페이지를 자동으로 건너뛰기 위해 사용할 수 있는 직접 링크가 있습니다.http://your-site.com/ ?add-to-time = 37
'37'은 제품 ID로 대체됩니다.
불필요한 절차를 생략하고 홈페이지나 다른 비우커머스 페이지/포스트에서 직접 체크아웃 할 수 있도록 하는 데 도움이 되었습니다.
필터 add_to_cart_redirect는 WooCommerce 2.6에서는 사용되지 않습니다.대신 woocommerce_add_to_cart_redirect를 사용합니다.
이 기능을 추가합니다.php :
add_filter ('woocommerce_add_to_cart_redirect', function() {
return WC()->cart->get_checkout_url();
} );
테마 기능에서 아래 코드를 사용해 보십시오.php 파일
add_filter( 'woocommerce_add_to_cart_redirect', 'woo_skip_cart_redirect_checkout' );
function woo_skip_cart_redirect_checkout( $url ) {
return wc_get_checkout_url();
}
shop 페이지에서, 만약 당신이 ajax를 사용하고 싶다면, ghether로 리다이렉트 합니다.두 번째 방법은 어떤 조건이 있는 경우에만 이 필터를 사용하여 Woocommerce 설정 에이잭스를 활성화한 상태로 둘 수 있습니다.
add_filter('woocommerce_loop_add_to_cart_link', array( $this, 'add_quantity_input' ), 4, 2);
ajax_add_to_cart
pagehref URL로 합니다.
템플릿 케이스:
public function add_quantity_input($text = null, $product = null) {
global $product, $woocommerce;
if ( $text != null and $product != null ) {
if(ismycondition($product->id)) {
$s = explode('class="', $text);
$s[2]=str_replace('ajax_add_to_cart', '', $s[2]);
$text = implode('class="', $s);
$text = preg_replace('/<a(.*)href="([^"]*)"(.*)>/','<a$1href="'.$woocommerce->cart->get_checkout_url().'"$3>', $text);
}
}
return $text;
}
이게 도움이 됐으면 좋겠어요.
실제로 효과가 있는 솔루션은 하나도 없었습니다.필터 add_to_cart_redirect는 카트뿐만 아니라 모든 페이지에서 트리거되었습니다.나는 제안된 답변을 수정했다.
add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
if(is_cart()){
$checkout_url = WC()->cart->get_checkout_url();
?>
<script>
location = '<?=$checkout_url?>';
</script>
<?php
}
}
언급URL : https://stackoverflow.com/questions/15592633/woocommerce-add-to-cart-button-redirect-to-checkout
'programing' 카테고리의 다른 글
입력 포커스에 대한 텍스트 선택 (0) | 2023.02.27 |
---|---|
AngularJS 사용자 지정 양식 유효성 검사 오류 메시지 (0) | 2023.02.27 |
스프링 데이터 및 페이지 번호 지정 네이티브 쿼리 (0) | 2023.02.22 |
리액트 JS에서 이미지를 업로드하는 방법 (0) | 2023.02.22 |
JSONObject에서 값 유형을 확인하려면 어떻게 해야 합니까? (0) | 2023.02.22 |