web-dev-qa-db-fra.com

Comment construire une bibliothèque de films dans WordPress 3.x

Pour m'aider à apprendre le développement WordPress, j'aimerais aller "au-delà du blog" et créer une bibliothèque de films personnelle - similaire à IMDb mais à une échelle beaucoup plus petite.

J'ai besoin d'aide pour comprendre comment aborder le projet dans WordPress et ce que j'ai besoin d'apprendre.

Voici le genre de choses que j'aimerais faire sur le site:

  • Lorsque vous visitez la page d'un acteur, ses films sont extraits de la base de données et affichés. Vous pouvez trier les films par année, titre, classement, etc. Vous pouvez également cliquer sur le titre du film pour aller à la page de ce film.

  • Lorsque vous visitez la page d'un film, les acteurs du film sont extraits de la base de données et affichés avec des informations telles qu'un résumé du film, ma note et si je possède le DVD.

  • Sur la page d'accueil, vous pouvez effectuer une recherche de films. Par exemple, si je suis d'humeur pour une comédie des années 80, je peux rechercher des films du genre Comédie sortis entre 1980-1989 et que je possède en DVD.

Je peux déjà écrire tous les PHP et MySQL nécessaires, mais je ne comprends pas où va le code dans WordPress. Par exemple...

  • Cette application nécessiterait-elle la création d'un plug-in ou simplement l'ajout de code à mon thème?

  • La page de chaque acteur serait-elle traitée comme une "page" ou serait-elle traitée comme un message?

  • Pour les pages d'acteur, où irait la requête qui récupère la liste des films?

  • Lorsque le formulaire de recherche est soumis, où se trouve le script qui traiterait la demande de recherche?

-

Je cherche simplement un push dans la bonne direction concernant la manière dont WordPress traiterait une application comme celle-ci. Merci d'avance!

2
cantera25

Plugin vs Thème vs MU-Plugin vs Drop-In

"Cette application nécessiterait-elle la création d'un plug-in ou simplement l'ajout de code à mon thème?"

Fondamentalement, tous les quatre sont les mêmes. Ils ne diffèrent que par deux points:

  1. Lieu et

    • MU-Plugins sont dans le dossier mu-plugins 1)
    • Les plugins sont dans le répertoire plugins
    • Les drop-ins résident dans le dossier wp-content en tant que fichiers uniques en dehors des dossiers
    • Les thèmes se trouvent dans le répertoire themes et/ou tout autre répertoire que vous avez enregistré via register_theme_directory(); (ce qui devrait être fait dans un drop-in).
  2. Ordre de chargement et donc accès aux hooks wordpress.

    • MU-Plugin - peut accéder à 'muplugins_loaded'
    • Plugin & Drop-In - peut accéder à 'plugins_loaded'
    • Thème - peut accéder à 'after_theme_setup'

… Et plus tard des crochets.

Types de messages personnalisés

"La page de chaque acteur serait-elle traitée comme une" page "ou serait-elle traitée comme un message?"

WordPress sort de la boîte - avec certains types de post intégrés

  • Poster
  • Page
  • Pièce jointe/Média
  • Lien
  • Elément de menu de navigation

Mais vous avez la possibilité d’ajouter vos propres CPT 2). Il suffit de lire l’article lié du Codex sur la façon de configurer ses propres CPT de film/acteur ou d’utiliser un ensemble de classes comme base, comme ce grand ( y compris un tutoriel) de Toscho .

Taxonomies Personnalisées

WordPress a également été construit dans les taxonomies

  • Catégories (hiérarchique)
  • Tags (non hiérarchiques)
  • Catégorie de lien (pour le type de post de liens)
  • Format de publication (pour le type de publication)

Modèles et thèmes

"Pour les pages d'acteur, où irait la requête qui récupère la liste des films?"

WordPress a obtenu la hiérarchie de modèles . En gros, ce sont deux choses:

  1. Un mécanisme de routage - indique le fichier de thème à charger - s'il existe
  2. Un mécanisme de modification de requête - indique les fichiers à charger

Ce message de @ Rarst vous expliquera comment modifier WP_Query pour obtenir exactement les messages que vous souhaitez, lorsque WP ne le livre pas déjà à votre demande.

Installations standard dénudées

Parfois, vous voudrez peut-être réduire un peu WP pour obtenir une interface plus propre pour votre application. Il suffit de regarder WP Strip Naked comme point de départ.

Si vous avez des ajouts pour le plugin, laissez un commentaire ou, mieux encore, changez-le et faites une demande de tirage sur github.

Post-relations

Posts2Posts est la voie à suivre si vous devez interconnecter des publications ou des CPT. Essayer de le gérer sans le plugin n’a aucun sens, car l’auteur est un contributeur essentiel et se préoccupe constamment de le développer.

Méta-boîtes à usage spécial

Lorsque vous avez besoin de champs spéciaux pour vos types de publication, vous feriez mieux d'utiliser une bibliothèque comme par exemple l'ensemble de classes RW_Meta_Box . Comme avec le plug-in Posts2Posts, cela n'a aucun sens d'essayer de résoudre ce problème vous-même - cela ne vaut pas la peine 3).

Modifier la recherche

"Lorsque le formulaire de recherche est soumis, où se trouve le script qui traiterait la demande de recherche?"

En général, WP a des éléments intégrés (appelés balises de modèle) permettant d'afficher le formulaire de recherche, la page de résultats de la recherche, etc.

Il y a déjà une autre réponse, où j'ai écrit en détail . L'approche peut être adaptée à votre cas d'utilisation.

Crochets et filtres

Dans de nombreux cas, vous voudrez peut-être utiliser un hook ou un filtre dans le fichier functions.php ou un fichier de plug-in au lieu de modifier le résultat. En règle générale, c'est un moyen de modifier des éléments sur le vol et à la demande. Cela permet de rendre votre application plus performante et de garder le code en dehors de vos modèles. Il suffit de lire davantage sur ce sujet dans le Codex.

Approche alternative avec des plugins

Comme toujours pour des cas spéciaux, vous avez PODS pour le sauvetage. Ce plugin est le couteau suisse pour toutes sortes de types de contenus à usage spécifique. De plus, il est construit en relation avec les éléments personnalisés et intégrés (des utilisateurs aux types d'articles).

Notes de bas de page

1) "Une chose à noter est que les plug-ins à utiliser ne fonctionnent pas comme les plug-ins ordinaires, qui sont généralement stockés dans leur propre répertoire avec un fichier contenant un en-tête de plug-in. Avec les plug-ins MU, WordPress ne recherche dans le répertoire mu-plugins que les fichiers .PHP et non les fichiers des sous-répertoires. Par conséquent, si vous souhaitez déplacer des plug-ins réguliers dans le répertoire plug-ins MU, vous devrez probablement créer un fichier proxy. Ce fichier doit contenir un PHP require_once () pour inclure le .PHP principal du plugin à partir de son sous-répertoire. Vous pouvez également créer un seul fichier .PHP avec un require_once () pour chacun des -plugins directory. " Mike Schinkel sur le blog hakres sur le sujet MU-Plugins

2) CPT est l'abréviation de Custom Post Type

3) J'ai abandonné le développement de mon propre ensemble de cours il y a environ 2 mois et j'ai investi mon temps dans la bibliothèque Rilws/Anhs. Le développement avance rapidement et nous répondons à presque toutes les demandes de tirage avec un "Merci".

8
kaiser