MySQLでカスタムフィールドを条件に記事を取得するレッスン

INNER JOINでテーブルを結合するイメージ図

PHPとMySQLを使って、外部にあるWordPressサイトの記事データを、
WordPressのカスタムフィールドの条件に従って取得するレッスンを行いました。

WordPressには、カスタマイズに便利なテンプレートタグが多数用意されていますが、
やや特殊な条件でデータを取得・表示しようと思うと、データベースの検索処理を
SQLで記述してしまったほうが手っ取り早い場合もあります。

WordPressはオープンソースのデータベースエンジン MySQL を採用していますが、
データベースの種類で分類すると、MySQLはリレーショナルデータベースです。

リレーショナルデータベースはエクセルのシートのような、縦と横のセルからなる
表(=テーブル)で構成され、「ユーザー情報」「記事情報」といったように
データの役割ごとに複数のテーブルに分かれています。

そのため、SQLでデータベースを検索したいときは、テーブルの名前やカラム名、
テーブル同士がどのカラムで繋がっているのかを知らなければなりません。

WordPressのデータベースは、公式マニュアルのCODEXにテーブル構造が詳しく
掲載されています。

データベース構造 – WordPress Codex 日本語版