✨专业 WordPress 开发,定制建站,高效上线,合作即享优化服务!🚀
当用户未登录时,在WooCommerce结账页面自动弹出登录窗口,并显示提示信息“请先登录以继续购买”。此外,如果用户点击账单地址字段,也会触发登录弹窗。代码通过检测用户登录状态,结合JavaScript实现弹窗和提示功能,提升用户体验并引导用户登录。
- 通过引导用户登录,减少因未登录导致的购物车放弃率。
- 自动弹窗和提示信息让用户操作更顺畅,避免困惑。
- 防止用户因未登录而无法填写账单信息,降低流失风险。
- 无需用户手动寻找登录入口,节省时间,提高效率。
步骤 1:将代码添加到主题
- 打开WordPress后台,进入 外观 > 主题文件编辑器。
- 选择当前主题的 文件(建议使用子主题,防止更新丢失)。
functions.php - 将以下代码粘贴到 文件的底部:
functions.php
add_action('woocommerce_before_checkout_form', 'trigger_login_popup_if_not_logged_in', 10);
function trigger_login_popup_if_not_logged_in() {
if (!is_user_logged_in()) {
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
var loginLink = $('a.ct-account-item');
function showLoginPopup() {
if (loginLink.length) {
loginLink[0].click();
}
}
setTimeout(function() {
showLoginPopup();
var promptMessage = '<div class="login-prompt-message" style="text-align: center; padding: 10px 0; background-color: #f4f4f4; border: 1px solid #ddd; margin-bottom: 15px;">' +
'<p><strong><?php echo __('Please log in first to proceed with your purchase.', 'blocksy-companion'); ?></strong></p>' +
'</div>';
$('.ct-login-form').prepend(promptMessage);
}, 1000);
$('input#billing_first_name, input#billing_last_name, input#billing_address_1, input#billing_address_2, input#billing_city, input#billing_postcode').on('click', function() {
showLoginPopup();
});
});
</script>
<?php
}
}
- 保存文件。
步骤 2:自定义提示信息
- 修改代码中的提示文字:将 替换为你需要的文案。
请先登录以继续购买。 - 调整样式:修改 中的背景色、边距等属性,使其与网站风格一致。
style
完成!
现在,当未登录用户进入结账页面时,会自动弹出登录窗口并显示提示信息,帮助用户顺利完成登录和购买流程。
注意这个代码只适合Blocksy主题,其他 主题可联系我们进行定制。微信:wxmbxzb

