Construir array de texto a partir de um array.
No dia de hoje(17/08/2022) me deparei com o seguinte problema onde recebiamos um array javascript contendo textos e cujas chaves... Leia mais
Desenvolvedor de Software
Desenvolver WordPress localmente com Docker é uma maneira eficiente de criar e testar plugins, temas e personalizações. Neste artigo, vamos montar um ambiente completo usando Docker Compose, incluindo WordPress, MySQL e phpMyAdmin. Além disso, vamos mapear a pasta wp-content e o arquivo wp-config.php para facilitar o desenvolvimento.
Antes de começar, certifique-se de ter o Docker e o Docker Compose instalados na sua máquina. Se ainda não os tem, siga as instruções oficiais:
Vamos criar a seguinte estrutura de diretórios:
meu-projeto-wordpress/
├── docker-compose.yml
├── wp-content/
│ ├── plugins/
│ ├── themes/
│ ├── uploads/
├── wp-config.php
└── logs/ (opcional)
docker-compose.yml: Arquivo de configuração do Docker Compose.wp-content/: Diretório para plugins, temas e uploads.wp-config.php: Arquivo de configuração do WordPress.logs/ (opcional): Diretório para armazenar logs.No terminal, execute os seguintes comandos:
mkdir -p meu-projeto-wordpress/wp-content/{plugins,themes,uploads}
cd meu-projeto-wordpress
touch docker-compose.yml wp-config.php
docker-compose.ymlAbra o arquivo docker-compose.yml e adicione o seguinte conteúdo:
version: '3.8'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp-content:/var/www/html/wp-content
- ./wp-config.php:/var/www/html/wp-config.php
- ./logs:/var/log/apache2 # Opcional: para logs do servidor
working_dir: /var/www/html
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
ports:
- "8080:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: somewordpress
restart: always
volumes:
db_data:
db: Container do MySQL com persistência de dados via volume (db_data).wordpress: Container do WordPress com mapeamento do diretório wp-content e do arquivo wp-config.php.phpmyadmin: Container do phpMyAdmin para gerenciar o banco de dados.db_data: Persiste os dados do MySQL../wp-content: Mapeia o diretório wp-content para desenvolvimento de plugins e temas../wp-config.php: Mapeia o arquivo de configuração do WordPress.wp-config.phpAbra o arquivo wp-config.php e adicione o seguinte conteúdo:
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'wordpress');
define('DB_HOST', 'db');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('WP_DEBUG', true); // Ativar modo de depuração
$table_prefix = 'wp_';
if (!defined('ABSPATH')) {
define('ABSPATH', __DIR__ . '/');
}
require_once ABSPATH . 'wp-settings.php';
Este arquivo configura a conexão com o banco de dados e ativa o modo de depuração (WP_DEBUG).
No terminal, execute o comando para iniciar os containers:
docker-compose up -d
O -d faz com que os containers sejam executados em segundo plano.
dbwordpresswordpresswp-content/plugins/ para o seu plugin, por exemplo:
mkdir -p wp-content/plugins/meu-plugin
meu-plugin.php).wp-content/themes/ para o seu tema, por exemplo:
mkdir -p wp-content/themes/meu-tema
style.css e index.php.
Para parar os containers, execute:
docker-compose down
Se quiser remover tudo, incluindo os volumes, use:
docker-compose down --volumes
Com esse ambiente Docker, você tem tudo o que precisa para desenvolver WordPress localmente. O mapeamento do diretório wp-content e do arquivo wp-config.php facilita a personalização e o desenvolvimento de plugins e temas. Além disso, o phpMyAdmin permite gerenciar o banco de dados de forma simples.
Esse setup é ideal para desenvolvedores que desejam um ambiente de desenvolvimento rápido, isolado e reproduzível. Agora é só começar a criar! 🚀
No dia de hoje(17/08/2022) me deparei com o seguinte problema onde recebiamos um array javascript contendo textos e cujas chaves... Leia mais
A função list() do PHP é uma forma prática de atribuir múltiplos valores de um array a variáveis individuais. Neste... Leia mais
Vamos lá a mais um estudo de caso. Na tela abaixo temos um crud simples cujo frontend foi feito com... Leia mais
Quando desenvolvemos software, é comum encontrar situações onde diferentes comportamentos precisam ser aplicados a objetos semelhantes. A abordagem tradicional de... Leia mais