/ Сайтостроение / Плагины / Интересные фишки для Woocommerce

Интересные фишки для Woocommerce

NEW

Продолжаем серию интересных доработок для Woocmmerce.

Выведем дату последней покупки товара

У товара такого мета поля нет, нужно сопоставлять наименования (перебирая заказы). Для этого создаем запрос на перебор БД:

function get_orders_ids_by_product_id( $product_id, $order_status = array( 'wc-processing' ) ){
    global $wpdb;

    $results = $wpdb->get_col("
        SELECT order_items.order_id
        FROM {$wpdb->prefix}woocommerce_order_items as order_items
        LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta as order_item_meta ON order_items.order_item_id = order_item_meta.order_item_id
        LEFT JOIN {$wpdb->posts} AS posts ON order_items.order_id = posts.ID
        WHERE posts.post_type = 'shop_order'
        AND posts.post_status IN ( '" . implode( "','", $order_status ) . "' )
        AND order_items.order_item_type = 'line_item'
        AND order_item_meta.meta_key = '_product_id'
        AND order_item_meta.meta_value = '$product_id'
		ORDER BY post_date DESC
		LIMIT 1
    ");

    return $results;
}

В параметрах функции необходимо указать значения статусов заказа.

На заметку: синтаксис при переборе БД ORDER BY и LIMIT, чтобы получать один последний по дате заказ.

Далее создаем функцию вывода в карточке товара:

function get_last_date_buy_product() {
	global $product;
	$orders_ids = get_orders_ids_by_product_id( $product->get_id() );
	if ( $orders_ids ) { 
		$order = wc_get_order( $orders_ids[0] );
		$order_date = date('d.m.y', strtotime($order->get_date_completed()));
		echo '<div class="last-date">Последняя дата покупки: '.$order_date.'</div>'; 
	}
}
add_filter( 'woocommerce_single_product_summary', 'get_last_date_buy_product', 55 );

date(‘d.m.y’, strtotime($order->order_date)); — получение необходимого формата даты.

Тэги:

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Массовое редактирование свойств товаров

Массовое редактирование свойств товаров

Быстрое изменение товаров Для того чтобы массово отредактировать товары woocommerce нужно установить плагин Woocommerce advanced bulk edit. В репозитории плагинов WordPress его нет, он платный. Если поискать на просторах интернета Читать далее »

/ /
Сообщения woocommerce

Сообщения woocommerce

Сообщения woocommerce — система сопроводительной информации при использовании интернет-магазина. В системе есть 3 типа сообщений: информационные (notice), успешные действия (success), ошибки/предупреждения (error) Стандартные сообщения Это перечень стандартных сообщений разделенных по Читать далее »

Несколько менеджеров магазина

Несколько менеджеров магазина

Предположим что мы делаем интернет-магазин оптовой компании нацеленной работу с уже имеющимися клиентами. Есть ряд менеджером к котором прикреплены те или иные клиенты. Как сделать так, чтобы заказы распределялись между Читать далее »

Добавить комментарий

Пока нет комментариев. Будь первым!

Интересные фишки для Woocommerce
Переводы (.po .mo)
Рекомендации для васПереводы (.po .mo)Opttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.