我正在使用一个插件,它允许我将个人档案添加为自定义帖子类型,并使用几个自定义字段用于特定信息。然后通过相关页面上的快捷码输出这些帖子,插件负责输出相关数据。
此外,我还为将输出此信息的页面创建了一个新的页面模板。我需要在创建每个个人档案时,从该页面模板输出在相关字段中输入的所有“位置”。
我知道这些信息存储在wp\\U Posteta中,但还无法确定wp是否提供了一种本机实现此目的的方法或如何实现此目的。
到目前为止,我已获得以下代码:
//get your custom posts ids as an array
$posts = get_posts(array(
\'post_type\' => \'team-member\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
\'fields\' => \'ids\'
)
);
//loop over each post
foreach($posts as $p){
//get the meta you need from each post
$locations = get_post_meta($p,"_location",true);
}
但是,这仅显示所示第一个配置文件的位置字段。
知道我哪里出错了吗&/或者我需要做什么才能得到记录的位置?理想情况下,作为唯一列表(如无重复位置)。
最合适的回答,由SO网友:shanebp 整理而成
您的通话应包括ID:
get_post_meta($p->ID,"_location",true);
什么是
$locations
?
如果是数组,则应为
$locations[] =
如果是字符串,则应为
$locations .=
如果您只需要唯一的位置,可以执行以下操作:
$locations = array();
foreach($posts as $p){
$location = get_post_meta($p->ID,"_location",true);
if( ! in_array( $location, $locations) )
$locations[] = $location;
}