将setuppostdata()与多维数组一起使用

时间:2012-11-19 作者:Zach

我觉得这将是一个打自己一巴掌的问题,但不管怎样,还是这样:

我有一个多维数据数组:

Array
(
    [0] => Array
        (
            [id] => 1033
            [zip] => 27604
            [distance] => 0
        )

    [1] => Array
        (
            [id] => 1024
            [zip] => 27615
            [distance] => 6
        )

)
Theid 每个字段中的字段是post ID 还有我真正想要的。我试过的thusfar是这样的:

foreach( $locations as $post ) {
    setup_postdata($post[\'id\']);

    echo get_the_title();

}
wp_reset_postdata();
没有运气。我的做法是否完全错了?让该死的ID值运行的最佳方法是什么setup_postdata()?

我还需要引用多维数组中的其他数据(zipdistance).

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

有一个similar (related) question 最近在这里。结果是get_the_title() 使用global $post 没有传递参数时。和setup_postdata() 没有设置global (我以前犯过一个错误)。

就你的情况而言,我会做以下工作:

foreach( $locations as $post ) {
    setup_postdata(get_post($post[\'id\']));

    echo get_the_title($post[\'id\']);

}
wp_reset_postdata();
Note: setup_postdata() 接受post对象,而不是ID,因此如果要使用它,请将其与get_post().

结束

相关推荐

get_posts by id not working

我有以下代码:global $post; $current_post = $post->ID; $array=range(1,$current_post); $posts = get_posts(\'numberposts=5&post__in=\' . $array . \'&category=\'. $category->term_id . \'&exclude=\' . $current_post); 出现的错误为Warning: