2012-02-14 18 views
5

Sto utilizzando Verve Meta Boxes. Voglio creare un menu da uno dei campi personalizzati. Come posso restituire tutti i valori dei campi personalizzati? Ad esempio, se avessi un campo di selezione personalizzato chiamato "frutta" e come opzioni ho "mele", "arance" e "banane", come posso ottenere un elenco completo di tali valori, come forse un array? Posso ottenere quelle associate con un post:Wordpress: recupera tutti i valori di un campo personalizzato

get_post_custom_values('fruit') 

... ma non riesco a capire come ottenere l'intera lista.

Grazie in anticipo!

+0

Dopo essermi guardato intorno, penso che get_categories() potrebbe essere la risposta. Non l'ho ancora provato, ma ti riporto. http://codex.wordpress.org/Function_Reference/get_categories – Imaginary

risposta

6

Nel caso qualcuno ancora chiedendo:

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

Basta assicurarsi che il tavolo postmeta è "wp_postmeta" (default) e cambiare FIELD_NAME con il nome che si è creato per il campo in Admin.

+0

Sembra migliore della mia soluzione hacky. Farò un tentativo quando ho una possibilità, ma sembra buono e scommetto che funziona. Grazie! – Imaginary

0

Si potrebbe fare il normale modo di wordpress usando la funzione get_post_meta nel proprio ciclo.

+0

Non ottiene solo i valori associati a un post specifico, proprio come i miei get_post_custom_values? – Imaginary

0

provare questo fuori:

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

Fondamentalmente è necessario separare il nome di frutta con una virgola nel tuo campo personalizzato in modo che si sarà in grado di esplodere in loro matrice e l'eco dei valori uno per uno.

Grazie, Dave

+1

Non l'ho mai visto, mi dispiace. Di nuovo, questo otterrebbe solo i valori associati a un singolo post. Avevo bisogno di ottenere tutte le opzioni disponibili, indipendentemente dal fatto che fossero applicate a un singolo post o meno. – Imaginary

0

non è stato in grado di trovare una soluzione elegante. Quello che ho finito è stato scorrere in loop tutti i post e mantenuto un record di valori univoci che posso attraverso di essi, creando un array. Quindi ho usato quell'array per fare la mia navigazione.