Quel processus utilisez-vous pour le développement WordPress? [fermé]

37

Je suis intéressé par la façon dont d'autres personnes développent des thèmes et des plugins pour WordPress. Pour moi, l'éditeur intégré au navigateur dans le panneau d'administration ne le coupe pas. Actuellement, j'utilise simplement un IDE avec un plugin PHP (NetBeans), extrayant mon répertoire Web de développement de mon serveur, l'édite, le mettant à tester, puis migrant pour vivre.

Je cherche comment les autres utilisateurs utilisent les outils de leur choix pour gérer les flux de travail afin de développer, tester et déployer des thèmes, des plug-ins et tester les dernières versions de WordPress par rapport à ceux-ci avant de les diffuser.

J'ai fait de ce site un wiki de communauté afin que d'autres personnes puissent partager leur processus de développement. Je ne m'attends pas à trouver une réponse juste et singulière ici - votre processus est le vôtre, et je ne m'attendrais pas à ce que vous fassiez fonctionne uniquement pour moi ou pour quelqu'un d'autre. Je souhaite simplement améliorer ma capacité à développer des plugins et des thèmes en voyant ce qui fonctionne ou non pour d'autres personnes.

Une autre question ici concerne des outils logiciels spécifiques pour prendre en charge le développement WordPress . . Ici, je recherche davantage de processus et de méthodes pouvant être appliqués indépendamment des outils, à l'exception de certaines tâches qui pourraient n'être accomplies que dans une certaine famille d'outils.

    
posée Thomas Owens 13.04.2017 - 14:37

10 réponses

20

Pour mémoire, je réalise principalement des sites Web et des plug-ins entiers, et les déploie. Mon flux de travail est très lourd en rubis et en git.

Pour commencer un nouveau projet, j'ai un script shell qui s'occupe de la configuration d'un nouveau vhost et de l'extraction de la dernière balise de WordPress (à partir de notre propre référentiel git, qui suit svn).

