Trabajos Cron de WordPress: ¿Qué son y cómo crearlos y gestionarlos para programar tareas?

cron de wordpress 1
Califica este articulo

Muchos desarrolladores de WordPress, especialmente los principiantes, tienen preguntas comunes, “¿qué es WordPress cron?” y “¿cómo gestionar los trabajos cron de WordPress?” ¡La respuesta es simple!

Cron es una utilidad estándar de UNIX para programar la ejecución de tareas (script o comando) en un momento, fecha o intervalo específico. La tarea que ejecutará se conoce como trabajo cron. Como puedes adivinar, el propósito de un trabajo cron es automatizar tareas repetitivas para que puedas usar tu tiempo de manera más productiva.

Sin embargo, el trabajo cron de WordPress es ligeramente diferente al cron estándar, por lo que antes de sumergirte en la acción y el proceso, necesitas entender qué es un cron de WordPress y cómo funciona para la automatización de tareas.

¿Qué es WordPress Cron?

WordPress tiene su propio sistema cron para programar tareas como verificar actualizaciones, programar una publicación para su publicación y eliminar comentarios de la papelera. Todos los trabajos cron son manejados por WP-Cron.

Aunque el nombre (y la idea principal) proviene de UNIX cron, el cron de WordPress no funciona de esa manera y utiliza intervalos para programar tareas. Los intervalos de tiempo predeterminados proporcionados por WordPress son cada hora, dos veces al día, diariamente y semanalmente. Aquí, las tareas basadas en el tiempo dependen de los usuarios que visitan tu sitio, lo que significa que el cron de WordPress solo se ejecutará si un usuario visita tu sitio web.

En otras palabras, el cron de WordPress se ejecuta cuando se carga la página. A veces esto no es tan confiable, y es por eso que muchos usuarios prefieren un trabajo cron a nivel de servidor sobre el trabajo WP-Cron.

Ventajas de WordPress Cron

Si quieres automatizar un proceso de sitio web o necesitas verificarlo, verificarlo y controlarlo regularmente, los trabajos cron son útiles. Por ejemplo, podríamos querer hacer ping a un servidor una vez al día, verificar el estado de un sistema cada hora (y registrarlo en la base de datos), etc.

WP Cron facilita que el núcleo de WordPress y otros plugins realicen tareas basadas en el tiempo. Es relativamente fácil configurar un trabajo cron de WordPress en lugar de usar un trabajo cron real que requiere conocimiento de los comandos de Linux.

Además, dado que WP-Cron utiliza intervalos para programar tareas, puedes estar seguro de que tu tarea se ejecutará eventualmente incluso si el tiempo programado elapsa, a diferencia de un cron real que especifica la hora exacta en que debe ejecutarse una tarea. Si pasa el tiempo y la tarea no se ejecuta, entonces no se ejecutará de nuevo hasta que la reprogramas manualmente.

¿Cómo gestionar los trabajos cron de WordPress?

Hay muchas formas de configurar y gestionar los trabajos cron de WordPress, pero te mostraré dos métodos populares.

El primero utiliza un plugin de gestión cron como WP Crontrol que te permite agregar, modificar y gestionar trabajos cron de WordPress directamente desde el panel de WP. También puedes crear un trabajo cron, construir hooks y funciones, y definir intervalos de tiempo personalizados para las tareas.

¿Cómo gestionar los trabajos cron de WordPress con plugins?

Usaré el plugin WP Crontrol que te permite ver y controlar el cron de WordPress para tu aplicación de WordPress. Es el plugin popular que maneja los trabajos cron de WP y tiene más de 200,000+ instalaciones activas.

WP-Cron no se ejecuta continuamente. Por defecto, wp-cron.php se dispara en cada carga de página, lo que en sitios web de alto tráfico puede causar problemas. Si un sitio web no tiene suficientes trabajadores de PHP, a veces llegará una solicitud y WordPress producirá el cron, pero el cron debe esperar al trabajador, y hasta entonces se queda allí.

Este es el método más fácil de gestionar los trabajos cron de WordPress, y puedes ver, editar, crear, eliminar y hacer mucho más con los eventos cron de WordPress.

¡Así que empecemos!

Paso 1: Instalar el plugin WP Control

Al igual que cualquier otro plugin, necesitas instalar WP Crontrol desde el repositorio de plugins y activarlo.

cron de wordpress 2

