【问题标题】:Create ACF repeater field from front end从前端创建 ACF 转发器字段
【发布时间】:2014-07-04 22:20:27
【问题描述】:

我正在尝试创建一个用户可以用来从 wordpress 网站前端发帖的表单。

不过,我在创建转发器字段时遇到了麻烦。我尝试了几种方法,但似乎没有任何效果:

$periods = $_POST['periods'];

    // for each perdiod, save the start/end date and notes
    for ($p = 1; $p <= $periods; $p++) {

        update_sub_field( array('date', $p, 'start-date'), $_POST['p'.$p.'-start-date'] );
        update_sub_field( array('date', $p, 'end-date'), $_POST['p'.$p.'-start-date'] );
        update_sub_field( array('date', $p, 'notes'), $_POST['p'.$p.'-start-date'] );

    } // end periods loop

    // for each perdiod, save the start/end date and notes
    for ($p = 1; $p <= $periods; $p++) {

        add_post_meta($post_id, 'date_'.$p.'_start-date', $_POST['p'.$p.'-start-date']);
        add_post_meta($post_id, 'date_'.$p.'_end-date', $_POST['p'.$p.'-end-date']);
        add_post_meta($post_id, 'date_'.$p.'_notes', $_POST['p'.$p.'-notes']);

    } // end periods loop

但这些对帖子本身没有任何作用。

中继器是这样设置的:

日期(重复)->

  • 开始日期(字段)

  • 结束日期(字段)

  • 注释(字段)

那里还有另一个中继器字段(中继器中的中继器),但我想让这个首先工作!

有什么想法吗?

【问题讨论】:

    标签: wordpress advanced-custom-fields


    【解决方案1】:

    要创建帖子,您需要为每个字段使用实际的字段键。您不能使用字段名称,因为尚未创建 db 记录。查看 Elliot 的文档 here 了解该信息。

    以下是执行此操作的一些代码的外观:

    $event_field_key = 'field_534d3f17f3ca2';
    
    // for each perdiod, save the start/end date and notes
    for ($p = 1; $p <= $periods; $p++) {
    
        $events[] = array(
            '_start-date'   => $_POST['p'.$p.'-start-date'],
            '_end-date'     => $_POST['p'.$p.'-end-date'],
            'date'          => $_POST['p'.$p.'-notes']
        );
    
    } // end periods loop
    
    update_field($event_field_key, $events, $post_id);
    

    您必须获取该字段的字段键才能使其正常工作。为此,请转到您的自定义字段屏幕并在右上角查找屏幕选项。选中显示字段键的框。您的字段键现在应该显示在自定义字段列表中字段名称的右侧。使用它来添加字段。

    Here's Elliot's instructions 如果我的没有意义。

    【讨论】:

    • 太棒了,谢谢。只是一个快速的,date 转发器字段中还有另一个转发器。我只需要像您在这里所做的那样引用该字段键吗?还是我必须为中继器中的中继器做一些不同的事情?
    • 我从未尝试过。我认为您只需要在事件数组中为第二个中继器创建另一个数组。我不相信您有子中继器的字段键。我想你会发现,当你显示字段键时,没有一个子字段。
    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2020-05-15
    • 2019-03-19
    • 2018-04-12
    • 2021-04-26
    • 2019-05-24
    相关资源
    最近更新 更多