WooCommerce运送到结帐页面上的地址下拉列表

克里斯

我目前正在建立一个阻碍网站。我的客户想知道是否有某些障碍物无法送往动物救援中心,护理院或类似机构。这些位置将由他选择,并且理想情况下将在下拉菜单的结帐页面中显示,然后用户可以选择发送至其中之一或自己填写地址。

我浏览了适用于woocommerce的扩展,但看不到任何符合要求的扩展。

有没有人试图实现类似的目标?

有人可以指出正确的方向吗?

谢谢

LoicTheAztec

您可以在结帐表单中轻松添加任何自定义字段。例如,您可以使用woocommerce_after_order_notes钩子在客户详细信息和订单注释后添加自定义字段:

这是代码:

// Creating the custom fields on checkout page after order notes
add_filter( 'woocommerce_after_order_notes', 'custom_checkout_fields' );
function custom_checkout_fields( $checkout ) {

     echo '<div id="my_custom_checkout_field"><br><h2>' . __('My custom fields title', 'my_theme_slug') . '</h2>';

    // The selector
    woocommerce_form_field( 'my_field_name1', array(
        'type'        => 'select',
        'required'    => true,
        'class'       => array('my-field-class form-row-wide'),
        'label'       => __('Select your destination', 'my_theme_slug'),
        'options'     => array(
            '' => __('Chose an option', 'my_theme_slug'),
            'option1' => 'Fill in the custom address (display a field)',
            'option2' => 'my option 1 choice',
            'option3' => 'my option 2 choice',
            'option4' => 'my option 3 choice'
        )
    ), $checkout->get_value( 'my_field_name1' ));

    // The field (Using javascript to make it appear when selector corresponding value is chosen)
    woocommerce_form_field( 'my_field_name2', array(
        'type'        => 'textarea',
        'required'    => false,
        'class'       => array('my-field-class2 form-row-wide'),
        'label'       => __('Fill in the custom address', 'my_theme_slug'),
        'placeholder' => __('Enter an address (optional)', 'my_theme_slug')
    ), $checkout->get_value( 'my_field_name2' ));

echo '</div>';

}

 // Process the checkout
add_action('woocommerce_checkout_process', 'custom_checkout_field_process');
function custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['my_field_name1'] ) // the selector
        wc_add_notice( __( 'Please enter something into this new shiny field.' ), 'error' );
}

// Update the order meta with field value
add_action( 'woocommerce_checkout_update_order_meta', 'custom_checkout_field_update_order_meta' );
function custom_checkout_field_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['my_field_name1'] ) ) {
        update_post_meta( $order_id, 'my_field_name1', sanitize_text_field( $_POST['my_field_name1'] ) );
    }
    if ( ! empty( $_POST['my_field_name2'] ) ) {
        update_post_meta( $order_id, 'my_field_name2', sanitize_text_field( $_POST['my_field_name2'] ) );
    }
}

自然,这会在您的活动子主题(或主题)的function.php文件上或任何插件文件中进行。

这是一个功能齐全的部分工作示例

剩下的是什么(您将需要什么,可以拥有什么)

您将需要
制作自定义的jQuery / javascript脚本
-首先隐藏文本区域字段(加载页面时)。
-当在选择器中选择了正确的值时显示该文本区域字段(地址大小写的手动输入)。

其他选项:
-显示/编辑管理员编辑订单页面中的值
-将此自定义字段添加到电子邮件中…


官方参考:WooThemes-使用动作和过滤器自定义结帐字段

重新排序参考:WooCommerce 3中的重新排序结帐字段

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使WooCommerce结帐运送字段可见,并删除“运送到其他地址?” 复选框

来自分类Dev

Woocommerce在结帐页面上从数据库创建并填充自定义下拉列表

来自分类Dev

Woocommerce更改结帐页面上的结帐总额

来自分类Dev

如何更改woocommerce结帐的收到订单页面上的收货地址和帐单地址的文本?

来自分类Dev

Woocommerce永远不会在结帐页面上保存送货地址

来自分类Dev

结帐页面上的WooCommerce编辑错误消息

来自分类Dev

Woocommerce在结帐页面上删除运费

来自分类Dev

更改 Woocommerce 结帐页面上的措辞

来自分类Dev

