【问题标题】:Create a WooCommerce order custom field with a value based on specific property使用基于特定属性的值创建 WooCommerce 订单自定义字段
【发布时间】:2021-05-06 10:12:47
【问题描述】:

我想请你帮忙创建一个自定义字段。

如何在没有插件的情况下根据created_via 属性为 WooCommerce 订单创建自定义字段“frontier_agent”,如下所示:

  • 如果 created_via 值为“amazon”,则应将 frontier_agent 值设置为 7000
  • 如果created_via 值为“checkout”,则应将frontier_agent 值设置为7500

感谢任何帮助。

【问题讨论】:

    标签: php wordpress woocommerce custom-fields orders


    【解决方案1】:

    以下将基于create_via 订单属性创建frontier_agent 自定义字段:

    add_action( 'woocommerce_order_status_changed', 'create_frontier_agent_order_custom_field', 10, 4 );
    function create_frontier_agent_order_custom_field( $order_id, $old_status, $new_status, $order ) {
        if( ! $order->get_meta('frontier_agent') ) {
            if( $order->get_created_via() === 'checkout' ) {
                $value = '7500';
            } elseif( $order->get_created_via() === 'amazon' ) {
                $value = '7000';
            }
            
            if( isset($value) ) {
                $order->update_meta_data('frontier_agent', $value);
                $order->save();
            }
        }
    }
    

    代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并且可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 2021-05-14
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      相关资源
      最近更新 更多