wordpress 在灵活布局ACF中以图解方式创建行

dced5bon  于 12个月前  发布在  WordPress
关注(0)|答案(1)|浏览(196)

我错过了一些很简单的东西,我觉得,但环顾四周,我找不到答案

while ( have_rows('page_builder') ) : the_row();
  if( get_row_layout() == 'one_column' ): // Single Column
    update_sub_field('field_60745782d2943', get_the_content());
  endif;
endwhile;

字符串
这是一个循环内通过所有的职位.我有一个ACF灵活的内容设置和它里面不同的布局.其中之一是所谓的一列.我需要采取的_content()从每个职位和更新一个子字段内的一列布局.这个概念的作品时,一列已被选定并保存为每个职位手动.整个have_rows('page_builder')从来没有被触发,因为,好吧,没有一行。我有500多个帖子当添加一个新的布局类型时,是在ACF中触发吗?是添加一个新行吗?我已经尝试了我能找到的每一个迭代,但没有一个会为我创建那个块。最终,我想在这个之前添加一段代码来获得一个块。列创建,所以这贯穿始终。我相信实际上有一种方法,我可以只更新子字段一旦行创建,但我正在努力只是让它创建!

if(!have_rows("page_builder")){
    THIS IS WHERE I AM STUCK. HOW DO I CREATE AN INSTANCE OF 'ONE COLUMN'
}

SOLUTION

$value = array(
  // nested array for each row you want to create
  array(
    // field key => value pairs for row
    'acf_fc_layout' => 'one_column',
    'field_60745782d2943' => get_the_content();
  )
)
update_field('field_key_of_flex_field', $value, $post_id)

It was the acf_fc_layout that I was missing.

5kgi1eie

5kgi1eie1#

尝试使用add_row()函数

if(!have_rows("page_builder")){
     $new_row = array(
        'field_XXXXXX' => 'Your value here', //replace with the appropriate field key
    ); 

    add_row('page_builder', $new_row);
}

字符串

相关问题