我正在举办一场基于WP Custom Fields的比赛。我试图计算特定用户的meta_key ='odd'的所有元值。我使用下面的公式,但它没有返回任何结果。
$meta_key = 'odd';
$post_author = 'Admin';
$odd = $wpdb->get_var( $wpdb->prepare(
"
SELECT Count(meta_value)
FROM $wpdb->postmeta
INNER JOIN $wpdb->posts ON $wpdb->postmeta->post_id = $wpdb->posts->ID
WHERE $wpdb->postmeta->meta_key = 'odd' AND $wpdb->posts->post_author = 'Admin'
",
$meta_key, $post_author
) );
echo "<p>Total odd {$odd}</p>";
任何人都可以帮助我吗?提前致谢。
答案 0 :(得分:4)
您正在为$wpdb
混合$post
变量和JOIN
变量,例如,您无法使用$wpdb->postmeta->post_id
,它将是{{} 1}},甚至可以更好地使用表别名。您的{$wpdb->postmeta}.post_id
也未传递prepare()
或meta_key
,因为您没有author
个占位符
%s