web-dev-qa-db-fra.com

wpdb custom post_type problem

Je souhaite utiliser le type de publication personnalisé dans ma requête SQL personnalisée, mais lorsque j'ajoute le type de publication personnalisé dans ma requête, je n'obtiens aucun résultat.

Où est mon problème?

C'est le code que j'ai essayé

$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 ");

J'ai aussi essayé ceci post_type = 'cpu' au lieu de (post_type = 'cpu') et and au lieu de AND

1
Wordpress User

J'ai trouvé un moyen:

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

Si vous essayez d'obtenir toutes les méta-valeurs pour une clé dans un type de publication spécifique, vous pouvez faire quelque chose comme ceci dans une requête unique:

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