やりたいこと
WordPressで独自のPHPを埋め込みたい。
固定ぺージなどに埋め込むやり方
調べると、
- WordPressのプラグインでPHP埋め込みようプラグインを導入する
- テーマのpage.phpをいじる
など方法があったが、以下の記事でご紹介頂いている方法が一番シンプルで良かった。
例)
埋め込みたい独自のPHPファイルの名前が、
hoge.php
の場合。
- 使ってるテーマの子テーマフォルダ(~child)に、hoge.phpを置く。(functions.phpと同階層)
-
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’);
- 固定ページに以下埋め込みコードを記述。
[call_php file='hoge']
埋め込みたい独自phpファイル名末尾の「.php」は書かなくていい
- 画面確認→埋め込み成功
試しに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の影響下から特定のディレクトリを外すやり方
WordPressのフォルダの配下だろうと、
実フォルダを作ればPHPが動作するのが一応は確認できたわけだが、
- WordPressの設定で実フォルダ配下のPHPが正常に動作しない
- 念のためWordPressの影響下(管理下)から実フォルダ配下のPHPを除外したい
という場合は、
こちらでご紹介されている以下の方法を使うと良いっぽい。
除外したい該当ディレクトリに↓下記のコードを書いた[.htaccess]を設置するだけ。
RewriteEngine off
※2つ方法が紹介されていて、
- /.htaccess 内のWordPressが自動生成するmod_rewriteの部分に手を入れる
- 除外したい該当ディレクトリ配下に.htaccessを配置する
後者の方を先述したが、
前者の方は、WordPressに上書きされちゃうんじゃないかな?
WordPressのパーマリンク保存とかしたときに。
コメント