为了账号安全,请及时绑定邮箱和手机立即绑定

在 WooCommerce 管理订单列表自定义列中显示数据

在 WooCommerce 管理订单列表自定义列中显示数据

PHP
浮云间 2023-06-24 15:57:07
我添加以下自定义列,它们都会出现:function add_order_new_column_header( $columns ) {    $new_columns = array();    foreach ( $columns as $column_name => $column_info ) {        $new_columns[ $column_name ] = $column_info;        if ( 'order_total' === $column_name ) {            $new_columns['order_shipping'] = __( 'Tarnemeetod', 'my-textdomain' );            $new_columns['order_payment'] = __( 'Maksemeetod', 'my-textdomain' );        }    }    return $new_columns;然后我添加以下内容来生成数据:add_filter( 'manage_edit-shop_order_columns', 'add_order_new_column_header', 20);add_action( 'manage_shop_order_posts_custom_column', 'add_wc_order_admin_list_column_content' );function add_wc_order_admin_list_column_content( $column ) {       global $post;     if ( 'order_shipping' === $column ) {         $order = wc_get_order( $post->ID );        echo $order->get_shipping_method();            if ( 'order_payment' === $column ) {        $order = wc_get_order( $post->ID );        echo $order->get_payment_method_title();    }    }}order_shipping 显示正确的运输方式,但 order_ payment 为空。我没有在网站上使用多种语言。WooCommerce 4.1.1、PHP 7.3.19从 WooCommerce 订单管理面板查看:我尝试过 get_ payment_method 和 get_ payment_method_list 。我的订单大部分是通过 BACS 进行的,还有一些货到付款的订单,目前已禁用。我在这里缺少什么?
查看完整描述

1 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

您的代码中存在一些错误和缺失的内容,请尝试以下操作:


add_filter( 'manage_edit-shop_order_columns', 'add_custom_columns_to_admin_orders', 20);

function add_custom_columns_to_admin_orders( $columns ) {

    $new_columns = array();


    foreach ( $columns as $column_name => $column_info ) {

        $new_columns[ $column_name ] = $column_info;


        if ( 'order_total' === $column_name ) {

            $new_columns['order_shipping'] = __( 'Tarnemeetod', 'my-textdomain' );

            $new_columns['order_payment'] = __( 'Maksemeetod', 'my-textdomain' );

        }

    }

    return $new_columns;

}



add_action( 'manage_shop_order_posts_custom_column', 'custom_columns_content_in_admin_orders' );

function custom_columns_content_in_admin_orders( $column ) {

    global $post, $the_order;


    if ( 'order_shipping' === $column ) {

        echo $the_order->get_shipping_method();

    }

    if ( 'order_payment' === $column ) {

        echo $the_order->get_payment_method_title();

    }

}

代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信