1クリックで一気に決済ページに行く
<実装方法>
・クリックで一気に決済ページに行く
購入するボタン(/shop/?add-to-cart=20)
functions.phpまたはCode Snippetsに下記を追加する
//商品が追加されたらカートを空にする
// remove old items in cart when new items added
add_filter('woocommerce_add_to_cart_validation', 'remove_cart_item_before_add_to_cart', 1, 3);
function remove_cart_item_before_add_to_cart($passed, $product_id, $quantity) {
if (!WC()->cart->is_empty()) {
WC()->cart->empty_cart();
}
return $passed;
}
//カートに入れたらチェックアウトページにリダイレクト
function tofu_add_to_cart_redirect( $url ) {
$url = WC()->cart->get_checkout_url();
return $url;
}
add_filter( 'woocommerce_add_to_cart_redirect', 'tofu_add_to_cart_redirect' );
//Added to cartメッセージ非表示
add_filter( 'wc_add_to_cart_message_html', '__return_false' );
//Thank You page by creating a Redirect
add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' );
function woo_custom_redirect_after_purchase() {
global $wp;
if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
wp_redirect( '/thankyou/' );
exit;
}
}
【参照】
●カートをスキップ!クリック一つで一気に決済ページに行く方法 – WooCommerce
https://www.youtube.com/watch?v=_uQCajGiN5Q
https://drive.google.com/file/d/1iOrq21J97kyoxrZe4Df0u7WFrpxa9zwV/view
・決済ページのカスタマイズ① 不要な項目を消す
チェックアウトページの項目をプラグイン「Checkout Field Editor」を使ってカスタマイズする
・決済ページのカスタマイズ② ボタンの名称を変更する
checkout.js
jQuery(function(){
let target = document.getElementById('payment');
const observer = new MutationObserver(records => {
if (jQuery('#place_order')[0]) {
let place_order = jQuery('#place_order').text();
console.log("place_order="+place_order);
if (place_order == "注文する") {
jQuery('#place_order').addClass('ch');
}
}
})
observer.observe(target, {
attributes: true,
subtree: true,
})
});