wordpressのデータベースへのアクセス方法(wpdb)

wpdbの読み込み


phpで$wpdb関数を使えばwordpressのデータベースにアクセスできる。 phpファイルの最初に以下を記入しwpdbを読み込む。

global $wpdb;

データ取得のサンプル


データベースから投稿のタイトルを取得し一覧を出力

$data = $wpdb->get_results( "SELECT post_title FROM $wpdb->posts" );
foreach ($data as $value) {
 echo $value->post_title";
}

wpのデータベースに最初から存在するtitleやdataと言ったカラムのデータはpostsのテーブルに格納されているため、上記のコードで取得できる。 ただし、custom field templateなどで作成したカラムはpostsテーブルではなく、postmetaテーブルに格納され、postsテーブルのデータに紐付けされているため、上記のコードだけでは取得できない。

つまずいたこと


wpdbとはあまり関係ないが、wordpressを使う際に以下のコードをファイルに記載しないとコードが動かない(よく忘れる。)

require( dirname(__FILE__) . '/wp-blog-header.php');