首页 > 解决方案 > 在 Woocommerce 中为未登录用户取消隐藏结帐登录表单

问题描述

当客户未登录时,我希望 Woocommerce 登录表单最初不会隐藏在结帐页面上。我也想创建一个帐户?默认情况下,要像订阅按钮一样勾选收音机。

谢谢

标签: phpwordpressloggingwoocommercecheckout

解决方案


以下钩子函数将默认为未登录的用户启用登录表单

// 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 文件中。测试和工作。

在此处输入图像描述


推荐阅读