IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment transformer l’url lorsqu’il y a une apostrophe dans le Titre ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2023
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2023
    Messages : 11
    Par défaut Comment transformer l’url lorsqu’il y a une apostrophe dans le Titre ?
    Coucou les amis de developpez.net et de Wordpress!

    Question tout bête mais je préfère être fixé car étant débutant et apprenant seul je fais souvent des erreurs,)

    Lorsque j'écris le titre de ma page : "Qu’est-ce que le HHC ?"
    l'url se "transforme" ainsi pour mon site:
    https://wikihhc.com/faq/quest-ce-que-le-hhc/

    mais je n'aime pas le "quest" donc je modifie le permalien pour avoir :
    https://wikihhc.com/faq/qu-est-ce-que-le-hhc/
    ( Jusqu'ici rien de tres compliqué lol)

    Ainsi le fait de transformer "quest" en "qu-est" je trouve que c'est plus lisible comme cela.
    Egalement dans le cas d'un titre commençant par "c'est quoi?" pour l'url je préfére
    "c-est-quoi" à "cest-quoi".
    Est ce que ca vous parait logique également?
    Est ce que cela à une quelconque influence pour le Seo?

    Et surtout comment faire pour ne pas avoir à changer manuellement mon url à chaque fois qu'il y a une apostrophe dans le titre de ma page/article?

    J'ai essayé avec ces 2 codes ( chacun à leur tour) dans mon fichiers functions.php, mais cela n'a pas marché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function custom_permalink_filter($permalink, $post, $leavename) {
        $permalink = str_replace("'", '-', $permalink);
        return $permalink;
    }
    add_filter('post_link', 'custom_permalink_filter', 10, 3);
    add_filter('page_link', 'custom_permalink_filter', 10, 3);
    add_filter('post_type_link', 'custom_permalink_filter', 10, 3);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function custom_sanitize_title($title) {
        $title = str_replace("'", '-', $title);
        return $title;
    }
    add_filter('sanitize_title', 'custom_sanitize_title', 10, 1);
    add_filter('sanitize_title_with_dashes', 'custom_sanitize_title', 10, 1);
    Merci par avance pour avoir lu jusqu'ici! et pour votre aide et votre bienveillance

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 378
    Par défaut
    Pour l'aspect SEO, pas de prob. bien que je mettrais plutôt un titre comme definition-du-hcc, mais là encore je pense que l'impact sera faible, mais je ne suis pas expert SEO.

    YOAST, le fameux plugin dédié au SEO doit pouvoir faire ce genre de truc je pense.

    Pour le code, je laisse ceux en font sous WordPress répondre.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 702
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 702
    Par défaut
    tout d'abord, il y a 2 caractères dans votre message : dans le titre vous utilisez et ensuite dans votre code vous traitez '.
    vous voulez gérer ces 2 caractères dans les titres ?

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2023
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2023
    Messages : 11
    Par défaut
    Merci beaucoup pour vos réponses,
    effectivement je fais déjà de base une erreur sur les types d'apostrophes... le boulet!

    Finalement pour le code ca marche avec cela :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function custom_sanitize_title_with_dashes_fr($title, $raw_title = '', $context = 'display') {
        if ('save' == $context) {
            // Convert simple and basic curly (MS Word) quotes to hyphens
            $title = str_replace(array('\'', '%e2%80%99'), '-', $title);
        }
        return $title;
    }
    add_filter('sanitize_title', 'custom_sanitize_title_with_dashes_fr', 1, 3);
    et c'est cool les urls reste bien traduite par le plugin TranslatePress dans les autres langues

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    </script>
    <link rel="alternate" hreflang="fr-FR" href="https://wikihhc.com/faq/c-est-quoi-hhc/"/>
    <link rel="alternate" hreflang="en-GB" href="https://wikihhc.com/en/faq/what-is-hhc/"/>
    <link rel="alternate" hreflang="de-DE-formal" href="https://wikihhc.com/de/faq/was-ist-hhc/"/>
    <link rel="alternate" hreflang="it-IT" href="https://wikihhc.com/it/faq/cose-hhc/"/>
    <link rel="alternate" hreflang="es-ES" href="https://wikihhc.com/es/faq/que-es-hhc/"/>
    <link rel="alternate" hreflang="cs-CZ" href="https://wikihhc.com/cs/faq/co-je-to-hhc/"/>
    <link rel="alternate" hreflang="ru-RU" href="https://wikihhc.com/ru/faq/hhc-что-это/"/>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment améliorer la rotation à 45° d'une image dans un PictureBox
    Par ProgElecT dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 22/07/2006, 02h05
  2. Réponses: 13
    Dernier message: 19/07/2006, 00h06
  3. Comment connaitre les disques dur d'une machine dans un code ?
    Par GeekettePower dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2006, 01h43
  4. [XSL] comment transformer ce fichier xml en une table html ?
    Par jlassira dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 15/03/2006, 13h15
  5. [D7] Comment sauter une ligne dans un titre de grid ?
    Par Magnus dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2005, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo