Hace poco me he encontrado con un proyecto donde he necesitado obtener la primera fecha de compra de un producto por parte de usuario. En este caso la idea era poder hacer una restricción de contenido, pero este mismo dato, puede serviros para labores marketing (ofrece cupones en base a la antigüedad de la compra de un producto por un cliente), para temas estadísticos o para añadir datos a un panel de cliente, por ejemplo.
La idea es tener una función que reciba dos parámetros el ID de producto y el ID de usuario y te devuelva la última fecha de compra (que si hay dos o más compras por parte de un usuario, que nos devuelva la más reciente).
function fecha_compra_producto( $product_id, $user_id = 0 ){
$user_id = ( empty( $user_id ) ) ? get_current_user_id() : $user_id;
$orders = wc_get_orders( array(
'posts_per_page' => -1,
'customer_id' => $user_id,
'orderby' => 'date',
'order' => 'DESC',
'status' => array( 'wc-completed' ),
) );
foreach( $orders as $order_id ) {
$order = wc_get_order( $order_id );
$items = $order->get_items();
foreach( $items as $order_item ){
if( $product_id == $order_item->get_product_id() )
return $order->order_date;
}
}
return false;
} Comentemos un poco el código:
El comercio electrónico español, que se encuentra en pleno crecimiento y transformación, vive actualmente un…
Compara los mejores addons para suscripciones WooCommerce y elige pagos, membresías y automatizaciones compatibles con…
Compara los mejores addons para suscripciones WooCommerce y elige pagos, membresías y automatizaciones compatibles con…
El desarrollo de plugins a medida WordPress resuelve pagos, reservas y flujos propios con integración…
El plugin RedSys WooCommerce conecta tu tienda con el banco, reduce errores de cobro y…
Aprende a resolver rechazo SIS en WordPress: identifica el código, revisa RedSys, pedidos y firmas…