Skip to content

Bedrock

Modern WordPress fejlesztési környezet Composer alapokon a Roots csapattól.

This content is not available in your language yet.

A Bedrock egy modern WordPress boilerplate, amely továbbfejlesztett mappastruktúrával, Composer alapú függőségkezeléssel és egyszerű konfigurációval rendelkezik. A Roots csapat fejleszti és tartja karban.

A Bedrock a WordPress fejlesztés legjobb gyakorlatait követi:

  • Composer alapú függőségkezelés - WordPress core, pluginok és témák kezelése Composerrel
  • Továbbfejlesztett mappastruktúra - A wp-content mappa elkülönítve az alkalmazás gyökérkönyvtárától
  • Környezeti változók - .env fájl alapú konfiguráció (dotenv)
  • Biztonságosabb - A webroot csak a publikus fájlokat tartalmazza
  • Egyszerű deploy - Alkalmas modern deployment workflow-khoz
site/
├── composer.json # Függőségek definíciója
├── config/
│ ├── application.php # Fő WordPress konfiguráció
│ └── environments/
│ ├── development.php # Fejlesztői környezet beállítások
│ ├── staging.php # Staging környezet beállítások
│ └── production.php # Éles környezet beállítások
├── vendor/ # Composer függőségek
├── web/ # Webroot (document root)
│ ├── app/ # wp-content megfelelője
│ │ ├── mu-plugins/ # Must-use pluginok
│ │ ├── plugins/ # Pluginok
│ │ ├── themes/ # Témák
│ │ └── uploads/ # Feltöltések
│ ├── wp-config.php # WordPress betöltő
│ ├── index.php # WordPress belépési pont
│ └── wp/ # WordPress core (Composer által kezelt)
└── .env # Környezeti változók
  • PHP >= 8.0
  • Composer
Terminál
composer create-project roots/bedrock projekt-neve

Másold le a .env.example fájlt .env néven és töltsd ki:

Terminál
cd projekt-neve
cp .env.example .env

Szerkeszd a .env fájlt:

DB_NAME='adatbazis_neve'
DB_USER='adatbazis_felhasznalo'
DB_PASSWORD='adatbazis_jelszo'
DB_HOST='localhost'
WP_ENV='development'
WP_HOME='https://example.com'
WP_SITEURL="${WP_HOME}/wp"
# Generálj egyedi kulcsokat: https://roots.io/salts.html
AUTH_KEY='generalt-kulcs'
SECURE_AUTH_KEY='generalt-kulcs'
LOGGED_IN_KEY='generalt-kulcs'
NONCE_KEY='generalt-kulcs'
AUTH_SALT='generalt-kulcs'
SECURE_AUTH_SALT='generalt-kulcs'
LOGGED_IN_SALT='generalt-kulcs'
NONCE_SALT='generalt-kulcs'

A Bedrock alapértelmezetten a WPackagist repository-t használja.

Terminál
# WordPress.org pluginok
composer require wpackagist-plugin/wordpress-seo
# Prémium pluginok (ha van Composer repository-juk)
composer require developer/premium-plugin
Terminál
composer require wpackagist-theme/flavor
Terminál
composer update roots/wordpress

A Bedrock támogatja a különböző környezeteket a WP_ENV változó segítségével:

  • development - Fejlesztői környezet
  • staging - Tesztkörnyezet
  • production - Éles környezet

A config/environments/ mappában külön fájlokban definiálhatod az egyes környezetek beállításait:

config/environments/development.php:

<?php
use Roots\WPConfig\Config;
Config::define('SAVEQUERIES', true);
Config::define('WP_DEBUG', true);
Config::define('WP_DEBUG_DISPLAY', true);
Config::define('WP_DEBUG_LOG', true);
Config::define('SCRIPT_DEBUG', true);
ini_set('display_errors', '1');

config/environments/production.php:

<?php
use Roots\WPConfig\Config;
Config::define('WP_DEBUG', false);
Config::define('WP_DEBUG_DISPLAY', false);
Config::define('DISALLOW_FILE_EDIT', true);
Config::define('DISALLOW_FILE_MODS', true);

A must-use pluginokat a web/app/mu-plugins/ mappába helyezd. Ezek automatikusan betöltődnek és nem lehet őket kikapcsolni az admin felületen.

Composer csomagként:

{
"extra": {
"installer-paths": {
"web/app/mu-plugins/{$name}/": [
"type:wordpress-muplugin"
]
}
}
}

A Bedrock tökéletesen alkalmas Git-alapú deployment-re:

Terminál
# .gitignore már megfelelően van beállítva
git init
git add .
git commit -m "Initial commit"
Terminál
composer install --no-dev --optimize-autoloader

A document root a web/ mappára kell mutasson:

Apache (.htaccess a web/ mappában):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Nginx:

server {
listen 80;
server_name example.com;
root /srv/www/example.com/web;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}

A Roots csapat Sage témáját kifejezetten Bedrock-kal való használatra tervezték:

Terminál
# Sage téma telepítése
composer require roots/sage
# Vagy közvetlenül a themes mappába
cd web/app/themes
composer create-project roots/sage tema-neve

Prémium pluginokhoz, amelyek nem érhetők el WPackagist-en, több lehetőséged van:

{
"repositories": [
{
"type": "composer",
"url": "https://connect.developer.com"
}
]
}
{
"repositories": [
{
"type": "package",
"package": {
"name": "developer/premium-plugin",
"version": "1.0.0",
"type": "wordpress-plugin",
"dist": {
"url": "https://example.com/plugin.zip",
"type": "zip"
}
}
}
]
}

A SatisPress WordPress plugin segítségével saját Composer repository-t hozhatsz létre a prémium pluginjaidból.

Terminál
# Projekt létrehozása
composer create-project roots/bedrock
# Függőségek telepítése
composer install
# Plugin hozzáadása
composer require wpackagist-plugin/plugin-neve
# Plugin eltávolítása
composer remove wpackagist-plugin/plugin-neve
# Frissítések keresése
composer outdated
# Minden frissítése
composer update

We respect your privacy

We use cookies to improve your browsing experience and to analyse traffic. Analytics only starts if you allow it. Privacy policy, Cookie policy.

Cookie settings