WPackagist - WordPress Composer Repository
A WPackagist egy Composer repository, amely tükrözi a WordPress® plugin és téma könyvtárat. Segítségével a WordPress bővítményeket és témákat ugyanúgy kezelheted, mint bármely más PHP függőséget.
Mi az a Composer?
"A Composer egy függőségkezelő eszköz PHP-hoz. Lehetővé teszi, hogy deklaráld a projekted által igényelt függvénykönyvtárakat, és telepíti azokat a projektedbe." — getcomposer.org
Miért használj Composert WordPress-hez?
- Verziókezelés tisztasága - Elkerülheted, hogy a pluginokat és témákat a forráskódkezelőbe (git) commitold
- Nincs szükség git submodule-okra - A függőségek egyszerűbben kezelhetők
- Egységes eszközök - WordPress és nem WordPress könyvtárakat ugyanazzal az eszközzel kezelheted
- Függőségek kezelése - Hosszú távon a pluginok közötti függőségek kezelésére is használható
Hogyan használd?
1. Repository hozzáadása
Add hozzá a WPackagist repository-t a composer.json fájlodhoz:
{
"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]
}
]
}
2. Pluginok és témák hozzáadása
Add hozzá a kívánt pluginokat és témákat a require szekcióhoz:
- Pluginok:
wpackagist-plugin/vendor prefix - Témák:
wpackagist-theme/vendor prefix
3. Telepítés
Futtasd a következő parancsot:
composer update
4. Telepítési hely
A csomagok alapértelmezetten a következő helyekre kerülnek:
- Pluginok:
wp-content/plugins/ - Témák:
wp-content/themes/
Az installer-paths opcióval ez testre szabható.
Teljes példa
{
"name": "acme/brilliant-wordpress-site",
"description": "My brilliant WordPress site",
"repositories": [
{
"type": "composer",
"url": "https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]
}
],
"require": {
"aws/aws-sdk-php": "*",
"wpackagist-plugin/akismet": "dev-trunk",
"wpackagist-plugin/wordpress-seo": ">=7.0.2",
"wpackagist-theme/flavor": "*"
},
"extra": {
"installer-paths": {
"wp-content/mu-plugins/{$name}/": [
"wpackagist-plugin/akismet"
],
"wp-content/plugins/{$name}/": [
"type:wordpress-plugin"
],
"wp-content/themes/{$name}/": [
"type:wordpress-theme"
]
}
}
}
Ez a példa:
- Hozzáadja a WPackagist repository-t
- Telepíti az Akismet legújabb verzióját (must-use pluginként)
- Telepíti a Yoast SEO-t (minimum 7.0.2 verzió)
- Telepíti a flavor témát (legújabb verzió)
- Az Amazon Web Services SDK-t a fő Packagist repository-ból tölti le
Verziókezelés
Pluginok
{
"require": {
"wpackagist-plugin/akismet": "dev-trunk",
"wpackagist-plugin/wordpress-seo": ">=7.0.2",
"wpackagist-plugin/contact-form-7": "5.7.*",
"wpackagist-plugin/woocommerce": "^8.0"
}
}
dev-trunk- A legújabb fejlesztői verzió>=7.0.2- Minimum verzió megadása5.7.*- Adott főverzión belül a legújabb^8.0- Szemantikus verziókezelés (8.x.x de nem 9.0)*- Bármely verzió (legújabb)
Témák
A témáknak nincs trunk verziójuk, ezért ajánlott a * használata:
{
"require": {
"wpackagist-theme/flavor": "*"
}
}
Must-Use pluginok telepítése
A must-use pluginok a wp-content/mu-plugins/ mappába kerülnek és automatikusan aktiválódnak:
{
"extra": {
"installer-paths": {
"wp-content/mu-plugins/{$name}/": [
"wpackagist-plugin/akismet",
"wpackagist-plugin/redis-cache"
]
}
}
}
WordPress Core telepítése
A WordPress core telepítéséhez használhatod a következő csomagokat:
- roots/wordpress - A Roots csapat által karbantartott csomag
- johnpbloch/wordpress - Népszerű alternatíva
Példa:
{
"require": {
"johnpbloch/wordpress": "^6.4"
},
"extra": {
"wordpress-install-dir": "wp"
}
}
Ismert korlátozások
- Composer verzió: Minimum Composer 1.0.0-alpha7 szükséges
- Verzió stringek: A Composer által nem értelmezhető verzió stringek figyelmen kívül maradnak. Minden pluginnak van legalább
trunkverziója. - Témák: A témáknak nincs
trunkverziójuk, ezért ajánlott a*használata. - Közzétett csomagok: A csomagok csak akkor érhetők el, ha a wordpress.org-on publikálva vannak, még akkor is, ha az SVN-en megtalálhatók.
Hasznos parancsok
# Függőségek telepítése
composer install
# Függőségek frissítése
composer update
# Egy adott csomag frissítése
composer update wpackagist-plugin/wordpress-seo
# Új csomag hozzáadása
composer require wpackagist-plugin/contact-form-7
# Csomag eltávolítása
composer remove wpackagist-plugin/contact-form-7
# Elérhető frissítések listázása
composer outdated
# Autoloader újragenerálása
composer dump-autoload
# Optimalizált autoloader (production)
composer dump-autoload --optimize