:::: MENÚ ::::

¡Mis tareas y publicaciones programadas no se publican! Te presento a tu amigo WP_Cron

Time-Management-Tips

Y te preguntarás ¿Qué es el WP_Cron? Y más concretamente ¿Qué es el Cron?

Nuestro amigo Cron nos sirve para programar tareas en un intervalo de tiempo concreto, por ejemplo, podemos decir que algo se ejecute cada 20 minutos, o que lo haga el 2 de Febrero de cada año, ya que es altamente personalizable.

WordPress incorpora un Cron que usa por ejemplo para la programación de entradas, en el cual puede especificar una fecha y hora en la que quieres que se publique, y todo esto lo gestiona WP_Cron.

Desgraciadamente Worpdress no puede conectar WP_Cron al Cron del hosting/servidor, así que hace un apaño que en la mayoría de los casos funciona perfectamente, y es preguntarle a cada visitante que fecha y hora es, y si concuerda con alguna tarea programada, entonces la ejecuta. Como verás, si no entra nadie a nuestro blog, entonces WP_Cron no puede preguntar a nadie por la fecha y hora, y no se puede ejecutar, por lo que en ocasiones, por ejemplo, nuestra entradas programas no se publican.

La solución para este problema es simplemente usar el Cron del hosting/servidor, que es totalmente autómata y puede ejecutar nuestras tareas programadas él sólo, sin necesidad de nadie.

Cambiando de WP_Cron a Cron

Lo primero que haremos es decirle a WordPress que ya no es necesario que use WP_Cron, para ello, en el archivo wp-config.php añadimos la siguiente linea:

define('DISABLE_WP_CRON', true);

Una vez hecho esto, deberemos acceder a nuestro panel de control de nuestro hosting (por regla general suele ser cPanel), y buscar la configuración de Cron, ahí deberemos introducir el tiempo que deseemos que se ejecute y el comando que será lanzado, un ejemplo sería:

*/10 * * * * php /var/www/example.com/htdocs/wp-cron.php 

Los asteriscos *, corresponden con el tiempo. El primer grupo de asteriscos son los minutos (0 – 59), el segundo, la hora (0 – 23), el tercero, el día del mes (1 – 31), el cuarto, el mes en sí (1 – 12), y el quinto y último, es el día de la semana (0 – 6 (Domingo = 0 ó 7)). Y después el comando que deseemos lanzar, en este caso, un script PHP que corresponde con la ruta absoluta al archivo de WP_Cron de nuestro WordPress.

Si no sabes la ruta absoluta de tu WordPress, puedes crear un archivo PHP en la carpeta principal del mismo con el nombre path.php y el siguiente contenido:

<?php echo dirname( __FILE__ ); ?>

Cuando accedas a tudominio.com/path.php, podrás copiar la ruta completa. No olvides eliminar después el archivo por tu seguridad.

Para que entiendas mejor el concepto de los asteriscos * del tiempo de Cron (por si quieres coger un intervalo diferente), te recomiendo que pases por el artículo de la Wikipedia dedicado a él, y concretamente a su sección de ejemplos.

Share on Facebook0Tweet about this on TwitterShare on Google+1Share on LinkedIn1Share on Tumblr0Pin on Pinterest0Email this to someone

  • Paw

    Hice eso y sigue sin funcionar :(

    • ¿Creaste una nueva tarea de Cron en el panel de tu hosting?