Hier ist eine schrittweise Anleitung zur Einrichtung eines Workflows für die Bereitstellung mehrerer WordPress-Themen mit Visual Studio Code (VSCode):

• Richten Sie eine lokale XAMPP-Installation und eine lokale WordPress-Installation ein.

• Öffnen Sie die lokale WordPress-Installation in VSCode.

• Für jedes WordPress-Thema, das Sie separat verwalten und bereitstellen möchten:

• Erstellen Sie ein neues Verzeichnis für das Thema innerhalb des wp-content/themes-Verzeichnisses.

• Kopieren Sie die Dateien für das Thema in das neue Verzeichnis.

• Erstellen Sie in VSCode einen neuen Arbeitsbereich für das Thema, indem Sie auf "Datei" > "Ordner zum Arbeitsbereich hinzufügen" klicken und das Verzeichnis des Themas auswählen.

• Initialisieren Sie ein Git-Repository im Verzeichnis des Themas, indem Sie mit der rechten Maustaste auf das Verzeichnis des Themas in der Explorer-Ansicht klicken und "Öffnen in Git Bash" auswählen. Führen Sie dann den folgenden Befehl in der Git Bash-Terminal aus:

git init

Erstellen Sie ein Remote-Repository für das Theme auf einem Hosting-Dienst wie GitHub.

• Öffnen Sie in VSCode die Ansicht "Source Control", indem Sie auf das Symbol "Source Control" in der linken Aktivitätsleiste klicken. Klicken Sie dann in der Ansicht "Source Control" auf das "+"-Symbol, um ein neues Repository zu erstellen. Wählen Sie "Initialisiere dieses Repository mit einem README".

• Geben Sie im Terminal folgenden Befehl ein, um das Remote-Repository für das Git-Repository des Themes festzulegen:

git remote add origin [repository-url]

Geben Sie im Terminal folgenden Befehl ein, um die Dateien des Themes in das Remote-Repository zu übertragen:

git push -u origin master

Für jedes Theme erstellen Sie dann eine .env-Datei im Stammverzeichnis des Theme-Ordners. Diese Datei sollte umgebungsspezifische Einstellungen enthalten, wie z.B. die URL des Produktions-Servers. Der Inhalt der Datei sollte etwa so aussehen:

PRODUCTION_URL=https://production-server.com/wp-content/themes/[theme-name]

Erstelle ein Skript, wie zum Beispiel ein Bash-Skript, das den Prozess der Bereitstellung des Themes auf dem Produktions-Server automatisiert. Das Skript sollte folgende Aufgaben erledigen:

• Die umgebungsspezifischen Einstellungen aus der .env-Datei lesen.

• Das entfernte Repository für das Theme klonen.

• Den Inhalt des geklonten Repositorys in das Verzeichnis des WordPress-Themes auf dem Produktions-Server kopieren.

Hier ist ein Beispiel dafür, wie das Skript aussehen könnte:


#!/bin/bash

# Read environment variables from .env file
export $(cat .env | xargs)

# Clone the remote repository
git clone [repository-url]

# Copy the contents of the cloned repository to the production directory
rsync -avz [cloned-repository-directory] $PRODUCTION_URL

• In VSCode, bind the shell script to a custom command in the command palette: Add a new custom command in the keybindings.json file, as follows:

{
   "key": "f5",
   "command": "workbench.action.terminal.runSelectedText",
   "args": {
      "script": "path/to/deploy-script.sh"
   }
}

Ersetzen Sie bitte den Platzhalter "path/to/deploy-script.sh" durch den tatsächlichen Pfad zu Ihrem erstellten Shell-Skript.

• Speichern Sie die Datei keybindings.json.

Indem Sie in VSCode die F5-Taste drücken, führen Sie das Shell-Skript aus und können so das Theme auf dem Produktions-Server bereitstellen. Diese Einrichtung ermöglicht es Ihnen, mehrere WordPress-Themes effizient zu verwalten und jedes Theme auf einem anderen Produktions-Server auf eine ausgefeiltere Weise bereitzustellen – und das alles mithilfe von VSCode und Git.

Sie haben auch die Möglichkeit, Umgebungsdateien einzurichten, um die Datenbank für ein bestimmtes WordPress-Theme anzupassen. Hierbei handelt es sich um eine bewährte Methode:

• Legen Sie für jedes WordPress-Theme eine separate Umgebungsdatei an.

