本記事はPythonで作ったコードをWordPressに埋め込む方法を紹介するものです。
trinket.ioのように外部サービスを活用する方法はありますが、プラグイン単体に関してはあまり有用なものは現状(2020年5月現在)ありません。
「create with code」というプラグインが一見Pythonを使えそうですが、こちらも外部サービスの活用が必要です。
また、trinket.ioとcreate with codeはサイト上でPythonをデモ実行したい場合には使えますが、サイト内のPythonスクリプトを実行したい場合には使えません。
目的に合わせて使い分けましょう。
本記事では、サイト内のPythonスクリプトを実行する方法について紹介します。
具体的には「Insert PHP Code Snippet」というプラグインを使用してPythonを埋め込む方法です。
trinket.ioの使ってPythonをデモ実行する方法に関して知りたい方は「sukiburo」さんの以下の記事がおすすめです。
目次
「Insert PHP Code Snippet」をWordPressにインストール
まずは「Insert PHP Code Snippet」をWordPressにインストールします。
他のプラグインと基本的に同じです。
※プラグインがなくてもPHPは記述可能ですが、「Insert PHP Code Snippet」ならPHPをショートコード化できるので記事への貼り付けが楽
◆インストール手順
1.プラグインのページを開きます
2.新規追加をクリックします
3.「Insert PHP Code Snippet」で検索します
4.「Insert PHP Code Snippet」をインストールします
5.プラグインを有効化します
◆使い方
1.WordPressメニューの「XYZ PHP Code」をクリックします
2.「add New PHP Code Snippet」をクリックします
3.タイトルとPHPコードを入力します
4.「Create」をクリックします
5.作成したコードの[Snippet Short Code]をコピーします
6.コピーしたコードを記事に貼り付けます
PythonをPHPに埋め込む方法
PythonをPHPに埋め込む為にはPHPの関数「exec()」で呼び出す必要があります。
「exec()」はOSのシェルコマンドを実行することができる関数です。
exec関数について
exec('[実行するコマンド]', '[出力値]', '[戻り値]')
◆実行するコマンド
実行するコマンドを指定します。
今回はPythonを実行したいので
'python xxxx.py'
と指定します。
◆出力値
省略できます。
print()関数で出力したい内容を受け取ることができます。
出力内容は配列に1行ごとに格納されています。
◆戻り値
省略可能です。関数の実行結果が出力されます。
◆参考
公式サイトのコマンドリファレンス
記述例
実行環境に合わせて言語を指定しないと日本語が文字化けします。
◆Pythonの記述
1 2 | print('test1') print('test2') |
PythonのファイルはWordPressと同一サーバーにアップロードしてください。
◆PHPの記述
1 2 3 4 5 6 7 8 9 | <?php // 実行環境に合わせて言語も指定。実行ファイルは絶対パスで指定 $command = 'export LANG=ja_JP.UTF-8;python /home/user/xxxxxxxxx/test.py'; exec($command, $output); foreach ($output as $o) { echo $o . '<br>'; } ?> |
記事にショートコードを書き込みます。
1 | [xyz-ips snnippet="test"] |
◆記事への挿入例
◆記事の表示結果
以上、WordPressにPythonを埋め込む方法でした。
まとめ
WordPressは2020年5月現在Pythonを直接埋め込むプラグインはありません。
trinket.ioなどの外部サービスを活用する必要があります。
デモ実行をしたい場合は、trinket.ioがおすすめですが、Pythonを実行したい場合はPHPのexec()関数から呼び出す方法が最も簡単な方法です。
目的に合わせて使い分けましょう。
trinket.ioはなかなか面白そうなツールなので当サイトでも取り入れてみようと思います。