我正在尝试创建一个RESTAPI get来获取项目并将其作为JSON返回。我试图创建一个新的端点,在这里我试图获取CPT和其他高级自定义字段。
到目前为止,我可以从我的自定义帖子类型中检索所有帖子,但我也想获得ACF(字段)。
function ldl_get_projects( $data ) {
$posts = get_posts([
\'post_type\' => \'maps_projects\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
]);
if (empty( $posts ) ) {
return null;
}
$data = [];
foreach ($posts as $post) {
$api_content = [
\'name\' => $post->post_title,
\'description\' // ACF
\'cargo\' => // ACF
\'services\' => // ACF
\'origin\' => // ACF
\'destination\' => // ACF
\'specifics\' => // ACF
\'long\' => // ACF
\'lat\' => // ACF
\'gallery\' => // ACF
];
$data[] = $api_content;
}
return $data;
}
如您所见,标记为//ACF的字段需要获取ACF字段。有人能再帮我一点吗?
谢谢
最合适的回答,由SO网友:Johansson 整理而成
高级自定义字段使用get_field()
函数检索字段。因此,您所要做的就是使用以下方法检索它们:
$field = get_field(\'field_name\', $post->ID, \'format_value\');
对于循环中的每个字段。你可以阅读
this 第页了解更多信息。
关于插件的问题在这里是离题的,这就是为什么你的问题在4天内没有得到太多关注。但由于这是一个简单的问题,我发布了答案。