当前位置: 首页 > 知识库问答 >
问题:

在WooCommerce中移动客户订单备注字段

何乐
2023-03-14

大家好,我通过搜索并找到解决方案,对我在woocommerce上的结帐进行了一些编辑。

到目前为止,我已经做到了,所以我跳过购物车/篮子,直接去结账,并重命名了订单笔记文件。

我正在挣扎的是如何将订单注释字段移动到订单评论上方。我知道我需要使用这个woocommerce_checkout_before_order_review但我不知道如何使用。任何帮助都会很棒吗?

add_filter('woocommerce_add_to_cart_redirect', 'themeprefix_add_to_cart_redirect');
function themeprefix_add_to_cart_redirect() {
 global $woocommerce;
 $checkout_url = wc_get_checkout_url();
 return $checkout_url;
}

//Add New Pay Button Text
add_filter( 'woocommerce_product_single_add_to_cart_text', 'themeprefix_cart_button_text' ); 
add_filter( 'woocommerce_product_add_to_cart_text', 'themeprefix_cart_button_text' ); 

function themeprefix_cart_button_text() {
 return __( 'Add to cart & go to checkout', 'woocommerce' );
}

// Place this code in your theme's functions.php file

// Hook in
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

// Our hooked in function - $fields is passed via the filter!
function custom_override_checkout_fields( $fields ) {
     $fields['order']['order_comments']['required'] = true;
     return $fields;
}

add_filter( 'woocommerce_checkout_fields', 'filter_checkout_fields' );

function filter_checkout_fields( $fields ) {
    $fields['order']['order_comments']['maxlength'] = 160;
    $fields['order']['order_comments']['label'] = '<h2>Personalized Message</h2>';
     $fields['order']['order_comments']['placeholder'] = 'Add message here';
    return $fields;
}

共有1个答案

邹坚壁
2023-03-14

LoicTheAztec是正确的。订单注释仅可通过调整Woocommerce模板进行自定义。

在多站点上,我必须从正确的模板中删除并添加以下代码。这是来自默认的WooCommerce 3. x模板。

<?php if ( apply_filters( 'woocommerce_enable_order_notes_field', 'yes' === get_option( 'woocommerce_enable_order_comments', 'yes' ) ) ) : ?>

    <?php if ( ! WC()->cart->needs_shipping() || wc_ship_to_billing_address_only() ) : ?>

        <h3><?php _e( 'Additional information', 'woocommerce' ); ?></h3>

    <?php endif; ?>

    <div class="woocommerce-additional-fields__field-wrapper">
        <?php foreach ( $checkout->get_checkout_fields( 'order' ) as $key => $field ) : ?>
            <?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
        <?php endforeach; ?>
    </div>

<?php endif; ?>
 类似资料:
  • 我使用的是WooCommerce 3.2版。我已经尝试在我的主题移动订单注释签出字段,但它不起作用: 我想将订单备注文本区域字段移到“创建账户”复选框上方和结帐页面上“账单邮政编码”字段下方。 我怎样才能让它工作?

  • 简言之: 我想在“daypart”上显示一个新字段。这是一个具有3个选项的下拉字段 其他信息: 我需要将daypart保存在core签出字段中,因为商店会同步到另一个不同步订单元数据的配送服务。 这是代码:

  • 我想在Woocommerce购物车优惠券区域下的Woocommerce购物车页面中添加注释字段。此字段应该类似于Woocommerce结帐页“订单注释”字段,客户可以在其中添加一些注释。 到目前为止,我有一个指示我所需位置的代码: 如何在此区域中添加备注字段,以便这些客户备注也显示在结帐页面的订单详细信息中? 谢谢

  • 在WooCommerce中,当订单处于处理状态时,我希望在“我的帐户”页面上显示一个操作按钮,允许客户通过更改订单状态以完成来确认订单已经到达。 我已经看到允许客户通过电子邮件相关的问题代码改变订单的状态(没有答案),这并没有真正帮助实现我的目标。 客户是否可以通过将订单状态更改为“已完成”来确认订单是否已到达?

  • 我的Wordpress安装有问题,更具体的说是WooCommerce。 我在过去几个月中一直在工作的客户希望,每次客户完成/支付订单时,除了标准的订单确认电子邮件外,还会向他的电子邮件地址发送一封自定义电子邮件。 简而言之:我需要在订单完成时给客户发送一封自定义邮件。如何在functions.php中做到这一点? 我尝试使用官方文档中描述的各种钩子和函数,但无法弄明白。 Wordpress的版本是

  • WooCommerce的订单页面内容繁多,如果直接打印后台页面,想必是惨不忍睹,还好有一款免费插件可以解决这个问题——WooCommerce Print Invoices & Delivery Notes,这个插件的好处是通过修改模版,你可以打印订单中的任何内容,漂亮的打印出来。 关于该插件的使用不再赘述,本文介绍如何修改打印模版,加入自己需要的数据。比如,加入产品缩略图和产品分类,效果如下图所示