web-dev-qa-db-ja.com

順番に他の用語に属する投稿を含む用語を取得しますか?

だから私は "形状"と呼ばれるカスタム分類法と "色"と呼ばれる別のものを持っています。リストの用語をの下に含めたい場合は、、どうすればいいですか?

たとえば、Ballというカスタム投稿タイプのおもちゃの下に投稿があります。 $wpdbクエリでCircleという名前を検索したい。投稿ではなく用語のリストを取得したいことを強調したいと思います。

3
jilseego

これにより、配列内のそのようなすべての用語の名前がわかります。

$wpdb->get_col("SELECT DISTINCT {$wpdb->terms}.name FROM {$wpdb->terms}
INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_id = {$wpdb->terms}.term_id
INNER JOIN {$wpdb->term_relationships} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id
WHERE {$wpdb->term_taxonomy}.taxonomy = 'shape' AND {$wpdb->term_relationships}.object_id IN (
SELECT object_id FROM {$wpdb->term_relationships}
INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id
WHERE {$wpdb->term_taxonomy}.taxonomy = 'color'
);");

名前以外の詳細が必要な場合は、フィールドを選択して&を選択し、関数もget_colからget_resultsに変更する必要があります。

クエリ内で使用されている分類名 "shape"と "color"にスペルミスがないことを確認してください。

参考文献 -

http://codex.wordpress.org/Class_Reference/wpdb

http://codex.wordpress.org/Database_Description

6
Mridul Aggarwal