繁体   English   中英

如何将“本地取件加取件日期”添加到 WooCommerce 管理订单列表中的新列

[英]How to add "Local Pickup Plus pickup date" to a new column in WooCommerce admin order list

我正在尝试在 WooCommerce 管理订单列表中添加一列,其中应显示来自插件Local Pickup PlusPickup Date的值。 这可以更好地了解取件日期。

奖励:如果可能,如果可以单击该列以便对所有取件日期进行排序(第一个取件日期首先显示等),那就太好了。

到目前为止,我得到了以下成功添加一列的代码,现在该列应该填充取货日期数据。

add_filter( 'manage_edit-shop_order_columns', 'bbloomer_add_new_order_admin_list_column' );
function bbloomer_add_new_order_admin_list_column( $columns ) {
    $columns['pickup_date'] = 'Afhentningsdato';
    return $columns;
}
 
add_action( 'manage_shop_order_posts_custom_column', 'bbloomer_add_new_order_admin_list_column_content' );   
function bbloomer_add_new_order_admin_list_column_content( $column ) {
    global $post;

    if ( 'pickup_date' === $column ) {
        // Add pickup date for each order here
    }
}

这应该足够了,通过添加到代码中的注释标签进行解释

  • 约会开始和结束值设置为时间戳,因此date函数用于格式化为本地时间/日期
// Add a Header
function filter_manage_edit_shop_order_columns( $columns ) {
    // Add new column
    $columns['pickup_date'] = 'Afhentningsdato';

    return $columns;
}
add_filter( 'manage_edit-shop_order_columns', 'filter_manage_edit_shop_order_columns', 10, 1 );

// Populate the Column
function action_manage_shop_order_posts_custom_column( $column, $post_id ) {
    // Compare
    if ( $column == 'pickup_date' ) {
        // Get order
        $order = wc_get_order( $post_id );
        
        // Loop though order shipping methods
        foreach( $order->get_items('shipping') as $shipping_item ) {
            // Get appoitment start
            $pickup_appointment_start = $shipping_item->get_meta( '_pickup_appointment_start' );
            $starttime = date( 'H:i', $pickup_appointment_start );
            $startdate = date( 'd-m-Y', $pickup_appointment_start );
            
            // Get appointment end
            $pickup_appointment_end = $shipping_item->get_meta( '_pickup_appointment_end' );
            $endtime = date( 'H:i', $pickup_appointment_end );
            $enddate = date( 'd-m-Y', $pickup_appointment_end );

            echo '<p>ST = ' . $starttime . '</p>';
            echo '<p>SD = ' . $startdate . '</p>';
            echo '<p>ET = ' . $endtime . '</p>';
            echo '<p>ED = ' . $enddate . '</p>';
        }       
    }
}
add_action( 'manage_shop_order_posts_custom_column' , 'action_manage_shop_order_posts_custom_column', 10, 2 );

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM