Как нажать кнопку «Невидимка» (скрыть) после определенного периода времени (например, 7 дней) my-account> my-orders на woocommerce? - PullRequest
0 голосов
/ 23 мая 2019

Я добавил кнопку, которая появляется только когда она находится в определенном состоянии заказа. Поскольку это не кнопка для настройки в Commerce, я должен скрыть эту кнопку через семь дней после размещения заказа. Не могли бы вы помочь мне?

Лучшее

// Add button when order status is 'completed'

add_filter( 'woocommerce_my_account_my_orders_actions', 'add_my_account_my_orders_custom_action', 10, 2 );
function add_my_account_my_orders_custom_action( $actions, $order ) {
	if ( $order->has_status( 'completed' ) ) {
	    $action_slug = 'specific_name';
	
	    $actions[$action_slug] = array(
	        'url'  => 'https://www.cjlogistics.com/ko/tool/parcel/reservation-return',
	        'name' => 'Withdraw',
	    );
    }
    return $actions;
}

1 Ответ

0 голосов
/ 23 мая 2019

Ниже приведен фрагмент кода, в котором будет отображена кнопка вывода в течение семи дней после завершения заказа.Надеюсь, что код легко понять.Нужно найти текущую дату и дату выполнения заказа, и исходя из этого нам нужно найти разницу между двумя датами (т.е. количество дней)

add_filter( 'woocommerce_my_account_my_orders_actions', 'add_my_account_my_orders_custom_action', 10, 2 );
function add_my_account_my_orders_custom_action( $actions, $order ) {
    if ( $order->has_status( 'completed' ) ) {
        $action_slug = 'specific_name';

        /*This is the logic to get difference between order completed date and the current date*/        
        $date1 = $order->get_date_completed(); // Order completed date
        $date2 = date('Y-m-d'); //current date
        $diff = abs(strtotime($date2) - strtotime($date1));
        $days = floor(($diff)/ (60*60*24));

        /*If order completed days is less then 7 then show the Withdra button */
        if($days < 7){
            $actions[$action_slug] = array(
                'url'  => 'https://www.cjlogistics.com/ko/tool/parcel/reservation-return',
                'name' => 'Withdraw',
            );    
        }
    }
    return $actions;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...