【问题标题】:WooCommerce edit error message on checkout pageWooCommerce 在结帐页面上编辑错误消息
【发布时间】:2022-04-22 10:48:59
【问题描述】:

如果有人未选中“条款”复选框(在结帐页面中),我看到 WooCommerce 会给出错误消息(您必须接受我们的条款和条件。)。

如何更改/编辑错误消息?

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    您可以使用 woocommerce_add_error 过滤器执行此操作。将以下内容添加到您的 functions.php 文件中。

    // alter the subscriptions error
    function my_woocommerce_add_error( $error ) {
        if( 'The generic error message' == $error ) {
            $error = 'The shiny brand new error message';
        }
        return $error;
    }
    add_filter( 'woocommerce_add_error', 'my_woocommerce_add_error' );
    

    【讨论】:

    • 这对我有用。请记住,您需要为 '&' 字符使用 html 名称。 function my_woocommerce_add_error( $error ) { if( 'You must accept our Terms & Conditions.' == $error ) { $error = 'My new message.'; } return $error; }
    【解决方案2】:

    我今天试过了,不幸的是这不起作用。

    这是来自:woocommerce > classes > class-wc-checkout.php 的代码

    // Terms
    if ( ! isset( $_POST['woocommerce_checkout_update_totals'] ) && empty( $this->posted['terms'] ) && woocommerce_get_page_id( 'terms' ) > 0 )
    $woocommerce->add_error( __( 'You must accept our Terms & Conditions.', 'woocommerce' ) );
    

    很高兴看到您必须接受我们的条款和条件的编辑方式。 原始消息显示:您必须接受我们的条款和条件 我想说:请确认您的年龄

    我总是可以破解核心,但我更喜欢看看你是否有发布的方法。

    【讨论】:

      【解决方案3】:

      您必须找到 woocommerce 为特定错误设置的密钥,然后像这样编辑它,在下面的示例中,我正在编辑默认文本,该文本显示何时没有可用的运输方式并且客户尝试结帐:

      function prefix_edit_error_message( $fields, $errors ) {
         $errors->remove( 'shipping' ); // remove default error message
         $errors->add( 'shipping', 'My custom text' ); // add our custom error message
      }
      add_action('woocommerce_after_checkout_validation', 'prefix_edit_error_message', 10, 2);
      

      您可以输出errors 的内容以查看您必须删除哪个错误,然后重新添加以获得所需的效果。在您的情况下,您需要将 shipping 替换为 terms

      在撰写此答案时,钩子位于此处:https://github.com/woocommerce/woocommerce/blob/6.4.1/plugins/woocommerce/includes/class-wc-checkout.php#L889

      在未来版本的 WooCommerce 中,它很可能被称为相同的东西,即使它的文件位置可能会改变

      【讨论】:

        【解决方案4】:

        您可以随时编辑翻译文件。在这种情况下,您必须在 PO 编辑器中打开 .pot 文件并使用更改后的字符串创建一个新的 en_US 翻译文件:

        wp-content/plugins/woocommerce/i18n/languages/woocommerce.pot

        【讨论】:

        • 这很棒。我可以知道一些关于 PO 编辑器的事情吗?它是免费软件吗?
        猜你喜欢
        • 2022-01-23
        • 2019-08-02
        • 2020-08-07
        • 2016-02-20
        • 2019-08-03
        • 1970-01-01
        • 1970-01-01
        • 2018-10-19
        • 2013-02-06
        相关资源
        最近更新 更多