it_proger29
@it_proger29
Битрикс

Как в acf обновить repeat через wp_insert_post?

Ответ:
UPD: как можно улучшить код?
// sertifikaty - название acf
    // tekst_sertifikata - название поля в acf
    // $value - массив который вставим в acf repeat
    // $pre_value - собираем данные из repeat до вставки новых
    $title = get_the_title(1403);
    $_post_data = array(
      'ID' => 1403,
      'post_title'    => $title,
      'post_author'   => 1,
      'post_type'     => 'clients',
    );

    
    $post_id = wp_insert_post( $_post_data );

    // собираем существующие данные из повторителя
    if( have_rows('sertifikaty',1403) ):
        while ( have_rows('sertifikaty',1403) ) : the_row();
            $pre_value[] = ['tekst_sertifikata' => get_sub_field('tekst_sertifikata')];
        endwhile;
    endif;
   // добавляемый контент
    $value = array(
      array(
        'tekst_sertifikata' => 'value for row 3'
      ),
    );
    // вставляем старый контент в конец массива
    foreach($pre_value as $item){
      array_unshift($value, $item);
    }
    update_field( 'sertifikaty', $value, $post_id );
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы