高级自定义字段 - 以编程方式插入帖子并更新转发器字段

时间:2016-11-20 16:18:59

标签: php wordpress advanced-custom-fields

我的插件“高级自定义字段”存在问题。我遵循的步骤是:

1。以编程方式创建帖子

$id_post = wp_insert_post(array(
    'post_type'=>$post_type,
    'post_title'=>$post_title, 
    'post_status' => 'publish'
));

2。更新与“post_type”相关联的所有转发器字段

if( have_rows('cliente',$id_post) ) {
    $i = 0;
    while( have_rows('cliente',$id_post) ) {
       the_row();
       update_sub_field('id', 333);
    }
}

问题出现在第2点,事实上当我使用Wordpress的界面(带按钮)创建帖子并且我在我的代码中手动插入该帖子的ID时,它完美地工作..

但是当我在第二点以编程方式创建帖子时,即使我以编程方式创建该帖子的编号,也无法识别转发器字段。

仅当使用“插入新”按钮创建帖子时才有效。

你有什么建议吗?

感谢大家!

2 个答案:

答案 0 :(得分:1)

我已经解决了问题!问题与字段的名称有关。您必须使用密钥而不是名称。我的代码现在是

$cliente_data = array( array( "id"  => 33 ) ); 
update_field('field_582c2ed4fab65', $cliente_data, $id_post );

答案 1 :(得分:0)

请参考以编程方式解释创建和更新字段的教程。 http://www.pearlbells.co.uk/insert-udpate-wordpress-post-programmatically/

$newIds = wp_insert_post( array(
            'post_title' => $postCSVContent['1'],
            'post_content' => $postCSVContent['2'],
            'post_type' => 'doors',
            'post_status' => 'publish',        
            'post_author'   => 1,
            'post_parent' => $parentId
    ));

    updateAcf( $postCSVContent , $newIds );

更新acf图像转发器字段: http://www.pearlbells.co.uk/insert-update-acf-image-repeater-field-programmatically/