2012-01-09 10 views
0

Wordpressでは、(両方の) 'タグ'によってタグ付けされているpostIDを返すようにクエリを実行しようとしています。私はある種のサブクエリが必要かもしれないと思う。私はこれまで何をしてきたのですか?Wordpressカスタム選択クエリ - 両方のタグで投稿ID

SELECT wposts .id 
FROM wp_posts wposts 
INNER JOIN wp_term_relationships ON(wposts.ID = wp_term_relationships.object_id) 
INNER JOIN wp_term_taxonomy ON(wp_term_relationships.term_taxonomy_id =wp_term_taxonomy.term_taxonomy_id) 
INNER JOIN wp_terms ON(wp_term_taxonomy.term_id = wp_terms.term_id) 
WHERE wposts.post_status = 'publish' AND wposts.post_type = 'header-image' AND wp_term_taxonomy.taxonomy = 'tags' AND (wp_terms.name ='homepage' AND wp_terms.name ='position1') 
+0

追加してください。タグとしてのRDBMSタイプ。 –

+0

が推奨されます。ごめんなさい。 – Paul

答えて

1
SELECT p .id 

FROM wp_posts AS p 
    INNER JOIN wp_term_relationships AS rel1 
    ON p.ID = rel1.object_id 
    INNER JOIN wp_term_taxonomy AS tax1 
    ON rel1.term_taxonomy_id = tax1.term_taxonomy_id 
    INNER JOIN wp_terms AS term1 
    ON tax1.term_id = term1.term_id 

    INNER JOIN wp_term_relationships AS rel2 
    ON p.ID = rel2.object_id 
    INNER JOIN wp_term_taxonomy AS tax2 
    ON rel2.term_taxonomy_id = tax2.term_taxonomy_id 
    INNER JOIN wp_terms AS term2 
    ON tax2.term_id = term2.term_id 

WHERE p.post_status = 'publish' 
    AND p.post_type = 'header-image' 
    AND tax1.taxonomy = 'tags' 
    AND term1.name ='homepage' 
    AND tax2.taxonomy = 'tags' 
    AND term2.name ='position1' 
+0

は治療のように働きます。完璧。 – Paul

1

この試してみてください。ここに

<?php 

// The Query 
$the_query = new WP_Query('tag=TAG1+TAG2'); 

// The Loop 
while ($the_query->have_posts()) : $the_query->the_post();   
    the_title(); 
    the_content(); 
endwhile; 

// Reset Post Data 
wp_reset_postdata(); 

?> 

さらに詳しい情報:http://codex.wordpress.org/Class_Reference/WP_Query

をそして、あなたはWPの使用中のデータベースと直接作業している場合は、この:http://codex.wordpress.org/Class_Reference/wpdb

+0

私はプラグインでやろうとしていたものには適していませんが、とにかくupvoteを持っています。 – Paul

+0

あまりにもあなたが欲しいものを説明することができれば、おそらく助けてくれるでしょう。 – janw

関連する問題