Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment supprimer les caractères spéciaux des permaliens

16

Chaque fois que vous travaillez avec WordPress et des API tierces, il y a toujours une chance que vous rencontriez des problèmes où l’API tierce n’est pas prête à gérer certains caractères qui existent dans un permalien.

Selon les paramètres de permalien, cependant, cela peut ou non être un problème. Par exemple, vos permaliens peuvent être définis sur quelque chose comme ?p=123 pour chaque publication. Dans ce cas, ce n’est pas vraiment un problème.

Mais si vous utilisez de "jolis permaliens" et que votre permalien inclut quelque chose comme un symbole de marque ou un symbole de droit d’auteur, cela peut causer des problèmes chaque fois que vous communiquez avec ladite API tierce.

Premièrement, si vous utilisez de jolis permaliens, ceux-ci sont généralement créés à partir du titre du message. Donc, si vous utilisez quelque chose comme All About The Acme Machine™, vous générerez un lien permanent qui inclut quelque chose comme ça.

Par exemple, WordPress peut générer automatiquement quelque chose comme ceci: https://acme.com/all-about-the-acme®-machine/

Et quand vient le temps d’envoyer ces informations à une API tierce (ou d’essayer de les traiter en utilisant tout ce qui n’est pas préparé pour de tels caractères), vous allez rencontrer des problèmes.

Heureusement, WordPress fournit un crochet qui nous permet de traiter les permaliens avant qu’ils ne soient sérialisés dans la base de données. À savoir, il s’agit du crochet wp_insert_post_data.

Et dans ce cas, cela fonctionne comme ceci :

  1. Configurez le hook pour qu’il se déclenche tard dans le processus de sérialisation,
  2. Recherchez les caractères qui peuvent être problématiques,
  3. Remplacez-les par une chaîne vide,
  4. Renvoyez les informations mises à jour à WordPress pour la sérialisation.

Voici un exemple qui cherche à supprimer divers symboles tels que les symboles de copyright, les symboles de marque, les symboles d’enregistrement et d’autres variantes de ceux-ci, à la fois dans les formats codés et dans les équivalents codés :

Notez que la fonction accepte les données de publication comme argument, vérifie que vous ne travaillez pas avec un brouillon, un article en attente ou un brouillon automatique, puis supprime le contenu du nom de la publication en

Cela peut être une question nuancée. C’est-à-dire que vous ne le rencontrerez peut-être pas dans vos efforts de développement. Si, en revanche, vous le faites, cela fournit une solution qui vous permet non seulement de supprimer certains caractères de l’URL, mais vous permet également de le faire de manière évolutive.

Ainsi, à mesure que vos besoins changent, vous pouvez simplement mettre à jour l’ appel preg_replace avec les caractères que vous devez supprimer de votre URL.

Source d’enregistrement: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More