プラグインを開発中、CSVでデータベース中にある、とあるデータをダウンロードできるようにしようとしたのですが、その際どうしてもWordPress外部のプログラムファイルにアクセスする必要があります。
そうすると、WordPressのコアにアクセスしないので、WordPressで用意されている、超便利な関数が利用できなかったり、WordPressのデータベースにアクセスするにも、独自にコードを用意する必要があったり、いろいろ面倒で、というか、そうするとWordPressを使っている値打ちが半減する気がしたので調べてみたら、ありました!
1 |
require_once( dirname(__FILE__) . '/wp-load.php' ); |
たったこれだけ。
とっても参考になったサイト:wordpress関数を外から使うにはwp_load.phpを読み込む
たとえば、プラグインフォルダにあるmy-plugin.phpというファイルから呼び出すときは、 /wp-content/plugins/my-plugin/my-plugin.php のようにルートまでに4階層あるので、
1 |
require_once( dirname(dirname(dirname(dirname( __FILE__ )))) . '/wp-load.php' ); |
と、dirnameを4個つらねて階層分たどればOK!
これで、DBへ面倒な接続なんかしなくても、$wpdbが利用できます。
ていうか、プラグイン開発する際にはないとこまりますね。