当前位置: 首页 > 知识库问答 >
问题:

从ACF中继器字段中删除行

井兴怀
2023-03-14

我有一个按钮,当您单击它时,它会触发对一个函数的ajax调用,该函数应根据数据属性删除acf repeater字段中的一行。

这是函数,但有问题的行不会删除:

add_action('wp_ajax_nopriv_remove_from_playlist','remove_from_playlist');
add_action( 'wp_ajax_remove_from_playlist', 'remove_from_playlist' );

function remove_from_playlist() {
    $field_key = 'field_5b6b8c16eb66b';
    $userID = $_POST['user'];
    $lessonID = $_POST['lessonID'];

    if( have_rows('user_playlist', $userID) ):
        while( have_rows('user_playlist', $userID) ) : the_row();
            $value = get_sub_field('post_id');

            if($value === $lessonID) {
                $row = get_row_index();
                delete_row($field_key, $row, $userID);
            }
        endwhile;
    endif;
    die();
}

共有1个答案

能向晨
2023-03-14

这没有很好的记录。您需要告诉ACF您正在传递用户ID,而不是帖子ID。为此,请将user_附加到变量中:

if( have_rows('user_playlist', 'user_' . $userID) ):
    while( have_rows('user_playlist', 'user_' . $userID) ) : the_row();
        $value = get_sub_field('post_id');

        if($value === $lessonID) {
            $row = get_row_index();
            delete_row($field_key, $row, 'user_' . $userID);
        }
    endwhile;
endif;
 类似资料:
  • 我正在尝试将转发器字段添加到灵活的内容行中,但由于某种原因,没有输出任何内容。我已经检查了字段,它们似乎是正确的,所以有人可以指出我哪里出错了吗?谢谢

  • 我试图在WP管理仪表板中呈现一个干净、易于使用的客户端后端字段提交,它可以将中继器字段数据排序为适当的选项卡内容。这是设置。 我试过的代码;

  • 我有一个带有ACF中继器字段的分类。我正在尝试在自定义REST APIendpoint的回调中添加行,但没有运气。该字段的方案是: 我使用以下命令向字段中添加一行-但运气不佳: 知道我做错了什么吗?添加行是否只适用于Post而不适用于Term....?我怀疑那是真的...

  • 问题内容: 我需要在所有索引到Elasticsearch的文档中删除一个字段。我该怎么做。任何删除查询都可以帮助我实现这一点。 问题答案: @backtrack所说的是对的,但是在Elasticsearch中有一种非常方便的方法。Elasticsearch将抽象出删除的内部复杂性。您需要使用更新API来实现- 您可以在此处找到更多文档。 注意:从Elastic Search 6开始,您需要包括一个

  • 我有一个像上面一样的pojo 用于创建json请求对象的代码如下: 我只是想通过不删除任何上述代码从args中删除userIds。 提前谢谢。

  • 我已经创建了一个名为“产品”的自定义帖子类型和一个名为“配料”的帖子类型中的自定义分类。 我已经添加了一个名为“成分INCI”的repeater字段和“成分INCI组”的子字段,该字段调用分类法“成分”中的值。 自定义中继器字段屏幕截图: 每个产品都有很多成分,我想展示一个产品所选成分的列表。这是我的模板代码: 此代码似乎破坏了输出。请帮忙!