2020.04.19

ACF(Advanced Custom Fields)でユーザー情報のカスタムフィールドに設定したセレクトボックス・チェックボックスのラベルを取得する方法

こんにちは、webエンジニアのゾノ( @ozonosho )です。

さて、今回の記事ではACF(Advanced Custom Fields)でユーザー情報のカスタムフィールドに登録されたセレクトボックス・チェックボックスの項目ラベルを取得する方法を紹介したいと思います。

カスタムフィールドの設定画面では、セレクトボックスやチェックボックスの各項目にラベル(key)と値(value)を設定することができます。

今回は、ユーザー情報に登録したカスタムフィールドの中から指定した項目のラベルを取得する関数をご紹介します。

関数はこちら

カスタムフィールド名とユーザーIDを渡せば、そのユーザーに登録されているセレクトボックスやチェックボックスで選択されている項目のラベルを取得することができます。

▽セレクトボックスで選択されている項目のラベル取得

function get_user_select_field_label($field_name, $userID) {
	$field_obj = get_field_object($field_name, 'user_' . $userID);
	$value = get_field($field_name, 'user_' . $userID);
	$label = $field_obj['choices'][$value];
	return $label;
}

▽チェックボックスで選択されている項目のラベル取得

function get_user_checkbox_field_label_list($field_name, $userID) {
	$field_obj = get_field_object($field_name, 'user_' . $userID);
	$values = get_field($field_name, 'user_' . $userID);
	$html = '
    '; foreach ($values as $value) { $label = $field_obj['choices'][$value]; $html .= '<li>' . $label . '</li>'; } $html = '
'; return $html; }

チェックボックスのほうは値が複数選択されているケースもあるため、リスト形式で返しています。

ご自身の出力したいフォーマットに合わせて適宜変更してご利用ください。

おわりに

以上、今回の記事ではACF(Advanced Custom Fields)でユーザー情報のカスタムフィールドに設定したセレクトボックス・チェックボックスのラベルを取得する方法を紹介させていただきました。

当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。

あなたのサイトに理想の機能を実装!WordPressカスタマイズサービス

本サービスはあなたのWordPressサイトに理想の機能を実装するサービスとなります。 どのような機能・要望でも実現可能です! Wo......

→この記事を読む