TL;DR
https://github.com/qpSHiNqp/docker-wordpress-dev
Si vous clonez ceci et docker-compose up
, l'environnement WordPress démarrera en un instant.
Il m'est arrivé que je devais jouer avec WordPress. Jusqu'à présent, pour préparer l'environnement de développement, mettre en place un serveur MySQL localement, créer une base de données, créer et organiser autour des utilisateurs et des privilèges, créer un environnement PHP, créer un environnement de serveur Web, se connecter, vérifier le fonctionnement ... Je faisais de mon mieux pour faire ce qu'on appelle MAMP, mais de nos jours ce n'est pas normal, j'ai donc fait un peu de recherche pour créer un environnement avec docker.
Quand je l'ai recherché, il y avait une image docker appelée wordpress
, et bien sûr il y avait aussi une image docker pour mysql
, alors j'ai décidé de le faire avec un bon sentiment, docker-compose.yml
.
Quant à savoir comment le faire, il a été soigneusement écrit dans Description de Docker Hub de wordpress
, donc je vais le décrire comme une information de référence.
La section "... via docker stack deploy ou docker-compose" au milieu de la page est presque la même.
Cette fois, je voulais créer un thème ou un plugin, donc j'ai créé docker-compose.yml
pour monter wp-content / themes
et wp-content / plugins
.
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html
- ./wp-content/themes:/var/www/html/wp-content/themes
- ./wp-content/plugins:/var/www/html/wp-content/plugins
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
Maintenant, lorsque vous ouvrez docker-compose up
et http: // localhost: 8080
, l'écran de configuration de WordPress s'ouvrira immédiatement, donc si vous procédez tel quel, vous pouvez accéder à l'écran de gestion.
À partir de maintenant, je viens de l'écrire entre-temps, donc je pense qu'il ne peut être utilisé que comme un mémorandum de ma part.
Lors de la création de mon propre thème, je pense que la mise en page et l'apparence sont contrôlées par style.css, mais comme WordPress est un CMS équipé d'un éditeur WYSIWYG, il est nécessaire d'utiliser la mise en page de la partie contenu qui est fournie dans WordPress.
Le style intégré est décrit dans la section "Classes générées par WordPress" du CSS «Codex WordPress. En copiant ceci au bas de mon propre thème, j'ai pu refléter la mise en page spécifiée au moment de l'édition avec WYSIWYG sur l'affichage réel.
Au départ, le style défini dans mon propre style.css était appliqué aux éléments de la partie de contenu, il y avait donc un problème parce qu'il avait l'air différent de WYSIWYG, mais c'est probablement la responsabilité du balisage comme suit. Je pense que la démarcation fonctionnera généralement.
<? Php the_content ();?>
N'affecte pas la mise en page du corps du contenu à incorporer '' Je vais le faire style.css--Si
(ou
En bref, le HTML que WYSIWYG de WordPress crache est imprévisible, il est donc probablement impossible de contrôler la mise en page du bloc du corps du contenu avec votre propre css. Je pense plutôt que le créateur du thème a besoin d'une conception de classe / sélecteur qui permet de laisser la mise en page en bloc du corps du contenu incontrôlée.
C'était correct de lui faire prendre en charge la fonction de palette de couleurs, mais cette fois je n'avais pas besoin de créer un thème à usage général prenant entièrement en charge les fonctions WordPress, je l'ai donc implémenté avec un support de fonction minimal.