Estoy usando Verve Meta Boxes. Quiero hacer un menú a partir de uno de los campos personalizados. ¿Cómo puedo devolver todos los valores de los campos personalizados? Por ejemplo, si tuviera un campo de selección personalizado llamado “fruta” y como opciones tengo “manzanas”, “naranjas” y “plátanos”, ¿cómo podría obtener una lista completa de esos valores, tal vez como una matriz? Puedo obtener los asociados con una publicación:
get_post_custom_values('fruit')
… pero no puedo averiguar cómo obtener la lista completa.
¡Gracias de antemano!
En caso de que alguien todavía se pregunte:
global $wpdb;
$results = $wpdb->get_results( 'SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key LIKE "FIELD_NAME"', OBJECT );
Solo asegúrese de que su tabla postmeta sea “wp_postmeta” (predeterminada) y cambie FIELD_NAME con el nombre que creó para el campo en el administrador.
-
Esto se ve mejor que mi solución hacky. Lo intentaré cuando tenga la oportunidad, pero se ve bien y apuesto a que funciona. ¡Gracias!
– Imaginario
16 de diciembre de 2014 a las 23:27
Puede hacerlo de la forma habitual en wordpress utilizando la función get_post_meta en su ciclo.
-
¿Eso no obtiene solo los valores asociados con una publicación específica, al igual que mi get_post_custom_values?
– Imaginario
14 de febrero de 2012 a las 17:24
Prueba este:
$fruits = trim(get_post_meta($post->ID,'fruits',true));
$fruits_array = explode(',',$fruits);
foreach($fruits_array as $f){
echo $f.'<br/>';
}
Básicamente, debe separar el nombre de sus frutas con una coma en su campo personalizado para que pueda explotarlas en una matriz y hacer eco de los valores uno por uno.
gracias
-
Nunca vi esto, lo siento. Nuevamente, esto solo obtendría los valores asociados con una sola publicación. Necesitaba obtener todas las opciones disponibles, ya sea que se aplicaran a una sola publicación o no.
– Imaginario
22 de septiembre de 2012 a las 18:03
No pude encontrar una solución elegante. Lo que terminé haciendo fue recorrer todas las publicaciones y mantener un registro de los valores únicos que pude entre ellas, creando una matriz. Luego usé esa matriz para hacer mi navegación.
Después de mirar alrededor, creo que get_categories() podría ser la respuesta. Todavía no lo he probado, pero volveré a informar. codex.wordpress.org/Function_Reference/get_categories
– Imaginario
23 de febrero de 2012 a las 4:12