Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在商业订单中显示ACF订单自定义字段_Php_Wordpress_Woocommerce_Advanced Custom Fields_Orders - Fatal编程技术网

Php 在商业订单中显示ACF订单自定义字段

Php 在商业订单中显示ACF订单自定义字段,php,wordpress,woocommerce,advanced-custom-fields,orders,Php,Wordpress,Woocommerce,Advanced Custom Fields,Orders,需要向WooCommerce订单详细信息页面添加一个字段,我可以在订单页面中为客户添加一个跟踪号 我已将ACF添加到order-details.php模板中,如下所示,但它不显示。当我检查页面元素时,我只能看到。这是我当前的ACF代码: <h2><?php the_field('tracking_number'); ?></h2> 您可以使用以下命令 // Display tracking information as a row on order tota

需要向WooCommerce订单详细信息页面添加一个字段,我可以在订单页面中为客户添加一个跟踪号

我已将ACF添加到order-details.php模板中,如下所示,但它不显示。当我检查页面元素时,我只能看到
。这是我当前的ACF代码:

<h2><?php the_field('tracking_number'); ?></h2>

您可以使用以下命令

// Display tracking information as a row on order totals everywhere
add_filter( 'woocommerce_get_order_item_totals', 'order_item_totals_tracking_row', 1000, 3 );
function order_item_totals_tracking_row( $total_rows, $order, $tax_display ){
    if( $tracking_number  = get_field('tracking_number', $order->get_id()) ) {
        $new_total_rows   = []; // Initializing
        $has_tracking_row = false; // Initializing
        $tracking_row     = array( // tracking information array
            'label' => __("Tracking number", "woocommerce"),
            'value' => $tracking_number
        );


        // Loop through order total rows
        foreach( $total_rows as $key => $values ) {
            $new_total_rows[$key] = $values;
            // Inserting tracking information array
            if( $key === 'shipping' ) {
                $new_total_rows['tracking'] = $tracking_row;
                $has_tracking_row = true;
            } elseif( $key === 'payment_method' && ! $has_tracking_row ) {
                $new_total_rows['tracking'] = $tracking_row;
            }
        }
        return $new_total_rows;
    }

    return $total_rows;
}

代码进入活动子主题(或活动主题)的functions.php文件。它应该会起作用。

我认为这个问题更适合你的问题,你的问题有一个答案:请对下面的答案给予一些反馈。有关信息,WooCommerce的相关问题已脱离主题…感谢您的详细回答。我已经将代码添加到functions.php中,但是没有任何更改。它不显示在前端。我还应该在这里检查什么?@phillsav\u我已经测试了这段代码,它完全适用于使用ACF生成的“订单”自定义字段,其中slug是“跟踪号”…跟踪号(如果有值,则不为空)显示在WooCommerce订单和电子邮件的totals表中的任何位置。如果这个答案回答了你的问题,你可以请你回答,如果你喜欢/想要,你也可以请你回答,谢谢。