Una vez instalado, notarás que una nueva opción, “Cron Events” ha aparecido en la pestaña Herramientas.

cron de wordpress 3

Paso 2: Ver y entender los eventos Cron

A continuación, necesitas hacer clic en Cron Events y ver una lista de eventos cron que se ejecutan en tu aplicación de WordPress.

cron de wordpress 4

Puedes ejecutar, editar y eliminar tus eventos cron desde esta sección. Verás esta opción cuando pases el ratón sobre cualquier evento cron.

También encontrarás información útil sobre estos trabajos cron y podrás identificar rápidamente para qué se utiliza cada trabajo cron y mucho más.

  • En la primera columna, Hook muestra el nombre del hook utilizado por el núcleo de WordPress o cualquier plugin. Por ejemplo, el prefijo “wp” simplemente muestra que es un cron del núcleo de WordPress.
  • También notarás que no hay opción para eliminar estos eventos cron, sin embargo, puedes usar las opciones de editar y ejecutar ahora. De manera similar, para tus plugins, notarás otros prefijos que se utilizan (por ejemplo, para WooCommerce, “wc” o “woocommerce”).
  • La segunda columna, Argumentos, solo contiene los argumentos pasados a las funciones de hook.
  • La tercera columna muestra cuándo se ejecutará este trabajo cron la próxima vez.
  • La cuarta columna, Acción, muestra qué acción realizará este cron (la “función” del trabajo cron).
  • La última columna define los tiempos de recurrencia de los trabajos cron. Este es el intervalo de tiempo para la tarea programada.

Paso 3: Editar evento Cron

Ahora vamos a editar un trabajo cron de WP para probar este plugin.

  • Ve al nombre de un hook y haz clic en editar.cron de wordpress 5
  • Aparecerá una nueva sección, “Edit Cron Event”, donde verás diferentes campos. En mi caso, edité el hook “wp_privacy_delete_old_export_files”.
  • A continuación, voy a cambiar la recurrencia de este trabajo cron a ‘Una vez por hora (hourly)’.cron de wordpress 6

Paso 4: Agregar un intervalo de tiempo personalizado

A continuación, te mostraré cómo agregar un intervalo de tiempo personalizado para tus eventos cron.

  • Ve a Configuración de WordPress → Cron Schedules.
  • Ahora, haz clic en la pestaña “Cron Schedule”, y aparecerá una nueva pantalla donde verás los detalles de los intervalos de tiempo programados.
  • Rellena los campos Nombre interno, Intervalo en segundos y Nombre a mostrar, y luego haz clic en Agregar Cron Schedule.cron de wordpress 7
  • Nota que la entrada para el intervalo está en segundos. Usaré 600 segundos para establecer el intervalo en 10 minutos.
  • Ahora puedes editar tu evento cron y reemplazarlo con tu intervalo personalizado.cron de wordpress 8

Paso 5: Agregar un nuevo evento Cron

Ahora sabes cómo gestionar las tareas simples para tus eventos cron, pero ¿qué pasa si quieres agregar tu propio trabajo cron para tu aplicación de WordPress? No te preocupes; es muy sencillo, y debes seguir las instrucciones a continuación.

  • Primero, haz clic en Agregar evento Cron, y entrarás en la sección de agregar cron.
  • Luego, simplemente da un nombre de hook como desees (debe seguir la convención de nombres de PHP normal y sin espacios).
  • Luego, agrega argumentos (es opcional); en mi caso, está en blanco.
  • A continuación, selecciona cualquier opción y pon un tiempo en el campo Próxima ejecución.
  • Por último, elige un tiempo de recurrencia (tiempo programado) para tu nuevo cron y haz clic en Agregar evento.cron de wordpress 10
  • Si tienes alguna consulta al respecto, puedes verificar cualquier configuración de trabajo cron en ejecución desde tus eventos cron.
  • Después de agregar un nuevo trabajo cron, ve a la pestaña de eventos cron y verifica tu cron recién creado. Notarás que la columna de acción te mostrará Ninguno (error). Esto se debe a que no has definido ninguna acción para este trabajo cron.
  • Por lo tanto, necesitas escribir unas pocas líneas de código en el archivo functions.php del tema y agregar una acción.cron de wordpress 11

Nota: Antes de continuar, se recomienda encarecidamente hacer una copia de seguridad del sitio de WordPress.

  • Ve al panel de WordPress → Apariencia y haz clic en el Editor de archivos de tema.
  • Haz clic en el archivo function.php desde la opción Archivos de tema en el lado derecho de la página.
  • Agrega las siguientes líneas de código justo después de <?php en el archivo function.php de tu tema
