Add Post Meta添加2个条目,而不是Array()中的1个条目

时间:2018-10-19 01:06:20

标签: php wordpress advanced-custom-fields post-meta

我正在尝试从转发器字段中收集所有行的值以用于查询。我知道我需要收集这些值并将它们合并到我自己的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键中并存储两个值,但是正如您所看到的,它只是复制第一个值,然后创建另一个条目并对另一个值执行相同的操作。

0 个答案:

没有答案