Jak uruchamiać skrypty Pythona w WordPress
Opublikowany: 2023-08-03Popularność Pythona stale rośnie dzięki łatwości użytkowania, potężnym bibliotekom i prostej składni. Często przyłapuję się na prototypowaniu poszczególnych funkcjonalności dla WordPressa za pomocą Pythona przed przekonwertowaniem ich na PHP.
Ale zamiast tego, dlaczego po prostu nie uruchomić Pythona na WordPressie? W tym poście omówimy różne metody, których można użyć do uruchamiania kodu Pythona bezpośrednio na stronie WordPress.
Uruchom skrypty Pythona na WordPressie
Możemy użyć wbudowanej funkcji PHP o nazwie exec()
do uruchamiania zewnętrznych skryptów, w tym z Pythona. Będzie to wymagało trochę kodu zarówno w PHP, jak i Pythonie, aby zacząć działać, ale jest to całkiem łatwe, gdy zrozumiesz, jak wszystko do siebie pasuje.
Możemy stworzyć wtyczkę lub fragment kodu. To zależy od tego, co chcesz zbudować, ale zazwyczaj tworzę fragment kodu, który jest łatwiejszy do zarządzania w interfejsie witryny.
Najpierw upewnij się, że Python jest globalnie zainstalowany na twoim serwerze. Możesz to zrobić samodzielnie, jeśli masz uprawnienia administratora, jeśli nie, musisz poprosić swojego hosta o zainstalowanie. Na przykład w Cloudways musieliśmy poprosić ich o zainstalowanie Pythona dla nas.
Funkcja PHP
Stworzymy kod, aby utworzyć funkcję PHP, która uruchomi dowolny skrypt Pythona w WordPress. Aby ułatwić korzystanie, najpierw pokażę fragment, którego można użyć z wtyczką do zarządzania fragmentami kodu. Następnie możemy przyjrzeć się tworzeniu niestandardowej wtyczki, która zrobi to samo.
Dzięki tej funkcji wszystkie skrypty Pythona znajdują się w bibliotece multimediów, a my możemy wybrać skrypt do uruchomienia, określając identyfikator elementu biblioteki multimediów. Pamiętaj, że prawdopodobnie będziesz musiał zezwolić na przesyłanie typu MIME Pythona. Użyłem tej wtyczki, aby ją włączyć.
Wygląda to trochę skomplikowanie, ponieważ skończyło się na dodaniu wielu funkcji obsługi błędów. Ale w istocie wszystko, co robi kod, to znalezienie pliku z biblioteki multimediów i uruchomienie skryptu, wyświetlając wszystko, co zwróci.
Pamiętaj, że użyłem „python3”, ponieważ jest to zainstalowane na moim komputerze. Możesz chcieć zmienić go na „python”.
Jeśli stworzymy wtyczkę, struktura może wyglądać tak:
wp-content/plugins/ cwpai_my-python-plugin/ cwpai_plugin.php assets/ py/ script.py
cwpai_plugin.php wygląda tak:
W przypadku wtyczki szybsze jest umieszczanie skryptów Pythona w określonym katalogu (w tym przykładzie jest to asset/py), co pozwala dodawać i edytować je przez FTP. Dlatego lepiej, jeśli masz dużo Pythona do uruchomienia w WordPress.
Aby go użyć, po prostu wywołaj funkcję:
Krótki kod
W „produkcji” pomocne może być również utworzenie krótkiego kodu WP w celu uruchomienia skryptu Pythona. Możemy użyć tej samej ogólnej funkcji z góry, modyfikując ją tak, aby stała się krótkim kodem WordPress:
Teraz możesz używać krótkiego kodu [run_python_script media_]
bezpośrednio w swoich postach i na stronach. Zastąp „6” identyfikatorem pliku multimedialnego, którego chcesz użyć.
Skorzystaj z usługi hostowanej
Istnieją dziesiątki hostowanych usług, które umożliwiają dostęp do Pythona za pośrednictwem interfejsów API. Może to być pomocne w przypadku bardziej złożonych projektów i przepływów pracy, zwłaszcza że możesz uzyskać dostęp do danych wyjściowych w PHP (przy użyciu CURL), tak jakbyś stworzył własną niestandardową wtyczkę.
Najpierw musisz utworzyć interfejs API w języku Python. Oto dobre źródło informacji na ten temat. Zasadniczo użyjesz Flask do stworzenia aplikacji internetowej, która udostępnia punkty końcowe API. Następnie będziesz hostować tę aplikację internetową za pomocą jednej z tych usług i uzyskiwać dostęp do różnych punktów końcowych API za pomocą PHP.
Oto przykładowa aplikacja w języku Python z interfejsem API:
I jak uzyskam do niego dostęp w PHP, co pozwoli mi korzystać z tych danych w WordPress (czy to zmiana pól bazy danych, dodanie nowego użytkownika itp.)
Teraz, dzięki danym $response, możesz używać ich z dowolnymi funkcjami WordPress. To jest podstawowy przykład, ale dobrze pokazać, jak to zrobić.
Jeśli jesteś trochę techniczny i chcesz czegoś taniego, sugerowałbym wdrożenie aplikacji Pythona za pomocą Digital Ocean, który kosztuje 2,50 USD miesięcznie za proste rzeczy.
Jeśli chcesz czegoś szybkiego, prostego i łatwego, sprawdź PythonAnywhere.com, który zaczyna się od 5 USD miesięcznie.
Poza małymi scenariuszami ta metoda jest prawdopodobnie najlepszym sposobem na robienie rzeczy.
Konwertuj Pythona na PHP
Inną opcją byłoby po prostu przekonwertowanie Pythona na PHP i użycie wtyczki, takiej jak Code Snippets, do uruchomienia tej funkcji.
Możesz ręcznie przekonwertować go na PHP lub użyć narzędzia takiego jak ChatGPT lub CodeWP, aby wkleić go w Pythonie i poprosić o przepisanie go na PHP. Oto przykład z CodeWP, narzędziem AI stworzonym specjalnie dla twórców WordPress:
Wniosek
Będąc programistą WordPress, który pracuje ze sztuczną inteligencją, często muszę szybko wymyślić coś w Pythonie, a nawet stworzyć kompletne funkcjonalności na poziomie produkcyjnym w tym języku.
Postępując zgodnie z tymi metodami, możesz szybko uruchomić Pythona w witrynie WordPress i uzyskać dostęp do wszelkich danych wyjściowych, które może wygenerować.