以下查询可以获取自定义字段键的所有值。收集自:http://goo.gl/94qw3
function get_meta_values( $key = '', $type = 'post', $status = 'publish' ) {
global $wpdb;
if( empty( $key ) )
return;
$r = $wpdb->get_col( $wpdb->prepare( "
SELECT pm.meta_value FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
WHERE pm.meta_key = '%s'
AND p.post_status = '%s'
AND p.post_type = '%s'
", $key, $status, $type ) );
return $r;
}
$my_var = get_meta_values( 'YOURKEY' );
我想获取“自定义字段B”键的所有值 为“自定义字段A”的键匹配值“2010”时。
示例:
我有2个键(2个costom字段)
-------------------------
Movie Yr | Artist
---------------------------
2000 | Artist One
2008 | Artist Two
2012 | Artist Three
| Artist Four
| Artist Five
---------------------------
通过上述查询,我可以得到以下列表。
---------
Movie Yr
---------
2000
2008
2012
---------
现在,在选择“Movie Yr”字段的值'2010'之后,我想获得一个艺术家列表。不是所有的艺术家,只有那些与'2010'相关的艺术家。像
这样的东西---------
Artist
---------
Artist Two
Artist Four
Artist Five
---------
答案 0 :(得分:0)
如果我让你就在这里,那就是把你想要的所有值添加到另一个过滤器中。 我是对的吗?
如果是这样 - 您只需编辑所获得的SQL并添加所需的过滤器。 这是你现在的SQL:
SELECT pm.meta_value FROM {$wpdb->postmeta} pm LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id WHERE pm.meta_key = '%s' AND p.post_status = '%s' AND p.post_type = '%s'
%s
从后面的变量中获取内容:
$key, $status, $type
按顺序。
在您的情况下,您需要做的就是将额外内容添加到SQL查询中。
如果你能说出你想做什么,我很乐意帮助你...你的解释非常混乱。