Поддержка Плагины ACF delete_field — удалить значение массива

  • Решено usmdamir

    (@usmdamir)


    Добрый день.
    имею массив
    a:2:{i:0;s:1:″2″;i:1;s:1:″1″;}

    мета поле создано плагином ACF
    1 и 2 — это ID пользователей
    как удалить функцией из массива ID текущего пользователя.
    думал как-то так должно быть, но пока не получилось.

    $a = get_field('trs-user', $post_id, true);
      
    //Unset element to delete from the array
    unset( $a[$user_id] );
    
    // rebase the array
    $a[] = array_values( $a[] );
    
    //Save it again in the database
    update_field('trs-user', $a, $post_id );

    trs-user — название мета поля

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Yuri

    (@yube)

    мета поле создано плагином ACF

    А если бы не им, что бы это изменило? А если вообще без вордпрсесса?

    Если я правильно понял, Вы хотите удалить элемент массива по значению.
    Классика:

    unset($array[array_search($value, $array)]);
    
    Автор usmdamir

    (@usmdamir)

    упс
    прошу извинить.
    все оказывается работало, я просто неверную ссылку повесил на вызов функции.
    да, с вашим кодом все отлично работает.

    $a = get_field('trs-user', $post_id, true);       
    unset($a[array_search($user_id, $a)]);
    update_field('trs-user', $a, $post_id );
    

    $a — получаем массив мета поля
    $user_id — ID текущего пользователя
    update_field — обновляем мета поле

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «ACF delete_field — удалить значение массива» закрыта для новых ответов.