kleine Hilfe mit einer MySQL-Abfrage zu wp database

@ t31os gab eine sehr hilfreiche Antwort auf:

Abrufen aller Werte für einen benutzerdefinierten Feldschlüssel (Cross-Post) durch Bereitstellen dieser function

if ( ! function_exists( 'get_meta_values' ) ) { function get_meta_values( $key = '', $type = 'post', $status = 'publish' ) { global $wpdb; if( empty( $key ) ) return; $r = $wpdb->get_col( $wpdb->prepare( " SELECT pm.meta_value FROM {$wpdb->postmeta} pm LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id WHERE pm.meta_key = '%s' AND p.post_status = '%s' AND p.post_type = '%s' ", $key, $status, $type ) ); return $r; } } 

(leicht angepasst)

Ich muss diese function anpassen, um nicht eine, sondern zwei Spalten zu erhalten; meta_value und post_id , beide aus der postmeta Tabelle und speichern diese in einem Array.

Ich bin überhaupt nicht mit mySQL .

Jede Hilfe wird geschätzt.

Solutions Collecting From Web of "kleine Hilfe mit einer MySQL-Abfrage zu wp database"

Nach den Empfehlungen von @toscho habe ich get_results angeschaut und die folgenden Änderungen an der function haben den Trick gemacht.

 if ( ! function_exists( 'get_meta_values' ) ) { function get_meta_values( $key = '', $type = 'post', $status = 'publish' ) { global $wpdb; if( empty( $key ) ) return; $r = $wpdb->get_results($wpdb->prepare( " SELECT pm.meta_value, pm.post_id FROM {$wpdb->postmeta} pm LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id WHERE pm.meta_key = '%s' AND p.post_status = '%s' AND p.post_type = '%s' ", $key, $status, $type ), ARRAY_A ); return $r; } } 

Es funktionierte nur, wenn ich den zweiten Parameter ARRAY_A (ARRAY_N oder OBJECT (Standard) wäre auch möglich gewesen) zu get_results () gemäß http://codex.wordpress.org/Class_Reference/wpdb hinzugefügt

Danke an alle für ihre Hilfe.