Получить термины, содержащие сообщения, которые, в свою очередь, относятся к другим терминам?

Поэтому у меня есть обычная таксономия, называемая «форма», а другая – «цвет». Если я хочу получить термины списка под формой, которые содержат сообщения, которые также присутствуют в терминах под цветом , как это сделать?

Например, у меня есть пост под пользовательской игрушкой типа Post Ball, которая присутствует как в круге, так и в цвете Red. Я хочу получить термин «круг» через запрос $wpdb . Я хотел бы подчеркнуть, что хочу получить список терминов, а не сообщений.

Это должно дать вам имена всех таких терминов в массиве

 $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

Убедитесь, что в названиях таксономии нет орфографических ошибок «форма» и «цвет», которые используются внутри запроса

Рекомендации-

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

http://codex.wordpress.org/Database_Description