web-dev-qa-db-de.com

wpdb custom post_type problem

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

1
Wordpress User

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;
                                                }
                                        }
1
Wordpress User

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'
1
Milo