web-dev-qa-db-fra.com

Champ de sélection des champs personnalisés avancés: comment faire écho à l'étiquette, pas à la valeur?

J'utilise le wordpress plugin Advanced Custom Fields .

Cette question concerne le champ select et, dans la documentation, il ne me dit que comment afficher la valeur, pas l'étiquette/le nom.

Je ne peux pas voir cela fonctionnellement dans la documentation et je me demandais si quelqu'un avait des idées?

Par exemple, pour créer un contenu de champ de sélection, vous le faites simplement ...

gb : English
fr : Français
it : Italiano
de : Deutsch
pt : Português
es : Español
nl : Nederlands
be : Belgian
dk : Dansk
fi : Suomi
no : Norske
cz : Český
pl : Polski
hu : Magyar
ch : Schweiz
at : Österreich
eu : International


Ensuite, pour écrire ceci, vous écrivez ceci ...

<?php the_field('language'); ?>


Par exemple, si je sélectionne Polski dans mon éditeur de publication, le PHP fera écho à cette valeur ...

pl


Je me demande s'il est possible de faire écho à l'étiquette, je veux aussi pouvoir faire écho à Polski, ainsi que la valeur pl.

Si quelqu'un connaît une documentation sur la façon de procéder ou si vous pouvez nous aider avec une solution qui serait vraiment géniale.

Merci d'avance.

4
Joshc

La fonction get_field_object () nécessite le champ KEY et non le champ NAME. Voir docs: http://www.advancedcustomfields.com/resources/functions/get_field_object/

Donc, cela devrait ressembler à quelque chose comme ça ...

$field = get_field_object('field_53d27f5599979');
$value = get_field('field_myfield');
$label = $field['choices'][ $value ];

Vous pouvez trouver la clé de champ en cliquant sur "Options d'écran"> "Afficher la clé de champ" et elle devrait apparaître à côté du type de champ. Voir le gif-casting animé ci-joint.

Show Field Key

15
TimG1

Lancer la solution ici pour une meilleure lecture.

$field = get_field_object('field_name');
$value = get_field('field_name');
$label = $field['choices'][ $value ];

La valeur dans $label sera l'étiquette associée à la valeur définie dans $value.

8
Fredy31

Juste au cas où cela aiderait quelqu'un d'autre.

Pour faire écho à la valeur d'un champ de sélection ACF:

$a = get_field_object('field_1234567'); 
echo $a['value'];

(où field_1234567 est la clé de champ obtenue en sélectionnant "Afficher la clé de champ" dans les options de l'écran)

0
Jen