Php 在Woocommerce管理订单预览中显示自定义数据

Php 在Woocommerce管理订单预览中显示自定义数据,php,wordpress,woocommerce,metadata,orders,Php,Wordpress,Woocommerce,Metadata,Orders,我想在Woocommerce订单列表页面的预览订单末尾添加一些自定义数据 为此,我尝试了钩子“woocommerce\u admin\u order\u preview\u end”。但是没有办法把任何论点传递给那个动作 add_action( 'woocommerce_admin_order_preview_end', 'custom_display_order_data_in_admin' ); function custom_display_order_data_in_admin( $or

我想在Woocommerce订单列表页面的预览订单末尾添加一些自定义数据

为此,我尝试了钩子“woocommerce\u admin\u order\u preview\u end”。但是没有办法把任何论点传递给那个动作

add_action( 'woocommerce_admin_order_preview_end', 'custom_display_order_data_in_admin' );
function custom_display_order_data_in_admin( $order ){
    //$order is empty here
}

有人对此有想法吗?我被困在这个问题上。

您无法获取订单对象,因为它是一个通过Ajax加载特定数据的模板,并且没有用于
woocommerce\u admin\u order\u preview\u end
操作挂钩的参数

相反,过滤器挂钩
woocmerce\u admin\u order\u preview\u get\u order\u details
将允许您首先添加一些自定义数据,您可以在
woocmerce\u admin\u order\u preview\u end
操作挂钩中调用并显示这些数据

守则:

// Add custom order meta data to make it accessible in Order preview template
add_filter( 'woocommerce_admin_order_preview_get_order_details', 'admin_order_preview_add_custom_meta_data', 10, 2 );
function admin_order_preview_add_custom_meta_data( $data, $order ) {
    // Replace '_custom_meta_key' by the correct postmeta key
    if( $custom_value = $order->get_meta('_custom_meta_key') )
        $data['custom_key'] = $custom_value; // <= Store the value in the data array.

    return $data;
}

// Display custom values in Order preview
add_action( 'woocommerce_admin_order_preview_end', 'custom_display_order_data_in_admin' );
function custom_display_order_data_in_admin(){
    // Call the stored value and display it
    echo '<div>Value: {{data.custom_key}}</div><br>';
}
//添加自定义订单元数据以使其在订单预览模板中可访问
添加过滤器('woocommerce\u admin\u order\u preview\u get\u order\u details'、'admin\u order\u preview\u add\u custom\u meta\u data',10,2);
函数管理\命令\预览\添加\自定义\元数据($data,$order){
//将“_custom_meta_key”替换为正确的postmeta_key
如果($custom\u value=$order->get\u meta(“'u custom\u meta\u key'))

$data['custom_key']=$custom_value;//如何将自定义值放在预览窗口中的Shipping列或其他任何位置下?我必须使用CSS还是有办法使用PHP?