Wordpress foreach循环没有完成

时间:2018-01-15 18:04:19

标签: php wordpress

我有一些不到1000个lp_lesson类型的帖子,我正在努力遍历它们以将文本应用到特定的自定义字段。

以下代码仅适用于其中一些代码。可能性在10-15之间。我想知道它是否因为我使用的是wp_enqueue_scripts?我也尝试在wp_login上应用此更改。它们都更新完全相同数量的帖子和完全相同的帖子。

我对php完全是新手,所以如果我这样做完全错了,请告诉我。

我确实认为,在系统出现之前,循环未完成的问题可能存在吗?我可以确认所有帖子都是lp_lesson,所以循环没有完成。也许$args不能容纳一个那么大的阵列?任何提示都表示赞赏!

感谢。

add_action( 'wp_enqueue_scripts', 'win_9388244_format_lp_lesson' );

function win_9388244_format_lp_lesson() {
  //Get post type of lp_lesson
        $args = array(
         'post_type' => 'lp_lesson'
        );
        $posts = get_posts($args);
  foreach($posts as $post) {
    update_post_meta( $post->ID, 'wpk_icon_text', 'Test' ); 
  }
}

1 个答案:

答案 0 :(得分:1)

get_posts的默认参数是:

filters:
- MyGatewayFilter

意味着如果你没有在$ args变量中指定这些值,那么wordpress默认会采用这些值。如果你给numberposts一个值,那么wordpress将使用这个和其他默认值。

您应该设置号码。例如:

$defaults = array(
        'numberposts' => 5,
        'category' => 0, 'orderby' => 'date',
        'order' => 'DESC', 'include' => array(),
        'exclude' => array(), 'meta_key' => '',
        'meta_value' =>'', 'post_type' => 'post',
        'suppress_filters' => true
    );

get_posts function reference