php - 如何在运输方式(后端)中添加自定义描述字段

标签 php wordpress woocommerce shipping hook-woocommerce

我想在送货方式下的送货区页面中添加一个自定义字段,它将是一个文本输入,用户将能够添加一条自定义消息,我将在前端显示该消息。

我注意到它将数据保存在 wp_woocommerce_shipping_zone_methods 表中,该表没有任何额外的列来保存数据;所以我想我必须使用我的自定义逻辑,但我不知道 Hook 的名称。

所以我的问题是,是否有任何钩子(Hook)可以帮助/允许我

  1. 添加自定义字段。
  2. 添加自定义列。

长话短说: enter image description here

enter image description here

最佳答案

add_action('woocommerce_init', 'shipping_instance_form_fields_filters');

function shipping_instance_form_fields_filters()
{
    $shipping_methods = WC()->shipping->get_shipping_methods();
    foreach($shipping_methods as $shipping_method) {
        add_filter('woocommerce_shipping_instance_form_fields_' . $shipping_method->id, 'shipping_instance_form_add_extra_fields');
    }
}

function shipping_instance_form_add_extra_fields($settings)
{
    $settings['shipping_extra_field'] = [
        'title' => 'Shipping extra field',
        'type' => 'text', 
        'placeholder' => 'shipping',
        'description' => ''
    ];

    return $settings;
} 

感谢@Wprog_dy 的想法,但您的代码仅向“flat_rate”送货方式添加了字段,您的函数真的非常复杂。

我的示例将为所有送货方式添加一个自定义字段

关于php - 如何在运输方式(后端)中添加自定义描述字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44042952/

相关文章:

javascript - WordPress 插件开发 w/JS 库依赖项?带源管理的最佳长期方法?

php - Woocommerce 多个结账页面

php - 是否可以通过 functions.php 文件将文本框连接到 WordPress 主题中?

php - 如何使用电子邮件或电话号码获取 woocommerce 订单号?

php - 在 WooCommerce 中替换 "Coupon code applied successfully."消息

javascript - 为什么我的 json_encode 没有在 PHP 中给出正确的值

php - 使用 PHP simpleXml 将 child 添加到 xml

php - 如何检查文件是否存在于 zip 存档中

php多维数组循环优化

php - 在 WooCommerce 产品搜索小部件中设置最小字符数