WP_Rewrite::flush_rules()
Définition : WP_Rewrite::flush_rules() est une méthode qui force la régénération des règles de réécriture WordPress. Elle peut effectuer une actualisation logicielle uniquement, ou demander aussi la mise à jour des règles serveur compatibles.
Terminologie
Appellation officielle : WP_Rewrite::flush_rules()
Autres appellations : Régénération des règles, Flush rewrite
Comprendre le fonctionnement
WordPress met en cache les associations entre motifs d’URL et variables de requête. Lorsque des règles ou structures changent, la méthode peut reconstruire cet ensemble. Le paramètre hard détermine si l’opération tente aussi de mettre à jour des fichiers de configuration serveur pris en charge, en plus des règles enregistrées en base.
La régénération peut être coûteuse et ne doit pas figurer dans un hook exécuté à chaque page. Pour une extension, la fonction globale flush_rewrite_rules() est généralement l’interface recommandée, déclenchée après que les règles ont été enregistrées, lors d’un événement exceptionnel comme une activation ou un changement de configuration. Un flush n’est pas un remède universel aux problèmes de routage.
Exemple concret
Après ajout d’une structure permanente, le plugin met à jour les règles une fois dans son cycle d’activation.
Exemple de code commenté
<?php
// Exemple conceptuel d’une opération ponctuelle en administration.
// À exécuter UNIQUEMENT après enregistrement des règles.
flush_rewrite_rules( false ); // Variante dite « soft ».
// Ne pas appeler cette ligne à chaque requête.
Point technique à retenir
Un flush dur peut réécrire une configuration serveur : vérifier les conséquences et les personnalisations existantes.
Termes associés
- WP_Rewrite
- Rewrite Rules
- flush_rewrite_rules()
