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

WordPress PHP Discussion :

Ajouter un règle de rewriting à partir du base MySQL


Sujet :

WordPress PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut Ajouter un règle de rewriting à partir du base MySQL
    Bonjour à vous,

    sur mon site wordpress, j'ai créé un plugin afin de générer des pages à partir d'un modèle développé en php, en intégrant des données de ma base MySQL.
    Mes urls sont donc du type http://www.monsite.com/page/?id=604 et j'aimerais que l'url soit renommée avec un nom qui est dans un autre champs de la table.

    J'avoue avoir un peu cherché et je ne sais pas si je dois faire ça dans le htaccess ou en créant de nouvelles règles dans le functions.php de mon thème.

    Et après, j'avoue aussi ne pas savoir exactement comment faire.

    Est-ce que quelqu'un pourrait m'aider en tant que débutant en php ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    est ce que vous voulez des URL qui contiennent l'identifiant, par exemple http://www.monsite.com/article-le-butinage-chez-les-poissons-abeilles-604 ?
    ou alors plutot sans identifiant comme cela : http://www.monsite.com/article-le-butinage-chez-les-poissons-abeilles ?

  3. #3
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    Merci de votre réponse.
    A priori, une URL sans identifiant serait mieux. mais c'est pas encore trop gênant si ça reste. ça sera toujours mieux qu'avec le GET tout simple

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    dans ce cas vous pouvez essayer cette réécriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	add_rewrite_rule(
    		  "article-([^-]*)-([0-9]*)$"
    		, "index.php?page_id=\$matches[2]"
    		, "top"
    	);
    vous devez aussi vide le cache de réécriture comme expliqué dans la documentation :
    https://codex.wordpress.org/Function...d_rewrite_rule

  5. #5
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    Merci de votre réponse.
    Du coup, j'imagine de que je dois écrire cette nouvelle règle dans mon htaccess. Mais j'avoue ne pas tout comprendre.
    Dans votre code, quelle est la variable qui devrait correspondre au champs "nom" lié de ma table SQL ?

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par Clement_archeo Voir le message
    Du coup, j'imagine de que je dois écrire cette nouvelle règle dans mon htaccess.
    ce code doit être utilisé dans une extension, regardez le lien que j'ai indiqué

    Citation Envoyé par Clement_archeo Voir le message
    Dans votre code, quelle est la variable qui devrait correspondre au champs "nom" lié de ma table SQL ?
    il n'y a pas besoin de faire le lien avec le nom, wordpress va retrouvé le bon élément avec l'identifiant indiqué dans l'URL.

  7. #7
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    Bonsoir Mathieu,
    je réponds à ton message en regardant l'attaque des clone...comme un petit clonage d'avatar...
    J'ai essayé donc d'insérer ton exemple en l'adaptant...mais ça ne fonctionne pas pour l'instant (même en vidant le cache de réécriture à partir de l'interface outils/permaliens).
    En réalité, dans mon extension, j'ai une notice qui est créé dynamiquement à partir du code suivant (que j'ai un peu abrégé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function shortcode_notice_Exemple(){
     
    //début de code pour gérer l'emplacement du code 
    	 ob_start();
        // do some stuff
    	$ID=htmlspecialchars($_GET["id"]);
    	include 'bdd_config.php';
    	$connexion=include 'connexion_db.php';
    	$hsc = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); }; // échappement des caractères dangereux
     
    	//Requête pour choper les données liées à l'ID
    		$relation= $connexion->prepare ("SELECT * FROM table1 
    		WHERE table1.ID='$ID'");
    		$relation->execute();
     
       while($data=$relation->fetch(PDO::FETCH_ASSOC)){
     
     
    //extrait de la mise en forme de la notice
    echo "<html>
    <meta charset='utf-8'/>
    <div class='container'>
    <div class='row'>
    <div class='col'>
    <h2 style='text-align:center ; font-weight:bold ; font-family: times new roman,times,serif; font-size: 18pt;'>".$data ['Nom']."</h2></br>
    </div></div></div>";
      }
    //fin de code pour gérer l'emplacement
    	$code_output = ob_get_contents();
        ob_end_clean();
     
        return $code_output;
    	//fin de code de fonction
    }
    add_shortcode('Notice_Exemple', 'shortcode_notice_Exemple');
    Ce shortcode est alors inséré sur une page wordpress qui est appelée à demande.
    Je ne sais pas si je suis très compréhensible, mais en tout cas je ne vois pas trop où je devrais insérer cette rewrite rule.
    Désolé, je suis un peu débutant autodidacte...

  8. #8
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    est-ce que mon problème fait peur ?

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

Discussions similaires

  1. [WD17] Ajouter des images externes dans un base mysql à partir application
    Par Mans M-SOFT dans le forum WinDev
    Réponses: 2
    Dernier message: 12/05/2016, 22h04
  2. Ajout dans un combobox a partir d'une base de données
    Par jihenjiji dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/04/2014, 11h36
  3. Réponses: 7
    Dernier message: 07/12/2009, 22h49
  4. [PHP 5.0] url rewrite ajouter une règle
    Par _bender_ dans le forum Langage
    Réponses: 2
    Dernier message: 19/01/2009, 17h11
  5. Réponses: 5
    Dernier message: 28/10/2008, 14h26

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