合并wp_get_post_terms

时间:2019-07-11 19:48:25

标签: php wordpress

我有此代码:

while( $animes->have_posts() ) {
    $animes->the_post();
    $i++;
    $animeID[$i] = $post->ID;

    $args = array(
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
        'fields' => 'all',
        'meta_query' => [['key' => 'episode_number','type' => 'NUMERIC',]]
    );

    $episodes[$i] = wp_get_post_terms(intval( $animeID[$i] ), 'episodes', $args );
}

我想将所有$episodes[$i]合并到一个数组中。这可能吗?

1 个答案:

答案 0 :(得分:0)

您已在循环外实例化$ episodes对吗?

如果我对您的理解正确,那么您现在在$ episodes中有一个数组数组,而您希望它成为一个值数组吗?有点像弄平数组吗?如果您解释为什么要这样做,可能会有所帮助。但也许是这样的:


$episodes = [];

while( $animes->have_posts() ) {
    $animes->the_post();

    $args = array(
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
        'fields' => 'all',
        'meta_query' => [['key' => 'episode_number','type' => 'NUMERIC',]]
    );

    $episodes[$i] = wp_get_post_terms(intval( $post->ID ), 'episodes', $args );
}

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;
}

$flattened_episodes = flatten($episodes);

var_dump($flattened_episodes); 

有关使数组变平的更多信息,请参见documentation。 array_walk_recursive函数上的文档-How to Flatten a Multidimensional Array?

能带您到任何地方吗?还是我误会了。