Advanced Custom Fields câmp select: Cum să afișezi eticheta, nu valoarea?

7 ian. 2013, 02:04:00
Vizualizări: 45K
Voturi: 5

Folosesc plugin-ul Wordpress Advanced Custom Fields.

Această întrebare este despre câmpul select, iar în documentație se menționează doar cum să afișez valoarea, nu eticheta/numele.

Nu pot găsi această funcționalitate în documentație și mă întrebam dacă cineva are vreo idee?

De exemplu, pentru a crea conținutul câmpului Select, faci asta simplu...

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


Apoi pentru a afișa acest lucru, scrii asta...

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


De exemplu, dacă selectez Polski în editorul de postări, PHP-ul va afișa această valoare...

pl


Mă întreb dacă este posibil să afișez eticheta, vreau să pot afișa și Polski, precum și valoarea pl.

Dacă cineva cunoaște vreo documentație despre cum să fac acest lucru sau dacă poți ajuta cu o soluție, ar fi extraordinar.

Mulțumesc anticipat.

1
Comentarii

Este atât de simplu, doar setează Formatul de returnare la Ambele (Array) în setările ACF pentru acest câmp. Și apoi, când apelezi acest câmp în PHP, poți face asta astfel: $lang = get_field('language'); echo $lang['label'] . ' - aceasta este eticheta, ' . $lang['value'] . ' - și aceasta este valoarea.';

djboris djboris
17 oct. 2018 22:42:33
Toate răspunsurile la întrebare 3
0
18

Funcția get_field_object() necesită cheia câmpului (KEY), nu numele câmpului (NAME). Consultați documentația: http://www.advancedcustomfields.com/resources/functions/get_field_object/

Deci ar trebui să arate cam așa...

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

Puteți găsi cheia câmpului făcând click pe "Opțiuni ecran" > "Afișează cheia câmpului" și va apărea lângă tipul câmpului. Vizualizați animația GIF atașată mai jos.

Afișare cheie câmp

9 aug. 2014 22:57:10
2

Postez soluția aici pentru o mai bună înțelegere.

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

Valoarea din $label va fi eticheta asociată valorii setate în $value.

9 apr. 2014 23:06:06
Comentarii

Documentația ACF este greșită în această parte. Trebuie să folosești field key pentru get_field_object.

Ca în exemplul următor: get_field_object( 'field_5682538b28a71' );

Pentru a obține cheia câmpului, când ești în ecranul de editare ACF, deschide Screen Options și activează afișarea cheilor de câmp

Andrew Lazarus Andrew Lazarus
30 dec. 2015 16:39:30

@AndrewLazarus Cheia câmpului nu mai este necesară. Funcționează perfect și cu numele câmpului (label).

Jacob Raccuia Jacob Raccuia
31 oct. 2017 08:14:36
0

Doar în cazul în care acest lucru îi ajută pe alții.

Pentru a afișa valoarea unui câmp select ACF:

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

(unde field_1234567 este cheia câmpului obținută prin selectarea opțiunii 'Afișează cheia câmpului' în Opțiuni ecran)

2 dec. 2015 00:06:40