La forme de base de tout un site Web est un représentant git sur wp-content. Cela contient un fichier Capfile (l'équivalent Makefile de capistrano) et un fichier de configuration YAML qui, ensemble, se chargent du déploiement ( enlace ). De plus, à l'intérieur de ce référentiel, j'ajoute le thème et les plugins en tant que sous-modules git (oui, nous conservons également des référentiels git pour les plugins tiers - nous aimons utiliser la dernière version que nous avons testée personnellement).

Pour le thème, j'ai un outil / cadre de génération de code ( github.com/dxw/wp-generate . ). Cela signifie moins de réflexion sur le code à utiliser et une méthode naturelle de séparation entre la vue et le modèle / contrôleur.

Lors de l'écriture de plugins, j'utilise concombre / webrat pour effectuer un développement piloté par les tests ( github.com/dxw/cucumber-wordpress).

Et pour migrer les bases de développement vers la production, il s’agit généralement de copier le dump over (WP_SITEURL et WP_HOME sont définis par capistrano sur les machines de transfert / de production, donc pas de recherche / remplacement).

Je ne peux pas imaginer combien d'heures j'ai économisé avec ces scripts.

    
réponse donnée holizz 08.07.2011 - 06:44
6

@Thomas Owens Cette question chevauche et duplique quelque peu la question " Logiciel de développement de thèmes / plugins pour WordPress? ." Je ne sais pas si nous devrions fermer mais cela semble être un objectif légèrement différent. Alors ...

Mac OS X

Voici mon outil essentiel dès maintenant pour Max OS X (toujours à la recherche de meilleures solutions.) Remarque: j'ai essayé NetBeans et je l’ai abandonné. Trop lent et trop peu de fonctionnalités.

Windows Vista

Quand j'étais sous Windows Vista, mon essentiel Le jeu d’outils était le suivant:

Déploiement de code / migration de données vers un domaine à l'autre

Je ne sais pas si c'est exactement ce que vous recherchez, mais je développe un plug-in pour faciliter les migrations entre un serveur de développement local, un serveur de test et un serveur de déploiement. J'ai écrit à ce sujet ici:

J'espère que cela vous aidera

-Mike

    
réponse donnée MikeSchinkel 13.04.2017 - 14:37
5

Il s'agit d'une réponse de flux de travail non spécifique à un IDE ou à un plugin.

Une solution qui fonctionne vraiment bien pour le développement de plug-ins consiste à commencer par un serveur Web Apache local avec chaque variante wordpress installée dans un sous-dossier.

Dans un emplacement séparé en dehors de la racine du serveur local, stockez vos copies de travail pour le plugin / thème wordpress. Créez un lien symbolique vers le trunk / tag / branch approprié dans le dossier / wp-content / plugins de chaque variante wordpress.

Lors de l’édition du plugin dans votre IDE, les modifications que vous apportez seront bien évidemment représentées à chaque installation de wordpress, il sera donc facile de tester plusieurs variantes de wordpress.

Pour l’essentiel, vous pouvez ouvrir un onglet de navigateur pour chaque variante wordpress locale et les tester tout en travaillant sur un projet et une base de fichiers uniques.

Utilisation d'un IDE prenant en charge SVN & Tout ce que vous devez faire par FTP est d’éditer votre copie de travail et de valider vos modifications dans le référentiel.

Coda le fait pour moi, mais j'aime aussi NetBeans et Eclipse.

Une fois que vous êtes satisfait du fonctionnement de votre plug-in et que vous avez engagé ces modifications dans votre référentiel, vous pouvez ensuite ouvrir votre projet wordpress et publier le plug-in modifié directement sur votre site actif.

    
réponse donnée leetagg 20.08.2010 - 03:53
3

J'ai une configuration relativement simple qui a évolué depuis le début de mon travail actuel il y a environ 2,5 ans.

Développement

Je fais tout mon développement sur SSH en utilisant Vim dans écran GNU . Les plugins Vim incluent:

Les fractionnements verticaux et :set hidden sont essentiels. Je préfère également un terminal 256 couleurs ( iTerm sur Mac OS X) avec le jeu de couleurs railcasts .

Nous avons également modifié lentement dBug pour répondre à nos besoins. Bon remplacement pour print_r() et var_dump() lorsque vous savez que la variable est un tableau ou un objet.

Déploiement

Actuellement, je ne travaille pas sur beaucoup de plugins / thèmes publics, je ne teste donc pas la compatibilité des plugins avec plusieurs versions de WordPress. Je code sur le serveur de développement et déplace ce code en production via Subversion.

    
réponse donnée Annika Backstrom 20.08.2010 - 04:23
3

Processus de développement de thèmes WordPress

  • Convertissez le fil de fer Mock Flow en XHTML et CSS de base

  • Branchez XHTML dans le fichier de modèle master.php et convertissez-le en balises de modèle et en fonctions WP

  • Divisez master.php dans les différents fichiers de modèle, par exemple: header.php, index.php, sidebar.php et footer.php

  • Écrire des requêtes personnalisées et fonctions qui pourraient être nécessaires

  • Branchez la mise en page CSS et ajoutez div {outline:1px solid red;} pour vous aider ajuster le layout4.

  • Téléchargez le dossier du thème sur WordPress pour tests et développement ultérieur

Outils de développement WordPress

  • Editeur de code Aptana Studio WorkPlace avec FTP intégré

  • Putty

  • deux moniteurs 1920 x 1200 avec navigateur ouvert sur l'un et éditeur de code sur l'autre

  • Tablette Wacom Intuis 4

  • Firebug avec Yslow et Google Page speed

réponse donnée Chris_O 20.08.2010 - 05:06
3

Mon flux de travail est assez simple. Je continue avec 4 environnements. Essais, développement, mise en scène et production.

Flux de travail

J'utilise git pour mon contrôle de révision; J'ignore le fichier wp-config.php afin que ce fichier ne soit pas écrasé lorsque je pousse et tire à travers les différents emplacements. J'utilise unfuddle en tant que référentiel public / central pour permettre aux autres utilisateurs de pousser et de tirer.

Cela semble fonctionner assez bien. Je vais m'engager aussi souvent que je peux me souvenir pendant que je travaille sur les tests. Au moins une fois par jour, sinon plus, je synchronise avec unfuddle et demande au serveur de développement de prendre en compte les modifications. J'essaie de ne pas faire de travail direct sur le serveur, donc je ne fais qu'apporter des modifications. Si des modifications significatives ont été apportées à la base de données (nouveaux plugins, contenu mis à jour, etc.), je le viderai de mon test; faites une sauvegarde du développement et importez le dump.

J'utilise le même processus pour Staging. Le transfert est installé sur le même serveur que celui de la production, vérifiez bien le polissage et assurez-vous que tous les paramètres et modules fonctionnent sur le serveur de production. Lorsque je suis prêt, je sauvegarde tous les fichiers de production et la base de données, puis je les copie depuis le stockage intermédiaire.

Etant donné que wp-config.php n’est pas dans git, cela facilite la tâche de pousser et de tirer les choses. Lorsque je passe de la mise en production à la production, je copie par-dessus les fichiers et n'utilise pas git. Je dois donc m'assurer que le fichier wp-config.php est correct.

J'ai posé la même question à une question , et je vais examiner l'utilisation de ce plugin.

J'ai aussi pensé à utiliser Capistrano; et créer un script de migration très détaillé qui traitera et gérera toutes les sauvegardes / migrations de fichiers et de bases de données, ainsi que la mise à jour des chemins de fichiers et des URL.

Outils

  • Textmate pour mon éditeur, bien que je commence à utiliser MacVim. J'utilise vim sur linux.
  • Sequel Pro pour la manipulation de la base de données. Si je n'arrive pas à me connecter, j'utiliserai PHPMyAdmin
  • Transmettre pour FTP si j'en ai besoin.
  • git pour le contrôle de révision. Principalement par ligne de commande, bien que j'utilise un peu le client dans Textmate et GittiApp.
réponse donnée Ryan Gibbons 13.04.2017 - 14:37
1

Une chose qui m'aide (surtout lorsque je travaille sur plusieurs thèmes de clients) est d'utiliser une installation WordPress Multisite sur mon serveur de développement. De cette façon, je peux avoir autant de jobs ouverts que nécessaire, sans me soucier du thème du client B. Ajoutez à cela un ensemble complet d’exemples de contenu que je charge chaque fois que je crée un nouveau site et vous obtenez un système de développement impressionnant.

    
réponse donnée Keith S. 21.08.2010 - 21:24
0

Je fais du piratage sur place sur le serveur dans les entrailles d’un système de la vie à des cycles de développement / test / étape / cycle de vie plus structurés à l’aide de systèmes de contrôle de version et de tests automatisés. Cela dépend du travail.

À côté de cela, je signale les bogues au projet wordpress lorsque je les survole.

Pour le développement de plug-ins, j'essaie de ne pas réinventer la roue tout le temps, donc d'en construire de nouvelles sur la base des principes et modèles existants.

    
réponse donnée hakre 24.08.2010 - 14:39
0

Voici mon flux de travail:

  • Je commence par créer le répertoire du projet dès que j'obtiens les spécifications et les conceptions du site Web.
  • version du dossier Static et du dossier theme/plugin dans Dynamic Dossiers utilisant Git.
  • créer un hôte virtuel pour le projet. Je suis cette convention:

    enlace

    enlace (éventuellement)

  • Je suis généralement cette organisation de dossiers:

    Projects
           Project1Name
                       Docs //Requirements docs, emails, other related documents. 
                            //This directory may contain directories with  names as dates
                            //(e.g 2014-01-01) to stay super organized :)    
                       Designs //All PSDs go here  
                       Data  //Database backup for the project,
                       Site
                           Dynamic //WordPress generally
                           Static //I don't always create a static version. I did a couple  
                                  //of times in the past. I use the same structure inside
                                  //the theme or plugin I'm developing
                                 js
                                 css
                                 img
    
           Project2Name and so on ...
    

Je suis conscient que je n'utilise pas encore quotidiennement l'outil build , ce qui me rend mal à l'aise.

Mais j’utilise l’outil de compilation ANT pour mon projet Sprite2CSS associé à quelques scripts PHP pour la consommation d’ANT.

Outils

Que je sois sous Windows ou Ubuntu, j'utilise les éléments suivants:

  • Netbeans + SublimeText2 + Notepad ++
  • WAMP - (PHP)
  • FakeMail
  • Git
  • Chrome et DevTools + Firefox avec Firebug et Safari + IE pour les tests
  • YSlow!
  • FTP intégré de Filezilla / WinSCP / NB
  • Invite de commande Cygwin +
  • Compositeur
  • NodeJS + NPM
  • SQLYog Community Edition + PHPMyAdmin

Je suis ouvert aux suggestions visant à améliorer mon flux de travail.

    
réponse donnée JeyKeu 10.02.2015 - 13:59
0

Je travaille sous Windows avec Denver , FileZilla, Notepad ++, Firefox Firebug et d’autres inspecteurs (les liens étaient en haut), cPanel et dbForge Studio pour MySQL

    
réponse donnée Michael Pozdnakov 05.01.2017 - 09:13

Lire d'autres questions sur les étiquettes