ちょっと案件があって、WordPressのプラグイン作ってました。設定画面があって、MySQLから引っ張ってきたデータをjQueryのAjaxで読み込むヤツ。
読み込むCGIが別ファイルなわけですが、これで$wpdb使ったら、Internal Server Errorが返される。global $wpdb唱えてもダメ。数時間さまよった挙句、ここを見つけて解決しました。

WordPressフォルダ直下にあるwp-blog-header.phpをincludeするのね。これだとglobal $wpdbもいらない。

ただし、

include(get_bloginfo('wpurl'). '/wp-blog-header.php');

とか、カッコ良くやってもダメです。get_bloginfo自体読みこまれてない。あくまで、

include('../../../wp-blog-header.php');

であるところがミソ。

エラーをvar_dumpしとけって?このパターンて、出力の設定が面倒で…。