在 WooCommerce 中添加“您必须登录才能结账”消息的链接

问题描述 投票:0回答:2

在 WooCommerce 设置页面中,我将客户设置为“不允许”在没有帐户的情况下下订单。然后客户必须登录才能结账。我对这个设置没有任何问题。效果很好。 现在,如果客户未登录,则会显示此消息“您必须登录才能结账”。我只需要在此消息末尾添加一个链接。

我使用此代码,它允许更改文本并

添加链接

function filter_woocommerce_checkout_must_be_logged_in_message( $message ) { $message = 'You must be logged in to checkout. <a href="#" id="login-register">login / Register</a>'; return $message; } add_filter( 'woocommerce_checkout_must_be_logged_in_message', 'filter_woocommerce_checkout_must_be_logged_in_message', 10, 1 );

但问题是 html(链接)按原样打印(不呈现为链接)。

看看我的截图就明白我的意思了。

wordpress woocommerce hook-woocommerce checkout
2个回答
5
投票
esc_html()

此行复制自

/templates/checkout/form-checkout.php

第 26 行@version 3.5.0 echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ) );

因此,如果您确实想添加 HTML,则必须覆盖模板文件。这
可以通过将模板文件复制到 
yourtheme/woocommerce/checkout/form-checkout.php

来覆盖模板文件。

更换

echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ) );

echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ) ) . '&nbsp;<a href="#" id="login-register">login / Register</a>';



0
投票

© www.soinside.com 2019 - 2024. All rights reserved.