在Woocommerce管理员“订单”列表上的自定义列中显示来自订单注释的交易ID

时间:2019-09-12 22:21:41

标签: php wordpress woocommerce hook-woocommerce orders

基于Display back Order Notes in Admin orders list on WooCommerce 3.3答案代码,该代码在自定义列中在工具提示中添加了订单注释,我试图找出如何从“订单注释”,其中显示交易ID,以将其显示在管理订单列表的自定义列中。

因为此链接的答案代码在栏中显示一个小图标,当您将鼠标悬停在其上时,它会显示最后一个订购单。

我要在该栏中填充的是订单记录中的交易ID。

1 个答案:

答案 0 :(得分:1)

已更新-您可以使用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文件中。应该可以。