首页 > 解决方案 > 在 Woocommerce 管理员订单列表的自定义列中显示订单备注中的交易 ID

问题描述

基于在 WooCommerce 3.3 的管理订单列表中显示返回订单备注答案代码,在自定义列中添加工具提示中的订单备注,我试图弄清楚如何从“订单备注”中获取正确的数据它显示交易 ID 以将其显示在管理订单列表的自定义列中。

因为这个链接的答案代码在一列中显示一个小图标,当你将鼠标悬停在它上面时,它会显示你最后的订单注释。

我想要在该列中填充的是订单备注中的交易 ID。

标签: phpwordpresswoocommercehook-woocommerceorders

解决方案


更新WC_Order get_transaction_id()- 您可以使用以下方法简单地显示交易 ID :

echo $the_order->get_transaction_id();

所以你的代码挂钩函数将是:

// Add a custom column before "actions" last column
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 100 );
function custom_shop_order_column( $columns ){
    $ordered_columns = array();

    foreach( $columns as $key => $column ){
        $ordered_columns[$key] = $column;
        if( 'order_date' == $key ){
            $ordered_columns['transaction_id'] = __( 'Transaction id', 'woocommerce');
        }
    }

    return $ordered_columns;
}

add_action( 'manage_shop_order_posts_custom_column', 'custom_shop_order_list_column_content', 10, 1 );
function custom_shop_order_list_column_content( $column ) {
    global $post, $the_order;

    if ( 'transaction_id' === $column ) {
        echo $the_order->get_transaction_id();
    }
}

代码位于您的活动子主题(或活动主题)的 function.php 文件中。它应该工作。


推荐阅读