从前端创建ACF转发器字段

时间:2014-05-16 13:03:18

标签: wordpress advanced-custom-fields

我正在尝试创建一个用户可以用来从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

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

转发器设置如下:

日期(转发器) - &gt;

  • 开始日期(字段)

  • 结束日期(字段)

  • notes(field)

那里还有另一个转发器区域(转发器内的转发器),但我想先让它工作!

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

要创建帖子,您需要为每个字段使用实际的字段键。您不能使用字段名称,因为尚未创建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如果我没有意义的话。