Php 特定自定义posttype的批量更新帖子

Php 特定自定义posttype的批量更新帖子,php,wordpress,Php,Wordpress,我的自定义posttype-books中有100多篇帖子 我有一个名为link的自定义字段,它根据字段动态填充数据。 在保存文章/发布/或更新每篇文章时,它使用functions.php中的函数可以完美地工作 但是它很难进入每一个和更新,所以我试图让它批量更新我有如下代码。 它似乎不工作,我把它作为update.php,并分配给一个页面作为模板,这样当我打开该页面时,代码运行,但它什么也不做 <?php $allposts = get_posts(array('post_t

我的自定义posttype-books中有100多篇帖子 我有一个名为link的自定义字段,它根据字段动态填充数据。 在保存文章/发布/或更新每篇文章时,它使用functions.php中的函数可以完美地工作 但是它很难进入每一个和更新,所以我试图让它批量更新我有如下代码。 它似乎不工作,我把它作为update.php,并分配给一个页面作为模板,这样当我打开该页面时,代码运行,但它什么也不做

<?php    
    $allposts = get_posts(array('post_type' => 'books', 'numberposts' => -1,));    
    foreach ( $allposts as $post ) :  setup_postdata($post);
        if (!empty($post))
        {
            $booklist=get_field('booklist',$post);
            foreach ($booklist as $post) :  setup_postdata($post); 
                if (!empty($post))
                {   
                    $bookname[] = strip_tags(get_field('bookname',$post)); 
                    $booklink[] = strip_tags(get_field('booklink',$post));                              
                }
            endforeach;
            wp_reset_postdata(); 

            $link = $booklink[0]."\".$bookname;
            update_post_meta( $post_id, 'link', $link); 
        }
    endforeach;
    ?>

另外,当我想使用此代码时,我如何使其仅在我想执行时执行?当我更新或更改BookLink时,我希望所有以前的帖子都更新到$booklist来自何处?oops$booklist之前的foreach是$booklist…但它仍然无法解决任何问题?任何人