←back to Blog

Relation Post Types : Faire des relations entre les contenus de WordPress !

Depuis WordPress 3.0, il est possible de créer facilement à la volée des types de contenus (en anglais : custom post types), et d’y coupler des taxonomies. On peut par exemple, créer des petites annonces, et ajouter des taxonomies comme la région, un ordre de prix, l’état du bien, etc.

Mais les taxonomies ne sont pas nécessairement suffisantes dans un usage pro pour monter un site avec de nombreuses relations. Parfois, on souhaite relier 2 types de contenu ensemble, par exemple sur un site contenant des petites annonces, on voudra avoir la possibilité de lier des articles d’actualités à des petites annonces. Ainsi, on pourra facilement afficher des blocs de contenus liés sur le thème.

Pour y parvenir, j’ai développé le plugin : Relation Post Types

Relation Post Types – Réglages

Ce dernier offre la possibilité de choisir dans la console d’administration quelles liaisons voulez vous mettre en place. Par exemple, si vous avez des petites annonces et des articles à relier, vous pouvez choisir d’afficher un bloc « articles » sur la page d’édition des petites annonces, et inversement vous pouvez afficher le bloc « petites annonces » sur la page d’édition des articles. Ainsi, vous pouvez créer des relations dans les 2 sens.

Boite de sélection dans la page de rédaction

On peut même pousser le bouchon le plus loin et créer des relations entre contenus d’un même type de données, par exemple relier une petite annonce à d’autres petites annonces. Cela peut être utile pour générer du contenu relatif, mais manuellement.

Le plugin est disponible en téléchargement sur WP.org, dans le référentiel de plugins. Le plugin est réservé à un public de développeur ou d’utilisateurs avertis, il n’existe pas de fonctions prêtes à l’emploi à utiliser dans le thème, il vous faudra coupler les fonctions du plugin et WP_Query.

N’hésitez pas à me contacter pour tout bug ou évolution allant dans le sens du plugin.

19 réponses à “Relation Post Types : Faire des relations entre les contenus de WordPress !”

  1. Avatar de truffo
    truffo

    Très intéressant, les types personnalisées de WordPress 3 sont vraiment une avancé extrêmement utiles.

    Merci pour la contribution.

  2. Avatar de Lashon
    Lashon

    Merci pour ce plugin. Je pense à certains sites web pour lesquels j’ai pondu un gros fichier functions.php afin d’arriver à cela… Mais c’était avant WordPress 3.0 et les Custom Type. Trop de travail.Tout cela, WP 3. et ton plugin vont rendre les sites moins longs et moins tordus à fabriquer.

  3. Avatar de Amaury
    Amaury

    Content que ça puisse servir !

  4. Avatar de Aurélien
    Aurélien

    Ce plugin m’intéresse au plus au point. Petite question : est-il compatible avec WP 3.0 multi-site ?

    Je souhaiterais relier des articles de différents sites par exemple ?

    Merci !

  5. Avatar de Amaury
    Amaury

    Aurélien > le plugin est compatible avec WP 3.0 multi site. Mais ce que tu décris c’est une autre fonctionnalité.

    La possibilité de mettre des relations entre le contenu de différents sites, non je ne le propose pas, et ça n’est pas d’actualité !

  6. Avatar de Aurélien
    Aurélien

    D’accord ! Merci de ta réponse.

    Et tu ne connaîtrais pas par hasard un moyen de faire ce genre de trucs ? :)

  7. Avatar de fricotin
    fricotin

    Il me semble que c’est l’affaire de thèmes spécialisés, en particulier P2, de chez automattic.

  8. Avatar de Rod
    Rod

    je devais etre en avance sur mon temps quand j’ai commandé ca … mais bon.

  9. Avatar de Alain
    Alain

    J’ai une erreur au moment de l’activation :
    Fatal error: Class ‘Walker_Relations_Menu’ not found in /Applications/MAMP/htdocs/wp/wp-content/plugins/relation-post-types/inc/class.walker.php on line 7

    Que puis-je faire ?

    (je suis en WP 3.0)

  10. Avatar de Nicolas
    Nicolas

    Bonsoir Amaury,

    merci pour ce plugin, pile ce qu’il me faut. J’aime tellement que je n’en démords pas.
    Cependant je ne vois pas comment on affiche le résultat en front-end.
    Possible de nous poster un petit exemple svp.

    merci.

  11. Avatar de Nicolas
    Nicolas

    Bonjour,

    je viens de regarder et en fait en cherchant dans le code j’ai trouvé mon bonheur.
    Merci encore pour ce plugin…

    Je met ci-dessous la solution, ça peut servir :)

    il n’existe pas de fonctions prêtes à l’emploi à utiliser dans le thème, il vous faudra coupler les fonctions du plugin et WP_Query

    Les fonctions en questions se trouvent dans le fichier « function.inc.php » du répertoire du plugin (je ne sais pas si c’est une convention).

    Et du coup pour récupérer les ID en relation c’est :
    $id = rpt_get_object_relation( $post->ID );

  12. Avatar de Nicolas
    Nicolas

    J’ai une erreur au moment de l’activation :
    Fatal error: Class ‘Walker_Relations_Menu’ not found in /Applications/MAMP/htdocs/wp/wp-content/plugins/relation-post-types/inc/class.walker.php on line 7

    J’ai eu une erreur similaire au moment de mettre en prod (ligne 48 dans le même fichier pour ma part). Je suis tomber sur un post de l’auteur qui a résolu le problème.

    Si ça peut servir à quelque-un : Optimiser les performances de PHP et WordPress chez OVH en 4 lignes !

  13. Avatar de Carlos
    Carlos

    Bonjour,
    j’ai essayé d’activer le plugin à plusieurs reprises, et j’ai toujours le même message d’erreur : Fatal error: Class ‘Walker_Relations_Menu’ not found in /httpdocs/wp-content/plugins/relation-post-types/inc/class.walker.php on line 7.

    J’ai même tenter la manip OVH, mais ça n’a rien changé.

    Une idée de comment faire pour régler ce problème ?

    Merci,

    a+

  14. Avatar de Amaury
    Amaury

    Le plugin nécéssite PHP5 et WordPress 3.0 mini.
    Es-ce bien le cas?

  15. Avatar de Carlos
    Carlos

    Oui je suis sous WP 3.2.1 et avec PHP Version 5.2.9
    Impossible pourtant d’activer le plugin, j’ai toujours le même message d’erreur…

  16. Avatar de Gorn
    Gorn

    Chez moi ça a l’air de marcher nickel et c’est exactement ce sur quoi je bloquais depuis un petit moment ! un grand bravo à toi, vraiment !

  17. Avatar de Gorn
    Gorn

    Est-il possible d’afficher aussi les articles en brouillon, car là ça ne met que les articles hors ligne.

  18. Avatar de Moustache
    Moustache

    Merci pour ce plug-in tu viens de m'épargner pas mal d'heure de dev.

  19. Avatar de Wattswing
    Wattswing

    Salut Amaury,

    j’ai longtemps utilisé ton plugin pour créer des relations entre content types (tu en faisait la pub lors des cours de WP dispensés à HETIC :).

    Je ne sais pas si le dév est avorté pour le suivi de ce plugin, mais tu as une incompatibilité levant des notices coté WP :

    Declaration of Walker_Relations_Menu::start_lvl() should be compatible with Walker::start_lvl(&$output, $depth = 0, $args = Array) in /wp-content/plugins/relation-post-types/inc/class.walker.php:76