Size: 3.82 KB
/* -------------------------------------------
ЁЯТе WooCommerce Fast Instant Direct Checkout (No Cart)
-------------------------------------------- */
// 1я╕ПтГг Cart UI, Quantity, Sale Badge рдХреЛ рдЫрд┐рдкрд╛рдирд╛ + Buy Now рдмрдЯрди рд╕реНрдЯрд╛рдЗрд▓
add_action('wp_head', function() {
echo '<style>
.site-header-cart,
.cart-contents,
a.cart-contents,
.woocommerce-mini-cart,
.widget_shopping_cart,
.woocommerce-message,
.quantity,
form.cart,
.onsale {
display:none !important;
}
.button.buy-now {
background-color: #e3e3e3 !important;
color: #303030 !important;
border: none !important;
cursor: pointer;
text-align: center;
text-decoration: none;
display: inline-block;
}
.button.buy-now:hover {
background-color: #28a745 !important;
color: var(--base-3) !important;
}
</style>';
});
// 2я╕ПтГг Single Product рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ Add to Cart рд╣рдЯрд╛рдПрдБ
remove_action(
'woocommerce_single_product_summary',
'woocommerce_template_single_add_to_cart',
30
);
// 3я╕ПтГг Loop (Shop/Category/Home) рдореЗрдВ Buy Now рдмрдЯрди
add_filter('woocommerce_loop_add_to_cart_link', function($button, $product) {
if ( ! $product || ! $product->is_purchasable() ) {
return $button;
}
// рдореМрдЬреВрджрд╛ URL рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд nonce рдХреЗ рд╕рд╛рде buy-now рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗрдВ
$url = add_query_arg('buy-now', $product->get_id());
$nonce = wp_create_nonce('buy_now_' . $product->get_id());
$url = add_query_arg('bn', $nonce, $url);
return '<a class="button buy-now" href="'. esc_url($url) .'">Buy Now</a>';
}, 10, 2);
// 4я╕ПтГг Single Product Page рдкрд░ Buy Now рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ
add_action('woocommerce_single_product_summary', function() {
global $product;
if ( ! $product || ! $product->is_purchasable() ) {
return;
}
$url = add_query_arg('buy-now', $product->get_id());
$nonce = wp_create_nonce('buy_now_' . $product->get_id());
$url = add_query_arg('bn', $nonce, $url);
echo '<a class="button buy-now" href="'. esc_url($url) .'">Buy Now</a>';
}, 30);
// 5я╕ПтГг Direct Checkout Logic (Buy Now рдХреНрд▓рд┐рдХ рдкрд░)
// template_redirect рдкрд░ рд░рдЦрдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ (WC session/cart рдЙрдкрд▓рдмреНрдз рд░рд╣рддрд╛ рд╣реИ)
add_action('template_redirect', function() {
// рдпрджрд┐ рдХрд╛рд░реНрдЯ рдкреЗрдЬ рдЦреБрд▓ рд░рд╣рд╛ рд╣реЛ рддреЛ рд╕реАрдзреЗ Checkout рдкрд░ рднреЗрдЬреЗрдВ
if ( function_exists('is_cart') && ( is_cart() || is_page('cart') ) ) {
wp_safe_redirect( wc_get_checkout_url() );
exit;
}
// Buy Now рд╣реИрдВрдбрд▓ рдХрд░реЗрдВ
if ( isset($_GET['buy-now']) ) {
$product_id = intval($_GET['buy-now']);
$nonce = isset($_GET['bn']) ? sanitize_text_field($_GET['bn']) : '';
if ( $product_id > 0 && function_exists('WC') && wp_verify_nonce($nonce, 'buy_now_' . $product_id) ) {
// рдХрд╛рд░реНрдЯ рд╕рд╛рдл рдХрд░реЗрдВ рд╡ рдкреНрд░реЛрдбрдХреНрдЯ рдЬреЛрдбрд╝реЗрдВ (qty=1)
WC()->cart->empty_cart(true);
WC()->cart->add_to_cart($product_id);
// рд╕реАрдзреЗ Checkout рдкрд░
wp_safe_redirect( wc_get_checkout_url() );
exit;
} else {
// рдЧрд▓рдд/рдПрдХреНрд╕рдкрд╛рдпрд░ рд▓рд┐рдВрдХ рд╣реЛрдиреЗ рдкрд░ query рд╣рдЯрд╛рдХрд░ рд╡рд╣реАрдБ рд░рдЦреЗрдВ
wp_safe_redirect( remove_query_arg(array('buy-now','bn')) );
exit;
}
}
});
// 6я╕ПтГг рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрд╛рд░реНрдЯ рдПрдХреНрд╕реЗрд╕ рдбрд┐рд╕реЗрдмрд▓ (рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдПрдХ рдФрд░ рдкрд░рдд)
add_action('template_redirect', function() {
if ( isset($_GET['remove_item']) || isset($_GET['undo_item']) ) {
wp_safe_redirect( wc_get_checkout_url() );
exit;
}
});
// 7я╕ПтГг Sold Individually рдкреНрд░рддрд┐рдмрдВрдз рд╣рдЯрд╛рдПрдБ (рдЬреИрд╕рд╛ рдЖрдкрдХреЗ рдореВрд▓ рдХреЛрдб рдореЗрдВ рдерд╛)
add_filter('woocommerce_is_sold_individually', '__return_false');
тмЗя╕П Download Now