静的htmlでWordPressのphpを実行する:サクラのレンタルサーバ編

WordPressで作ったサイトのトップページをindex.hmtlの静的ファイルにしたい時の覚え書き。
既存のサイトで、新着情報等、一部だけをWP化したい時の手順です。

たとえば、
・新着情報だけしか更新しないから、ここだけWordPress化したい。
・新着5件をトップページに表示したいけど、それ以外の部分は静的htmlのまま管理したい。
・従ってトップページはWordPressを介さずにFTPで直接編集したいから、テーマファイルのphpにせず、htmlファイルのままにしておきたい。

みたいに、WordPressの導入範囲を最小限にとどめたい時のケースになります。

サーバによって作業が変わる様子です。
今回はサクラのレンタルサーバを使った時のケースを書きました。

あと、今回はWordPressは公開ディレクトリ直下にそのまま置いてあるのではなく、
「wp」等、ディレクトリを作ってその中にインストールしている構成を前提としています。

こんな感じです。

index.hmtl
 wp
 |- wp-admin
 |- wp-content
 |- wp-includes

▼PHPファイルをwww直下にコピーする

まず自分の使ってるphpのバージョンを確認して、サーバからローカルにDL。
私の場合は5.2.17でした。

Transmit(ftpソフト)で下記の領域にアクセスして、

/usr/local/php/5.2.17/bin/php-cgi

php-cgiをダブルクリックするとインストールできる。
バイナリモードじゃないといけないのだそうですが、Transmitは特に何も設定しなくても大丈夫でした。

ローカルにDLできたら、ファイルを

php.cgi

にリネーム。サーバのwww直下にアップします。
パーミッションは705にしました。

最後に、www直下にある.htaccessに下記を記載します。

[html]
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
[/html]

ここまでの作業は下記を参考にさせてもらいました!
http://d.hatena.ne.jp/tazkittyz/20120306/1331042086

▼WordPress側でのファイル修正

.htaccessを修正。

[html]
RewriteRule . /index.php [L]
[/html]

となっているのを

[html]
RewriteRule . /WordPressをインストールしてるディレクトリ/index.php [L]
[/html]

に変更。

WordPressのindex.phpをindex.htmlに拡張子を変更して、1行目に下記を記載する

[html]
<?php require_once ‘./WordPressをインストールしてるディレクトリ/wp-load.php’; ?>
[/html]

ここでの作業は下記を参考にさせてもらいました!
http://www.webopixel.net/wordpress/206.html

あとは、ファイル内にWordPressのテンプレートに書くようなPHPを書いたら実行されるようになる。

追記:
まがりんさん(@jim0912)アドバイスをいただいた部分を追加しました。

wp-blog-header.php だと、不要な部分まで実行されてしまうので、wp-load.php を require_once する方が良いですね。

wp-blog-header.php ですと、記事の抽出処理まで行われることになります。これを活かすかどうかによりますが、この場合は、?p=nnnn などのパラメーターを付けられたりすると意図しない動作になる可能性があります。
WordPress の機能のみ使いたい場合は、wp-load.php を読み込むと、WordPress関数およびプラグイン、テーマのfunctions.php などが使える初期化までで止まります。この場合は、htmlファイルで query_posts にて、記事の取得を自分で行う必要があります。

by. 大曲仁さん

▼既存htmlファイルの修正

xmlの宣言が書かれていると、syntaxエラーになってしまうため

[html]
<?php echo ‘<?xml version="1.0" encoding="utf-8"?>’; ?>
[/html]

のように書き換える。

以上。

この記事を書いた人

mihoji

大阪でWEB屋さんをやっています。 WordPressを使ったサイト構築と、小規模な企業のマーケティング提案が得意です。 WordPressとIT系勉強会とビールがすき。