Varios campos personalizados con el mismo nombre

2

¿Es posible tener varios campos personalizados con el mismo nombre?

Por ejemplo, tengo un campo personalizado llamado "promoción" para un CPT llamado "evento". A veces hay más de una promoción aplicada al mismo evento, cada una para un determinado tipo de participante. Así que me gustaría tener un campo personalizado de "promoción" con un valor "X, A" y otro campo personalizado de "promoción" con un valor "Y, B".

Intenté crear esto y luego recuperarlo con get_post_meta() y mostrar el resultado con print_r() , pero todo lo que obtengo es solo uno de los valores ("X, A").

Aquí está el código:

$event_promotion = get_post_meta($post->ID, "Event Promotion", true); print_r($event_promotion);

¿Quizás no es posible proceder de esta manera?

    
pregunta drake035 01.04.2013 - 21:24

2 respuestas

6

Sí, es posible tener varios campos con la misma clave.

Al usar get_post_meta($post_id, $key, $single) , asegúrate de configurar el parámetro $single en false (o simplemente déjalo desactivado ya que su valor predeterminado es false ).

get_post_meta( $post->ID, 'Event Promotion', false )

o

get_post_meta( $post->ID, 'Event Promotion' )

Esto devolverá una matriz que contiene cada valor de la clave (lo que está esperando). Si establece $single en true , devolverá el primer valor de la clave especificada como una cadena (lo que está obteniendo actualmente).

Referencias:

enlace

enlace

    
respondido por el BigBagel 01.04.2013 - 21:41
0

así es como PHP maneja los nombres. intente nombrar su promoción de campos [] para que PHP sepa que es un conjunto de elementos.

    
respondido por el jcakec 01.04.2013 - 22:17

Lea otras preguntas en las etiquetas