Je construis un site Web dans un "wrapper" WordPress, et tout se passe plutôt bien. J'ai un plugin qui contient une partie de mon code et un thème qui contient d'autres parties de mon code, et globalement, les choses semblent fonctionner comme je le souhaiterais.
Mon site n'est pas un blog et ne contiendra jamais de contenu de style blog. Il contient très peu d'éléments du type "Page" qui caractérisent les installations WordPress. En général, il n'utilise pas la plupart du reste de ce à quoi les gens pensent lorsqu'ils pensent ". WordPress '. J'utilise principalement WordPress car je souhaiterais que la gestion et la monétisation des comptes utilisateur soient gérées par WordPress et par des plugins tiers que je peux utiliser avec WordPress.
Donc, afin de construire mon site dans WordPress, je devais créer un tas de modèles de page, puis utiliser la fonction Créer une page de l'administrateur WordPress pour créer une page (vierge) avec un slug particulier (ou au moins un slug unique) pour chaque de mes modèles. Tout cela fonctionne.
Cependant, ce n'est pas très portable.
Ce que je veux dire par là, c'est que j'ai développé tous ces "modèles" (qui sont vraiment des pages entièrement fonctionnelles) et qu'ils existent dans mon thème, mais quand je veux déplacer mon code de ma boîte de dev vers l'environnement de test , Je dois aller dans l'interface d'administration de WP et créer laborieusement à nouveau toutes ces pages. Et priez pour que je ne gâche rien avec tous ces efforts manuels insensés.
Et puis, quand il est temps de passer à la Production, je dois refaire tout ça . Il va sans dire que cela n’est pas souhaitable.
Ma question est la suivante: comment utiliser mes pages PHP codées sur mesure dans WordPress de manière à ce qu'elles soient facilement accessibles portable entre les environnements? D'après la formulation du titre de cet article, vous pouvez voir que je suppose que cela impliquerait de ne pas utiliser de modèles, mais je ne sais pas ce que je ne sais pas. J'apprécierais donc les conseils de ceux d'entre vous qui utilisent davantage WordPress. expérience que j'ai.
Je pense que ce que vous voudrez faire - ou quelque chose comme ce que je ferais à votre place - est créer un simple plugin WordPress . (Je suis audacieux dans les choses que vous pouvez rechercher - de nombreuses informations à ce sujet seront à portée de main sur Internet, souvent en détail dans WordPress Codex.)
Lors de l'activation, il utilisera wp_insert_post pour créer les pages dont vous avez besoin. Les pages utiliseraient à leur tour le même modèle de page - appelez-le page-php.php ou quelque chose du genre. En combinant automatisation et codage en dur, le modèle de page "inclura" n'importe lequel de vos sous-pages php (ou celui que vous souhaitez appeler) aux points appropriés, ainsi que tout formatage de base approprié WP et balises de fonction. Une méthode typique consiste à copier le page.php du thème et à l'utiliser comme modèle.
Pour un plug-in de version générale, vous devrez peut-être examiner les tâches les plus difficiles de production par modèle de modèles de page ou d'utilisation de types de publication personnalisés. L’un ou l’autre pourrait en réalité valoir la peine d’être examiné, mais je ne pense pas que vous ayez vraiment besoin de le faire. Sur l'écran WordPress Toutes les pages, il vous suffit de sélectionner et de modifier en bloc vos nouvelles pages pour utiliser le fichier de modèle que vous ajouteriez à votre répertoire enfant .
Pour un plug-in de version générale, vous voudriez probablement aussi un moyen d’ajouter de nouvelles pages et des sous-pages associées au groupe, mais vous pouvez le faire à la main si vous n’avez pas été en mesure d’arriver à une solution par programme tout de suite. chauve souris.
En ce qui concerne tout autre fichier JS et PHP nécessaire et unique, tous pourraient être inclus si nécessaire avec le plug-in.
J'ajouterai simplement qu'il est possible de faire tout cela avec un thème enfant à la place en utilisant des méthodes très similaires, et vous voudrez quand même travailler avec un thème enfant.
Si et quand vous rencontrez des obstacles, vous pouvez revenir ici avec le code que vous utilisez et obtenir probablement une attention rapide, ainsi que des corrections utiles et des alternatives, très rapidement.