WordPressの更新を反映させたい静的htmlのほうが別階層にあるとき、どうするの?

2016年8月10日

実際、クライアントさまの要望は個々にさまざま十人十色なので、WordPressが全盛だからといって、とくにトップページやカテゴリーのインデックス、固定ページは内容、デザイン、構成が複雑になるので、テンプレートとしてこさえるより、静的htmlでガッシリつくるほうがFTPも使える制作者サイドにすれば作りやすいし、メンテもしやすい。

でも、新着記事やらアイキャッチやら、WordPressの固有の機能をそれらに求められることは免れない。

<?php require('./wp-blog-header.php'); ?>

やら

<?php require('./wp-blog-header.php'); ?>

を静的htmlの最初の行に書いて、

.htaccessで、html上でphpが使える環境に整えればよいという情報が多いが、これはドメイン直下などのトップページでしか使えない。

おしえていただいたところによると、推奨されるのは以下の形式で

<?php require_once( dirname( __FILE__ ) . '/wp-load.php' ); ?>

カテゴリーインデックスなど、静的htmlがWordPressと異なる階層にある場合は

<?php require_once( dirname(dirname( __FILE__ )) . '/wp-load.php' ); ?>

など、階層数により

dirname(dirname(dirname( __FILE__ ))) と、dirnameを重ねて調整すればよいらしい。

(参考) wordpress関数を外から使うにはwp_load.phpを読み込む | hellooooworld.com

ページトップへ