Descubre en este tutorial cómo programar que se ejecute una función en WordPress, en este caso resetear los enlaces permanentes.
Recientemente me he encontrado con una web (heredada) en la que, sin razón aparente y cada x días, lanza errores 404 al navegar por ella.
El error se soluciona facilmente guardando los enlaces permanentes, pero esto solo es accionable después de que ocurra el error 404. Lo cual sigue ofreciendo una experiencia de usuario mejorable.
Por eso, mientras sigo investigando el motivo, he creado una tarea periódica para que restablezca los enlaces permanentes.
WordPress permite programar tareas gracias a la función wp_schedule_event
, lo cual es muy práctico para ejecutar acciones de forma periódica. En este caso la tarea es resetear los enlaces permanentes.
Vamos a ver cómo conseguirlo:
Snippet para guardar los enlaces permanentes de forma periódica en WordPress
Añade el siguiente fragmento a tu plugin de funcionalidades:
Para ver este código y los otros 2055 snippets de esta web,
identifícate o suscríbete aquí.
En este código usas el gancho wp
en conjunción con las funciones wp_schedule_event
y flush_rules
para fijar una periodicidad con la que se resetearán los enlaces permanentes.
En este caso, el periodo será cada hora (hourly
), pero puedes ajustar el periodo a distintos periodos. Por ejemplo:
wp_schedule_event(time(), '120min', 'cg_scheduled_event' );
wp_schedule_event(time(), 'daily', 'cg_scheduled_event');
wp_schedule_event(time(), 'weekly', 'cg_scheduled_event');
Estas líneas permitirían ejecutar la tarea, respectivamente:
- Cada X minutos (120 en el ejemplo)
- Diariamente
- Semanalmente
Este es solo un ejemplo para que entiendas cómo programar tareas o acciones en WordPress.
De hecho, no te recomiendo resetear los enlaces permanentes muy a menudo ya que requiere bastantes recursos del servidor. Hazlo solo cuando sea necesario.
Otra opción es que en lugar resetear los enlaces permanentes de forma periódica lo hagas cuando se ejecute un hook (instalar un tema, un plugin, un CTP…).
Conclusiones
Ahora ya sabes cómo ejecutar tareas de forma periódica en WordPress y aprovecharlo para guardar los enlaces permanentes cada X tiempo.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