勉強したことのメモ

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

  関連記事

Advanced Custom Fieldsでセレクトメニューを動的に生成する方法
Advanced Custom Fieldsでセレクトメニューを動的に生成する方法

WordPressでカスタムフィールド設定用のプラグインAdvanced Cus ...

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

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

WordPressで記事検索時に投稿ID順にならない場合の対応方法
WordPressで記事検索時に投稿ID順にならない場合の対応方法

WordPressでサイト上から記事検索(キーワード検索)を行った場合、通常であ ...

WordPressのサーバー移行で気付いた点
WordPressのサーバー移行で気付いた点

あるWordPressを置いているサーバーのリソースが苦しくなってきたので、新た ...

WordPressの記事公開・更新時に何らかの処理を行う方法
WordPressの記事公開・更新時に何らかの処理を行う方法

WordPressで記事を公開(予約公開含む)もしくは更新した際に何らかの処理を ...