rusica.net

WordPressが出力するファイルではない場所で、WordPressの関数を使いたい

WordPressの関数を使いたいファイルの冒頭で

<?php require('PATH/wp-load.php'); ?>

と記述 *1。「PATH」の部分には、そのファイルからwp-load.phpまでの相対パスを入れる *2。それ以後はWordPressの関数が利用可能に。おそらく条件分岐タグなどは不可 *3

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

と書くことでも同様のことが可能だが、こちらはHTTPヘッダ内で404エラーとして処理されるようなので、前述のwp-load.phpを読み込んだ方がベター。

  1. 当然そのファイルがPHPとして処理されないとアウト。拡張子にこだわる人は.htaccessで.htmlがPHPとして扱われるようにするといい。ただ、全HTMLをPHPとして処理されるようにするのはサーバへの不可とか考えると微妙だと思う。特定のファイルに限定するようにした方がいいかもね。[]
  2. 「wp/wp-load.php」とか「../blog/wp-load.php」とか。[]
  3. というかどういう判定になるのか調べてない。[]