Intereting Posts
Получить переменную из объекта в массиве Переключить опцию в виджетах боковой панели Как изменить формулировку front-end `next article` для пользовательского типа, зарегистрированного в подключаемом модуле? Отключение исходящих подключений на веб-серверах ограничить категорию только зарегистрированным пользователем Автоматически назначать настраиваемую запись для пользовательской таксономии на основе настраиваемого значения поля Переопределение короткого кода $ atts для предлагаемых продуктов wp_enqueue_script не работает, если выйдет из системы Почему я не могу войти в Dashboard после добавления себя к администратору через phpMyAdmin? Сделать страницы вложений потребует базового URL-адреса регистрировать пользователя только с определенным именем хоста wp_insert_post в то же время, что и результат сохранения сообщения в 502 Bad Gateway Как исправить пустые ссылки на страницы? Добавление элемента действия в таблицу администраторов и отправка электронной почты Отображать популярные сообщения о том, сколько хитов он получил в течение 30 дней после публикации

Дата покупки Woocommerce

Я создаю сайт членства с Woocommerce и должен показать, как долго осталось на сайте membershop, я предполагаю, что мне нужно сделать запрос БД, чтобы получить его, но есть ли функция, которую я пропустил, которая отображает информацию для продукта, Мне нужно название продукта и дата его покупки клиентом?

заранее спасибо

EDIT: я немного ближе, но все еще не получил дату заказа … это единственный бит информации, в которой я нуждаюсь:

function customer_membership(){ global $woocommerce; $user_id = get_current_user_id(); $current_user= wp_get_current_user(); $customer_email = $current_user->email; if ( wc_customer_bought_product( $customer_email, $user_id,'2258')) { $args = array( 'post_type' => 'shop_order', 'post_status' => 'publish', 'meta_key' => '_customer_user', 'posts_per_page' => '-1' ); $my_query = new WP_Query($args); $customer_orders = $my_query->posts; foreach ($customer_orders as $customer_order) { $order = new WC_Order(); $order->populate($customer_order); $orderdata = (array) $order; $items = $order->get_items(); foreach ( $items as $item ) { $product_id = '2258'; if ( $product_id == XYZ ) { echo 'Your membership ends on DATE'; } // end if product } // end orders } // endif customer bought } // end function 

Я нашел экстракт, который мне нужен ($ order_date) в WC_Abstract_Order, но не уверен, как его использовать, может кто-нибудь помочь мне отобразить дату заказа в echo 🙂

Я думаю, что это слишком сложно сохранить и извлечь эту информацию из базы данных.

Я рекомендую вам использовать настраиваемое мета-поле для заказа, примерно так:

 //Save it after the process add_action( 'woocommerce_checkout_update_order_meta', 'purchase_date_save' ); function purchase_date_save( $order_id ) { $get_current_date_time = date('Ym-d'); update_post_meta( $order_id, 'my_purchase_date', sanitize_text_field( $get_current_date_time ) ); } 

Вы можете получить доступ к нему следующим образом:

 $get_value = get_post_meta( $order->id, 'my_purchase_date', true );