WordPress外のファイルでWordPressの関数やショートコードを使えるようにする
最終更新日: Update!!
今回はあまり登場するケースは少ないかもしれませんが、WordPressのシステムではないウェブページなどで、投稿のループを表示させたりといったWordPressの機能を使いたい場合に行う方法です。関数やショートコードをWordPress外のファイルに記述できるようにすることでこれらの実現が可能になります。
追加ページなどでWordPressを導入するまでもない、メンテナンスしやすいようにしておきたいといった場合などに使えるのではないでしょうか。コード1つでWordPressの機能が使えるようになるのは便利ですね。
WordPressのコアファイルを読み込む
そのために必要な要件として、WordPress外であってもWordPressのコアファイル群をロードしておく必要があります。WordPressの独自関数はこれらのコアファイル内に定義されているので、コアファイルを読み込まない限りは使用できません。ちなみにWordPressのコアファイル群は次のような流れて読み込まれていきます。 /wordpress/index.php (インデックスファイルの読み込み) ↓ /wordpress/wp-blog-header.php (wp-blog-header.phpの読み込み) ↓ /wordpress/wp-load.php (wp-load.phpの読み込み ※WordPressの各種機能に関するファイル) /wordpress/template-loader.php (template-loader.phpの読み込み ※WordPressのテンプレート読み込みに関するファイル) ↓ その他いろんなWordPressコアファイルの読み込み なので、WordPressの関数などを使いたいファイルに以下のコードを記述しておきます。<?php require_once ('./wp-blog-header.php'); ?>注意すべき点としては、記述するファイルからみてwp-blog-header.phpファイルまでのパスを相対パスで記述する必要があります。なので実際は下記のような形になるかと思います。(環境によって適宜変える必要があります)
<?php require_once ('./WordPressフォルダ名/wp-blog-header.php'); ?>こうすることで通常のWordPressと同じ流れでコアファイルが読み込まれていき、WordPressの各種機能が使えるようになります。もちろん、プラグインなどの機能も使えるようになりますが、その場合には下記のように「wp_head()」や「wp_footer()」も忘れずに追記しておきましょう。
// 一部抜粋 ..... <?php wp_head(); ?> </head> ..... <?php wp_footer(); ?> </body>
静的ページで404エラーが発生する場合の対応
上記コードを追記することで、WordPressの関数やショートコードは使えるようになりますが、アプリケーションの中を通すため、WordPress側にページとして投稿が存在しないことになり、サーバーからは404エラーが返されることがあります。その場合には、以下のように、「wp-load.php」のファイルを読み込むようにすることで対応できます。これは「template-loader.php」を読み込むことでエラーが発生するためです。<?php require_once ('./WordPressフォルダ名/wp-load.php'); ?>
追加ページなどでWordPressを導入するまでもない、メンテナンスしやすいようにしておきたいといった場合などに使えるのではないでしょうか。コード1つでWordPressの機能が使えるようになるのは便利ですね。
sponserd
keyword search
recent posts
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
- ViteでReactとReact Routerを使ってみる
ViteでReactとReact Routerを使ってみる
- ViteでPugのコンパイル環境を導入する
ViteでPugのコンパイル環境を導入する
- ViteでMarkuplintとPrettierを使える環境を構築する
ViteでMarkuplintとPrettierを使える環境を構築する
- ViteでStylelintとESlintを使える環境を構築する
ViteでStylelintとESlintを使える環境を構築する
- マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
- ViteでVue.jsとVuex(Pinia)とVue Routerを使ってみる
ViteでVue.jsとVuex(Pinia)とVue Routerを使ってみる
categories