WordPressのカスタムタクソノミーの一覧をterm_metaと一緒にSQLで取得する方法 ExcelやCSVエクスポート用に

スポンサーリンク

WordPressのカスタムタクソノミーに登録しているデータをExcel形式のように管理したりエクスポートしたいと思って、どうしたらいいのかわからなかったので、直接SQL文を書いてみました。

同じようなことをしようと思っている方の参考になればと思います。

SELECT
	A.name,
	A.slug,
	(
		SELECT meta_value FROM wp_termmeta WHERE term_id = A.term_id AND meta_key = 'lat'
	) AS lat,
	(
		SELECT meta_value FROM wp_termmeta WHERE term_id = A.term_id AND meta_key = 'lng'
	) AS lng,
	(
		SELECT meta_value FROM wp_termmeta WHERE term_id = A.term_id AND meta_key = 'area_code'
	) AS area_code
FROM
 	wp_terms A,
 	wp_term_taxonomy B
WHERE
 	B.taxonomy = 'タクソノミーのID'
AND
	A.term_id = B.term_id
ORDER BY A.term_order

自分のサイトで実行してみたら、0.009秒で返ってきたので遅くはないかと思います。

SELECT文の中にさらにSELECT文を入れてますが、ここでterm_metaの値を取得しています。
「meta_key = ‘lat’」のようになっているところの「lat」は自分で設定したterm_metaの名称(ID)を設定すればOKです。

私のサイトでは、term_metaに緯度・経度・都道府県コードを入れているので、これらの値を取得したかったため、このようなSQLになっています。

このSQLをご自身のサイトに合わせて書き換えればいいと思いますよ。