WordPressのデータベースを直接触ってデータにアクセスする。サンプルをいくつか。
WordPressには、APIを豊富に用意されていて、普段は素のSQLを意識することはありません。 ただ、re:dashといったアナリティクスツールや、Rubyなどの他の言語と連携する場合は、その機能が利用できません。
時々素のSQLを使ってデータにアクセスすることがあるので、まとめておこうと思います。
前提
- MySQLへの接続はできる状態
SQLを直接使ってWordPressのデータにアクセスする
公開中の記事に紐づくタクソノミー(カテゴリ・タグ)を取得する
SELECT p.id
,p.post\_title
,t.name
FROM
wp\_posts as p
,wp\_term\_taxonomy as tt
,wp\_terms as t
,wp\_term\_relationships as tr
WHERE
p.post\_type = 'post'
AND p.post\_status = 'publish'
AND p.id = tr.object\_id
AND tr.term\_taxonomy\_id = tt.term\_taxonomy\_id
AND tt.term\_id = t.term\_id
AND p.id = tr.object\_id
ORDER BY p.id
;