Vous n'êtes pas identifié.
Annonce
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook et sur Twitter
#1 13-09-2009 11:46:22
[Résolu] Souci avec les permaliens
Bonjour,
Ma configuration WP actuelle
- Version de WordPress : 2.8.4
- Thème utilisé : Ferven (très) personnalisé
- Plugins en place : Askimet
- Nom de l'hebergeur : Online
- Adresse du site : http://www.torondel.net/v6
Problème(s) rencontré(s) :
Je compte refaire mon portfolio sur une base Wordpress, j'ai en tête une structure assez particulière : un site totalement horizontal.
Je suis parti avec en tête ce schéma là :
Je suis parti à la base du thème Ferven, mais compte ne rien en garder au final, c'était juste pour avoir à la base une structure avec 2 sidebars.
J'en suis juste à la mise en place de la structure, sans aucune recherche graphique ni contenu pour l'instant.
Je suis arrivé à faire ce que je voulais, c'est visible ici :
torondel.net v6
Pour naviguer entre les "sections" horizontale, il faut passer par les liens Accueil, Portfolio, Services, Parcours... ce sont en fait des liens ancres, et il y a un javascript qui fait que le défilement se fait de manière progressive.
Jusqu'ici, tout va bien 
Mon souci est le suivant : la réelle partie contenu, celle ou il y aura les articles WP, c'est la section #portfolio, qui est donc en 2e position. Donc quand le visiteur sera dans cette partie, et qu'il voudra naviguer, donc qu'il changera de page, il faut qu'il revienne automatiquement à cette section.
Donc les liens devront avoir automatiquement à la fin #portfolio, par exemple :
http://www.torondel.net/v6/cest-quoi-ce … #portfolio
Je pensais donc simplement modifier le réglage de mes permaliens, sous la forme :
/%postname%#portfolio
mais ca ne fonctionne pas, déjà j'ai du coup une erreur PHP :
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in classes.php on line 210
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in classes.php on line 211
et quand je clique sur un lien, la forme semble bonne, mais ca me donne en résultat "page non trouvée".
Est-ce que cela veut dire qu'il faut que j'essaye d'agir directement dans le fichier htaccess ?
Je ne suis pas du tout développeur, mais graphiste qui "bidouille" du mieux qu'il peut... donc avant de chercher comment écrire cette redirection en htaccess, je préfère être sur que ce soit nécessaire 
Merci d'avance pour tout conseil !
David
Hors ligne
#2 19-09-2009 22:07:40
- Comme une image
- Burpeur Wordpress

- Lieu: Paris (enfin presque)
- Date d'inscription: 30-01-2008
- Messages: 2498
- Site web
Re: [Résolu] Souci avec les permaliens
Essaye en faisant /%postname%/#portfolio peut-être ?
Sinon, tu peux modifier ton thème pour que les liens incluent automatiquement le #portfolio en plus.
Et puis il faudrait faire la même chose pour ton flux RSS.
Je pense que ça doit être possible, ton truc, mais c'est de la bidouille ceinture noire ;-)
Hors ligne
#3 21-09-2009 07:59:39
Re: [Résolu] Souci avec les permaliens
Comme une image a écrit:
Essaye en faisant /%postname%/#portfolio peut-être ?
Non, je viens d'essayer, ca fait le même souci que lors de mes précédents essais, c'est à dire que ca affiche dès l'arrivée sur le site une série de "
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in classes.php on line 210
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in classes.php on line 211"
et si je clique sur un titre d'article, je tombe sur une page 404.
Comme une image a écrit:
Sinon, tu peux modifier ton thème pour que les liens incluent automatiquement le #portfolio en plus.
Et puis il faudrait faire la même chose pour ton flux RSS.
Je pense que ça doit être possible, ton truc, mais c'est de la bidouille ceinture noire ;-)
Vais continuer de chercher, modifier directement dans le PHP, pourquoi pas, j'avais pas pensé à ça...
Merci en tout cas !
A+
David
Hors ligne
#4 21-09-2009 11:08:23
- Anonyme 2
- Blogueur Fou
- Date d'inscription: 22-05-2007
- Messages: 11665
Re: [Résolu] Souci avec les permaliens
Bonjour,
moi je ne dis pas pareil,je ne pense pas que cela soit possible
/%postname%/#portfolio je n'ai jamais vu ça .
#portfolio /%postname%/ ça oui
Hors ligne
#5 21-09-2009 11:59:29
Re: [Résolu] Souci avec les permaliens
Anonyme 2 a écrit:
Bonjour,
moi je ne dis pas pareil,je ne pense pas que cela soit possible
/%postname%/#portfolio je n'ai jamais vu ça .
#portfolio /%postname%/ ça oui
Je viens de tester, idem que précédement, j'obtiens une suite de :
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in classes.php on line 210
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in classes.php on line 211
et quand je clique sur un lien, ca me donne en résultat "page non trouvée".
Par curiosité uniquement, vu que je ne fais pas de php, j'ai été voir le fichier classes.php, aux lignes 210/211 je trouve cette instruction :
if (preg_match("#^$match#", $request_match, $matches) ||
preg_match("#^$match#", urldecode($request_match), $matches)) {
// Got a match.
$this->matched_rule = $match;
// Trim the query of everything up to the '?'.
$query = preg_replace("!^.+\?!", '', $query);
// Substitute the substring matches into the query.
eval("@\$query = \"" . addslashes($query) . "\";");
$this->matched_query = $query;
// Parse the query.
parse_str($query, $perma_query_vars);
// If we're processing a 404 request, clear the error var
// since we found something.
if (isset($_GET['error']))
unset($_GET['error']);
if (isset($error))
unset($error);
break;
}
Même si je ne comprends pas grand chose au code ci-dessus, j'en déduis que ca fit une action précise si dans l'URL est trouvée le signe "#", cequi est mon cas.
J'ai essayé juste pour voir d'enlever toute l'instruction if en question, je n'ai plus les alertes après, mais les liens ne marchent pas mieux, j'ai testé pourtant les différentes propositions faites ici.
Donc il doit bien y avoir des soucis entre WP et le caractère # dans une url...
Je vais fouiller de ce côté, pour voir...
Hors ligne
#6 21-09-2009 12:08:08
- GazPumped
- Habitué WP
- Lieu: Paris
- Date d'inscription: 24-08-2009
- Messages: 98
Re: [Résolu] Souci avec les permaliens
Pour faire simple, c'est plutôt du côté du template que tu dois te tourner ...
Par exemple, pour garder le #portfolio lorsque l'on clique sur le titre d'un article, il faut que tu lien (ta balise <a>) ressemble à quelque chose comme ça :
<a href="<?php the_permalink(); ?>#portfolio"><?php the_title();?></a>
Dernière modification par GazPumped (21-09-2009 12:08:38)
Hors ligne
#7 21-09-2009 12:16:45
Re: [Résolu] Souci avec les permaliens
GazPumped a écrit:
Pour faire simple, c'est plutôt du côté du template que tu dois te tourner ...
Par exemple, pour garder le #portfolio lorsque l'on clique sur le titre d'un article, il faut que tu lien (ta balise <a>) ressemble à quelque chose comme ça :
<a href="<?php the_permalink(); ?>#portfolio"><?php the_title();?></a>
Je viens de tester, ca semble marcher en effet !
J'ai juste modifier sur la ligne du titre dans index.php, maintenant il faut que je farfouille pour trouver les codes des autres liens (sur les catégories, archives, etc)
Mais à priori, ca résoud mon souci, merci !
Hors ligne
#8 21-09-2009 12:25:15
- Comme une image
- Burpeur Wordpress

