具有自定义POST类型和ACF字段的WP REST端点

时间:2017-06-14 作者:Duikboot

我正在尝试创建一个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字段。有人能再帮我一点吗?

谢谢

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

高级自定义字段使用get_field() 函数检索字段。因此,您所要做的就是使用以下方法检索它们:

$field = get_field(\'field_name\', $post->ID, \'format_value\');
对于循环中的每个字段。你可以阅读this 第页了解更多信息。

关于插件的问题在这里是离题的,这就是为什么你的问题在4天内没有得到太多关注。但由于这是一个简单的问题,我发布了答案。

结束

相关推荐

Dynamic Endpoints

我在WordPress外部有一个数据库表,需要为其创建端点。我已经创建了一个页面/cars/ 我计划使用页面模板生成链接。我希望url看起来像/cars/camaro/ ()/cars/%model%/ ). 起初,我认为我可以使用端点,但不知道如何根据从模型表中提取的段塞使它们动态。我也不确定使用Permalink结构标签是更容易还是更好。我甚至不完全确定从哪里开始,我以前创建过“静态”端点,所以我有一个基础可以跳出,但当我到达request 我不知道该怎么办。/** * Add endpoi

具有自定义POST类型和ACF字段的WP REST端点 - 小码农CODE - 行之有效找到问题解决它

具有自定义POST类型和ACF字段的WP REST端点

时间:2017-06-14 作者:Duikboot

我正在尝试创建一个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字段。有人能再帮我一点吗?

谢谢

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

高级自定义字段使用get_field() 函数检索字段。因此,您所要做的就是使用以下方法检索它们:

$field = get_field(\'field_name\', $post->ID, \'format_value\');
对于循环中的每个字段。你可以阅读this 第页了解更多信息。

关于插件的问题在这里是离题的,这就是为什么你的问题在4天内没有得到太多关注。但由于这是一个简单的问题,我发布了答案。

相关推荐

Dynamic Endpoints

我在WordPress外部有一个数据库表,需要为其创建端点。我已经创建了一个页面/cars/ 我计划使用页面模板生成链接。我希望url看起来像/cars/camaro/ ()/cars/%model%/ ). 起初,我认为我可以使用端点,但不知道如何根据从模型表中提取的段塞使它们动态。我也不确定使用Permalink结构标签是更容易还是更好。我甚至不完全确定从哪里开始,我以前创建过“静态”端点,所以我有一个基础可以跳出,但当我到达request 我不知道该怎么办。/** * Add endpoi