- Statut : non résolu
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par
olivierbeyo, le il y a 12 années et 3 mois.
-
AuteurMessages
-
21 mars 2013 à 8 h 38 min #522054
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 3.5.1
– Version de PHP/MySQL : 5.2.11 / 5.5.8
– Thème utilisé personnalisé :
– Extensions en place :
– Nom de l’hebergeur : local
– Adresse du site :Problème(s) rencontré(s) :
n’ayant pas réussi avec les différents plugins de breadcrumb (chemin de fer) a avoir une solution satisfaisante, j’ai du ajouter un paramètre de query string (parentid) pour pouvoir créer mon chemin de fer perso.
J’ai créé des custom post types (realisation, video).
Le chemin de fer fonctionne correctement maintenant, mais j’ai un souci lorsque j’active la réécriture d’url.
mes url non réécrites sont de la forme :
1) ?realisation=habillage-de-stands&parentid=38 // pour les custom post type ‘realisation’
2) ?video=jardin-d-ailleurs&parentid=visite-jardin // pour les custom post type ‘video’
3) ?video_category=institutionnel&parentid=pedagogique //pour les custom tag ‘video_category’ associés au custom post type ‘video’
4) ?p=31&parentid=34 //pour les pages
5) ?tag=site-web&parentid=34 //pour les tagsj’ai essayé dans les permaliens la ‘Structure personnalisée’ avec
http://127.0.0.1/CONSTRUCTION/wordpress/%postname%/
mais dans ce cas, les url ne fonctionnent pas (404)
j’ai ajouté dans mon functions.php
function add_parentid_rewrite()
{
add_rewrite_rule(‘^realisation/([^/]*)/([^/]*)’, ‘index.php?realisation=$matches[1]&parentid=$matches[2]’, ‘top’);
add_rewrite_rule(‘^video/([^/]*)/([^/]*)’, ‘index.php?video=$matches[1]&parentid=$matches[2]’, ‘top’);
}
add_action( ‘init’, ‘add_parentid_rewrite’ );et j’ai
?realisation=habillage-de-stands&parentid=38
qui devient
realisation/habillage-de-stands/&parentid=0/
le lien fonctionne certes, mais je voudrais (devrait) avoir
realisation/habillage-de-stands/38/de même pour
?video=jardin-d-ailleurs&parentid=visite-jardin
qui devient
video/jardin-d-ailleurs/&parentid=visite-jardin/de même
?video_category=institutionnel&parentid=pedagogique
devient
video_category/institutionnel/&parentid=&parentid=pedagogique //avec 2 fois &parentid= !!
mais le lien fonctionne
=> quel est le souci ? pourquoi le &parentid= reste dans la version réécrite ?par contre
?p=31&parentid=34
devient
article2/&parentid=0
mais ne fonctionne pas=> quel est le souci dans ce cas ? quelle solution verriez vous ?
Merci d’avance
21 mars 2013 à 10 h 38 min #884487il est probable qu’il faille ajouter des appels à add_rewrite_tag pour faire reconnaitre les variables de tes query strings.
21 mars 2013 à 13 h 50 min #884488Oui, j’ai ajouté dans la fonction add_parentid_rewrite, avant les règles :
function add_parentid_rewrite()
{
add_rewrite_tag(« %parentid% », ‘([^/]*)’);
add_rewrite_rule(‘^realisation/([^/]*)/([^/]*)’, ‘index.php?realisation=$matches[1]&parentid=$matches[2]’, ‘top’);
add_rewrite_rule(‘^video/([^/]*)/([^/]*)’, ‘index.php?video=$matches[1]&parentid=$matches[2]’, ‘top’);
add_rewrite_rule(‘^video_category/([^/]*)/([^/]*)’, ‘index.php?video_category=$matches[1]&parentid=$matches[2]’, ‘top’);
}mais celà ne change rien à l’apparence du lien réécrit, ni au fonctionnement ou pas des liens.
j’ai aussi testé avec
add_rewrite_tag(« %parentid% », ‘([^/]*)’, ‘parentid=’);
mais c’est pareil…
il doit y avoir quelque chose qui doit m’échapper là.
Si vous avez des idées -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.