2014-07-21 89 views
0

使用WP dataTables插件和我的MySQL很糟糕,請耐心等待。Wordpress SQL查詢獲取自定義帖子類型中的meta_key名稱

我試圖獲取分配給WordPress中的自定義帖子類型的多個關聯meta_keys(自定義字段名稱),並將字段顯示爲標題下方的行中的自定義字段值。

我的SQL下面有點作品。雖然它引入了一個名爲'meta_key'和'meta_value'的列,但它具有密鑰的實際名稱,因爲它是數據。我想meta_key值本身作爲返回列表。

SELECT * FROM wp_posts INNER JOIN wp_postmeta 
ON wp_posts.ID = wp_postmeta.post_id 
WHERE 1=1 AND wp_posts.post_type = 'my_custom_post' 
AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') 
AND (wp_postmeta.meta_key = 'call_date' OR wp_postmeta.meta_key = 'call_time' OR wp_postmeta.meta_key = 'caller_number' OR wp_postmeta.meta_key = 'call_duration' OR wp_postmeta.meta_key = 'call_status') 
ORDER BY wp_posts.menu_order, wp_posts.post_date DESC LIMIT 

因此,這將創建一個標題爲'meta_key'的表,但我希望自定義字段名稱本身作爲標題。希望這是有道理的。

PS我也試過

SELECT caller_number, call_duration, call_status, call_date, call_time 
FROM wp_posts 
WHERE post_type = 'my_custom_post' 
AND post_status = 'publish' 
FROM wp_postmeta 
WHERE post_id = post_id 

但它沒有顯示出數據...

嚴重的是,這裏的任何幫助將是真棒。

+0

任何人都可以提供幫助嗎? –

+0

在我的Wordpress元表中,每個鍵在實際鍵之前都有一個空格。不知道爲什麼它是這樣的。 – Ishmael

回答

0

特定鍵

get_post_meta($postid, '_metakey', single); 

所有密鑰

get_post_meta($postid); 

所以,如果你在你的SQL查詢僅返回自定義信息,你可以做一個foreach循環。但對於帖子,wp_query在返回帖子方面做得很好,而不是自定義的mysql查詢。

+0

嗨,這是不需要通過PHP(我可以這樣做),這是純粹的MySQL查詢。 –

相關問題