トピック: ACFのフィールド値をまとめて取得するユーティリティ
—
概要
- ユースケース
WordPressサイトでAdvanced Custom Fields(ACF)を使用してカスタムフィールドを設定している場合、複数のフィールド値を一括で取得して処理したいときに役立つユーティリティを紹介します。
- 前提条件
- WordPressサイトにACFプラグインがインストールされていること
- テーマやカスタムプラグイン内でACFフィールドが設定されていること
サンプルコード
// ACFのフィールド値をまとめて取得する関数
function get_acf_field_values($post_id, $field_keys) {
$values = array();
foreach ($field_keys as $key) {
$value = get_field($key, $post_id);
if ($value) {
$values[$key] = $value;
}
}
return $values;
}
// 使用例
$post_id = get_the_ID();
$field_keys = array('field1', 'field2', 'field3');
$fields = get_acf_field_values($post_id, $field_keys);
解説
- 関数`get_acf_field_values()`は、指定された投稿IDとフィールドキーの配列を受け取り、それぞれのフィールドの値を取得して連想配列として返します。
- `get_field()`関数を使用して各フィールドの値を取得し、空でない場合に連想配列に追加しています。
- サンプルコードでは、`get_the_ID()`関数で現在の投稿IDを取得し、`$field_keys`変数で取得したいフィールドのキーを指定しています。
ベストプラクティス
- 関数をカスタマイズして、複雑な処理や複数の条件を追加することで、さまざまなユースケースに対応できます。
- エラーハンドリングを追加して、フィールドが存在しない場合や値が空の場合に適切に処理するようにします。
- 関数を再利用可能な形で実装し、WordPressテーマやプラグイン内で簡単に利用できるようにすると便利です。
—