2016-10-23 2 views
0

Ich mag Wordpress Post-Daten erhalten und wp_attached_file von wp_postmeta Tabelle das ist meine SQL-Abfrageget post-Daten aus Wordpress von SQL-Abfrage

$query= mysql_query("SELECT wp_posts.ID,wp_posts.post_title,wp_posts.post_date,wp_postmeta.meta_value 
       FROM wp_posts 

        JOIN wp_term_relationships 
         ON wp_term_relationships.object_id = wp_posts.ID 

        JOIN wp_postmeta 
         ON wp_postmeta.post_id = wp_posts.ID 

       WHERE wp_posts.post_date > '$before7' 
       AND wp_posts.post_status = 'publish' 
       AND wp_posts.post_type = 'post' 
       AND wp_term_relationships.term_taxonomy_id = '$cat' 
       AND wp_postmeta.meta_key = '_wp_attached_file' 
       ORDER BY wp_posts.post_date DESC LIMIT 10"); 

es mir nichts geben, aber wenn ich entferne diese Zeile von where-Klausel

AND wp_postmeta.meta_key = '_wp_attached_file' 

es funktioniert, aber ich brauche diese Zeile wp_attached_file

so zu bekommen, was mit mysql Abfrage falsch ist

+0

verursachen ich glaube, Sie die Standard-Wordpress-Datenbank-Präfix verwenden , aber die richtige Art, eine Tabelle in einer SQL-Anfrage zu referenzieren, ist diese de-Variable '$ wpdb-> prefix', wie folgt:' "SELECT". $ wpdb-> Präfix. "posts.ID,". $ wpdb-> Präfix. "posts.post_title ...." ' – Bazaim

+0

Sie fragen nach' post_type = 'post'' aber wenn ich mich recht erinnere, '_wp_attached_file' wird nur mit' post_type =' attachment' verwendet – JHoffmann

Antwort

0

Seien Sie sicher, dass der wp_postmeta.meta_key mit dem Wert _wp_attached_file existieren wirklich und dann ein Problem für Spiel da sein könnte, ist versuchen trimmen beide versteckte char

AND trim(wp_postmeta.meta_key) = trim('_wp_attached_file')