WooCommerce モールに「購入」ボタンを追加する(プラグイン未使用)

Last Updated: 2024 年 10 月 07 日 5のコメント

WordPress WooCommerce モールに「すぐに購入」または「すぐに購入」ボタンを追加したい場合 WooCommerceの直接チェックアウトなどの無料プラグインを使用できます。 多くのプラグインがインストールされている場合、このプラグインを使用するとクラッシュが原因で正しく機能しないことがあります。 その場合は、カスタムコードを使用して「すぐに購入」ボタンを表示できます。

プラグインを使用せずに WooCommerce ショッピングモールに「すぐに購入」ボタンを追加する

カートボタンをクリックしたときに支払いページにリダイレクトする

カートボタンを押すとすぐにお支払いできるようにしたい場合は、次のようなコードをお試しください。

add_filter ('woocommerce_add_to_cart_redirect', function( $url, $adding_to_cart ) {
    return wc_get_checkout_url();
}, 10, 2 ); 

チャイルドテーマ内の関数ファイル(functions.php)に上記のコードを追加できます。

「すぐに購入」ボタンを追加表示する

カートボタンをそのままにしたまま「購入」ボタンを追加したい場合は、次のコードを使用して正しく機能するかどうかを確認してください。

/* Create Buy Now Button dynamically after Add To Cart button */
    function add_content_after_addtocart() {
    
        // get the current post/product ID
        $current_product_id = get_the_ID();
    
        // get the product based on the ID
        $product = wc_get_product( $current_product_id );
    
        // get the "Checkout Page" URL
        $checkout_url = WC()->cart->get_checkout_url();
    
        // run only on simple products
        if( $product->is_type( 'simple' ) ){
            echo '<a href="'.$checkout_url.'?add-to-cart='.$current_product_id.'" class="buy-now button">구매하기</a>';
            //echo '<a href="'.$checkout_url.'" class="buy-now button">Buy Now</a>';
        }
    }
    add_action( 'woocommerce_after_add_to_cart_button', 'add_content_after_addtocart' );

// 출처: https://stackoverflow.com/questions/32557492/how-to-add-a-woocommerce-buy-now-button

上記のコードは単純な商品でのみ機能し、オプション商品では機能しないという制限があります。 上記のコードをテーマにした関数ファイル(チャイルドテーマを作成して作業してください)に追加してテストすると、次の図に示すように「ショートカット」ボタンが追加されます。

WooCommerce モールに「購入」ボタンを追加する(プラグイン未使用)

ボタンスタイルは、CSSを使用してカートに追加ボタンのスタイルと同じにすることができます。

オプション商品には、買い物ボタンを表示せずにボタンスタイルをカート追加ボタンと同じに設定したい場合は、次のコードでテストしてみることができます。

function add_content_after_addtocart() {

	$current_product_id = get_the_ID();
	$product = wc_get_product( $current_product_id );
	$checkout_url = WC()->cart->get_checkout_url();

	if( $product->is_type( 'simple' ) && !$product->is_type( 'variable' ) ){
		echo '<a href="'.$checkout_url.'?add-to-cart='.$current_product_id.'" class="buy-now button single_add_to_cart_button">구매하기</a>';
	}
}
add_action( 'woocommerce_after_add_to_cart_button', 'add_content_after_addtocart' );

Avadaでテストするので、シンプル商品のみ購入ボタンが表示され、オプション商品には表示されません。

最後に、

WordPressでモールを構築する際に機能を追加するためにプラグインを使用することが多いです。 ただし、あまりにも多くのプラグインを使用するとサイトの速度に影響を与え、プラグイン間の競合が発生する可能性があるため、できるだけ必要なプラグインのみを使用することをお勧めします。

Direct Checkout for WooCommerceプラグインを使用しても「今すぐ購入」ボタンが正しく表示されない場合は、上記の方法を試してください。

参照


5のコメント

コメント

  1. オプション商品の場合は別にプラグインを購入して使用する必要がありますか?

    応答
    • まず、無料のプラグインを使用してオプション商品で動作するかどうかを確認してください。

      うまくいかない場合は、本文のstackoverflowリンクに乗って行くとオプション商品に動作するコードも提示されています。ただし、該当するコードが最新 WooCommerce バージョンで動作するかどうかについてはテストしてみないので、うまく動作するかについては大胆ではありません。

      応答