2012-02-14 8 views
5

私はVerveメタボックスを使用しています。カスタムフィールドの1つからメニューを作成したい。カスタムフィールドの値をすべて返すにはどうすればよいですか?たとえば、「フルーツ」というカスタム選択フィールドがあり、「リンゴ」、「オレンジ」、「バナナ」というオプションがある場合、おそらく配列としてそれらの値の完全なリストを取得できますか?投稿と関連付けられたものを得ることができます:Wordpress:カスタムフィールドのすべての値を取得

get_post_custom_values('fruit') 

...しかし、私はリスト全体を取得する方法を尽くすことはできません。

ありがとうございます!

+0

周りを見回した後、私はget_categories()が答えかもしれないと思います。まだ試していないが、私は報告する。 http://codex.wordpress.org/Function_Reference/get_categories – Imaginary

答えて

6

+0

これは私のハックな解決策よりもよく見えます。私はチャンスがあるときにそれを試してみるだろうが、それはよく見えるし、それは動作すると思うだろう。ありがとう! – Imaginary

0

ループでget_post_meta関数を使用すると、通常のWordPressのやり方で実行できます。

+0

get_post_custom_valuesと同じように、特定の投稿に関連付けられた値だけを取得しませんか? – Imaginary

0

はこの1つを試してみてください:

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

を基本的にあなたが配列にそれらを爆発し、値を一つずつエコーすることができるようになりますように、カスタムフィールドにカンマを使用して果物の名前を分離する必要があります。

ありがとう、Dave

+1

これを見たことはありません、申し訳ありません。ここでも、単一の投稿に関連付けられた値のみが取得されます。 1つの投稿に適用されているかどうかにかかわらず、利用可能なすべてのオプションを取得する必要がありました。 – Imaginary

0

私は優雅な解決策を見つけることができませんでした。私がやり遂げたのは、すべての投稿をループし、一意の値の記録を残して、アレイ全体を作成することでした。それから私はその配列を使ってナビゲーションを作った。

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を変更:まだ迷っ場合、誰かに

関連する問題