Ich möchte einen benutzerdefinierten Beitragstyp in meiner benutzerdefinierten SQL-Abfrage verwenden, aber wenn ich den benutzerdefinierten Beitragstyp in meiner Abfrage hinzufüge, erhalte ich keine Ergebnisse.
Wo ist mein Problem?
Dies ist der Code, den ich ausprobiert habe
$top5_ov_performance = $wpdb->get_results("SELECT post_id,meta_value FROM ".$wpdb->prefix."postmeta WHERE meta_key = 'sd_top5_overclocing' AND (post_type = 'cpu') ORDER BY meta_value DESC LIMIT 0,5 ");
Ich habe auch versucht, diesen post_type = 'cpu'
anstelle von (post_type = 'cpu')
und and
anstelle von AND
Ich habe einen Weg gefunden:
global $wpdb,$post;
$query_ids = $wpdb->get_results("SELECT ID FROM ".$wpdb->prefix."posts WHERE (post_type = 'cpu') LIMIT 0,10");
foreach ($query_ids as $query_id) {
$query = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."postmeta WHERE post_id = ".$query_id->ID." AND meta_key = 'sd_rating' ORDER BY meta_value LIMIT 0,10");
foreach ($query as $value) {
echo $value->meta_value;
}
}
Wenn Sie versuchen, alle Metawerte für einen Schlüssel innerhalb eines bestimmten Beitragstyps abzurufen, können Sie in einer einzigen Abfrage Folgendes tun:
SELECT post_id, meta_value FROM $wpdb->postmeta pm, $wpdb->posts p
WHERE meta_key = 'sd_rating' and pm.post_id = p.ID AND p.post_type = 'cpu'