Themes oder Plugins mit Symlink in Vagrant einbinden

Frage: Was ist der Unterschied zwischen guten und schlechten WordPress-Entwicklern?
Antwort: Es gibt keinen. Erstere aber verwenden Vagrant. :-)

Wer Themes oder Plugins entwickelt, möchte sie sicherlich auch in einer Testumgebung ausprobieren. Dann ist eine virtuelle Umgebung mit Vagrant die erste Wahl. Je nach Projekt erstelle ich mir meine Umgebung mit PuPHPet oder VVV.

Um eine saubere Trennung von Vagrant (Testumgebung) und der Entwicklungsumgebung (IDE) zu haben, sollte das Theme (oder Plugin) aus der IDE mittels eines Symlinks in die Testumgebung eingebunden werden. Damit ist das Theme auf der Testseite immer synchron mit der Entwicklung. Jedesmal, wenn am Theme in der IDE editiert wird, ist die Änderung auch gleich in der Testumgebung aktiv.

Einbindung

Leider sind Symlinks in Vagrant nicht ganz trivial einzubeziehen. Dazu muss die Einstellung des Vagrantfiles wie folgt erweitert werden:

Wenn nicht schon vorhanden, erstelle erstmal im Vagrant-Root-Verzeichnis (Dort wo die Datei Vagrantfile liegt.) die Datei: Customfile

Öffne die Datei Customfile mit einem Editor und trage dort die Angaben zum Symlink ein:

# Symlink zu meinem Theme: superduper
config.vm.synced_folder "../Pfad/zur/Entwicklungsumgebung/von/superduper", 
"/srv/www/wordpress-default/wp-content/themes/superduper", 
owner: 'www-data', 
group: 'www-data', 
mount_options: ["dmode=775", "fmode=664"]

Im obigen Snippet ist beispielhaft die Einbindung eines Themes in VVV beschrieben.

Besonderheit: Der erste Pfad (zur IDE) kann relativ oder absolut sein. Der zweite Pfad (in Vagrant) muss immer absolut sein.

Quellen

https://wordpress.stackexchange.com/a/189849
https://www.vagrantup.com/docs/synced-folders/basic_usage.html

This entry was posted on by .

Heiko Mamerow

Buddhist, Vater, Freund, Internetseitenbauer, Sportler, Musikliebhaber & Verkehrsteilnehmer ;-)