WordPressでWebサイトを制作しているとき、お客様の方で自由に編集ができるランディングページがほしいという要望がありました。
今回はWordPressを設置しているディレクトリに静的ページを配置してみましょう
静的ページディレクトリの作成
WordPressがインストールされている階層(wp-config.phpなどと同じ階層)に静的ページ用のディレクトリを作ります
※例としてWordPressがインストールされているディレクトリを public_html
静的ページ用のディレクトリ名は outside にします、ご自分の環境に合わせて読み替えてください。
public_html  WordPressがインストールされているディレクトリ
 + wp-config.php  などWordPressファイル
 + wp-content  などのWordPressディレクトリ
 + outside  静的ページ用のディレクトリ
index.php のコピー
WordPressがインストールされているディレクトリ(本例ではpublic_html)にある index.php を静的ページディレクトリ(本例では outside)にコピーします。
public_html  WordPressがインストールされているディレクトリ
 + index.php  これを
 + outside  静的ページ用のディレクトリ
  + index.php  ここにコピーする
コピーした index.php の編集
静的ページディレクトリ(本例では outside)にコピーした編集前の index.php は以下のようになっています。
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
この17行目を
require( dirname( __FILE__ ) . '/../wp-blog-header.php' );
のように修正します。
今回は、本来 index.php があったディレクトリから1階層下の階層に index.php をコピーしましたので、1階層上を参照するように ../ を追加しています。
静的ページの設置
それでは静的ページを設置してみましょう
静的ページ用ディレクトリ(本例では outside)に seiteki ディレクトリを作り、そのなかに index.html を置いてみます。
public_html  WordPressがインストールされているディレクトリ
 + outside  静的ページ用のディレクトリ
  + seiteki  例として入れましたが無くても構いません
   + index.html  静的ページ
設置できたら表示させてみましょう
URLは WordPressサイトのURL/outside/seiteki/ になります。
リダイレクトループのエラー
リダイレクトループのエラーにより表示されないことがまれにあります。
そのような場合、function.php を修正することで見れるようになることがあります。
public_html  WordPressがインストールされているディレクトリ
 + wp-content  などのWordPressディレクトリ
  + themes  テーマディレクトリ
   + 自分の使っているテーマディレクトリ
    + function.php  これを修正する
| 
 function.php の修正にミスをすると WordPressの画面が真っ白になってしまいます。 修正は function.php のバックアップを行ってからにしてください。 そして、万が一画面が真っ白になってしまったら慌てずにバックアップしておいた function.php に戻してください。  | 
function.php の修正ですが、ファイルの最後に以下の1行を追加してください。
remove_filter('template_redirect', 'redirect_canonical');
まとめ
WordPressは簡単に利用できる半面、特色を出そうとしたページを作る際などにはWordPressの仕組みやphpを理解する必要があります。
利用者側で静的ページを自由に制作、変更できるようにするには今回のような静的ページの設置がよい手法だと思います。













コメントを残す