WordPressで独自のPHPを埋め込む

WordPress
スポンサーリンク

やりたいこと

WordPressで独自のPHPを埋め込みたい。

固定ぺージなどに埋め込むやり方

調べると、

  • WordPressのプラグインでPHP埋め込みようプラグインを導入する
  • テーマのpage.phpをいじる

など方法があったが、以下の記事でご紹介頂いている方法が一番シンプルで良かった。

WordPressで自作PHPファイルを読み込ませる(include) - ラクーン合同会社(raQoon LLC.)
複数ページでよく使うソースコードや、カスタムHTMLで編集がわかりづらいな~という時に、自作PHPファイルを使うと非常に便利なので僕は重宝しています。

例)
埋め込みたい独自のPHPファイルの名前が、
hoge.php

の場合。

  1. 使ってるテーマの子テーマフォルダ(~child)に、hoge.phpを置く。(functions.phpと同階層)

  2. themeのchildの、functions.phpに以下追記

/* PHPの読み込み
———————————————————- */
function my_php_Include($params = array()) {
extract(shortcode_atts(array(‘file’ => ‘default’), $params));
ob_start();
include(STYLESHEETPATH . “/$file.php”);
return ob_get_clean();
}
add_shortcode(‘call_php’, ‘my_php_Include’);

  1. 固定ページに以下埋め込みコードを記述。
[call_php file='hoge']

埋め込みたい独自phpファイル名末尾の「.php」は書かなくていい

  1. 画面確認→埋め込み成功

試しにphpinfo()画面を埋め込んでみた。
ちゃんと埋め込めてるー。

別フォルダを作って独自のPHPを設置するやり方

これは単純にWordPressコンテンツフォルダ配下にフォルダを作って、そこにPHPコンテンツを設置するだけでいいっぽい。

ためしに新しいフォルダにphpファイルを置いてみたら動作した。

ちなみに、

WordPressで動的に生成されるURLのフォルダと、自分で作成した実フォルダ、優先されるのは?

WordPressで動的に生成されるURLのフォルダと、自分で作成した実フォルダ、優先されるのは、実フォルダの模様。

実際にやる場合は、自己責任でオナシャスね。

とういうことかというと、

https://it-afi.com/sub/

というフォルダを作って、

https://it-afi.com/sub/index.php

というファイルを用意し、

WordPressの方でもパーマリンクなどで、

https://it-afi.com/sub/

というページを動的に作る。

この場合、Webブラウザで

https://it-afi.com/sub/

にアクセスしたときに表示されるのは前者の実フォルダということ。

参考:

【WordPress】どちらが優先?実ファイル・実ディレクトリとの共存 - Sight-R(サイタル)
WordPress内に自分で作ったHTMLファイルやディレクトリを置いたらどうなるの?実際のWordPress内に実ファイル・実ディレクトリを作成するとページがどのように表示されるのか?本記事では、その傾向と流れををケース別に分けてご紹介します。

WordPressの影響下から特定のディレクトリを外すやり方

WordPressのフォルダの配下だろうと、
実フォルダを作ればPHPが動作するのが一応は確認できたわけだが、

  • WordPressの設定で実フォルダ配下のPHPが正常に動作しない
  • 念のためWordPressの影響下(管理下)から実フォルダ配下のPHPを除外したい

という場合は、

こちらでご紹介されている以下の方法を使うと良いっぽい。

除外したい該当ディレクトリに↓下記のコードを書いた[.htaccess]を設置するだけ。

RewriteEngine off

※2つ方法が紹介されていて、

  • /.htaccess 内のWordPressが自動生成するmod_rewriteの部分に手を入れる
  • 除外したい該当ディレクトリ配下に.htaccessを配置する

後者の方を先述したが、

前者の方は、WordPressに上書きされちゃうんじゃないかな?
WordPressのパーマリンク保存とかしたときに。

コメント