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) :

< ?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 '
'; echo wp_get_attachment_link($attachment->ID, 'thumbnail', true); echo '
'; 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.

Articles en rapport :

17 Commentaires

  • 1
    décembre 18, 2008 - 17 h 41 min | Permalien

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

  • 2
    décembre 18, 2008 - 17 h 45 min | Permalien

    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
    Vince1415
    décembre 18, 2008 - 17 h 55 min | Permalien

    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
    décembre 18, 2008 - 18 h 00 min | Permalien

    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
    décembre 18, 2008 - 18 h 51 min | Permalien

    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
    décembre 18, 2008 - 19 h 48 min | Permalien

    @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
    tonio
    décembre 18, 2008 - 20 h 01 min | Permalien

    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
    décembre 19, 2008 - 12 h 15 min | Permalien

    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
    décembre 19, 2008 - 13 h 13 min | Permalien

    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
    décembre 21, 2008 - 13 h 48 min | Permalien

    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
    janvier 18, 2009 - 9 h 34 min | Permalien

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

  • 12
    janvier 18, 2009 - 17 h 01 min | Permalien

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

  • 13
    janvier 28, 2009 - 14 h 19 min | Permalien

    ou se trouve ta galerie?

  • 14
    janvier 28, 2009 - 14 h 24 min | Permalien

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

  • 15
    janvier 28, 2009 - 17 h 03 min | Permalien

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

  • 16
    janvier 28, 2009 - 20 h 17 min | Permalien

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

  • 17
    janvier 28, 2009 - 20 h 29 min | Permalien

    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 adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    *

    Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    More in wordpress (36 of 108 articles)


    Parfois les changements de thèmes, les changements de stratégie de présentation de l'information de votre blog peuvent impacter la taille ...