概要
add_row関数は、既存のRepeaterまたはFlexible Contentフィールド値に新しいデータ行を追加します。この関数は、ACFを使用しているWordPressサイトで複雑なカスタムデータを管理する際に非常に役立ちます。具体的には、次のような機能を実装する際によく使われます。
- 動的なコンテンツの追加(例:スタッフメンバーのリスト)
- プロダクトの仕様を動的に管理(例:商品の仕様、価格リスト)
- 画像ギャラリーの管理
- FAQセクションの柔軟な作成
- カスタムフィールドを持つイベント情報の管理
- テストモニアルやレビューの追加
構文
add_row($field_key, $row, $post_id);
パラメータ
$field_key(string) — 追加するRepeaterまたはFlexible Contentフィールドのフィールドキー。$row(array) — 追加するデータ行を含む連想配列。$post_id(int) — 行を追加する投稿またはページのID。省略すると現在の投稿が使用されます。
戻り値
- 成功した場合は
trueを返し、失敗した場合はfalseを返します。
使用可能なACFのバージョン
- ACF Pro 5.0以降
使用可能なWordPressのバージョン
- WordPress 4.0以降
サンプルコード
サンプルコード 1
$field_key = 'your_repeater_field_key';
$row = array(
'sub_field_1' => 'Value 1',
'sub_field_2' => 'Value 2',
);
$post_id = 123;
if (add_row($field_key, $row, $post_id)) {
echo "新しい行が追加されました。";
}
このコードは、指定した投稿IDのRepeaterフィールドに新しい行を追加します。
サンプルコード 2
$field_key = 'flexible_content_field_key';
$row = array(
'layout' => 'inner_layout',
'sub_field_a' => 'Example A',
'sub_field_b' => 'Example B',
);
$post_id = 456;
add_row($field_key, $row, $post_id);
この例では、指定した投稿にFlexible Contentフィールドの新しいレイアウトが追加されています。
サンプルコード 3
$field_key = 'team_members';
$row = array(
'name' => 'John Doe',
'position' => 'Developer',
'bio' => 'Lorem ipsum dolor sit amet.',
);
$post_id = 789;
if (add_row($field_key, $row, $post_id)) {
echo "チームメンバーが追加されました。";
}
このコードは、チームメンバー情報をRepeaterフィールドに追加するもので、その結果を出力します。
サンプルコード 4
$field_key = 'testimonial_section';
$row = array(
'customer_name' => 'Jane Smith',
'customer_feedback' => 'Excellent service!',
);
$post_id = 321;
$success = add_row($field_key, $row, $post_id);
if ($success) {
echo "推薦状が追加されました。";
}
この例は、推薦状セクションに新しい顧客のフィードバックを追加します。
サンプルコード 5
$field_key = 'product_specifications';
$row = array(
'specification_name' => 'Weight',
'specification_value' => '1.2 kg',
);
$post_id = 654;
add_row($field_key, $row, $post_id);
このコードは、商品仕様のRepeaterフィールドに新しい仕様行を追加します。
この関数のアクションでの使用可能性
| アクション名 | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | 〇 |
| register_sidebar | |
| wp_loaded | 〇 |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | 〇 |
| template_redirect | |
| get_header | |
| wp_head |