相关帖子:注意:未定义偏移量:0

时间:2012-09-27 作者:Phil

我通过此查询得到一条未定义的偏移量消息。有人能帮忙吗?

$terms = get_the_terms( $post->ID , \'filters\', \'string\');
        $term_ids = wp_list_pluck($terms,\'term_id\');
        $second_query = new WP_Query( array(
              \'post_type\' => \'portfolio\',
              \'tax_query\' => array(
                            array(
                                \'taxonomy\' => \'filters\',
                                \'field\' => \'id\',
                                \'terms\' => $term_ids,
                                \'operator\'=> \'IN\' //Or \'AND\' or \'NOT IN\'
                             )),
              \'posts_per_page\' => 4,
              \'ignore_sticky_posts\' => 1,
              \'orderby\' => \'date\',  // \'rand\' for random order
              \'post__not_in\'=>array($post->ID)
           ) );

2 个回复
SO网友:Milo

当您使用wp_list_pluck 在…上$terms 得到的是一个键与值相同的数组。如果您转储$term_ids 您将看到如下内容:

array(
    [42] => 42,
    [56] => 56
}
查询中的代码。php尝试引用term\\u ids数组的零索引,但没有索引0,因此发出警告。

SO网友:fuxia

正如Milo指出的,您的数组已损坏(错误已经告诉您)。要获取阵列WP,请使用array_values():

$term_ids = array_values( wp_list_pluck( $terms,\'term_id\' ) );

结束

相关推荐