delete_sub_row()


WordPress関数delete_sub_row()は、ACF(Advanced Custom Fields)プラグインを使用している際に、特定のリピートフィールド内のサブフィールド行を削除するために使用されます。

構文

delete_sub_row( string $field_name, mixed $row_index );

引数の説明:

  • $field_name (string) — リピートフィールドの名前。
  • $row_index (mixed) — 削除する行のインデックス(1から始まる整数)または行のキー。

例 1: 特定のリピートフィールドから最初の行を削除する

リピートフィールド'my_repeater_field'の最初の行を削除します。

<?php delete_sub_row( 'my_repeater_field', 1 ); ?>

例 2: 行のキーを指定して削除する

リピートフィールド'my_repeater_field'の行キー'row_123abc'を削除します。

<?php delete_sub_row( 'my_repeater_field', 'row_123abc' ); ?>

例 3: 条件付きで行を削除する

特定の条件を満たす場合のみ行を削除します。

<?php
if ( get_sub_field( 'field_name' ) === '特定の値' ) {
    delete_sub_row( 'my_repeater_field', 2 );
}
?>

例 4: すべての行を削除する

リピートフィールド内のすべての行をループで削除します。

<?php
while ( have_rows( 'my_repeater_field' ) ) {
    delete_sub_row( 'my_repeater_field', 1 );
}
?>

例 5: 投稿のカスタムフィールドを削除する

特定の投稿のリピートフィールドから行を削除します。

<?php
if ( have_rows( 'my_repeater_field', $post_id ) ) {
    delete_sub_row( 'my_repeater_field', 3 );
}
?>

注意点:

  • この関数を使用するには、ACFプラグインがインストールされ、リピートフィールドが正しく設定されている必要があります。
  • 削除した行は元に戻せないため、慎重に操作してください。