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:
RedSys aparte de los pagos normales, llamados autorizaciones, acepta una variedad de operaciones: desde autorizaciones…
WooCommerce permite ordenar los productos de una forma nativa, para poder presentar primero los que…
Cada vez que hay una actualización grande del núcleo WordPress, por defecto WordPress te instala…
Una pantalla LCD es una pantalla delgada y hecha de cristal líquido. Se usa en…
De todos los plugins que existen para Gravity Forms, que son numerosos porque la propia…
Un CMS, como WordPress, facilita la creación y gestión de contenido en la web, sin…