Как наилучшим образом организовать структуру директорий для хранения плагинов?

Как настроить Docker для установки WordPress таким образом, чтобы при разработке плагинов файлы брались из папки src/plugins, а установленные через административную панель WordPress плагины помещались в папку plugins в WordPress, чтобы я мог скрыть все файлы WordPress из Git?
  • 30 января 2024 г. 18:48
Ответы на вопрос 1
Для удобной организации разработки плагинов для WordPress и использования Docker можно воспользоваться следующей структурой директорий:

```
project/
│
├── docker-compose.yml
├── .gitignore
├── src/
│   └── plugins/            # папка с исходным кодом ваших плагинов
│       └── my-plugin/
│           ├── my-plugin.php
│           └── ...
└── wp-content/             # сюда будут устанавливаться плагины через WP admin
    ├── plugins/
    └── ...
```

Для настройки Docker и разделения плагинов можно воспользоваться следующим `docker-compose.yml`:

```yaml
version: '3'

services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8000:80"
    volumes:
      - ./src/plugins/:/var/www/html/wp-content/plugins/my-plugins
      - wp-content:/var/www/html/wp-content
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb

  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass

volumes:
  wp-content:
  db_data:
```

Главной задачей является монтирование локальной папки `src/plugins` внутрь контейнера Docker так, чтобы она попадала в папку плагинов WordPress. При этом папка `wp-content` монтируется как Docker volume для хранения установленных через админ-панель плагинов и других файлов WP.

Для исключения всех файлов WordPress из вашего репозитория Git (как и папок с подключенными плагинами через админку WP), используйте следующий `.gitignore`:

```
# Игнорирование содержимого wp-content, кроме вашей папки с исходниками плагинов
wp-content/*
!wp-content/plugins/
wp-content/plugins/*

# Но не игнорировать каталог с исходным кодом плагинов
!src/
```

Таким образом, в вашем репозитории будут находиться только исходники плагинов, а установленные через административную платформу WordPress плагины будут игнорироваться Git и храниться в Docker volume.
Похожие вопросы