delete_sub_row() ACF 5.2.3
This function will add a row of data to a field
Хуков нет.
Возвращает
(true|false)
. Ничего.
Использование
delete_sub_row( $selector, $i, $post_id );
- $selector (обязательный)
- -
- $i **
- -
По умолчанию: 1 - $post_id **
- -
По умолчанию: false
Список изменений
С версии 5.2.3 | Введена. |
Код delete_sub_row() delete sub row ACF 5.9.1
function delete_sub_row( $selector, $i = 1, $post_id = false ) {
// vars
$sub_field = false;
$offset = acf_get_setting('row_index_offset');
$i = $i - $offset;
// get sub field
if( is_array($selector) ) {
$post_id = acf_get_valid_post_id( $post_id );
$sub_field = acf_maybe_get_sub_field( $selector, $post_id, false );
} else {
$post_id = acf_get_loop('active', 'post_id');
$sub_field = get_row_sub_field( $selector );
}
// bail early if no sub field
if( !$sub_field ) return false;
// get raw value
$value = acf_get_value( $post_id, $sub_field );
// ensure array
$value = acf_get_array( $value );
// bail early if index doesn't exist
if( !isset($value[ $i ]) ) return false;
// append
unset( $value[ $i ] );
// update
acf_update_value( $value, $post_id, $sub_field );
// return
return true;
}