2012-02-14 95 views
5

我使用Verve Meta Boxes。我想從其中一個自定義字段中創建菜單。我怎樣才能返回所有的自定義字段值?例如,如果我有一個名爲「水果」的自定義選擇字段,並且作爲選項我有「蘋果」,「橙子」和「香蕉」,我怎樣才能得到這些值的完整列表,作爲一個數組呢?我可以得到與一個職位相關的人:WordPress的:獲取自定義字段的所有值

get_post_custom_values('fruit') 

......但我無法弄清楚如何獲得整個列表。

預先感謝您!

+0

環顧四周後,我認爲get_categories()可能是答案。還沒有嘗試過,但我會報告回來。 http://codex.wordpress.org/Function_Reference/get_categories – Imaginary 2012-02-23 04:12:59

回答

6

萬一有人還在納悶:

global $wpdb; 
$results = $wpdb->get_results('SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key LIKE "FIELD_NAME"', OBJECT); 

只要確保你的postmeta表「wp_postmeta」(默認),並與您在管理領域創建名稱更改FIELD_NAME。

+0

這看起來比我的哈克解決方案更好。當我有機會的時候,我會試試看,但看起來不錯,我敢打賭它是有效的。謝謝! – Imaginary 2014-12-16 23:27:23

0

您可以通過在循環中使用get_post_meta函數來實現普通的wordpress方式。

+0

這不只是獲得與特定帖子相關的值,就像我的get_post_custom_values? – Imaginary 2012-02-14 17:24:52

0

試試這個:

$fruits = trim(get_post_meta($post->ID,'fruits',true)); 
$fruits_array = explode(',',$fruits); 
foreach($fruits_array as $f){ 
    echo $f.'<br/>'; 
} 

基本上你需要用逗號在自定義字段分開你的水果名稱,以便您可以將它們爆炸成陣列和回聲值一個接一個。

謝謝,戴夫

+1

從來沒有見過這個,對不起。同樣,這隻會得到與單個帖子相關的值。我需要獲得所有可用選項,無論它們是否適用於單個帖子。 – Imaginary 2012-09-22 18:03:10

0

我無法找到一個優雅的解決方案。我最終做的是循環遍歷所有的帖子,並保持獨特值的記錄,因爲我可以跨越它們,創建一個數組。然後我用這個數組來做我的導航。

相關問題