我有这个问题:
$querystr = "
SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE post_id IN(
SELECT DISTINCT wpostmeta.post_id
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'Country'
AND wpostmeta.meta_value = 'UK'
AND wposts.post_type = 'post' ) AND meta_key ='city'
";
$cities = $wpdb->get_results($querystr, OBJECT);
<?php if ($cities ): ?>
<?php global $post; ?>
<?php foreach ($cities as $c): ?>
<?php echo $c->meta_value; ?> <br />
<?php endforeach; ?>
<?php endif; ?>
我需要添加搜索&#34;类别名称&#34;或&#34;类别ID&#34; ...我该怎么办?
谢谢;)
_______________________________ -
感谢您的回复,我已经做了一些测试,但没有工作....无论如何,你能帮助我吗? :)
$term_id = "SELECT term_id FROM wp_terms WHERE name='foods' ";
$post_id = 'SELECT object_id FROM wp_terms_relationships
WHERE term_taxonomy_id="$term_id->term_id';
SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE post_id IN(
SELECT DISTINCT wpostmeta.post_id
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'Country'
AND wpostmeta.meta_value = 'UK'
AND wposts.post_type = 'post' ) AND meta_key ='city'
AND wp_posts.ID = '$post_id->object_id'
答案 0 :(得分:0)
你错了,只是解释而不是确切的语法,你需要这样做。
global $wpdb;
$result = $wpdb->get_results("SELECT term_id FROM wp_terms WHERE name='foods'", OBJECT );
$post_id = $wpdb->get_results("SELECT object_id FROM wp_terms_relationships
WHERE term_taxonomy_id='$result->term_id'", OBJECT );
现在,您可以通过这种方式将其传递给您的查询。
AND wp_posts.ID = '$post_id->object_id'