我正在尝试从转发器字段中收集所有行的值以用于查询。我知道我需要收集这些值并将它们合并到我自己的meta_key中,因为ACF可以用其他方式将它们保存起来。
目前,我无法保存它来保存post_meta。
更新
我以正确的方向修改了代码,但是现在我将2项添加到postmeta表中,而不是1项将值合并在其中。
功能文件
add_filter('acf/save_post', 'update_display_pages', 20);
function update_display_pages($post_id) {
if ( get_post_type($post_id) != 'popup' )
return;
if( have_rows('popup_pages', $post_id) ):
$displayPages = array();
while ( have_rows('popup_pages', $post_id) ) : the_row();
if (get_sub_field('popup_pages_select')) {
$pages = array();
$pages[] = get_sub_field('popup_pages_select');
print_r($pages);
print_r($displayPages);
foreach ($pages as $page) {
$displayPages = $pages;
$displayPages[] = $displayPages;
}
if ( get_post_meta( $post_id, 'popup_display_pages', true ) )
update_post_meta($post_id, 'popup_display_pages', $displayPages);
else
add_post_meta( $post_id, 'popup_display_pages', $displayPages);
}
endwhile;
endif;
}
另存为
Meta Key: popup_display_pages
Meta Value: a:2:{i:0;s:33:"https://www.yourdomain.co.uk/page";i:1;a:1:{i:0;s:33:"https://www.yourdomain.co.uk/page";}}
Meta Key: popup_display_pages
Meta Value: a:2:{i:0;s:34:"https://www.yourdomain.co.uk/pager";i:1;a:1:{i:0;s:34:"https://www.yourdomain.co.uk/pager";}}
我希望它将其保存在1个Meta键中并存储两个值,但是正如您所看到的,它只是复制第一个值,然后创建另一个条目并对另一个值执行相同的操作。