Я прошел через документацию ACF и ACF Repeater Field, но это немного меня смутило.
У меня есть куча пользователей, и я (через ACF) подключил поле ретранслятора к каждому из них (так называемые события), в поле ретранслятора есть подполе, называемое Event ID (event_id).
Теперь у меня есть дилемма: я хочу иметь возможность добавлять и удалять строки event_id у пользователя в зависимости от того, какие события они пытались добавить и удалить.
Я знаю функцию update_field ($ field_key, $ value, $ post_id), но я не слишком уверен, как ее использовать для добавления строк в подполя поля повторителя, прикрепленного к пользователю. Мне также нужно какое-то направление относительно того, как удалить элементы.
Любая помощь приветствуется!
Чтобы добавить строки в подполя поля повторителя, вы можете:
$field_key = "repeater_field"; $user_id = "user_123"; // save to user (user id = 123) $value = get_field($field_key, $user_id); $value[] = array("event_id " => 25); $value[] = array("event_id " => 30); update_field( $field_key, $value, $user_id );
Чтобы удалить элементы, я бы использовал функцию PHP, например, в принятом ответе в элементе Delete из многомерного массива на основе значения :
$value = removeElementWithValue($value, "event_id", 25); update_field( $field_key, $value, $user_id );
Что касается того, где добавлять эти коды (т. Е. Крюк действия), зависит от того, когда вы хотите добавить / удалить элементы.