Hola!
Me podrían ayudar para hacer lo siguiente por favor:
Necesito mostrar a cada usuario la cantidad de pedidos realizados por él. El metadato que necesito mostrar es "woo_order_count", pero no sé cómo hacerlo, se me ocurre que podría hacer un snippet para crear un shortcode y así poder agregarlo a cualquier sección de la web donde lo necesite.
Estoy intentando con el siguiente snippet:
$cliente = new WC_Customer (get_current_user_id());
$nombre = $cliente->get_first_name();
add_shortcode ('nombre', function () {
$cliente = new WC_Customer (get_current_user_id());
return ucwords ($cliente->get_first_name());
});
Ese es para obtener el nombre del usuario y funciona perfecto, donde el shortcode sería [nombre], pero cuando cambio "first_name" por "woo_order_count" en la segunda y en la quinta línea y dar al botón de guardar el snippet, la página web se cae, indica que hay un error.
Me podrían dar una mano para saber cómo hacer esto por favor?
Gracias!
Contenido solo visible a usuarios registrados
Hola Felipe.
Podrías compartirnos el código completo.
Por lo que deduzco tendría que ser algo como esto:
add_shortcode ('nombre', function () {
if(is_user_logged_in())
{
$my_user_id = get_current_user_id();
$customer = woo_order_count( $my_user_id );
$statuses = array('processing','expedier','completed', 'refunded', 'pending', 'on-hold');
global $count_real;
$count_real = $customer->woo_order_count($statuses);
}
});
Nota: en el foro no damos soporte a códigos personalizados.
Un saludo
Gracias Pepe, ese código sí me funcionó, solo que si quiero contabilizar solo los pedidos en un status (por ejemplo "processing") no los filtra, siempre me arroja el mismo número, que creo que son los completados. Hay algo mal con el código o es de mi web?
Gracias
Hola Felipe.
Podrías probar con esto:
global $count_real;
$args = array(
'customer_id' => $my_user_id_itp,
'post_status' => 'any',
'post_type' => 'shop_order',
'return' => 'ids',
'limit' => -1
);
$count_real = 0;
$count_real = count( wc_get_orders( $args ) );
Un Saludo
@pepesoler por algún motivo me generan un error ambos códigos, como que hay problemas con elementor... existirá un plugin que haga lo que necesito?
No logro encontrar uno que me lo permita
Gracias
Hola Felipe,
Es un poco complicado por que es algo personalizado, sin embargo verifica si con estos te funciona:
https://fr.wordpress.org/plugins/woo-customers-order-history/
https://fr.wordpress.org/plugins/purchased-items-column-woocommerce/
https://fr.wordpress.org/plugins/order-status-history-for-woocommerce/
Si no funciona ninguno recuerda que nuestros colaboradores también podrían ayudarte creando el código a medida:
https://www.webempresa.com/directorio-colaboradores.html
Un saludo 🖐️