blog webempresa

Como borrar masivamente los mensajes Scheduled Actions en Woocommerce

por | Ago 24, 2022 | Tutoriales sobre WooCommerce

Como borrar masivamente los mensajes Scheduled Actions en Woocommerce

Cuando estamos finalizando el desarrollo de nuestro sitio web y tienda con WooCommerce buscamos como optimizar el contenido y los mensajes que se muestran dentro de las herramientas de la tienda para así poder publicarla y comenzar en lanzamiento de nuestra nueva tienda.

Sin embargo, en algunas ocasiones solemos encontrarnos con un número de mensajes sobre las acciones programadas que ejecuta WooCommerce y las cuales pueden atascarse con miles de mensajes acumulados, estas acciones pueden bien presentarse en diferentes estados ya sea.

  • Completado
  • Cancelado
  • Fallido
  • Pendiente

Esto puede dar como resultado en tablas de base de datos infladas con mucha información, particularmente las tablas wp_actionscheduler_actions y wp_actionscheduler_logs, para poder localizar las acciones programadas solo tenemos que acceder a WooCommerce -> Estado -> Acciones programadas

En este apartado podremos tener una idea de la cantidad de acciones que se han enjutado y cuál es su estado actual, si bien estos mensajes se elimina por defecto en 30 días también podemos eliminarlos solo seleccionado de forma masiva las acciones que queremos borrar y pulsar en el botón de eliminar.

El principal problema que tenemos si queremos eliminar las acciones programadas de esta forma es que si tenemos un número con miles de resultados se crearán paginaciones en los cuales tendremos que ir navegando para realizar este proceso, para solucionar esto y borrar todas las acciones programadas según el estado actual en el que se encuentren podremos hacerlo de forma rápida accediendo desde nuestra base de datos y ejecutando un script que nos permita eliminar de forma rápida todas estas acciones que tenemos creadas.

Ten en cuenta antes de realizar cualquier cambio realiza una copia de seguridad de tu base de datos, de esta forma si se genera algún error puedes restaurarla

Para poder realizar este proceso desde la base de datos lo primero que tenemos que hacer es acceder a nuestro wePanel desde nuestra cuenta de cliente, una vez dentro de nuestro wePanel tendremos que localizar la base de datos que utiliza nuestro sitio web.

Si no conoces cuáles son los datos de conexión de tu base de datos puedes revisar el siguiente artículo Datos de conexión de la Base de Datos ¿dónde encontrarlos? donde se explica como puedes encontrar esta información en tu cuenta de hosting.

Una vez conocemos cuál es la base de datos que utilizamos en nuestro sitio tenemos que ingresar al apartado de phpMyadmin que se encuentra dentro de la sección de Bases de datos y pulsar sobre ella.

Entro abrirá una ventana emergente donde tendremos todas las base de datos que tenemos creadas en nuestra cuenta, dentro de la lista que muestra en el panel izquierdo vamos a pulsar sobre el nombre de la base de datos que utiliza nuestro sitio web.

Una vez veamos todas dentro de nuestra base de datos pulsamos en la opción que indica SQL ubicado en la parte superior y eliminar los estados de fallido y completo de nuestra tabla de wp_actionscheduler_actions.

Para eliminar estos datos desde nuestro sitio web solo debes utilizar el comando que requieres de acuerdo a lo que deseas eliminar.

/* Estados cancelados */

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'canceled'

/* Estados Fallido */

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'failed'

/* Estados completado */

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'complete' 

Ten en cuenta que en algunas ocasiones el prefijo de tu base de dato puede variar, en este caso necesitas modificar wp_ de la opción que se indica en el comando wp_actionscheduler_actions y añadir él predijo que utiliza tu base de datos.

Una vez realizado este proceso puedes revisar dentro de tu tienda en el apartado de Acciones programada en WooCommerce no se encuentre ninguna acción programada añadida.

Si deseas también eliminas las acciones programadas en un estado de Pendiente se pueden utilizar los mismos comandos mencionados solo modificando el estatus por pending.

/* Estados Pendiente */

DELETE FROM `wp_actionscheduler_actions` WHERE `status` = 'pending'

Ten en cuenta que esto puede ocasionar se ejecuten a tiempo, si están vencidos puedes ejecutarlos directamente desde las opciones de Ejecutar que se despliega al posicionar el puntero sobre el gancho.

Si deseas eliminar los datos de la tabla wp_actionscheduler_logs simplemente tenemos que eliminarla desde nuestra base de datos,

Las acciones completadas usualmente se eliminan después de 30 días de forma predeterminada; sin embargo, si deseas modificar esto puedes cambiar esta configuración añadiendo el siguiente código en el function.php de tu tema (preferiblemente un tema hijo)

add_filter( 'action_scheduler_retention_period', 'wpb_action_scheduler_purge' );
/**
 * Cambiar la limpieza de acciones programada por defecto a una semana 
 */
function wpb_action_scheduler_purge() {
 return WEEK_IN_SECONDS;
}

Conclusiones:

Como puedes ver podemos ver mantener nuestro sitio web optimizado una vez lo finalizamos es sencillo, solo tendremos que saber qué tipo de información deseamos eliminar y ejecutar los comandos de acuerdo a lo que necesitemos.

Si deseas ver un poco más como optimizar la base de datos de nuestro sitio web puedes darle un vistazo a algunos artículos como:

¿Te ha resultado útil este artículo?

Promo Hosting Octubre