php - 在 Woocommerce 中为未登录用户取消隐藏结帐登录表单
问题描述
当客户未登录时,我希望 Woocommerce 登录表单最初不会隐藏在结帐页面上。我也想创建一个帐户?默认情况下,要像订阅按钮一样勾选收音机。
谢谢
解决方案
以下钩子函数将默认为未登录的用户启用登录表单
// Enable the login form by default for unlogged users
add_action( 'woocommerce_before_checkout_form', 'force_checkout_login_for_unlogged_customers', 4 );
function force_checkout_login_for_unlogged_customers() {
if( ! is_user_logged_in() ) {
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_login_form', 10 );
add_action( 'woocommerce_before_checkout_form', 'custom_checkout_login_form', 20 );
}
}
function custom_checkout_login_form() {
wc_get_template( 'global/form-login.php', array(
'message' => __( 'If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing & Shipping section.', 'woocommerce' ),
'redirect' => wc_get_page_permalink( 'checkout' ),
'hidden' => false,
) );
}
代码在您的活动子主题(活动主题)的 function.php 文件中。测试和工作。
推荐阅读
- r - Using a function to create a new dataframe with unused elements
- python - virtualenv will not activate in Cygwin inside PyCharm and breaks all unix-like commands after the failure
- python - Tensorflow=1.12.0 AttributeError:模块“tensorflow”没有属性“feature_column”
- firebase - firebase 函数的执行速度是否一致?
- excel - TEXTJOIN 函数中的嵌套 AND 函数不返回结果
- javascript - 如何检查在只有类名的 div 中单击了哪些链接
- ajax - Q:如何用ajax制作表单验证codeigniter?
- node.js - Socket.emit() 不发送数据
- algorithm - 为什么 Josef Stein 的二进制 GCD 算法的这种实现只适用于某些情况?
- haskell - 数据种类联盟