web-dev-qa-db-ja.com

高度なカスタムフィールド選択フィールド:値ではなくラベルをエコーする方法

私はwordpress Advanced Custom Fieldsプラグインを使用しています

この質問は selectフィールド に関するもので、ドキュメントではラベル/名前ではなく値の出力方法を教えてくれるだけです。

私はこれを機能的にドキュメントで見ることができず、誰かが何かアイデアを持っているかどうか疑問に思いましたか?

たとえば、Select fieldコンテンツを作成するには、次のようにします。

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


それからこれを出力するために、あなたはこれを書きます...

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


たとえば、投稿エディタでPolskiを選択した場合、PHPはこの値をエコーし​​ます。

pl


ラベルをエコーすることが可能かどうか、Polskiだけでなく値plもエコーできるようにしたいと思います。

誰かがこれを行う方法についてのドキュメントを知っているならば、またはあなたが最も素晴らしいであろう解決策を手伝うことができるならば。

前もって感謝します。

4
Joshc

Get_field_object()関数には、フィールドNAMEではなくフィールドKEYが必要です。ドキュメントを参照してください: http://www.advancedcustomfields.com/resources/functions/get_field_object/

だからそれはこのように見えるはずです...

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

「画面オプション」>「フィールドキーを表示」をクリックしてフィールドキーを見つけることができ、フィールドタイプの横に表示されます。下記のアニメーションGIFキャストをご覧ください。

Show Field Key

15
TimG1

よりよい読書のためにここに解決策を投げる。

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

$labelの値は、$valueに設定された値に関連するラベルになります。

8
Fredy31

念のために、これは他の人を助けます。

ACF選択フィールドの値をエコーするには

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

field_1234567は、画面オプションで[フィールドキーを表示]を選択して取得したフィールドキーです)

0
Jen