Как сделать кнопку невидимой (скрыть) по истечении определенного периода времени (например, 7 дней) моя учетная запись> мои заказы в woocommerce?

Я добавил кнопку, которая появляется только тогда, когда она находится в определенном статусе заказа. Поскольку эту кнопку нельзя настроить в 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;
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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;
}

Другие вопросы по теме