Как получить дату заказа + 30 дней на мой php-код woocommerce? - PullRequest
0 голосов
/ 17 января 2019

Я создаю столбец в основной области заказов для Woocommerce 3.5, в котором будет отображаться имя клиента + 30 дней, добавленных к дате создания заказа вручную. Как мне сделать это с кодом, который у меня есть?

add_filter( 'manage_edit-shop_order_columns','custom_column_eldest_players', 20 ); 
function custom_column_eldest_players($columns)
{
$reordered_columns = array();


foreach( $columns as $key => $column){
    $reordered_columns[$key] = $column;
    if( $key ==  'order_status' ){

        $reordered_columns['skb-client'] = __( 'Customer - Expiration (30 Days)','theme_domain');
    }
}
return $reordered_columns;
}

add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 20, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
if ( 'skb-client' != $column ) return;

$date = 'now';
$date = strtotime($date);
$date = strtotime('+30 day', $date);


$user_id = get_post_meta( $post_id, '_customer_user', true );
if( ! empty($user_id) && $user_id != 0) {
    $user_data = get_userdata( $user_id );
    echo $user_data->user_login;
}

else

     echo ('<small>(<em>Guest</em>)</small> - ');
echo date('M d, Y', $date);
}

Я ожидаю, что код покажет «Имя гостя - 15 февраля 2019 года», если заказ был размещен 16 января 2019 года

1 Ответ

0 голосов
/ 17 января 2019

Вместо этого:

function custom_orders_list_column_content( $column, $post_id ){
...
   $date = 'now';
   $date = strtotime($date);
   $date = strtotime('+30 day', $date);
...
}

Попробуйте это:

function custom_orders_list_column_content( $column, $post_id ){
...
   $Order = wc_get_order($post_id);
   $date = (new DateTime($Order->get_date_created()))->modify('+30 days');
...
}

Тогда что-то вроде

echo $date->format('M jS, Y'); //Jan 16th, 2019

Или как хотите, чтобы отобразить его.

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