- Lieu: Paris (enfin presque)
- Date d'inscription: 30-01-2008
- Messages: 2498
- Site web
Re: [Résolu] Souci avec les permaliens
Merci GazPumped, de transformer en code ce que j'avais mal exprimé ! :-)
J'étais en train de me renseigner, il y a bien un « hook » 'the_permalink' et un autre 'the_permalink_rss' qui devrait permettre de faire ça proprement du genre (mais je ne suis pas fortiche donc à tester !!!!)
à placer dans functions.php du thème
Code: PHP
- function tweak_portfolio( $permalink= '' ) {
- $permalink .= "#portfolio" ;
- return $permalink ;
- }
- add_filter( 'the_permalink', 'tweak_portfolio', 999 );
- add_filter( 'the_permalink_rss', 'tweak_portfolio', 999 );
Hors ligne
#9 21-09-2009 12:38:17
Re: [Résolu] Souci avec les permaliens
Comme une image a écrit:
Merci GazPumped, de transformer en code ce que j'avais mal exprimé ! :-)
J'étais en train de me renseigner, il y a bien un « hook » 'the_permalink' et un autre 'the_permalink_rss' qui devrait permettre de faire ça proprement du genre (mais je ne suis pas fortiche donc à tester !!!!)
Et bien tu es plus fortiche que tu le penses, je viens de tester, ça marche impec sur tous les liens vers des articles, et également dans le flux rss, merci beaucoup !
Il me reste à trouver comment modifier aussi les liens de la sidebar, donc vers des catégories ou des archives...
Donc les liens sous la forme : http://www.torondel.net/v6/category/animation/, http://www.torondel.net/v6/category/animation/page/2/, ou encore http://www.torondel.net/v6/2009/08/ qui devraient aussi avoir ce fameux #portfolio à la fin...
Est-ce que c'est modifiable de la même manière ? Ou alors je vais être obligé d'aller modifier les fichiers que j'ai vus dans le rep "wp-include", ce qui m'embéterais vu que cela voudrait dire qu'il faudra que je répercute les modifs à chaque MAJ de WP...
Hors ligne
#10 21-09-2009 13:06:41
- Comme une image
- Burpeur Wordpress

- Lieu: Paris (enfin presque)
- Date d'inscription: 30-01-2008
- Messages: 2498
- Site web
Re: [Résolu] Souci avec les permaliens
Cool si mon truc marche ;-)
Bon, j'ai regardé un peu la doc et j'ai vu qu'il y avait un paquet de filtres qui s'appliquaient aux liens :
http://codex.wordpress.org/Plugin_API/F … nk_Filters
Donc, pour tester, tu peux ajouter des lignes
add_filter( 'filtre_à_tester', 'tweak_portfolio', 999 );
Y a, par exemple tag_link pour les tags, mais j'ai rien vu pour les catégories 
Hors ligne
#11 21-09-2009 14:03:59
Re: [Résolu] Souci avec les permaliens
Comme une image a écrit:
Cool si mon truc marche ;-)
Bon, j'ai regardé un peu la doc et j'ai vu qu'il y avait un paquet de filtres qui s'appliquaient aux liens :
http://codex.wordpress.org/Plugin_API/F … nk_Filters
Donc, pour tester, tu peux ajouter des lignes
add_filter( 'filtre_à_tester', 'tweak_portfolio', 999 );
Y a, par exemple tag_link pour les tags, mais j'ai rien vu pour les catégories
OK, j'ai compris le principe, ca fonctionne ! Pour les catégories aussi :
http://codex.wordpress.org/Plugin_API/F … ry_Filters
Un grand merci à toi et aux autres, je vais pouvoir avancer dans mon projet !
Hors ligne


