WordPress能否实现不登陆付款功能?就是游客可以直接付款。wordpress+woocommerce已经装好,但是发现不论这么设置都实现不了这个功能,到付款页面后要求必须注册。
在后台-woocommerce-设置-账户和隐私中是否勾选了“允许客户在没有帐户的情况下下单”呢?如果勾选了还不行,有可能是你使用的支付插件强制需要登录状态下才能下单付款
这个是需要使用代码,通过woocommerce的钩子进行实现的,你可以试着把下面代码放到你主题的functions.php中,因为我没有测试,所以只能你自己去尝试一下
function your_custom_function_name( $allcaps, $caps, $args ) { if ( isset( $caps[0] ) ) { switch ( $caps[0] ) { case 'pay_for_order' : $order_id = isset( $args[2] ) ? $args[2] : null; $order = wc_get_order( $order_id ); $user = $order->get_user(); $user_id = $user->ID; // When no order ID, we assume it's a new order // and thus, customer can pay for it if ( ! $order_id ) { $allcaps['pay_for_order'] = true; break; } $order = wc_get_order( $order_id ); if ( $order && ( $user_id == $order->get_user_id() || ! $order->get_user_id() ) ) { $allcaps['pay_for_order'] = true; } break; } } return $allcaps; } add_filter( 'user_has_cap', 'your_custom_function_name', 10, 3 );
另外,以上代码即使可以实现免登录付款,但是你如果想要还能免登录下载,你还是需要继续用代码来实现的,所以,如果你没有代码基础,可能完全实现你的思路有点儿困难。
Remember Me Forgot Password
No Account? Register
Get Vcode
Agreed the《Service Agreement》
Account Login Forgot Password?
2 个回答
在后台-woocommerce-设置-账户和隐私中是否勾选了“允许客户在没有帐户的情况下下单”呢?如果勾选了还不行,有可能是你使用的支付插件强制需要登录状态下才能下单付款
这个是需要使用代码,通过woocommerce的钩子进行实现的,你可以试着把下面代码放到你主题的functions.php中,因为我没有测试,所以只能你自己去尝试一下
另外,以上代码即使可以实现免登录付款,但是你如果想要还能免登录下载,你还是需要继续用代码来实现的,所以,如果你没有代码基础,可能完全实现你的思路有点儿困难。