简体   繁体   English

在Woocommerce管理员订单预览上显示自定义数据

[英]Display custom data on Woocommerce admin order preview

I would like to add some custom data to the end of the preview order in Woocommerce order listing page. 我想在Woocommerce订单列表页面的预览订单末尾添加一些自定义数据。

For that I have tried the hook 'woocommerce_admin_order_preview_end'. 为此,我尝试了钩子“ woocommerce_admin_order_preview_end”。 But no way to pass any arguments to that action. 但是无法将任何参数传递给该操作。

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
}

Does anybody have an idea on this? 有人对此有想法吗? I'm stuck on this. 我一直坚持下去。

You can't get the order object as it's a template that loads specific data via Ajax and there is no arguments for woocommerce_admin_order_preview_end action hook. 您无法获得订单对象,因为它是通过Ajax加载特定数据的模板,并且woocommerce_admin_order_preview_end操作挂钩没有参数。

Instead the filter hook woocommerce_admin_order_preview_get_order_details will allow you first to add some custom data that you will be able to call and display it after in woocommerce_admin_order_preview_end action hook. 取而代之的是,过滤器挂钩woocommerce_admin_order_preview_get_order_details将允许您首先添加一些自定义数据,您将可以在woocommerce_admin_order_preview_end操作挂钩中woocommerce_admin_order_preview_end进行调用和显示。

The code: 编码:

// 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>';
}

Code goes in function.php file of your active child theme (or active theme). 代码进入您的活动子主题(或活动主题)的function.php文件中。 Tested and works. 经过测试和工作。

Note: You can also use woocommerce_admin_order_preview_start hook if needed… 注意:如果需要,您也可以使用woocommerce_admin_order_preview_start挂钩...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将产品数据添加到 WooCommerce 管理订单预览 - Add product data to WooCommerce admin order preview 在帐单地址后显示 WooCommerce 管理订单中的自定义元数据 - Display custom meta data in WooCommerce admin order after billing address Woocommerce 在管理订单详细信息上显示自定义字段数据 - Woocommerce display custom field data on admin order details 在 WooCommerce 管理员订单预览上显示供应商商店名称 (Dokan) - Display vendor store-name (Dokan) on WooCommerce admin order preview 在 WooCommerce admin 订单列表自定义列上显示订单商品元数据 - Display order item meta data on WooCommerce admin order list custom column 在 WooCommerce 订单管理列表上显示带有自定义用户元数据的自定义列 - Display custom column with custom user meta on WooCommerce order admin list 显示自定义动态字段存储数据 woocommerce 订单管理和来自元的感谢页面。? - Display custom dynamic fields stored data woocommerce order admin and thankyou page from meta.? Woocommerce管理订单详细信息 - 在订单详细信息页面上显示自定义数据 - Woocommerce Admin Order Details - Show custom data on order details page 仅在 WooCommerce 管理订单上显示自定义订单项元数据 - Display custom order item metadata only on WooCommerce admin orders 在 WooCommerce 管理订单页面中保留并显示产品自定义字段值 - Keep and display product custom field value in WooCommerce Admin Order pages
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM