So führen Sie Python-Skripte in WordPress aus
Veröffentlicht: 2023-08-03Python erfreut sich aufgrund seiner Benutzerfreundlichkeit, leistungsstarken Bibliotheken und einfachen Syntax immer größerer Beliebtheit. Ich ertappe mich oft dabei, dass ich einzelne Funktionalitäten für WordPress mit Python prototypisiere, bevor ich sie in PHP konvertiere.
Aber warum nicht einfach Python auf WordPress ausführen, anstatt das zu tun? In diesem Beitrag besprechen wir die verschiedenen Methoden, mit denen Python-Code direkt auf einer WordPress-Website ausgeführt werden kann.
Führen Sie Python-Skripte auf WordPress aus
Wir können eine integrierte PHP-Funktion namens exec()
verwenden, um externe Skripte auszuführen, auch aus Python. Damit es funktioniert, ist ein wenig Code in PHP und Python erforderlich, aber es ist recht einfach, wenn Sie erst einmal verstanden haben, wie alles zusammenpasst.
Wir können entweder ein Plugin oder ein Code-Snippet erstellen. Es hängt davon ab, was Sie erstellen möchten, aber normalerweise erstelle ich ein Code-Snippet, das im Frontend der Website einfacher zu verwalten ist.
Stellen Sie zunächst sicher, dass Python global auf Ihrem Server installiert ist. Sie können es selbst tun, wenn Sie Root-Zugriff haben. Wenn nicht, müssen Sie Ihren Webhost bitten, es zu installieren. Auf Cloudways mussten wir beispielsweise Python für uns installieren.
PHP-Funktion
Wir erstellen den Code, um eine PHP-Funktion zu erstellen, die jedes Python-Skript in WordPress ausführt. Zur Vereinfachung der Verwendung zeige ich Ihnen zunächst ein Snippet, das mit einem Code-Snippet-Management-Plugin verwendet werden kann. Dann können wir einen Blick darauf werfen, ein benutzerdefiniertes Plugin zu erstellen, um dasselbe zu tun.
Mit dieser Funktion sind alle Python-Skripte in der Medienbibliothek verfügbar, und wir können das auszuführende Skript auswählen, indem wir die Element-ID der Medienbibliothek angeben. Beachten Sie, dass Sie wahrscheinlich das Hochladen des Python-Mime-Typs zulassen müssen. Ich habe dieses Plugin verwendet, um es zu aktivieren.
Das sieht etwas kompliziert aus, weil ich am Ende viel Fehlerbehandlung hinzugefügt habe. Aber im Kern besteht der Code lediglich darin, die Datei aus der Medienbibliothek zu finden, das Skript auszuführen und alles auszugeben, was es letztendlich zurückgibt.
Bitte beachten Sie, dass ich „python3“ verwendet habe, da dies auf meinem Computer installiert ist. Möglicherweise möchten Sie es in „Python“ ändern.
Wenn wir ein Plugin erstellen, könnte die Struktur so aussehen:
wp-content/plugins/ cwpai_my-python-plugin/ cwpai_plugin.php assets/ py/ script.py
cwpai_plugin.php sieht so aus:
Für das Plugin ist es schneller, die Python-Skripte in ein bestimmtes Verzeichnis einzubinden (in diesem Beispiel Assets/py), sodass Sie sie über FTP hinzufügen und bearbeiten können. Daher ist es besser, wenn Sie viel Python in WordPress ausführen.
Um es zu verwenden, rufen Sie einfach die Funktion auf:
Shortcode
In der „Produktion“ kann es auch hilfreich sein, einen WP-Shortcode zum Ausführen eines Python-Skripts zu erstellen. Wir können die gleiche allgemeine Funktion wie oben verwenden und sie in einen WordPress-Shortcode umwandeln:
Jetzt können Sie den Shortcode [run_python_script media_]
direkt in Ihren Beiträgen und Seiten verwenden. Ersetzen Sie „6“ durch die ID der Mediendatei, die Sie verwenden möchten.
Nutzen Sie einen gehosteten Dienst
Es gibt Dutzende gehosteter Dienste, die Ihnen den Zugriff auf Python über APIs ermöglichen. Dies kann für komplexere Projekte und Arbeitsabläufe hilfreich sein, insbesondere da Sie in PHP (mit CURL) auf die Ausgabe zugreifen können, als ob Sie Ihr eigenes benutzerdefiniertes Plugin erstellt hätten.
Zuerst müssen Sie eine API mit Python erstellen. Hier ist eine gute Ressource dafür. Im Wesentlichen verwenden Sie Flask, um eine Webanwendung zu erstellen, die API-Endpunkte verfügbar macht. Anschließend hosten Sie diese Webanwendung mit einem dieser Dienste und greifen mit PHP auf die verschiedenen API-Endpunkte zu.
Hier ist eine Beispiel-Python-App mit der API:
Und wie ich in PHP darauf zugreifen würde, damit ich diese Daten in WordPress verwenden kann (sei es das Ändern von Datenbankfeldern, das Hinzufügen eines neuen Benutzers usw.)
Jetzt können Sie die $response-Daten mit allen WordPress-Funktionen verwenden. Dies ist ein einfaches Beispiel, aber gut, um zu zeigen, wie Sie dies tun würden.
Wenn Sie ein bisschen technisch versiert sind und etwas Günstiges wollen, würde ich vorschlagen, Ihre Python-App mit Digital Ocean bereitzustellen, was für einfache Dinge 2,50 $/Monat kostet.
Wenn Sie etwas Schnelles, Einfaches und Einfaches möchten, schauen Sie sich PythonAnywhere.com an, das bei 5 $/Monat beginnt.
Abgesehen von kleinen Szenarien ist diese Methode wahrscheinlich die beste Möglichkeit, Dinge zu erledigen.
Konvertieren Sie Python in PHP
Eine andere Möglichkeit wäre, einfach Python in PHP zu konvertieren und ein Plugin wie Code Snippets zu verwenden, um diese Funktion auszuführen.
Sie können es manuell in PHP konvertieren oder ein Tool wie ChatGPT oder CodeWP verwenden, um Python einzufügen und anzufordern, dass es in PHP neu geschrieben wird. Hier ist ein Beispiel mit CodeWP, einem KI-Tool, das speziell für WordPress-Ersteller entwickelt wurde:
Abschluss
Als WordPress-Entwickler, der mit KI arbeitet, muss ich oft schnell etwas mit Python nachbauen oder sogar komplette Funktionalitäten auf Produktionsebene in der Sprache erstellen.
Wenn Sie diese Methoden befolgen, können Sie Python schnell auf einer WordPress-Site ausführen und auf alle ausgegebenen Ausgaben zugreifen.