Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo ver y controlar los Cron Jobs de WordPress

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

Recientemente, uno de nuestros lectores preguntó si era posible ver y controlar el sistema de tareas cron de WordPress en el panel de control.

Cron es una tecnología para ejecutar tareas programadas en un servidor web. WordPress viene con su propio cron integrado que le permite realizar tareas programadas como comprobar actualizaciones, publicar entradas programadas, etc.

En este artículo, le mostraremos cómo ver y controlar las tareas cron de WordPress.

¿Qué es WordPress Cron? ¿Cómo funciona?

Cron es un término técnico utilizado para comandos que se ejecutan a horas programadas o a intervalos regulares. La mayoría de los servidores web lo utilizan para mantener el servidor y ejecutar tareas programadas.

WordPress viene con su propio sistema cron que le permite realizar tareas programadas. Por ejemplo, comprobar si hay actualizaciones, borrar comentarios antiguos de la papelera, publicar entradas programadas, etc.

Los plugins de WordPress también pueden utilizarlo para realizar tareas especificadas por usted. Por ejemplo, su plugin de copia de seguridad de WordPress puede utilizar WordPress cron para crear automáticamente copias de seguridad en un horario determinado.

Sin embargo, el uso irresponsable de WordPress cron por plugins puede ralentizar su sitio web. Especialmente, si usted está en alojamiento compartido.

Si un plugin realiza con frecuencia tareas que consumen muchos recursos, es necesario identificar el problema y corregirlo.

Veamos cómo ver y controlar el sistema cron de WordPress sin escribir ningún código.

Ver y controlar el sistema Cron de WordPress

Lo primero que debe hacer es instalar y activar el plugin WP Crontrol. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Una vez activado, debe visitar la página Herramientas ” Eventos Cron para controlar los ajustes de cron.

WordPress Cron events

Verá una lista de todos los eventos cron programados para ejecutarse en su sitio usando el sistema cron de WordPress.

En la primera columna, verá el nombre del gancho que ejecuta el cron.

Los nombres de los ganchos suelen dar una idea de lo que hacen.

La mayoría de los ganchos por defecto de WordPress comienzan con un prefijo wp_, como wp_update_plugins, wp_update_themes, etc.

Sus plugins de WordPress pueden o no usar sus propios prefijos para sus ganchos. Por ejemplo, All in One SEO utiliza el prefijo aioseo_.

También podrá ver cuándo se ejecutará un cron a continuación y el intervalo de tiempo entre la siguiente ejecución.

La última columna de la lista le permite editar, borrar o ejecutar un evento cron.

Importante: Tenga mucho cuidado acerca de lo que hace con los eventos cron y nunca borre un evento cron por defecto de WordPress.

Supongamos que un plugin de WordPress crea un evento cron que consume muchos recursos.

En primer lugar, debes comprobar los ajustes del plugin para ver si hay una opción para controlarlo desde allí. Si no la hay, entonces puedes hacer clic en el enlace ‘Editar’ enlazado al evento cron para cambiarlo.

Editing a cron in WordPress

Al hacer clic en el botón Editar se abrirá la pestaña “Modificar Evento Cron” más abajo.

Aquí puede cambiar la frecuencia con la que desea que se ejecute el evento.

Modifying cron settings

Una vez que haya terminado, haga clic en el botón “Modificar Cron Event” para guardar su configuración.

Añadir sus propios eventos Cron en WordPress

El plugin WP Crontrol hace que sea fácil añadir sus propios cron jobs a WordPress. Simplemente visita la página Herramientas ” Eventos Cron y desplázate hasta la pestaña ‘Añadir evento Cron’.

Add custom cron event in WordPress

En primer lugar, debe proporcionar un nombre de gancho para su evento cron. Los nombres de gancho no pueden tener espacios ni caracteres especiales.

Si la función que quieres ejecutar requiere argumentos, entonces puedes proporcionar esos argumentos.

A continuación, debe indicar a WordPress cuándo debe ejecutar el cron la próxima vez. Puede indicar “ahora”, que activará el cron inmediatamente, “mañana”, “+2 días” o “25-02-2020 12:34:00”.

