WordPress で Python スクリプトを実行する方法
公開: 2023-08-03Python は、その使いやすさ、強力なライブラリ、シンプルな構文により人気が高まり続けています。 私は、WordPress の個々の機能を PHP に変換する前に Python でプロトタイピングすることがよくあります。
しかし、そんなことをする代わりに、WordPress 上で Python を実行してはどうでしょうか? この投稿では、WordPress Web サイト上で Python コードを直接実行するために使用できるさまざまな方法について説明します。
WordPress で Python スクリプトを実行する
exec()
という組み込みの PHP 関数を使用して、Python からのスクリプトを含む外部スクリプトを実行できます。 これを機能させるには、PHP と Python の両方で少しのコードが必要ですが、すべてがどのように組み合わされるかを理解すれば、非常に簡単です。

プラグインまたはコード スニペットを作成できます。 何を構築したいかによって異なりますが、私は通常、Web サイトのフロントエンドで管理しやすいコード スニペットを作成します。
まず、Python がサーバーにグローバルにインストールされていることを確認します。 root アクセス権がある場合は自分で行うことができますが、ない場合はウェブホストにインストールを依頼する必要があります。 たとえば、Cloudways では、Python をインストールしてもらう必要がありました。
PHP関数
WordPress で Python スクリプトを実行する PHP 関数を作成するコードを作成します。 使いやすくするために、最初にコード スニペット管理プラグインで使用できるスニペットを示します。 次に、同じことを行うカスタム プラグインの構築を見てみましょう。
この関数を使用すると、すべての Python スクリプトがメディア ライブラリに存在し、メディア ライブラリのアイテム ID を指定することで実行するスクリプトを選択できます。 おそらく、Python MIME タイプのアップロードを許可する必要があることに注意してください。 それを有効にするためにこのプラグインを使用しました。
最終的に多くのエラー処理を追加したため、これは少し複雑に見えます。 しかし、本質的には、コードが行うことは、メディア ライブラリからファイルを検索し、スクリプトを実行して、最終的に返されるものを出力することだけです。
私のマシンにインストールされている「python3」を使用していることに注意してください。 「Python」に変更するとよいでしょう。
プラグインを作成する場合、構造は次のようになります。
wp-content/plugins/ cwpai_my-python-plugin/ cwpai_plugin.php assets/ py/ script.py
cwpai_plugin.php は次のようになります。
プラグインの場合、Python スクリプトを特定のディレクトリ (この例では、assets/py) に含める方が簡単で、FTP 経由で追加および編集できるようになります。 したがって、WordPress で実行する Python がたくさんあるほうが良いでしょう。
これを使用するには、関数を呼び出すだけです。
ショートコード
「運用」では、Python スクリプトを実行するための WP ショートコードを作成することも役立つ場合があります。 上記と同じ一般的な関数を使用して、 を変更して WordPress ショートコードにすることができます。

投稿やページでショートコード[run_python_script media_]
を直接使用できるようになりました。 「6」を使用するメディア ファイルの ID に置き換えます。
ホスト型サービスを使用する
API 経由で Python にアクセスできるホスト型サービスが多数存在します。 これは、特に独自のカスタム プラグインを作成したかのように PHP で (CURL を使用して) 出力にアクセスできるため、より複雑なプロジェクトやワークフローに役立つ場合があります。
まず、Python で API を作成する必要があります。 ここにそのための優れたリソースがあります。 基本的には Flask を使用して、API エンドポイントを公開する Web アプリを作成します。 次に、これらのサービスのいずれかを使用してその Web アプリをホストし、PHP を使用してさまざまな API エンドポイントにアクセスします。
API を備えた Python アプリの例を次に示します。
そして、PHP でそれにアクセスし、そのデータを WordPress で使用できるようにする方法 (データベースフィールドの変更、新しいユーザーの追加など)。
$response データを使用すると、WordPress のあらゆる機能で使用できるようになります。 これは基本的な例ですが、これを行う方法を示すのに適しています。
少し技術的で、安価なものが必要な場合は、Digital Ocean を使用して Python アプリをデプロイすることをお勧めします。簡単な場合は月額 2.50 ドルかかります。
素早く、シンプルで簡単なものが必要な場合は、月額 $5 から始まる PythonAnywhere.com をチェックしてください。
小規模なシナリオ以外では、この方法がおそらく最善の方法です。
Python を PHP に変換する
もう 1 つのオプションは、単純に Python を PHP に変換し、コード スニペットなどのプラグインを使用してその関数を実行することです。
手動で PHP に変換することも、ChatGPT や CodeWP などのツールを使用して Python に貼り付け、PHP への書き換えをリクエストすることもできます。 以下は、WordPress クリエイター向けに特別に構築された AI ツールである CodeWP の例です。

結論
AI を扱う WordPress 開発者である私は、Python で何かを手早くモックアップしたり、言語で完全な運用レベルの機能を作成したりする必要があることによく気づきます。
これらの方法に従うことで、WordPress サイトで Python をすばやく実行し、生成されるあらゆる出力にアクセスできます。