Wordpress ACF:如何通过自定义代码(PHP)将行添加到附加到用户的转发器字段

Pav*_*vKR 11 php wordpress advanced-custom-fields

我已经通过ACF和ACF Repeater Field文档,但它让我有点困惑.

我有一堆用户,我(通过ACF)为每个用户附加了一个转发器字段(称为事件),转发器字段有一个名为事件ID(event_id)的子字段.

现在我遇到的困境是我希望能够根据用户尝试添加和删除的事件来添加和删除用户的event_id行.

我知道update_field($ field_key,$ value,$ post_id)函数,但我不太清楚如何利用它将行添加到附加到用户的转发器字段的子字段中.我还需要一些关于如何删除项目的方向.

任何帮助表示赞赏!

小智 17

要将行添加到转发器字段的子字段中,您可以执行以下操作:

$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 );
Run Code Online (Sandbox Code Playgroud)

要删除项目,我将使用PHP函数,例如基于值的多维数组删除元素的接受答案中的函数:

$value = removeElementWithValue($value, "event_id", 25);
update_field( $field_key, $value, $user_id );
Run Code Online (Sandbox Code Playgroud)

至于其中添加这些代码(即动作钩子)取决于你想添加/删除的项目.