勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

WordPress内でPHPの独自プログラムページを実装する方法

  WordPress CMS

WordPress内にてPHPで作ったシステムを実装したい。ヘッダー / フッター等の共通パーツはWordPressのものをそのまま使いたい(includeしたい)。またシステム内でPOSTパラメータの受け渡しやSESSIONを利用したい。以下に実装方法をメモ。

 

実装方法

ソースコード

<?php
//SESSIONは普通のPHPと同様に使用可能
session_name('test_session');
session_start();

//パスは適宜変更
include('../wp-load.php');
?>

<!-- 共通パーツは使用しているテーマに合わせて呼び出す -->
<?php get_header(); ?>

    <?php
    //POSTやGETは普通のPHPと同様に使用可能
    if( isset($_POST) ){
        var_dump($_POST);
    }
    ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

ディレクトリ

「wordpress/【好きなディレクトリ名】」のようなディレクトリに上記ソースコードのファイルをアップロードすることで「https://test.com/wordpress/【好きなディレクトリ名】」という形で表示できる。

内容的にはWordPressと別のプログラムだけどURL的にはWordPress内のページに見える筈。

wp-load.php

wp-load.phpをincludeすることでwordpressとは別のディレクトリでもwordpress関数を使用することができる。

そのためget_headerやget_footerで共通パーツを呼び出せる。

尚、共通パーツの呼び出しに関してはテーマファイルによって異なる(サイドバーが無い等)と思うので使用しているテーマファイルに合わせること。

POST / GET / SESSION

POST / GET / SESSIONは普通のPHPと同様に使用可能。

JavaScript / CSSについて

プラグインで使用するJavaScriptやCSSについては自動読み込みされる。

テーマファイルで使用するものについてはテーマファイルの設定次第だとは思うけど、大抵読み込みされる筈。

 - WordPress CMS

  関連記事

WordPressのテーマファイル内で取得したオブジェクトを指定のフィールド名でソートする方法
WordPressのテーマファイル内で取得したオブジェクトを指定のフィールド名でソートする方法

WordPressのテーマファイル内で記事やカテゴリ一覧等を取得するとオブジェク ...

WordPressサイトのロードアベレージが高い際の対応方法
WordPressサイトのロードアベレージが高い際の対応方法

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

WordPressのMedia Library Organizerでダイアログ初回表示時のカテゴリを指定する方法
WordPressのMedia Library Organizerでダイアログ初回表示時のカテゴリを指定する方法

Media Library Organizerを使用中のWPサイトで画像をカテゴ ...

WordPressで自動でmetaタグのkeywordsとdescriptionを表示
WordPressで自動でmetaタグのkeywordsとdescriptionを表示

metaタグのkeywordsとdescriptionにて、基本的にはAll i ...

WordPressの5系から搭載されたブロックエディタ(Gutenberg)を元に戻す方法
WordPressの5系から搭載されたブロックエディタ(Gutenberg)を元に戻す方法

WordPressを5系にアップデートしたところ記事投稿ページのエディタが大幅に ...