• Definieren Sie in jeder Umgebungsdatei die spezifischen Datenbank-Anmeldeinformationen, die für das jeweilige Theme benötigt werden.

• Fügen Sie in Ihrer wp-config.php-Datei die entsprechende Umgebungsdatei auf Grundlage des aktiven Themes hinzu. Mithilfe der Funktion get_template_directory() können Sie das Verzeichnis des aktiven Themes ermitteln und die zugehörige Umgebungsdatei laden.

So könnte dies in Ihrer wp-config.php-Datei aussehen:

$active_theme = basename(get_template_directory());

switch ($active_theme) {
  case 'theme1':
    include 'env/theme1.php';
    break;
  case 'theme2':
    include 'env/theme2.php';
    break;
  // add more cases for each theme
  default:
    include 'env/default.php';
    break;
}

// ... rest of the wp-config.php file

In dem genannten Beispiel enthält die Variable $active_theme den Namen des aktiven Themes, der durch die Funktion get_template_directory() bestimmt wird. Die Switch-Anweisung fügt dann die entsprechende Umgebungsdatei basierend auf dem aktiven Theme ein.

Auf diese Weise können Sie unterschiedliche Datenbanken für jedes WordPress-Theme verwalten, ohne jedes Mal die Datenbank-Anmeldeinformationen in der wp-config.php-Datei manuell umschalten zu müssen, wenn Sie das Theme wechseln möchten.

Hier ist ein Beispiel dafür, wie du deine wp-config.php-Dateien für lokale, Entwicklungs- und Produktionsumgebungen einrichten kannst:

Erstellen Sie drei separate wp-config.php-Dateien für jede Umgebung:

  • wp-config-local.php
  • wp-config-dev.php
  • und wp-config-prod.php.

Definieren Sie in jeder der umgebungsspezifischen wp-config.php-Dateien die notwendigen Datenbankeinstellungen und andere Konfigurationsoptionen für diese Umgebung. Zum Beispiel:

// wp-config-local.php
define('DB_NAME', 'local_db_name');
define('DB_USER', 'local_db_user');
define('DB_PASSWORD', 'local_db_password');
define('DB_HOST', 'localhost');

// wp-config-dev.php
define('DB_NAME', 'dev_db_name');
define('DB_USER', 'dev_db_user');
define('DB_PASSWORD', 'dev_db_password');
define('DB_HOST', 'dev_db_host');

// wp-config-prod.php
define('DB_NAME', 'prod_db_name');
define('DB_USER', 'prod_db_user');
define('DB_PASSWORD', 'prod_db_password');
define('DB_HOST', 'prod_db_host');

In Ihrer Haupt-wp-config.php-Datei verwende Sie einfach eine if-Anweisung, um festzustellen, in welcher Umgebung Sie sich derzeit befinden, und fügen an entsprechender Stelle die entsprechende umgebungsspezifische wp-config.php-Datei ein:

if ( file_exists( dirname( __FILE__ ) . '/wp-config-local.php' ) ) {
  include( dirname( __FILE__ ) . '/wp-config-local.php' );
} elseif ( file_exists( dirname( __FILE__ ) . '/wp-config-dev.php' ) ) {
  include( dirname( __FILE__ ) . '/wp-config-dev.php' );
} else {
  include( dirname( __FILE__ ) . '/wp-config-prod.php' );
}

in diesem Beispiel wird je nach vorhandenen Dateien entschieden, welche Konfigurationsdatei verwendet wird. Zuerst wird geprüft, ob die Datei wp-config-local.php existiert. Wenn ja, wird sie verwendet. Falls nicht, wird überprüft, ob wp-config-dev.php vorhanden ist. Ist auch diese nicht vorhanden, wird wp-config-prod.php als Standard verwendet.

Durch diese Herangehensweise können Sie schnell zwischen den verschiedenen Umgebungen wechseln, indem Sie einfach die entsprechende wp-config.php-Datei einbinden. Stellen Sie sicher, dass die umgebungsspezifischen Dateien sicher außerhalb Ihres Webstammverzeichnisses gespeichert sind.

Diese Methode ermöglicht Ihnen eine effiziente Verwaltung Ihrer verschiedenen WordPress-Installationen.

0JahreIT

Von langjähriger Erfahrung profitieren

Kunden wählen uns aufgrund unseres umfassenden Fachwissens und unserer Fähigkeit, praktische Lösungen für ihre individuellen Herausforderungen im Bereich SEO & Webentwicklung zu entwickeln.