Anchor Dynamic URL
Ajoutez des ancres dynamiques aux éléments de menu WordPress et aux éléments Elementor. L'URL générée se met à jour automatiquement si le slug de la page change — fini les liens cassés.
Ce que fait l'extension
Menus WordPress natifs
Champ "Anchor" intégré dans l'éditeur de menus (Apparence > Menus). Saisissez l'identifiant sans le # — l'URL est construite automatiquement.
URL auto-maintenue
Si le slug de la page change (/contact → /nous-contacter), tous les liens d'ancrage associés sont mis à jour sans intervention manuelle.
Intégration Elementor
Étend les contrôles URL natifs d'Elementor. Champ "Target Anchor" disponible pour boutons, titres, images et tous les éléments avec un contrôle URL.
Mises à jour automatiques
Vérifie les nouvelles versions directement depuis le dépôt GitHub Hylbee/anchor-dynamic-url. Notification d'upgrade intégrée au tableau de bord WordPress.
Sécurité renforcée
Vérification du nonce, sanitisation complète (wp_unslash, sanitize_text_field), échappement HTML, filtrage des ancres et blocage des path traversals.
Filtrage des ancres
Seuls les caractères [a-zA-Z0-9-_] sont autorisés. Les espaces sont convertis en tirets et les caractères spéciaux supprimés automatiquement.
Prêt pour l'internationalisation
Fichier .pot fourni, traduction française (fr_FR) incluse et complète. Compatible langues RTL et système de traduction WordPress.org.
Architecture DDD propre
Domain-Driven Design avec séparation des responsabilités : Manager, Service, Repository, Sanitizer, Entity. Aucune dépendance requise.
Comment ça marche
Installation
Installez et activez l'extension depuis votre admin WordPress. Aucune configuration initiale nécessaire.
Saisie de l'ancre
Dans Apparence > Menus, saisissez l'identifiant de l'ancre dans le champ "Anchor" sans le #.
URL générée
L'URL finale est construite automatiquement : https://monsite.com/page#ancre.
Mise à jour auto
Si le slug de la page change, l'URL de tous les liens d'ancrage associés se met à jour sans intervention.
Architecture DDD
Séparation stricte des responsabilités selon les principes du Domain-Driven Design. Chaque classe a un rôle unique et isolé.
Formats d'ancres supportés
Les espaces sont convertis en tirets et les caractères spéciaux supprimés. Les quatre conventions de nommage sont prises en charge nativement.
contact-sectioncontact_sectioncontactSectionContactSectionConçu pour être sécurisé
Vérification du nonce à chaque sauvegarde de menu
Sanitisation complète via wp_unslash + sanitize_text_field
Échappement de toutes les sorties HTML (protection XSS)
Filtrage strict des ancres : seuls [a-zA-Z0-9-_] sont autorisés
Protection contre l'injection de paramètres de requête et les path traversals
Accès direct aux fichiers PHP bloqué
Ce que l'extension ne fait pas
Compatible uniquement avec les menus WordPress classiques (pas le bloc Navigation de Gutenberg)
L'intégration Elementor nécessite qu'Elementor soit installé et activé
Les caractères spéciaux hors [a-zA-Z0-9-_] sont supprimés automatiquement de l'ancre
Pour les développeurs
AnchorSanitizer expose la logique de filtrage des ancres. Caractères autorisés : [a-zA-Z0-9-_]. Les espaces sont convertis en tirets avant la sanitisation.
// Sanitise une ancre : espaces → tirets, strip des caractères invalides
$anchor = AnchorSanitizer::sanitize($raw_anchor);
// Génère l'URL complète avec ancre pour un item de menu
$url = AnchorService::build_anchor_url($page_id, $anchor);
// Résultat : https://monsite.com/page#contact-section
// Formats valides : kebab-case, snake_case, camelCase, PascalCasePrérequis techniques
Fini les liens d'ancrage cassés
Téléchargez Anchor Dynamic URL directement depuis GitHub et commencez à gérer vos ancres de menu en quelques minutes.