如何获得订单日期+ 30天到我的woocommerce php代码?

时间:2019-01-16 22:35:16

标签: php woocommerce

我正在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);
}

如果订单在2019年1月16日下达,我希望代码显示“来宾姓名-2019年2月15日”

1 个答案:

答案 0 :(得分:0)

代替此:

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

或者您想显示它。