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!
"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:
Lieu et
mu-plugins
1)plugins
wp-content
en tant que fichiers uniques en dehors des dossiersthemes
et/ou tout autre répertoire que vous avez enregistré via register_theme_directory();
(ce qui devrait être fait dans un drop-in).Ordre de chargement et donc accès aux hooks wordpress.
'muplugins_loaded'
'plugins_loaded'
'after_theme_setup'
… Et plus tard des crochets.
"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
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 .
WordPress a également été construit dans les taxonomies
"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:
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.
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.
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.
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).
"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.
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.
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).
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".