概要
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 |