我在WordPress中运行了一个get\\u posts查询,需要提取一对自定义字段并将它们全部放入一个数组中。get\\u posts查询提供了一个post数组,但当我使用foreach访问自定义字段时,最终会为每个结果提供单独的数组。
The Query
$c_query = get_posts(
array(
\'post_type\' => \'page\',
\'paged\' => get_query_var(\'paged\'),
\'order\' => \'ASC\',
\'orderby\' => \'meta_value\',
\'meta_key\' => \'concert_date\',
\'meta_query\' => array(
array(
\'key\' => \'_wp_page_template\',
\'value\' => array(\'rock.php\', \'pop.php\', \'jazz.php\'),
\'compare\' => \'IN\'
)
array(
\'key\' => \'concert_date\'
\'value\' => date(\'m/d/Y\')
)
)
)
);
Foreach
为了访问音乐会日期,我使用了foreach:
foreach($c_query as $post) : setup_postdata($post);
$c_query[\'concert_date\'] = $concert_date = get_post_meta(get_the_ID(),
\'concert_date\', true);
$c_query[\'concert_city\'] = $concert_date = get_post_meta(get_the_ID(),
\'concert_city\', true);
endforeach;
结果得到了正确的数据,但我得到了每个音乐会日期和城市对的单独数组(因为foreach):
Resulting Arrays
Array ( [0] => 01-11-2012 [1] => New York)
Array ( [0] => 03-23-2013 [1] => Boston)
Array ( [0] => 06-09-2014 [1] => London)
如何将这些结果数组合并到一个大数组中?尝试获取音乐会日期和城市配对的数组。
最合适的回答,由SO网友:Vinod Dalvi 整理而成
您可以如下更改foreach循环,以在单个多维数组中获得音乐会日期和城市对,如下所示。
$concert_query = array();
$i = 0;
foreach($c_query as $post) : setup_postdata($post);
$concert_query[$i][\'concert_date\'] = get_post_meta(get_the_ID(), \'concert_date\', true);
$concert_query[$i][\'concert_city\'] = get_post_meta(get_the_ID(), \'concert_city\', true);
$i ++;
endforeach;
print_r($concert_query);