Как запускать скрипты Python в WordPress
Опубликовано: 2023-08-03Популярность Python продолжает расти благодаря простоте использования, мощным библиотекам и простому синтаксису. Я часто делаю прототипы отдельных функций для WordPress с помощью Python, прежде чем конвертировать их в PHP.
Но вместо этого, почему бы просто не запустить Python на WordPress? В этом посте мы обсудим различные методы, которые можно использовать для запуска кода Python непосредственно на веб-сайте WordPress.
Запуск скриптов Python на WordPress
Мы можем использовать встроенную в PHP функцию exec()
для запуска внешних скриптов, в том числе из Python. Для работы потребуется немного кода как на PHP, так и на Python, но это довольно просто, если вы понимаете, как все сочетается друг с другом.
Мы можем либо создать плагин, либо фрагмент кода. Это зависит от того, что вы хотите создать, но я обычно создаю фрагмент кода, которым легче управлять во внешнем интерфейсе веб-сайта.
Во-первых, убедитесь, что Python глобально установлен на вашем сервере. Вы можете сделать это самостоятельно, если у вас есть root-доступ, если нет, вам нужно будет попросить своего веб-хостинга установить его. Например, в Cloudways нам нужно было, чтобы они установили для нас Python.
PHP-функция
Мы создадим код для создания функции PHP, которая будет запускать любой скрипт Python в WordPress. Для простоты использования я сначала покажу вам фрагмент кода, который можно использовать с плагином Code Snippet Management. Затем мы можем взглянуть на создание собственного плагина, который будет делать то же самое.
С помощью этой функции все скрипты Python находятся в медиатеке, и мы можем выбрать скрипт для запуска, указав идентификатор элемента медиатеки. Имейте в виду, что вам, вероятно, потребуется разрешить загрузку mime-типа Python. Я использовал этот плагин, чтобы включить его.
Это выглядит немного сложно, потому что в итоге я добавил много обработки ошибок. Но по своей сути весь код находит файл в медиатеке и запускает скрипт, выводя все, что он в конечном итоге возвращает.
Обратите внимание, что я использовал «python3», так как он установлен на моей машине. Вы можете изменить его на «python».
Если мы создадим плагин, структура может выглядеть так:
wp-content/plugins/ cwpai_my-python-plugin/ cwpai_plugin.php assets/ py/ script.py
cwpai_plugin.php выглядит так:
Для плагина быстрее включить скрипты Python в определенный каталог (в данном примере это assets/py), что позволит вам добавлять и редактировать их по FTP. Поэтому лучше, если у вас много Python для запуска в WordPress.
Чтобы использовать его, просто вызовите функцию:
Короткий код
В «производстве» также может быть полезно создание шорткода WP для запуска скрипта Python. Мы можем использовать ту же общую функцию, что и выше, изменив ее на, чтобы превратить ее в шорткод WordPress:
Теперь вы можете использовать шорткод [run_python_script media_]
прямо в своих сообщениях и на страницах. Замените «6» на идентификатор медиафайла, который вы хотите использовать.
Используйте размещенную службу
Существуют десятки размещенных сервисов, которые позволяют вам получить доступ к Python через API. Это может быть полезно для более сложных проектов и рабочих процессов, особенно если вы можете получить доступ к выходным данным в PHP (используя CURL) так же, как если бы вы создали свой собственный плагин.
Во-первых, вам нужно создать API с Python. Вот хороший ресурс для этого. По сути, вы будете использовать Flask для создания веб-приложения, которое предоставляет конечные точки API. Затем вы разместите это веб-приложение с помощью одной из этих служб и получите доступ к различным конечным точкам API с помощью PHP.
Вот пример приложения Python с API:
И как я получу к нему доступ в PHP, что позволит мне использовать эти данные в WordPress (будь то изменение полей базы данных, добавление нового пользователя и т. д.)
Теперь, имея данные $response, вы можете использовать их с любыми функциями WordPress. Это базовый пример, но он хорошо показывает, как вы это сделаете.
Если вы немного разбираетесь в технологиях и хотите что-то дешевое, я бы посоветовал развернуть ваше приложение Python с помощью Digital Ocean, которое стоит 2,50 доллара в месяц для простых вещей.
Если вам нужно что-то быстрое, простое и легкое, посетите PythonAnywhere.com, стоимость которого начинается от 5 долларов в месяц.
Помимо небольших сценариев, этот метод, вероятно, является лучшим способом сделать что-то.
Преобразовать Python в PHP
Другим вариантом было бы просто преобразовать Python в PHP и использовать плагин, такой как фрагменты кода, для запуска этой функции.
Вы можете вручную преобразовать его в PHP или использовать такой инструмент, как ChatGPT или CodeWP, чтобы вставить его в Python и запросить его переписывание в PHP. Вот пример с CodeWP, инструментом искусственного интеллекта, специально созданным для создателей WordPress:
Заключение
Будучи разработчиком WordPress, работающим с искусственным интеллектом, я часто обнаруживаю, что мне нужно быстро что-то смоделировать с помощью Python или даже создать полные функции производственного уровня на языке.
Следуя этим методам, вы можете быстро запустить python на сайте WordPress и получить доступ к любому результату, который он может произвести.