Por último, debe seleccionar un horario. Puede seleccionar cada hora, dos veces al día, todos los días o una vez a la semana. También puede hacer que no se repita el evento.

Cuando hayas terminado, haz clic en el botón “Añadir evento Cron” para guardar los cambios.

Observará que su evento cron aparecerá ahora en la lista de eventos.

Sin embargo, actualmente no hace nada porque no le ha dicho a WordPress qué hacer cuando se activa este evento.

Tendrás que añadir tu gancho y una función que se ejecute cuando se active el gancho cron.

add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );

function wpb_custom_cron_func() {
  wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}

No olvide utilizar su propia dirección de correo electrónico.

Esta función simplemente te envía un correo electrónico de prueba cuando se ejecuta el cron. Ahora puede desplazarse por la página y hacer clic en el enlace “Ejecutar ahora” situado junto al evento cron para probarlo.

Nota: El uso de cron requiere conocimientos de programación y desarrollo de WordPress de nivel intermedio. Si no dispone de estos conocimientos, le recomendamos que contrate a un desarrollador de WordPress.

Esperamos que este artículo te haya ayudado a aprender cómo ver y controlar las tareas cron de WordPress. Puede que también quieras ver nuestra guía definitiva para acelerar WordPress y aumentar su rendimiento o nuestra selección de los mejores plugins de seguridad para WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

20 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Paul Barrett says

    We run cron at server level because wp-cron overloads teh server. There’s is nothing on our site that is so time-critical the jobs need to running frequently. If we set the frequency to say daily, would WordPress have a problem?

    • WPBeginner Support says

      It would heavily depend on what is being done on the site and when. We do not have a specific recommendation for what can be delayed to that extent.

      Administrador

  3. Matt K says

    When I go to change the the recurrence on the Hooks, they just get changed back. Something isn’t right. Do I need to disable WP crons in wp-config.php first?

    • WPBeginner Support says

      It would depend on the specific chron job, if you reach out to the plugin’s support they should be able to assist

      Administrador

  4. Heinz says

    Can I deactivate or even delete WP Control plugin in after having set a cron job, so I don’t have too many plugins running and slow down the website?

  5. Andre Hesdahl says

    I am a newbee with WordPress and don’t know where to put (or how to execute) the code:
    add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );

    function wpb_custom_cron_func() {
    wp_mail( ‘you@example.com’, ‘Automatic email’, ‘Automatic scheduled email from WordPress to test cron’);
    }

  6. Jeff says

    Thanks for the article. Interesting to see the number of plugins that have cron jobs running often. Great peak under the hood plugin…

  7. hazel beaver says

    When I check the cron schedule the dates shown in the ‘next run’ column are all in the past. Does that mean they are not running?

    In the past I think I added ‘true’ in the wp config file to stop automatic wp updates from breaking my site…. could this be the cause?

  8. Oleg says

    Great article, but no need for

    if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) {
    wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ );
    }

    this part is done in the plugin,

  9. Ahmad Sayeed says

    I tested you given example. It works like a superman. But please give us an example to send parameter. I have added the function while creating the even. But I don’t know how to use them on PHP function.

    Please give us an example

  10. Sunny says

    My website is coming up with a long wp cron string after my URL and I cant get rid of it. Any thoughts?

    ?doing_wp_cron=1499261576.8675799369812011718750 comes up after my url and its making me look really spammy. Your insight would be appreciated.

  11. Aniket Ashtikar says

    Is that ‘my_task_hook’ cron hook rightly mentioned there at line 2 or should that rather be changed to ‘wpb_custom_cron’?

  12. Matt says

    Do you know if its possible to visit a link in the wp-admin area? I have a plugin that adds admin features to my wordpress site but I really want this scheduled to happen every 24 hours. I have the link but obviously am required to be logged in.

  13. Pam M says

    Do you need that first if statement shown in the sample code? It looks like it would override the ability to schedule and unschedule in the WP Crontrol plugin.
    Your example worked nicely when I scheduled the job in the plugin and tested it with the Run Now option. I’ll see if I get an email at the scheduled time too.
    Thanks for the helpful background info.

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.