Think Simple Enjoy Life

WordPressのデータベースを直接触ってデータにアクセスする。サンプルをいくつか。

WordPressには、APIを豊富に用意されていて、普段は素のSQLを意識することはありません。 ただ、re:dashといったアナリティクスツールや、Rubyなどの他の言語と連携する場合は、その機能が利用できません。

時々素のSQLを使ってデータにアクセスすることがあるので、まとめておこうと思います。

前提

  • MySQLへの接続はできる状態

SQLを直接使ってWordPressのデータにアクセスする

mysql

公開中の記事に紐づくタクソノミー(カテゴリ・タグ)を取得する

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
;

参考

データベース構造