Cómo restablecer/vaciar enlaces permanentes WordPress
¿Está buscando una manera de vaciar o restablecer los enlaces permanentes una vez cada hora? ¿Cómo restablecer/vaciar enlaces permanentes WordPress? Es posible que haya un complemento para esto. Sin embargo, hemos creado un fragmento de código rápido que puede usar para vaciar enlaces permanentes una vez por hora en el trabajo cron en WordPress.
Cómo restablecer/vaciar enlaces permanentes WordPress
¿Alguna vez realizó cambios en la estructura de enlaces permanentes de su sitio de WordPress y descubrió que esos cambios no se reflejaban en la URL?
Este punto es importante, especialmente si depende del SEO y desea asegurarse de que los motores de búsqueda indexen correctamente las URL de su sitio web.
En este artículo, detallaremos una solución implementando un trabajo cron que vacía automáticamente los enlaces permanentes en WordPress una vez por hora. Por lo tanto, esto asegura que cualquier cambio en su estructura de enlaces permanentes se regenere oportunamente.
Restablecer/limpiar la estructura de enlaces permanentes en Dashboard
Si utiliza un complemento de caché para WordPress, se recomienda desactivarlo.
- Vaya al menú Administrador, haga clic en Configuración > Enlaces permanentes
- Luego, cuando esté en la página Configuración de enlaces permanentes, observe la estructura que ha seleccionado, para que pueda volver a colocarla después de vaciarla. Seleccione otra estructura, como la configuración Simple, y haga clic en el botón Guardar cambios.
- Por último, cuando se actualiza la página, la estructura de su enlace permanente se restablece (o se regenera). Simplemente seleccione su configuración original y guárdela nuevamente.
Vaciar o restablecer usando script en functions.php
Para verificar que se están vaciando los enlaces permanentes, simplemente agregue un comentario justo antes de # END WordPress
en el archivo .htaccess
. Una vez que se eliminen los enlaces permanentes, el comentario desaparecerá.
Instrucciones de uso:
Todo lo que tienes que hacer es agregar este código al archivo functions.php
de tu tema o en un complemento específico del sitio:
function wpbaulphp_flush_permalinks_cron() {
if ( ! wp_next_scheduled( 'wpbaulphp_flush_permalinks_event' ) ) {
wp_schedule_event( time(), 'hourly', 'wpbaulphp_flush_permalinks_event' );
}
}
add_action( 'wp', 'wpbaulphp_flush_permalinks_cron' );
function wpbaulphp_flush_permalinks() {
flush_rewrite_rules();
}
add_action( 'wpbaulphp_flush_permalinks_event', 'wpbaulphp_flush_permalinks' );
El fragmento de código proporcionado permite que una tarea cron en WordPress vacíe automáticamente los enlaces permanentes una vez por hora. Ahora vamos a analizar paso a paso para entender cómo funciona.
La primera función, wpbaulphp_flush_permalinks_cron()
- Tenemos que verificar si el evento programado
wpbaulphp_flush_permalinks_event
ya está configurado. De lo contrario, programamos el evento para que se ejecute cada hora usando la funciónwp_schedule_event()
. - El primer argumento,
time()
, establece la hora inicial del evento en la hora actual. - Veamos el segundo argumento, «
hourly
«, indica que el evento debe activarse cada hora. - Finalmente, el tercer argumento, ‘
wpbaulphp_flush_permalinks_event
‘, especifica el nombre del evento que se programará.
if ( ! wp_next_scheduled( 'wpbaulphp_flush_permalinks_event' ) ) {
wp_schedule_event( time(), 'hourly', 'wpbaulphp_flush_permalinks_event' );
}
Agregar Gancho «wp
«
A continuación, agregamos un gancho de acción ‘wp
‘ para ejecutar la función wpbaulphp_flush_permalinks_cron()
. El gancho ‘wp
‘ se activa al comienzo de cada solicitud de WordPress. Al adjuntar nuestra función a este enlace, nos aseguramos de que el trabajo cron se inicialice correctamente.
add_action( 'wp', 'wpbaulphp_flush_permalinks_cron' );
Segunda función, wpbaulphp_flush_permalinks()
Debemos de definir la acción que se realizará cuando ocurra el evento wpbaulphp_flush_permalinks_event
. En este caso, llama a la función flush_rewrite_rules()
.
Esta función vacía y regenera las reglas de reescritura de WordPress, incluidos enlaces permanentes, tipos de publicaciones personalizadas y reglas de reescritura definidas por complementos.
flush_rewrite_rules();
Gancho de accion ‘wpbaulphp_flush_permalinks_event’
Por último, agregamos otro gancho de acción, ‘wpbaulphp_flush_permalinks_event
‘, al que adjuntamos nuestra función wpbaulphp_flush_permalinks()
usando add_action()
. Esto garantiza que siempre que ocurra el evento programado, se ejecutará la función flush_rewrite_rules()
.
add_action( 'wpbaulphp_flush_permalinks_event', 'wpbaulphp_flush_permalinks' );
Cómo restablecer/vaciar enlaces permanentes WordPress: Conclusiones
Al combinar estos fragmentos de código, podemos configurar un trabajo cron que vacía los enlaces permanentes en WordPress automáticamente una vez por hora.
Esto es útil en escenarios donde ocurren con frecuencia cambios en las reglas de reescritura o enlaces permanentes, como cuando se desarrolla o actualiza un complemento o tema.
Para agregar estos códigos podemos usar complementos gratuitos de Wordpress por ejemplo: Code Snippets