programing

WooCommerce 미니 카트 위젯에서 카트 및 체크아웃 버튼 링크 변경

luckcodes 2023. 4. 3. 23:37

WooCommerce 미니 카트 위젯에서 카트 및 체크아웃 버튼 링크 변경

Woocommerce에서는 홈 페이지의 쇼핑 카트 아이콘 위에 표시되는 드롭다운 메뉴의 "View cart" 및 "Checkout" 링크의 URL을 변경하려면 어떻게 해야 합니까?

"카트" 및 "체크아웃" 페이지가 설정되어 있지만 이러한 페이지에는 연결되어 있지 않습니다.

URL을 사용하여 이 페이지를 직접 볼 수 있습니다.http://mysite/http://mysite/http://my

여기에 이미지 설명 입력

미니카트 버튼 링크는 항상 오른쪽 카트와 체크아웃 페이지를 가리키기 때문에 테마(또는 플러그인)에 문제가 있는 것 같습니다.

미니카트 버튼은 (카트/mini-cart.php WooCommerce 템플릿에) 액션 후크에 걸려 있습니다.자세한 내용은 includes/wc-template-hooks를 참조하십시오.php 코어 파일.버튼을 표시하는 2개의 함수를 호출합니다.

먼저 WP Settings > Permalinks 순으로 WordPress Permalinks를 새로 고칩니다.
페이지 끝에 있는 "저장"클릭합니다.카트를 비운 후 다시 시도하여 변경 사항이 있는지 확인합니다.

아래 코드에서는 먼저 원래 버튼을 삭제하고 링크를 커스터마이즈한 것과 같은 버튼으로 교체합니다.각각의 요구에 따라 링크를 피트 단위로 변경할 수 있습니다(링크에 추가했습니다).?id=1(마지막에는) 테스트 목적으로만 변경 내용을 확인합니다.

add_action( 'woocommerce_widget_shopping_cart_buttons', function(){
    // Removing Buttons
    remove_action( 'woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_button_view_cart', 10 );
    remove_action( 'woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_proceed_to_checkout', 20 );

    // Adding customized Buttons
    add_action( 'woocommerce_widget_shopping_cart_buttons', 'custom_widget_shopping_cart_button_view_cart', 10 );
    add_action( 'woocommerce_widget_shopping_cart_buttons', 'custom_widget_shopping_cart_proceed_to_checkout', 20 );
}, 1 );

// Custom cart button
function custom_widget_shopping_cart_button_view_cart() {
    $original_link = wc_get_cart_url();
    $custom_link = home_url( '/cart/?id=1' ); // HERE replacing cart link
    echo '<a href="' . esc_url( $custom_link ) . '" class="button wc-forward">' . esc_html__( 'View cart', 'woocommerce' ) . '</a>';
}

// Custom Checkout button
function custom_widget_shopping_cart_proceed_to_checkout() {
    $original_link = wc_get_checkout_url();
    $custom_link = home_url( '/checkout/?id=1' ); // HERE replacing checkout link
    echo '<a href="' . esc_url( $custom_link ) . '" class="button checkout wc-forward">' . esc_html__( 'Checkout', 'woocommerce' ) . '</a>';
}

코드가 기능합니다.php 파일 또는 임의의 플러그인 파일에 있는 활성 자식 테마(또는 테마)입니다.

모든 코드는 Woocommerce 3+로 테스트되어 동작합니다.

언급URL : https://stackoverflow.com/questions/46310525/change-cart-and-checkout-button-links-on-woocommerce-mini-cart-widget