如何将 "Local Pickup Plus pickup date" 添加到 WooCommerce 管理员订单列表中的新列
How to add "Local Pickup Plus pickup date" to a new column in WooCommerce admin order list
我正在尝试在 WooCommerce 管理员订单列表中添加一列,其中应显示来自插件 Local Pickup Plus 的 提货日期 的值。这样可以更好地了解取件日期。
奖励:如果可能的话,如果可以单击该列以便对所有取件日期进行排序(首先显示第一个取件日期等),那就太好了
到目前为止,我得到了以下成功添加列的代码,现在该列应该填充了取件日期数据。
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
函数用于格式化为本地 time/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 );
我正在尝试在 WooCommerce 管理员订单列表中添加一列,其中应显示来自插件 Local Pickup Plus 的 提货日期 的值。这样可以更好地了解取件日期。
奖励:如果可能的话,如果可以单击该列以便对所有取件日期进行排序(首先显示第一个取件日期等),那就太好了
到目前为止,我得到了以下成功添加列的代码,现在该列应该填充了取件日期数据。
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
函数用于格式化为本地 time/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 );