web-dev-qa-db-fra.com

Base de données TV Show - Le meilleur moyen de la structurer?

Je souhaite créer une base de données TV Show dans Wordpress comportant le format URL suivant:

/tvshows/friends/01/12/
  • /tvshows/ listerait toutes les séries
  • /tvshows/friends/ listerait toutes les saisons disponibles pour Friends TV Show
  • /tvshows/friends/01/ listerait tous les épisodes d'amis de la saison 1
  • /tvshows/friends/01/12/ afficherait des informations sur le 12ème épisode de la première saison

Et voici les différentes méthodes auxquelles j'ai pensé:

1) La première idée qui m'est venue à l'esprit est de créer Pages et de les imbriquer en conséquence. Créez ensuite 3 modèles de page différents (TVShow.php, Season.php et Episode.php) et attribuez un style à chaque page en conséquence. L'inconvénient principal est qu'une fois qu'il y a 200 séries avec 4 saisons et 25 épisodes chacune (20 000 pages au total), il peut être un désordre complet de tout mettre à jour et de tout trouver. (Un autre inconvénient est le flux RSS bien que cela puisse être résolu via des plugins)

TV SHows - Page-based

2) Certains collègues me suggèrent d’utiliser Messages personnalisés mais ceux-ci n’ont pas de structure hiérarchique et bien que je puisse ensuite utiliser mod_rewrite pour rendre les URL agréables, je suppose que ce serait encore plus compliqué que d’utiliser Pages. (Il y a ce plugin qui gère les publications personnalisées via une interface utilisateur bien que je ne sois pas capable de créer une organisation hiérarchique)

3) La dernière idée est de les avoir comme Posts normaux puis de les classer par nom de série, saison et épisode, évitant ainsi tous les soucis liés aux posts personnalisés et utilisant de simples fonctions de l'API Wordpress pour tout lister et tout afficher.

C’est la meilleure façon de penser, l’option basée sur la page peut être la plus appropriée, bien que évolutive de manière pénible dès qu’il y a plus de 500 pages.

Des idées, des suggestions sur la façon d'organiser cela?

Merci d'avance! :)

3
Xavi Esteve

Premièrement, vous ne devriez pas faire cela avec les types de publication intégrés de post ou page. Utilisez un type de message personnalisé.

Exemple: movies et series, où movies n'est pas hiérarchique, mais series.

Utilisez register_post_type() et définissez hierarchical sur true (valeur par défaut: false). Jetez un coup d'œil à l'argument rewrite> with_front pour ajouter /series/ au début.

Ajoutez ensuite quelques modèles:

  • series-list.php,
  • series-detail.php,
  • série-saison.php,
  • série-episode.php ...
2
kaiser

Justin Tadlock a créé une base de données de films à l’aide de taxonomies personnalisées aboutissant à quelque chose de similaire et il le décrit dans un tutoriel ici

3
Carson