在 Woocommerce 结帐页面中的所有默认通知之前显示自定义通知

2024-02-01

我使用以下代码在结帐页面中向未登录的 woocommerce 用户(访客)显示自定义消息

add_action('woocommerce_before_checkout_form', 'my_custom_message');
function my_custom_message() {
if ( ! is_user_logged_in() ) {
       wc_print_notice( __('This is my custom message'), 'notice' );
    }
}

顶级代码接收此论坛,来自 @loictheaztec 先生 我之前的问题链接如下:
在 Woocommerce 结账页面中为访客用户显示自定义消息 https://stackoverflow.com/questions/51126758/display-a-custom-message-for-guest-users-in-woocommerce-checkout-page

我想改woocommerce_before_checkout_form在代码中将我的消息移至结帐页面的顶部(第一个)。但我不知道该怎么做。 我只知道下面这两个钩子(与结账页面相关):

  • woocommerce_before_checkout_form
  • woocommerce_after_checkout_form

要在结账页面中在 Woocommerce 登录消息之前和添加优惠券消息之前显示您的自定义消息,您将使用以下代码:

add_action('template_redirect', 'my_custom_message');
function my_custom_message() {
    if ( ! is_user_logged_in() && is_checkout() && ! is_wc_endpoint_url() ) {
        wc_add_notice( sprintf( __('This is my <strong>"custom message"</strong> and I can even add a button to the right… <a href="%s" class="button alt">My account</a>'), get_permalink( get_option('woocommerce_myaccount_page_id') ) ), 'notice' );
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。


更简单的版本对于所有用户仅在结账页面:

add_action('template_redirect', 'my_custom_message');
function my_custom_message() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) {
        wc_add_notice( __('This is my custom message'), 'notice' );
    }
}

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Woocommerce 结帐页面中的所有默认通知之前显示自定义通知 的相关文章

随机推荐