我试图为一个项目创建一个自定义商店页面,用户可以在其中单击产品以在模式窗口中查看详细信息,并选择一些价格变化选项。
我想做的是在用户选择后将产品详细信息发送到结账页面。
有可能做到吗?如果是,如何?
非常感谢你的帮助。谢谢
我能够自己完成。在我的模板中:
<a href="http:example.com/checkout/?add-to-cart=70&&price=28.45"> Custom product name </a>
在我的函数.php中
add_filter( 'woocommerce_add_cart_item' , 'set_woo_prices');
add_filter( 'woocommerce_get_cart_item_from_session', 'set_session_prices' , 20 , 3 );
function set_woo_prices( $woo_data ) {
if ( ! isset( $_GET['price'] ) || empty ( $_GET['price'] )) { return $woo_data; }
$woo_data['data']->set_price( $_GET['price'] );
$woo_data['my_price'] = $_GET['price'];
return $woo_data;
}
function set_session_prices ( $woo_data , $values , $key ) {
if ( ! isset( $woo_data['my_price'] ) || empty ( $woo_data['my_price'] ) ) { return $woo_data; }
$woo_data['data']->set_price( $woo_data['my_price'] );
return $woo_data;
}
function redirect_to_checkout() {
return WC()->cart->get_checkout_url();
}
这真的很管用。我知道这不是一个安全的方式。如果有人能告诉我最好的方法,那就太好了!
您可以在用户使用添加到购物车后立即将其重定向到结账。
要做到这一点,只需将其粘贴到主题的函数中即可。php
function redirect_to_checkout() {
return WC()->cart->get_checkout_url();
}