Изменить время и формат даты в списке заказов администратора Woocommerce - PullRequest
1 голос
/ 23 апреля 2020

Привет. Я пытаюсь изменить формат времени и даты с помощью функций. php, но он по-прежнему отображает порядок последних 24 часов, например, "1 минута go" или "2 часа а go". Как получить все заказы, чтобы они отображали время и дату заказа в списке заказов администратора? Любая помощь приветствуется. введите описание изображения здесь

1 Ответ

0 голосов
/ 23 апреля 2020

Насколько я могу прочитать, есть фильтр, который перехватывает формат даты: woocommerce_admin_order_date_format - https://github.com/woocommerce/woocommerce/blob/a7d57a248ed03dac7bad119e71f83dd961f43cb3/includes/admin/list-tables/class-wc-admin-list-table-orders.php, но он запускает только если порядок старше 1 день.

Может быть, поэтому не работает.

Еще один элегантный подход, не затрагивая файл шаблона, это удалить собственные столбцы даты WooCommerce и добавить пользовательский.

Вот фрагмент кода (без проверки) , который вы можете вставить в свои функции. php файл.

add_filter( 'manage_edit-shop_order_columns', 'so61375632_add_new_order_admin_column' );
function so61375632_add_new_order_admin_column( $columns ) {

    unset( $columns['order_date'] ); // remove the default column

    $edit_columns = array_splice( $columns, 0, 2 );

    $edit_columns['order_custom_date'] = 'Date';

    return array_merge( $edit_columns, $columns );

}

add_action( 'manage_shop_order_posts_custom_column', 'so61375632_add_new_order_admin_column_content', 20, 2 );
function so61375632_add_new_order_admin_column_content( $column, $order_id ) {

    if ( $column == 'order_custom_date' ) {

        $order = wc_get_order( $order_id );

        if( ! is_wp_error( $order ) ) {

            echo $order->get_date_created()->format ('M j, Y H:i'); // pass any PHP date format 

        }

    }

}

Удачи;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...