Mehrere benutzerdefinierte Felder mit demselben Namen

Ist es möglich, mehrere benutzerdefinierte Felder mit demselben Namen zu haben?

Zum Beispiel habe ich ein benutzerdefiniertes Feld namens “promotion” für einen CPT namens “event”. Manchmal werden mehrere Werbeaktionen für jeweils eine bestimmte Art von Teilnehmern auf dasselbe Ereignis angewendet. Ich möchte also ein benutzerdefiniertes “Promotion” -Feld mit einem Wert “X, A” und ein anderes benutzerdefiniertes “Promotion” -Feld mit einem Wert “Y, B” haben.

Ich habe versucht, dies zu erstellen und dann mit get_post_meta() und das Ergebnis mit print_r() , aber alles, was ich bekomme, ist nur einer der Werte (“X, A”).

Hier ist der Code:

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

Vielleicht ist es einfach nicht möglich, so vorzugehen?

Solutions Collecting From Web of "Mehrere benutzerdefinierte Felder mit demselben Namen"

Ja, es ist möglich, mehrere Felder mit demselben Schlüssel zu haben.

get_post_meta($post_id, $key, $single) Verwendung von get_post_meta($post_id, $key, $single) sicher, dass Sie den Parameter $single auf false (oder lassen Sie ihn einfach, da er standardmäßig auf false ).

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

oder

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

Dies wird ein Array zurückgeben, das jeden Wert des Schlüssels enthält (was Sie erwarten). Wenn Sie $single auf ” true , wird der erste Wert des angegebenen Schlüssels als String zurückgegeben (was Sie gerade erhalten).

Verweise:

http://codex.wordpress.org/Custom_Fields

http://codex.wordpress.org/Function_Reference/get_post_meta

So handhabt PHP Namen. Versuchen Sie, Ihre Felder promotion [] zu benennen, damit PHP weiß, dass es sich um ein Array von Elementen handelt.