Avisos
Vaciar todo

[Resuelto] el codigo de funnctions.php para que Autocompleta todos los pedidos virtuales processing a completed dejo de funcionar  

 
Ailin
 Ailin
Estimable Member

el codigo de funnctions.php para que Autocompleta todos los pedidos virtuales processing a completed dejo de funcionar

/**
* Autocompleta todos los pedidos virtuales
*/
add_action('woocommerce_thankyou', function ($order_id) {
if (! $order_id) {
return;
}

$order = wc_get_order($order_id);

if ($order->has_status('processing')) {
$order->update_status('completed');
}
});

Contenido solo visible a usuarios registrados

Respondido : 15/07/2021 9:06 pm
Bruno
 Bruno
Soporte CMS Webempresa Moderator

Que tal Laura,

Posiblemente haya dejado de funcionar por una actualización, puedes probar el siguiente plugin https://es.wordpress.org/plugins/autocomplete-woocommerce-orders/

Saludos!

Respondido : 15/07/2021 9:19 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Ailin
 Ailin
Estimable Member

@bruno-vichetti ok Gracias. Me gustaria resolverlo sin tener que utulizar otro plugin en el sitio. Ya tengo demasiados. Tal vez esten al tanto del  tema en el codigo por la actualizacion. por eso decidi escribir en el foro

Respondido : 15/07/2021 10:52 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Laura,

Verifica agregar el siguiente código a tu archivo functions.php:

add_action('woocommerce_order_status_changed', 'ts_auto_complete_virtual');
function ts_auto_complete_virtual($order_id)
{

if ( ! $order_id ) {
return;
}

global $product;
$order = wc_get_order( $order_id );

if ($order->data['status'] == 'processing') {

$virtual_order = null;
if ( count( $order->get_items() ) > 0 ) {
foreach( $order->get_items() as $item ) {
if ( 'line_item' == $item['type'] ) {
$_product = $order->get_product_from_item( $item );
if ( ! $_product->is_virtual() ) {
// once we find one non-virtual product, break out of the loop
$virtual_order = false;
break;
}
else {
$virtual_order = true;
}
}
}
}
// if all are virtual products, mark as completed
if ( $virtual_order ) {
$order->update_status( 'completed' );
}
}
}

Verifica y nos comentas

Un saludo 🖐️ 

Respondido : 15/07/2021 11:26 pm

Ailin
 Ailin
Estimable Member

@argenis Gracias! Ya lo verifico! Solo para saber que estamos en el mismo tema 😀 Este codigo es solo para pasar las ordenes pagadas que quedaron en estado prosesado a commpletadas. si?

 

Respondido : 15/07/2021 11:38 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Laura,

Esto colocara en completadas las ordenes virtuales de procesando a completadas, en caso de que no se haga con las que ya están activas tendrias que hacerlo de forma manual, sin embargo puedes hacerlo de forma masiva:

Woocommerce > Pedidos > Señalas todas las que quieras cambiar y seleccionas cambiar a completado:

image

 Un saludo 🖐️ 

Respondido : 15/07/2021 11:43 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Ailin
 Ailin
Estimable Member

@argenis es muy raro, porque si bien si funciona y deja el producto en completado lo que sucede es que en el LMS el curso no lo asigna al alummno y de la otra manera con el otro codigo si lo asignaba.  Por que sera?

Respondido : 16/07/2021 12:14 am
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Laura,

Este código por lo visto esta documentado para funcionar con woocommerce, cosa que hace pero al tener implementado otro sistema como lo es el de tutor lms en versión pro es posible que necesites algun otro codigo especial para que no cree conflicto con la regla de auto completado de las órdenes virtuales.

También puedes verificar contactando con nuestros colaboradores para que creen un código a medida que no genere problemas con el complemento de lms:

https://www.webempresa.com/directorio-colaboradores.html

Un saludo 🖐️ 

Respondido : 16/07/2021 12:59 am

Cursos Gratuitos WordPress

Ailin
 Ailin
Estimable Member

@argenis ya encontre el problemma. Fue la actualizacion de woocommmerce. GRACIASS

Respondido : 16/07/2021 1:02 am
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Laura,

Estupendo, recuerda siempre el realizar un clon del sitio en caso de actualizaciones para confirmar que todo funcione de forma correcta al realizar estos procesos. Igualmente nos alegra que lograses solventar el problema.

Un saludo 🖐️ 

Respondido : 16/07/2021 1:04 am

wpdoctor-revisa-la-salud-de-tu-wordpress