Creamos un shortcode que muestra los productos que ha comprado el cliente logueado en el pasado, en este ejemplo con [mis_productos_comprados]
.
/* Mostrar los productos comprados por el usuario actual con sl shortcode [mis_productos_comprados].*/
add_shortcode('mis_productos_comprados', 'products_bought_by_curr_user');
function products_bought_by_curr_user() {
$current_user = wp_get_current_user();
if (0 == $current_user - > ID) return;
$customer_orders = get_posts(array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $current_user - > ID,
'post_type' => wc_get_order_types(),
'post_status' => array_keys(wc_get_is_paid_statuses()),
));
if (!$customer_orders) return;
$product_ids = array();
foreach($customer_orders as $customer_order) {
$order = wc_get_order($customer_order - > ID);
$items = $order - > get_items();
foreach($items as $item) {
$product_id = $item - > get_product_id();
$product_ids[] = $product_id;
}
}
$product_ids = array_unique($product_ids);
$product_ids_str = implode(",", $product_ids);
return do_shortcode("[products ids='$product_ids_str']");
}
Herramientas relacionadas
- WooCommerce
El plugin para crear tiendas online por excelencia. Tanto de productos físicos como digitales. Es la base para prácticamente cualquier proyecto web que acepte pagos online.