add_action( 'tutoriales_new_cron', 'cw_function' );
function cw_function() {
wp_mail( 'danish.naseer@tutoriales.com', 'Tutoriales Cron', 'Tutoriales- a Managed Cloud Hosting!' );
}

Nota: No olvides reemplazar mi dirección de correo electrónico por la tuya.

cron de wordpress 11

Puedes ver en la imagen de arriba que lo edité directamente con el panel de WordPress. Si lo deseas, puedes editar este archivo a través de un cliente FTP como FileZilla.

A continuación, verifica la bandeja de entrada del correo electrónico y ve si estamos recibiendo el mensaje.

cron de wordpress 12

¡Tada! Ya está hecho, y hemos agregado con éxito un nuevo evento cron.

¿Cómo gestionar los trabajos cron de WordPress con WP CLI?

También puedes ver y gestionar todos tus trabajos cron de WordPress desde WordPress CLI.

  • Puedes usar PuTTy para iniciar sesión en tu servidor. Ingresa la dirección IP de tu servidor y haz clic en Abrir.cron de wordpress 13
  • Ingresa el nombre de usuario y la contraseña de tu servidor en PuTTcron de wordpress 14
  • A continuación, coloca la ruta de tu aplicación de WordPress. En mi caso, la URL era:
cd applications/urrghmpqks/public_html/

cron de wordpress 15

  • A continuación, necesitas ejecutar este comando:
wp cron event list

cron de wordpress 16

  • Puedes ver el nombre del hook, el tiempo de la próxima ejecución, el próximo tiempo relativo y la recurrencia (tiempo programado).

¿Cómo configurar un trabajo cron real?

Ahora, ya sabes qué es un trabajo cron de WordPress y cómo funciona. ¿Y si quieres reemplazarlo con un trabajo cron real para tráfico bajo, tareas importantes que necesitan ejecutarse en un momento particular, ataques DDoS excesivos o un alto tiempo de carga de la página?

¡Así que empecemos!

Paso 1: Abrir y editar el archivo wp-config.php

Primero, necesitas abrir el archivo wp-config usando un cliente FTP como FileZilla o un cliente SSH como PuTTY. Después de eso, edita el archivo y coloca la siguiente línea de código antes de la línea donde dice /* Eso es todo. ¡Deja de editar! Feliz blogging. */

define('DISABLE_WP_CRON', true);

cron de wordpress 17

Este código desactiva los eventos cron en ejecución en tu sitio de WordPress, y ahora puedes crear un trabajo cron real.

Paso 2: Agregar un nuevo trabajo cron al servidor

A continuación, inicia sesión en algunas de las plataformas disponibles, luego ve al panel de gestión de aplicaciones → Gestión de trabajos cron → Sección avanzada.

Luego agrega el siguiente comando y haz clic en Guardar cambios:

*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.tutorialessapps.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1

cron de wordpress 18

En el comando anterior, primero definí un intervalo de cinco minutos para el trabajo cron. Puedes usar este sitio para verificar la expresión de horario de tiempo. En mi caso, */5 * * * * es la expresión de intervalo.

¡Eso es todo! Has agregado con éxito un trabajo cron real.

Resumen

Espero que este artículo te haya ayudado a entender cómo funciona el trabajo cron de WordPress. He discutido dos métodos para gestionar los trabajos cron de WordPress; uno a través de un plugin y el otro a través de WP-CLI. También he discutido cómo configurar un trabajo cron real en un servidor en vivo de WordPress. Por favor, déjame saber en la sección de comentarios a continuación si tienes alguna pregunta.

Califica este articulo

Descubre las novedades: Nuevos temas WordPress en 2023

El equipo de WordPress.com se dedica constantemente a crear diseños innovadores que revolucionarán tu sitio web. Echa un vistazo a los nuevos temas WordPress 2023, que incluyen opciones deslumbrantes para blogueros, fotógrafos, restaurantes y mucho más, y aprende más...

Los 5 mejores Hosting WordPress en 2023

La decisión de optar por un alojamiento web de calidad se encuentra entre las consideraciones iniciales al dar inicio a tu proyecto online. Sin embargo, para realizar una elección informada, es esencial estar familiarizado con las principales opciones de hosting para...

[wpcd_coupon id=23656]