是的,请执行INNER JOIN
, 像这样的方法应该会奏效:
$values = $wpdb->get_col($wpdb->prepare("
SELECT meta_value FROM $wpdb->postmeta
INNER JOIN $wpdb->posts
{$wpdb->posts}.ID = {$wpdb->postmeta}.post_id
WHERE meta_key= %s
AND {$wpdb->posts}.post_status=\'publish\'"
,$metakey
));
我改变了
$wpdb->get_results()
到
$wpdb->get_col()
因为看起来您只是选择了一列数据作为数组。我还补充道
$wpdb->prepare()
因为这通常是最佳实践。