Woocommerce-结帐页面上的订单审核总数未刷新

来自分类Dev

结帐页面上的重复付款方式字段[woocommerce]

来自分类Dev

在WooCommerce结帐页面上显示产品类别

来自分类Dev

仅在结帐页面上更改WooCommerce送货方式标签

来自分类Dev

在WooCommerce结帐页面上的输入字段下显示描述

来自分类Dev

WooCommerce:我想更新结帐页面上的标签

来自分类Dev

javascript下拉列表停止在Wordpress Woocommerce https页面上工作

来自分类Dev

如何在Woocommerce中以“运送到不同地址”形式编辑字段?

来自分类Dev

布局页面上的下拉列表-MVC

来自分类Dev

检查是否在WooCommerce购物车页面上启用了特定的运送方式

来自分类Dev

如何仅显示在magento结帐时运送到的国家/地区?

来自分类Dev

更改Virtuemart Checkout页面运送地址标签

来自分类Dev

如果WooCommerce购物车中有特定产品,则必须“运送到其他地址”为必填项

来自分类Dev

我需要在结帐页面上单击地址“ Countine”按钮,但无法单击它

来自分类Dev

如果选择了特定类别,是否可以在结帐页面上隐藏自定义下拉字段

来自分类Dev

在购物车和结帐页面上显示Woocommerce产品类别

来自分类Dev

在结帐WooCommerce页面上获取购物车产品ID,以显示产品图片

来自分类Dev

如何在WooCommerce结帐页面上显示购物车商品加价?

来自分类Dev

在WooCommerce的结帐页面上使产品名称可单击(链接)+缩略图

来自分类Dev

在某些情况下,如何在WooCommerce的结帐页面上更改“您的订单”文本

来自分类Dev

在结帐页面上更改WooCommerce优惠券的“删除”链接文本

Related 相关文章

  1. 1

    使WooCommerce结帐运送字段可见,并删除“运送到其他地址?” 复选框

  2. 2

    Woocommerce在结帐页面上从数据库创建并填充自定义下拉列表

  3. 3

    Woocommerce更改结帐页面上的结帐总额

  4. 4

    如何更改woocommerce结帐的收到订单页面上的收货地址和帐单地址的文本?

  5. 5

    Woocommerce永远不会在结帐页面上保存送货地址

  6. 6

    结帐页面上的WooCommerce编辑错误消息

  7. 7

    Woocommerce在结帐页面上删除运费

  8. 8

    更改 Woocommerce 结帐页面上的措辞

  9. 9

    Woocommerce-结帐页面上的订单审核总数未刷新

  10. 10

    结帐页面上的重复付款方式字段[woocommerce]

  11. 11

    在WooCommerce结帐页面上显示产品类别

  12. 12

    仅在结帐页面上更改WooCommerce送货方式标签

  13. 13

    在WooCommerce结帐页面上的输入字段下显示描述

  14. 14

    WooCommerce:我想更新结帐页面上的标签

  15. 15

    javascript下拉列表停止在Wordpress Woocommerce https页面上工作

  16. 16

    如何在Woocommerce中以“运送到不同地址”形式编辑字段?

  17. 17

    布局页面上的下拉列表-MVC

  18. 18

    检查是否在WooCommerce购物车页面上启用了特定的运送方式

  19. 19

    如何仅显示在magento结帐时运送到的国家/地区?

  20. 20

    更改Virtuemart Checkout页面运送地址标签

  21. 21

    如果WooCommerce购物车中有特定产品,则必须“运送到其他地址”为必填项

  22. 22

    我需要在结帐页面上单击地址“ Countine”按钮,但无法单击它

  23. 23

    如果选择了特定类别,是否可以在结帐页面上隐藏自定义下拉字段

  24. 24

    在购物车和结帐页面上显示Woocommerce产品类别

  25. 25

    在结帐WooCommerce页面上获取购物车产品ID,以显示产品图片

  26. 26

    如何在WooCommerce结帐页面上显示购物车商品加价?

  27. 27

    在WooCommerce的结帐页面上使产品名称可单击(链接)+缩略图

  28. 28

    在某些情况下,如何在WooCommerce的结帐页面上更改“您的订单”文本

  29. 29

    在结帐页面上更改WooCommerce优惠券的“删除”链接文本

热门标签

归档