在woocommerce如何显示在管理员订单列表中的用户已标记为“完成”的订单,如在此屏幕截图:
的数据
mwecs4sa1#
这可以通过以下代码来完成.
// Save backend user and time for completion orderadd_action('woocommerce_order_status_completed', 'user_has_completed_order');function user_has_completed_order( $order_id ) { if ( ! is_admin() ) return; $user_id = get_current_user_id(); if ( ! empty( $user_id ) && $user_id != 0 ) { $now = date('Y-m-d H:i:s'); update_post_meta( $order_id, '_completed_by_user', $user_id ); update_post_meta( $order_id, '_completed_datetime', $now ); }}// Adding 1 new columns to backend order listadd_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column',11);function custom_shop_order_column($columns){ $reordered_columns = array(); // Woocommerce version 3.3+ compatibility $location_after = version_compare( WC_VERSION, '3.3', '<' ) ? 'order_notes' : 'order_status'; // Inserting the new column in a specific location foreach( $columns as $key => $column){ $reordered_columns[$key] = $column; if( $key == $location_after ){ $reordered_columns['completed_by'] = __( 'Completed by','woocommerce'); } } return $reordered_columns;}// Adding the data for the additional column (example)add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 10, 2 );function custom_orders_list_column_content( $column, $post_id ){ if( 'completed_by' == $column ) { // Get custom post meta data $user_id = get_post_meta( $post_id, '_completed_by_user', true ); $date_time = get_post_meta( $post_id, '_completed_datetime', true ); $date = date('Y-m-d', strtotime($date_time)); if( ! empty($user_id) ){ $user_data = get_userdata( $user_id ); $user_url = get_edit_user_link( $user_id ); echo '<a href="'.$user_url.'" title="'.$date_time.'">'.$user_data->user_login.'</a>'; } }}
// Save backend user and time for completion order
add_action('woocommerce_order_status_completed', 'user_has_completed_order');
function user_has_completed_order( $order_id ) {
if ( ! is_admin() ) return;
$user_id = get_current_user_id();
if ( ! empty( $user_id ) && $user_id != 0 ) {
$now = date('Y-m-d H:i:s');
update_post_meta( $order_id, '_completed_by_user', $user_id );
update_post_meta( $order_id, '_completed_datetime', $now );
}
// Adding 1 new columns to backend order list
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column',11);
function custom_shop_order_column($columns)
{
$reordered_columns = array();
// Woocommerce version 3.3+ compatibility
$location_after = version_compare( WC_VERSION, '3.3', '<' ) ? 'order_notes' : 'order_status';
// Inserting the new column in a specific location
foreach( $columns as $key => $column){
$reordered_columns[$key] = $column;
if( $key == $location_after ){
$reordered_columns['completed_by'] = __( 'Completed by','woocommerce');
return $reordered_columns;
// Adding the data for the additional column (example)
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 10, 2 );
function custom_orders_list_column_content( $column, $post_id )
if( 'completed_by' == $column )
// Get custom post meta data
$user_id = get_post_meta( $post_id, '_completed_by_user', true );
$date_time = get_post_meta( $post_id, '_completed_datetime', true );
$date = date('Y-m-d', strtotime($date_time));
if( ! empty($user_id) ){
$user_data = get_userdata( $user_id );
$user_url = get_edit_user_link( $user_id );
echo '<a href="'.$user_url.'" title="'.$date_time.'">'.$user_data->user_login.'</a>';
字符串代码放在你的活动子主题(或活动主题)的function.php文件中。测试和工作。它可以在所有woocommerce版本中工作,包括最后一个版本3.3,其中订单列表略有改进:
1条答案
按热度按时间mwecs4sa1#
这可以通过以下代码来完成.
字符串
代码放在你的活动子主题(或活动主题)的function.php文件中。测试和工作。
它可以在所有woocommerce版本中工作,包括最后一个版本3.3,其中订单列表略有改进:
的数据