本記事は執筆時点(2023年12月04日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。
固定ページにPHPを書くには?
ワードプレスの固定ページ(投稿ページ)内にPHPを書いたり、PHPファイルを読み込ませることができたら便利ですよね。
ページ内でPHPを使った処理を行ったり、Googleアドセンスなどのコードを複数ページで使いまわせたら効率も上がります。
今回は「PHPファイルを作成して、ショートコードを使って固定ページ内に読み込ませる」という方法をご紹介します。
ショートコードなので記述は楽ですし、複数のページで同じソースコードを使いまわす場合も元のファイルはひとつなので修正も簡単です。
PHPファイルをショートコードで読み込む手順
PHPファイルを作成してアップロード⇒functions.phpでショートコード化⇒固定ページで使うという手順で行います。
テーマファイルの編集はサイトに予期せぬ不具合をもたらす恐れがあります。必ず事前にバックアップをとり、自己責任で編集してください。
ファイルの作成とアップロード
まずは、読み込ませたい内容を記述したPHPファイルを作成し、テーマフォルダ内に任意のフォルダを新規作成してアップロードします。
今回はhogehoge.phpというファイルを作り、filesフォルダを用意してアップロードしました。
以下、作成したPHPファイルに記載した内容です。(PHPだけでなく、直にHTMLを書いてもOKです)
PHP
<?php echo "Hello World!"; ?< <p>これはHTMLです。</p>
functions.phpでショートコードを生成
続いてはfunctions.phpへの追記です。ここでファイルを読み込んでショートコードで呼び出せるようにします。
以下のコードをfunctions.phpに記述してください。
functions.php
//固定ページにPHPファイルを読み込むショートコードを生成 function include_myFiles($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/files/$file.php"); return ob_get_clean(); } add_shortcode('sc_myFile', 'include_myFiles');
コードの解説
6行目include()で指定したパスのファイルが読み込まれます。上記は親テーマフォルダ内にアップロードしているので「get_template」を使っていますが、子テーマを使っている場合は「get_stylesheet」に書き換えてください。
9行目add_shortcode()の「sc_myFile」がショートコードに使う文字列です。他のショートコードと重複しなければ好きな文字列に変更できます。
固定ページにショートコードで読み込む
最後は、固定ページ内の読み込ませたい場所にショートコードを書けば完了です。(ブロックエディタを使用している場合はHTMLが書けるように切り替えてください)
固定ページ
[sc_myFile file="hogehoge"]
コードの解説
ショートコード内の「file="○○"」で読み込むファイル名を指定しています。今回はhogehoge.phpなので「hogehoge」のみ記述します。
読み込むファイルはショートコードを書くときに指定するので、同じフォルダにアップロードすれば、ひとつのショートコードで異なるファイルを読み込むことが可能です。
まとめ
以上がワードプレスの固定ページにショートコードでPHPファイルを読み込む方法です。
複数のページで同じソースコードを使い回せるので覚えておくと役に立ちます。