WP_Rewrite::add_endpoint()

Définition : WP_Rewrite::add_endpoint() est une méthode qui ajoute un segment final reconnu sur certaines URL WordPress. Elle utilise des masques EP_* pour définir les emplacements concernés et peut enregistrer une variable de requête.

Terminologie

Appellation officielle : WP_Rewrite::add_endpoint()

Autres appellations : Endpoint de réécriture, Segment d’URL

Comprendre le fonctionnement

Un endpoint permet de prolonger une URL correspondant à un contenu, une page ou une archive par un segment supplémentaire. Les masques EP_PERMALINK, EP_PAGES et d’autres indiquent les familles d’URL auxquelles le mécanisme s’applique. La méthode peut créer une variable de requête nommée comme l’endpoint afin que le code applicatif identifie ce qui est demandé.

La fonction publique add_rewrite_endpoint() doit être privilégiée dans le développement courant. Ajouter un endpoint ne crée pas automatiquement une réponse, une permission ou un contrôleur : le code de l’extension doit lire la requête et fournir le rendu adapté. Comme pour les autres modifications des règles, un rafraîchissement ponctuel est nécessaire lors de leur mise en service.

Exemple concret

Un plugin ajoute un suffixe /imprimer/ à certaines pages pour proposer une présentation spécifique.

Exemple de code commenté

<?php
// Dans un plugin, à l’initialisation de WordPress.
add_action( 'init', function () {
    add_rewrite_endpoint( 'imprimer', EP_PAGES );
} );
// Régénérer les règles UNE fois lors de l’activation appropriée,
// jamais lors de chaque chargement de page.

Point technique à retenir

Ne pas considérer un endpoint comme une API sécurisée par défaut : toute action sensible requiert des contrôles indépendants.

Termes associés

  • WP_Rewrite
  • Query Variables
  • Permalinks

Références officielles

Bouton retour en haut de la page