Besoin de vos lumières en programmation…

Cador de wordpress, de php, des expressions régulières vous allez peut être pouvoir m'aider car je suis un peu bloqué et je n'arrive pas à trouver la solution à mes deux problèmes (peut être fort basiques d'ailleurs).

Premier problème : Comment faire la redirection des anciennes url vers le nouveau format (sans utiliser de plugin mais le fichier htaccess).

Mes anciennes urls avaient pour structure : http://mondomaine.com/category/postname
Les nouvelles adresses ajoutent uniquement le numéro de l'article à la fin : http://mondomaine.com/category/postname-postID

Cela commence par RewriteRule mais après j'avoue que je ne pige rien aux expressions régulières...

Deuxième problème : Je souhaite utiliser les images stockées dans wordpress, plus précisément dans la media gallery pour en faire un module de galeries d'image pour wordpress. A priori cela n'est pas si compliqué, le code ci-dessous (nettoyé par amaury) permet d'afficher toutes les images de votre blog sur une seule page mais il est vrai qu'afficher plus de 2000 images prend un peu de temps et alourdie un tout petit peu cette dernière!

gallery-wall

L'idée serait d'utiliser la pagination native de wordpress (ça je ne sais pas faire) ou bien mettre en place une pagination plus classique mais cela dépasse mes compétences...

Voici le code à intégrer dans un template de page pour afficher toutes les images de votre blog (ce code fonctionne sous wp 2.7) :

1
2
3
4
5
6
7
8
9
< ?php
global $post;
$attachments = get_children( array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC') );
foreach( (array) $attachments as $attachment ) :
   echo '<div id="post-'.$attachment->ID.'" class="postthumbimg-ds">';
       echo wp_get_attachment_link($attachment->ID, 'thumbnail', true);
   echo '</div>';
endforeach;
?>

Si vous avez des idées ou des propositions de code vous pouvez m'envoyer un email (hlabarre (at) gmail.com) car le code dans les commentaires n'a jamais été un truc très bien supporté sous wordpress. Merci pour votre aide!

Update : Les deux problèmes sont résolus, pour le premier voir les commentaires et pour le second le plugin Simple All Pictures qui a été créé par Amaury Balmer.

17 Commentaires

  • 1
    December 18, 2008 - 5:41 pm | Permalink

    Problème#1 :
    Solution : Deans Permalink Migration
    URL : http://www.deanlee.cn/wordpres.....on-plugin/

  • 2
    December 18, 2008 - 5:45 pm | Permalink

    Non car ce plugin est incompatible avec redirection d’urban giraff : http://urbangiraffe.com/ c’est pour cela que je veux le faire directement dans le htaccess!

  • 3
    December 18, 2008 - 5:55 pm | Permalink

    Bonjour,
    Pour le problème #1 tu ne peut pas le faire avec un simple htaccess. L’ID n’étant pas present dasn les anciennes URL tu ne peut pas le mettre dasn les nouvelles. Les expression régulière te permettent juste de “déplacer” des bouts de l’ancienne url dans la nouvelle ou bien d’y ajouter des données statiques. Si l’ID n’est pas présent dans les anciennes URL tu ne pourra pas le rajouter dans la nouvelle sauf si tu fais une régle de réécriture pour chaque ancienne URL ;)

  • 4
    December 18, 2008 - 6:00 pm | Permalink

    Merde je me disais bien que cela allait coincer… Peut être que je peux mettre cette redirection dans le plugin d’urban giraff qui lui est intégré dans wordpress (à l’inverse du htaccess)?

  • 5
    December 18, 2008 - 6:51 pm | Permalink

    Pour ton problème 1, la fonction wp_old_slug_redirect() ne s’applique pas ?
    Pour le 2, pas eu le temps de fournir la suite ;)

  • 6
    December 18, 2008 - 7:48 pm | Permalink

    @amaury, je vais chercher du côté de cette fonction, pour le point 1! Pour le 2 je suis curieux de voir le résultat (cela se package en plugin cette appli non?).

  • 7
    December 18, 2008 - 8:01 pm | Permalink

    Pour le premier probleme, comme l’a dit Vince1415, pas possible a cause des id, mais une par une ca reste faisable avec un bout de code PHP pour qu’il edite lui meme le fichier htaccess

  • 8
    December 19, 2008 - 12:15 pm | Permalink

    Pour moi, la solution au (1) serait que ton htaccess redirige le visiteur vers une page php, qui irait chercher le Post ID et redirigerait à nouveau le visiteur vers la nouvelle url …

  • 9
    December 19, 2008 - 1:13 pm | Permalink

    Salut henri,

    pour ta galerie, tu devrais aller faire un tour sur le plugin Nextgen Gallery, qui utilise ce genre de pagination: http://wordpress.org/extend/pl.....n-gallery/

    @+

  • 10
    December 21, 2008 - 1:48 pm | Permalink

    Enfin je viens de trouver la solution pour le problème #1. J’utilisais un plugin appelé “permalink redirect” (http://scott.yang.id.au/code/permalink-redirect/) qui fonctionnait très bien avant mon changement de format d’url mais en intégrant la nouvelle structure je n’avais pas mis de “/” à la fin de :

    /%category%/%postname%-%post_id%/

    et cela fait planter la pagination du blog.

    Il ne reste donc que le problème #2 ;)

  • 11
    January 18, 2009 - 9:34 am | Permalink

    slt
    as tu modifié le code Amaury car je n’arrives pas à le faire fonctionner
    merci

  • 12
    January 18, 2009 - 5:01 pm | Permalink

    je n’ai modifié que le CSS pour la mise en forme des vignettes c’est tout. Le script fonctionne à merveille chez moi…

  • 13
    January 28, 2009 - 2:19 pm | Permalink

    ou se trouve ta galerie?

  • 14
    January 28, 2009 - 2:24 pm | Permalink

    ici : http://www.blogdecodesign.fr/galerie/

  • 15
    January 28, 2009 - 5:03 pm | Permalink

    ok ca marche merci
    http://reynald.incident.net/archives/2/

  • 16
    January 28, 2009 - 8:17 pm | Permalink

    sur ta galerie lorsque l’on clique sur tes images il y a une erreur…

  • 17
    January 28, 2009 - 8:29 pm | Permalink

    le serveur rame un peu depuis la migration on travaille dessus (enfin amaury y travaille)… Théoriquement cela fonctionne, chez toi cela marche nickel!

  • Laisser un commentaire

    Votre email ne sera jamais publié. Les champs obligatoires sont marqués *

    *
    *

    Additional comments powered by BackType