web-dev-qa-db-fra.com

Comment configurer une entité (post-type?) Avec de nombreuses entités dépendantes (plusieurs post-types?)

Je veux que le CMS wordpress gère un nouveau type de contenu appelé Athlètes. La structure de données pour l'athlète serait la suivante:

Athlete.name
Athlete.date_of_birth
Athlete.profile
etc...

Un athlète aura également une galerie de photos. Donc, dans une conception de base de données relationnelle typique, vous aurez quelque chose comme:

Athlete_Gallery.id
Athlete_Gallery.athlete_id
Athlete_Gallery.file_name

Un athlète aura également participé à de nombreux tournois. Donc, dans une conception de base de données relationnelle typique, vous aurez quelque chose comme:

Athlete_Tournament.id
Athlete_Tournament.athlete_id
Athlete_Tournament.tournament_name
Athlete_Tournament.win_or_loss
Athlete_Tournament.score
Athlete_Tournament.weight_class
etc...

Un athlète aura également une liste d'entraîneurs avec lesquels il s'est entraîné, suivant un schéma de base de données similaire à Athlete_Tournament.

Quelle est la meilleure façon de configurer un CMS qui gérera une telle structure de données? De quels plugins aurai-je besoin?

NOTES SUPPLÉMENTAIRES J'ai examiné les pods, mais la procédure de création d'enregistrements dépendants n'est pas optimale. Si je veux enregistrer le fait que John a remporté le tournoi de la ville 2001, je dois actuellement:

  • aller à une page de tournoi
  • créer 2001 City Tournament
  • aller à la page John
  • associer John au record du tournoi de la ville de 2001
  • enregistrer

Ce n'est pas idéal. Au lieu de cela, je veux:

  • aller à la page John et voir une section appelée tournois
  • ajouter le tournoi de la ville 2001
  • enregistrer

Pods ne semble pas faire cela hors de sa boîte .... corrigez s'il vous plaît si je me trompe. Merci

1
John

Vous voulez Posts 2 Posts , ce qui est un moyen phénoménal de relier efficacement différents types de contenu dans WordPress.

Combinez cela avec des méta-boîtes personnalisées avec vos champs et vous obtenez un système très agréable et utilisable qui fait ce que vous voulez. Il y a beaucoup de tutoriels sur la création de boîtes à méta personnalisées.

Alors disons que vous avez les types de post suivants:

  • athlète
  • athlete_gallery
  • athlete_tournament
  • entraîneur

Vous reliez chacun avec une relation Post 2 Posts:

<?php
add_action('p2p_init', 'wpse59137_connections');
function wpse59137_connections()
{
    // athletes to galleries
    p2p_register_connection_type(array(
        'name'  => 'athlete_to_gallery',
        'from'  => 'athlete',
        'to'    => 'athlete_gallery',
    ));

    // athletes to tournaments
    p2p_register_connection_type(array(
        'name'  => 'athlete_to_tournament',
        'from'  => 'athlete',
        'to'    => 'athlete_tournament',
    ));

    // athletes to coaches
    p2p_register_connection_type(array(
        'name'  => 'athlete_to_coach',
        'from'  => 'athlete',
        'to'    => 'coach',
    ));
}

Ce que vous obtenez de ce qui précède est quelques boîtes à méta dans la zone d'administration pour créer des relations. Ces boîtes sont également hautement personnalisables, alors assurez-vous de consulter la documentation .

1
chrisguitarguy

Pour cela, je voudrais utiliser Pods CMS .

Il vous permet de créer rapidement des types de contenu personnalisés pouvant être liés les uns aux autres, ainsi que d'autres types d'objet Wordpress.

L'avantage par rapport aux types de publication personnalisés de Wordpress est qu'il crée pour vous des tables MySQL avec des types de colonne uniques mappés à vos données. Il vous permet ensuite de définir des relations avec d'autres "Pods".

Pods CMS est bien plus facile et plus utile que les types de publication personnalisés, les champs personnalisés et divers plug-ins pour essayer de les relier entre eux. Vous pouvez faire tout cela en ajoutant des champs personnalisés contenant l'ID de l'autre type de publication personnalisé, mais cela devient très laid et désordonné et ce n'est pas votre schéma de base de données relationnelle typique.

J'aimerais avoir plus de temps pour écrire personnellement sur les utilisations, mais en bref, voici un aperçu utile et un extrait:

Appeler un "plugin" de Pods est un euphémisme. C’est l’un de ces plugins WordPress qui fait bien plus que fournir des fonctionnalités qui facilitent un peu la vie ou rendent WordPress bien plus utile.

Les pods ont changé ma façon de travailler avec WordPress. Pods m'a permis d'utiliser véritablement WordPress en tant que système de gestion de contenu pour lequel il était né. Alors qu’une tonne d’excellentes choses se passent dans le noyau, Pods nous donne ce dont nous avons besoin pour travailler aujourd’hui, et c’est spectaculaire.

  • Ce qui précède est tiré de l’article de synthèse de Pods CMS par Jonathan Christopher de lundi à midi

P.S. Je voudrais créer un lien supplémentaire, mais je ne peux ajouter que 2 liens. La série de Monday by Noon est de loin la meilleure introduction à Pods CMS que j'ai vue. J'ai fait des choses incroyables avec Pods CMS, y compris un panier personnalisé, des systèmes d'inscription d'événements, etc. C'est TRÈS flexible et puissant.

Bonne chance!

0
Jean-Patrick Smith